@@ -28,8 +28,8 @@ import (
28
28
"k8s.io/autoscaler/cluster-autoscaler/cloudprovider/ovhcloud/sdk"
29
29
)
30
30
31
- func newTestProvider ( t * testing. T ) * OVHCloudProvider {
32
- cfg : = `{
31
+ const (
32
+ ovhConsumerConfiguration = `{
33
33
"project_id": "projectID",
34
34
"cluster_id": "clusterID",
35
35
"authentication_type": "consumer",
@@ -38,10 +38,30 @@ func newTestProvider(t *testing.T) *OVHCloudProvider {
38
38
"application_secret": "secret",
39
39
"application_consumer_key": "consumer_key"
40
40
}`
41
+ openstackUserPasswordConfiguration = `{
42
+ "project_id": "projectID",
43
+ "cluster_id": "clusterID",
44
+ "authentication_type": "openstack",
45
+ "openstack_auth_url": "https://auth.local",
46
+ "openstack_domain": "Default",
47
+ "openstack_username": "user",
48
+ "openstack_password": "password"
49
+ }`
50
+ openstackApplicationCredentialsConfiguration = `{
51
+ "project_id": "projectID",
52
+ "cluster_id": "clusterID",
53
+ "authentication_type": "openstack_application",
54
+ "openstack_auth_url": "https://auth.local",
55
+ "openstack_domain": "Default",
56
+ "openstack_application_credential_id": "credential_id",
57
+ "openstack_application_credential_secret": "credential_secret"
58
+ }`
59
+ )
41
60
61
+ func newTestProvider (t * testing.T , cfg string ) (* OVHCloudProvider , error ) {
42
62
manager , err := NewManager (bytes .NewBufferString (cfg ))
43
63
if err != nil {
44
- assert . FailNow ( t , "failed to create manager" , err )
64
+ return nil , err
45
65
}
46
66
47
67
client := & sdk.ClientMock {}
@@ -110,19 +130,38 @@ func newTestProvider(t *testing.T) *OVHCloudProvider {
110
130
}
111
131
112
132
err = provider .Refresh ()
113
- assert .NoError (t , err )
133
+ if err != nil {
134
+ return provider , err
135
+ }
114
136
115
- return provider
137
+ return provider , nil
116
138
}
117
139
118
140
func TestOVHCloudProvider_BuildOVHcloud (t * testing.T ) {
119
141
t .Run ("create new OVHcloud provider" , func (t * testing.T ) {
120
- _ = newTestProvider (t )
142
+ _ , err := newTestProvider (t , ovhConsumerConfiguration )
143
+ assert .NoError (t , err )
144
+ })
145
+ }
146
+
147
+ // TestOVHCloudProvider_BuildOVHcloudOpenstackConfig validates that the configuration file is correct and the auth server is being resolved.
148
+ func TestOVHCloudProvider_BuildOVHcloudOpenstackConfig (t * testing.T ) {
149
+ t .Run ("create new OVHcloud provider" , func (t * testing.T ) {
150
+ _ , err := newTestProvider (t , openstackUserPasswordConfiguration )
151
+ assert .ErrorContains (t , err , "lookup auth.local" )
152
+ })
153
+ }
154
+
155
+ func TestOVHCloudProvider_BuildOVHcloudOpenstackApplicationConfig (t * testing.T ) {
156
+ t .Run ("create new OVHcloud provider" , func (t * testing.T ) {
157
+ _ , err := newTestProvider (t , openstackApplicationCredentialsConfiguration )
158
+ assert .ErrorContains (t , err , "lookup auth.local" )
121
159
})
122
160
}
123
161
124
162
func TestOVHCloudProvider_Name (t * testing.T ) {
125
- provider := newTestProvider (t )
163
+ provider , err := newTestProvider (t , ovhConsumerConfiguration )
164
+ assert .NoError (t , err )
126
165
127
166
t .Run ("check OVHcloud provider name" , func (t * testing.T ) {
128
167
name := provider .Name ()
@@ -132,7 +171,8 @@ func TestOVHCloudProvider_Name(t *testing.T) {
132
171
}
133
172
134
173
func TestOVHCloudProvider_NodeGroups (t * testing.T ) {
135
- provider := newTestProvider (t )
174
+ provider , err := newTestProvider (t , ovhConsumerConfiguration )
175
+ assert .NoError (t , err )
136
176
137
177
t .Run ("check default node groups length" , func (t * testing.T ) {
138
178
groups := provider .NodeGroups ()
@@ -149,7 +189,8 @@ func TestOVHCloudProvider_NodeGroups(t *testing.T) {
149
189
}
150
190
151
191
func TestOVHCloudProvider_NodeGroupForNode (t * testing.T ) {
152
- provider := newTestProvider (t )
192
+ provider , err := newTestProvider (t , ovhConsumerConfiguration )
193
+ assert .NoError (t , err )
153
194
154
195
ListNodePoolNodesCall1 := provider .manager .Client .(* sdk.ClientMock ).On (
155
196
"ListNodePoolNodes" ,
@@ -317,7 +358,8 @@ func TestOVHCloudProvider_NodeGroupForNode(t *testing.T) {
317
358
}
318
359
319
360
func TestOVHCloudProvider_Pricing (t * testing.T ) {
320
- provider := newTestProvider (t )
361
+ provider , err := newTestProvider (t , ovhConsumerConfiguration )
362
+ assert .NoError (t , err )
321
363
322
364
t .Run ("not implemented" , func (t * testing.T ) {
323
365
_ , err := provider .Pricing ()
@@ -326,7 +368,8 @@ func TestOVHCloudProvider_Pricing(t *testing.T) {
326
368
}
327
369
328
370
func TestOVHCloudProvider_GetAvailableMachineTypes (t * testing.T ) {
329
- provider := newTestProvider (t )
371
+ provider , err := newTestProvider (t , ovhConsumerConfiguration )
372
+ assert .NoError (t , err )
330
373
331
374
t .Run ("check available machine types" , func (t * testing.T ) {
332
375
flavors , err := provider .GetAvailableMachineTypes ()
@@ -337,7 +380,8 @@ func TestOVHCloudProvider_GetAvailableMachineTypes(t *testing.T) {
337
380
}
338
381
339
382
func TestOVHCloudProvider_NewNodeGroup (t * testing.T ) {
340
- provider := newTestProvider (t )
383
+ provider , err := newTestProvider (t , ovhConsumerConfiguration )
384
+ assert .NoError (t , err )
341
385
342
386
t .Run ("check new node group default values" , func (t * testing.T ) {
343
387
group , err := provider .NewNodeGroup ("b2-7" , nil , nil , nil , nil )
@@ -350,7 +394,8 @@ func TestOVHCloudProvider_NewNodeGroup(t *testing.T) {
350
394
}
351
395
352
396
func TestOVHCloudProvider_GetResourceLimiter (t * testing.T ) {
353
- provider := newTestProvider (t )
397
+ provider , err := newTestProvider (t , ovhConsumerConfiguration )
398
+ assert .NoError (t , err )
354
399
355
400
t .Run ("check default resource limiter values" , func (t * testing.T ) {
356
401
rl , err := provider .GetResourceLimiter ()
@@ -370,7 +415,8 @@ func TestOVHCloudProvider_GetResourceLimiter(t *testing.T) {
370
415
}
371
416
372
417
func TestOVHCloudProvider_GPULabel (t * testing.T ) {
373
- provider := newTestProvider (t )
418
+ provider , err := newTestProvider (t , ovhConsumerConfiguration )
419
+ assert .NoError (t , err )
374
420
375
421
t .Run ("check gpu label annotation" , func (t * testing.T ) {
376
422
label := provider .GPULabel ()
@@ -380,7 +426,8 @@ func TestOVHCloudProvider_GPULabel(t *testing.T) {
380
426
}
381
427
382
428
func TestOVHCloudProvider_GetAvailableGPUTypes (t * testing.T ) {
383
- provider := newTestProvider (t )
429
+ provider , err := newTestProvider (t , ovhConsumerConfiguration )
430
+ assert .NoError (t , err )
384
431
385
432
t .Run ("check available gpu machine types" , func (t * testing.T ) {
386
433
flavors := provider .GetAvailableGPUTypes ()
@@ -391,7 +438,8 @@ func TestOVHCloudProvider_GetAvailableGPUTypes(t *testing.T) {
391
438
}
392
439
393
440
func TestOVHCloudProvider_Cleanup (t * testing.T ) {
394
- provider := newTestProvider (t )
441
+ provider , err := newTestProvider (t , ovhConsumerConfiguration )
442
+ assert .NoError (t , err )
395
443
396
444
t .Run ("check return nil" , func (t * testing.T ) {
397
445
err := provider .Cleanup ()
@@ -400,7 +448,8 @@ func TestOVHCloudProvider_Cleanup(t *testing.T) {
400
448
}
401
449
402
450
func TestOVHCloudProvider_Refresh (t * testing.T ) {
403
- provider := newTestProvider (t )
451
+ provider , err := newTestProvider (t , ovhConsumerConfiguration )
452
+ assert .NoError (t , err )
404
453
405
454
t .Run ("check refresh reset node groups correctly" , func (t * testing.T ) {
406
455
provider .manager .NodePoolsPerID = map [string ]* sdk.NodePool {}
0 commit comments