Skip to content

Commit afa6576

Browse files
stackit-skeaniruddha2000breuerfelix
authored
[release-v1.36] stackit csi use new stackit client (#1319)
* update stackit client in csi blockstorage * make fmt * make fmt * fix make fmt * fix some regression Signed-off-by: Felix Breuer <f.breuer94@gmail.com> * fix golang ci lint Signed-off-by: Felix Breuer <f.breuer94@gmail.com> * restore some stuff Signed-off-by: Felix Breuer <f.breuer94@gmail.com> * fix typo Signed-off-by: Felix Breuer <f.breuer94@gmail.com> * remove labels go Signed-off-by: Felix Breuer <f.breuer94@gmail.com> * change some parameters Signed-off-by: Felix Breuer <f.breuer94@gmail.com> * regenerate mocks Signed-off-by: Felix Breuer <f.breuer94@gmail.com> * fix make verify Signed-off-by: Felix Breuer <f.breuer94@gmail.com> * fix make verify Signed-off-by: Felix Breuer <f.breuer94@gmail.com> * fix regression Signed-off-by: Felix Breuer <f.breuer94@gmail.com> * use non details call for csi get server Signed-off-by: Felix Breuer <f.breuer94@gmail.com> --------- Signed-off-by: Felix Breuer <f.breuer94@gmail.com> Co-authored-by: Aniruddha Basak <aniruddha.basak@stackit.cloud> Co-authored-by: Felix Breuer <f.breuer94@gmail.com>
1 parent 0c32f94 commit afa6576

13 files changed

Lines changed: 1857 additions & 179 deletions

File tree

cmd/stackit-csi-plugin/main.go

Lines changed: 16 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -6,15 +6,16 @@ import (
66

77
"github.com/spf13/cobra"
88
"github.com/spf13/pflag"
9-
"k8s.io/component-base/cli"
10-
"k8s.io/klog/v2"
11-
129
"github.com/stackitcloud/cloud-provider-stackit/pkg/csi"
1310
"github.com/stackitcloud/cloud-provider-stackit/pkg/csi/blockstorage"
1411
"github.com/stackitcloud/cloud-provider-stackit/pkg/csi/util/mount"
15-
"github.com/stackitcloud/cloud-provider-stackit/pkg/stackit"
12+
"github.com/stackitcloud/cloud-provider-stackit/pkg/metrics"
13+
stackitclient "github.com/stackitcloud/cloud-provider-stackit/pkg/stackit/client"
1614
"github.com/stackitcloud/cloud-provider-stackit/pkg/stackit/metadata"
1715
"github.com/stackitcloud/cloud-provider-stackit/pkg/version"
16+
sdkconfig "github.com/stackitcloud/stackit-sdk-go/core/config"
17+
"k8s.io/component-base/cli"
18+
"k8s.io/klog/v2"
1819
)
1920

2021
var (
@@ -78,7 +79,7 @@ func main() {
7879
"Configures the CSI to listen to the legacy storage driverName cinder.csi.openstack.org instead")
7980
cmd.PersistentFlags().BoolVar(&legacyVolumeCreation, "legacy-volume-creation", true, "Enable or disable support for creating volumes with the old driverName (cinder.csi.openstack.org)")
8081

81-
stackit.AddExtraFlags(pflag.CommandLine)
82+
stackitclient.AddExtraFlags(pflag.CommandLine)
8283

8384
code := cli.Run(cmd)
8485
os.Exit(code)
@@ -104,29 +105,32 @@ func handle() {
104105

105106
if provideControllerService {
106107
var err error
107-
cfg, err := stackit.GetConfigFromFile(cloudConfig)
108+
cfg, err := stackitclient.GetConfigFromFile(cloudConfig)
108109
if err != nil {
109110
klog.Fatal(err)
110111
}
111112

112-
iaasClient, err := stackit.CreateIaaSClient(&cfg)
113-
if err != nil {
114-
klog.Fatalf("Failed to create IaaS client: %v", err)
113+
iaasOpts := []sdkconfig.ConfigurationOption{
114+
sdkconfig.WithHTTPClient(metrics.NewInstrumentedHTTPClient()),
115+
}
116+
117+
if cfg.Global.APIEndpoints.IaasAPI != "" {
118+
iaasOpts = append(iaasOpts, sdkconfig.WithEndpoint(cfg.Global.APIEndpoints.IaasAPI))
115119
}
116120

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

122-
d.SetupControllerService(stackitProvider)
126+
d.SetupControllerService(iaasClient)
123127
}
124128

125129
if provideNodeService {
126130
// Initialize mount
127131
mountProvider := mount.GetMountProvider()
128132

129-
cfg, err := stackit.GetConfigFromFile(cloudConfig)
133+
cfg, err := stackitclient.GetConfigFromFile(cloudConfig)
130134
if err != nil {
131135
klog.Fatal(err)
132136
}

pkg/ccm/instances.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -237,7 +237,7 @@ func (i *Instances) getInstance(ctx context.Context, node *corev1.Node) (*iaas.S
237237
return nil, fmt.Errorf("ProviderID \"%s\" didn't match supported region \"%s\"", node.Spec.ProviderID, i.region)
238238
}
239239

240-
server, err := i.iaasClient.GetServer(ctx, instanceID)
240+
server, err := i.iaasClient.GetServerWithDetails(ctx, instanceID)
241241
if stackiterrors.IsNotFound(err) {
242242
return nil, cloudprovider.InstanceNotFound
243243
}

pkg/ccm/instances_test.go

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -95,7 +95,7 @@ var _ = Describe("Node Controller", func() {
9595
})
9696

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

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

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

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

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

@@ -157,7 +157,7 @@ var _ = Describe("Node Controller", func() {
157157
})
158158

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

162162
node := &corev1.Node{
163163
ObjectMeta: metav1.ObjectMeta{Name: "foo"},
@@ -191,7 +191,7 @@ var _ = Describe("Node Controller", func() {
191191
})
192192

193193
It("successfully gets the instance status without provider ID", func() {
194-
nodeMockClient.EXPECT().GetServer(gomock.Any(), serverID).Return(&iaas.Server{
194+
nodeMockClient.EXPECT().GetServerWithDetails(gomock.Any(), serverID).Return(&iaas.Server{
195195
Name: "foo",
196196
Status: new("ACTIVE"),
197197
}, nil)

0 commit comments

Comments
 (0)