Skip to content
28 changes: 16 additions & 12 deletions cmd/stackit-csi-plugin/main.go
Original file line number Diff line number Diff line change
Expand Up @@ -6,15 +6,16 @@ import (

"github.com/spf13/cobra"
"github.com/spf13/pflag"
"k8s.io/component-base/cli"
"k8s.io/klog/v2"

"github.com/stackitcloud/cloud-provider-stackit/pkg/csi"
"github.com/stackitcloud/cloud-provider-stackit/pkg/csi/blockstorage"
"github.com/stackitcloud/cloud-provider-stackit/pkg/csi/util/mount"
"github.com/stackitcloud/cloud-provider-stackit/pkg/stackit"
"github.com/stackitcloud/cloud-provider-stackit/pkg/metrics"
stackitclient "github.com/stackitcloud/cloud-provider-stackit/pkg/stackit/client"
"github.com/stackitcloud/cloud-provider-stackit/pkg/stackit/metadata"
"github.com/stackitcloud/cloud-provider-stackit/pkg/version"
sdkconfig "github.com/stackitcloud/stackit-sdk-go/core/config"
"k8s.io/component-base/cli"
"k8s.io/klog/v2"
)

var (
Expand Down Expand Up @@ -73,7 +74,7 @@ func main() {
cmd.PersistentFlags().BoolVar(&provideNodeService, "provide-node-service", true,
"If set to true then the CSI driver does provide the node service (default: true)")

stackit.AddExtraFlags(pflag.CommandLine)
stackitclient.AddExtraFlags(pflag.CommandLine)

code := cli.Run(cmd)
os.Exit(code)
Expand All @@ -89,29 +90,32 @@ func handle() {

if provideControllerService {
var err error
cfg, err := stackit.GetConfigFromFile(cloudConfig)
cfg, err := stackitclient.GetConfigFromFile(cloudConfig)
if err != nil {
klog.Fatal(err)
}

iaasClient, err := stackit.CreateIaaSClient(&cfg)
if err != nil {
klog.Fatalf("Failed to create IaaS client: %v", err)
iaasOpts := []sdkconfig.ConfigurationOption{
sdkconfig.WithHTTPClient(metrics.NewInstrumentedHTTPClient()),
}

if cfg.Global.APIEndpoints.IaasAPI != "" {
iaasOpts = append(iaasOpts, sdkconfig.WithEndpoint(cfg.Global.APIEndpoints.IaasAPI))
}

stackitProvider, err := stackit.CreateSTACKITProvider(iaasClient, &cfg)
iaasClient, err := stackitclient.New(cfg.Global.Region, cfg.Global.ProjectID).IaaS(iaasOpts)
if err != nil {
klog.Fatalf("Failed to create STACKIT provider: %v", err)
}

d.SetupControllerService(stackitProvider)
d.SetupControllerService(iaasClient)
}

if provideNodeService {
// Initialize mount
mountProvider := mount.GetMountProvider()

cfg, err := stackit.GetConfigFromFile(cloudConfig)
cfg, err := stackitclient.GetConfigFromFile(cloudConfig)
if err != nil {
klog.Fatal(err)
}
Expand Down
2 changes: 1 addition & 1 deletion pkg/ccm/instances.go
Original file line number Diff line number Diff line change
Expand Up @@ -237,7 +237,7 @@ func (i *Instances) getInstance(ctx context.Context, node *corev1.Node) (*iaas.S
return nil, fmt.Errorf("ProviderID \"%s\" didn't match supported region \"%s\"", node.Spec.ProviderID, i.region)
}

server, err := i.iaasClient.GetServer(ctx, instanceID)
server, err := i.iaasClient.GetServerWithDetails(ctx, instanceID)
if stackiterrors.IsNotFound(err) {
return nil, cloudprovider.InstanceNotFound
}
Expand Down
10 changes: 5 additions & 5 deletions pkg/ccm/instances_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -95,7 +95,7 @@ var _ = Describe("Node Controller", func() {
})

It("successfully get the instance when provider ID is there", func() {
nodeMockClient.EXPECT().GetServer(gomock.Any(), serverID).Return(&iaas.Server{
nodeMockClient.EXPECT().GetServerWithDetails(gomock.Any(), serverID).Return(&iaas.Server{
Name: "foo",
}, nil)

Expand All @@ -112,7 +112,7 @@ var _ = Describe("Node Controller", func() {
})

It("successfully get the instance when old provider ID is there", func() {
nodeMockClient.EXPECT().GetServer(gomock.Any(), serverID).Return(&iaas.Server{
nodeMockClient.EXPECT().GetServerWithDetails(gomock.Any(), serverID).Return(&iaas.Server{
Name: "foo",
}, nil)

Expand All @@ -129,7 +129,7 @@ var _ = Describe("Node Controller", func() {
})

It("successfully get the instance when old regional provider ID is there", func() {
nodeMockClient.EXPECT().GetServer(gomock.Any(), serverID).Return(&iaas.Server{
nodeMockClient.EXPECT().GetServerWithDetails(gomock.Any(), serverID).Return(&iaas.Server{
Name: "foo",
}, nil)

Expand Down Expand Up @@ -157,7 +157,7 @@ var _ = Describe("Node Controller", func() {
})

It("does not error when get server instance not found", func() {
nodeMockClient.EXPECT().GetServer(gomock.Any(), serverID).Return(nil, &oapiError.GenericOpenAPIError{StatusCode: http.StatusNotFound})
nodeMockClient.EXPECT().GetServerWithDetails(gomock.Any(), serverID).Return(nil, &oapiError.GenericOpenAPIError{StatusCode: http.StatusNotFound})

node := &corev1.Node{
ObjectMeta: metav1.ObjectMeta{Name: "foo"},
Expand Down Expand Up @@ -191,7 +191,7 @@ var _ = Describe("Node Controller", func() {
})

It("successfully gets the instance status without provider ID", func() {
nodeMockClient.EXPECT().GetServer(gomock.Any(), serverID).Return(&iaas.Server{
nodeMockClient.EXPECT().GetServerWithDetails(gomock.Any(), serverID).Return(&iaas.Server{
Name: "foo",
Status: new("ACTIVE"),
}, nil)
Expand Down
Loading