@@ -33,10 +33,12 @@ import (
33
33
"github.com/IBM-Cloud/power-go-client/errors"
34
34
"github.com/IBM-Cloud/power-go-client/ibmpisession"
35
35
"github.com/IBM-Cloud/power-go-client/power/client/p_cloud_volumes"
36
+ "github.com/IBM-Cloud/power-go-client/power/models"
36
37
"github.com/davecgh/go-spew/spew"
37
38
"github.com/golang-jwt/jwt"
38
39
"github.com/ppc64le-cloud/powervs-csi-driver/pkg/util"
39
40
"k8s.io/apimachinery/pkg/util/wait"
41
+ "k8s.io/utils/pointer"
40
42
)
41
43
42
44
var _ Cloud = & powerVSCloud {}
@@ -171,14 +173,15 @@ func newPowerVSCloud(cloudInstanceID string, debug bool) (Cloud, error) {
171
173
if err != nil {
172
174
return nil , err
173
175
}
174
- piSession , err := ibmpisession .New (bxSess .Config .IAMAccessToken , region , debug , TIMEOUT , user .Account , zone )
176
+ piSession , err := ibmpisession .New (bxSess .Config .IAMAccessToken , region , debug , user .Account , zone )
175
177
if err != nil {
176
178
return nil , err
177
179
}
178
180
179
- volClient := instance .NewIBMPIVolumeClient (piSession , cloudInstanceID )
180
- pvmInstancesClient := instance .NewIBMPIInstanceClient (context .Background (), piSession , cloudInstanceID )
181
- imageClient := instance .NewIBMPIImageClient (piSession , cloudInstanceID )
181
+ backgroundContext := context .Background ()
182
+ volClient := instance .NewIBMPIVolumeClient (backgroundContext , piSession , cloudInstanceID )
183
+ pvmInstancesClient := instance .NewIBMPIInstanceClient (backgroundContext , piSession , cloudInstanceID )
184
+ imageClient := instance .NewIBMPIImageClient (backgroundContext , piSession , cloudInstanceID )
182
185
183
186
return & powerVSCloud {
184
187
bxSess : bxSess ,
@@ -222,7 +225,7 @@ func (p *powerVSCloud) GetPVMInstanceByID(instanceID string) (*PVMInstance, erro
222
225
}
223
226
224
227
func (p * powerVSCloud ) GetImageByID (imageID string ) (* PVMImage , error ) {
225
- image , err := p .imageClient .Get (imageID , p . cloudInstanceID )
228
+ image , err := p .imageClient .Get (imageID )
226
229
if err != nil {
227
230
return nil , err
228
231
}
@@ -246,7 +249,14 @@ func (p *powerVSCloud) CreateDisk(volumeName string, diskOptions *DiskOptions) (
246
249
return nil , fmt .Errorf ("invalid PowerVS VolumeType %q" , diskOptions .VolumeType )
247
250
}
248
251
249
- v , err := p .volClient .Create (volumeName , float64 (capacityGiB ), volumeType , diskOptions .Shareable , p .cloudInstanceID , TIMEOUT )
252
+ dataVolume := & models.CreateDataVolume {
253
+ Name : & volumeName ,
254
+ Size : pointer .Float64Ptr (float64 (capacityGiB )),
255
+ Shareable : & diskOptions .Shareable ,
256
+ DiskType : volumeType ,
257
+ }
258
+
259
+ v , err := p .volClient .CreateVolume (dataVolume )
250
260
if err != nil {
251
261
return nil , err
252
262
}
@@ -260,7 +270,7 @@ func (p *powerVSCloud) CreateDisk(volumeName string, diskOptions *DiskOptions) (
260
270
}
261
271
262
272
func (p * powerVSCloud ) DeleteDisk (volumeID string ) (success bool , err error ) {
263
- err = p .volClient .DeleteVolume (volumeID , p . cloudInstanceID , TIMEOUT )
273
+ err = p .volClient .DeleteVolume (volumeID )
264
274
if err != nil {
265
275
return false , err
266
276
}
@@ -269,7 +279,7 @@ func (p *powerVSCloud) DeleteDisk(volumeID string) (success bool, err error) {
269
279
}
270
280
271
281
func (p * powerVSCloud ) AttachDisk (volumeID string , nodeID string ) (err error ) {
272
- _ , err = p .volClient .Attach (nodeID , volumeID , p . cloudInstanceID , TIMEOUT )
282
+ err = p .volClient .Attach (nodeID , volumeID )
273
283
if err != nil {
274
284
return err
275
285
}
@@ -282,7 +292,7 @@ func (p *powerVSCloud) AttachDisk(volumeID string, nodeID string) (err error) {
282
292
}
283
293
284
294
func (p * powerVSCloud ) DetachDisk (volumeID string , nodeID string ) (err error ) {
285
- _ , err = p .volClient .Detach (nodeID , volumeID , p . cloudInstanceID , TIMEOUT )
295
+ err = p .volClient .Detach (nodeID , volumeID )
286
296
if err != nil {
287
297
return err
288
298
}
@@ -294,7 +304,7 @@ func (p *powerVSCloud) DetachDisk(volumeID string, nodeID string) (err error) {
294
304
}
295
305
296
306
func (p * powerVSCloud ) IsAttached (volumeID string , nodeID string ) (attached bool , err error ) {
297
- _ , err = p .volClient .CheckVolumeAttach (p . cloudInstanceID , nodeID , volumeID , TIMEOUT )
307
+ _ , err = p .volClient .CheckVolumeAttach (nodeID , volumeID )
298
308
if err != nil {
299
309
return false , err
300
310
}
@@ -308,7 +318,14 @@ func (p *powerVSCloud) ResizeDisk(volumeID string, reqSize int64) (newSize int64
308
318
}
309
319
310
320
capacityGiB := util .BytesToGiB (reqSize )
311
- v , err := p .volClient .Update (volumeID , disk .Name , float64 (capacityGiB ), disk .Shareable , p .cloudInstanceID , TIMEOUT )
321
+
322
+ dataVolume := & models.UpdateVolume {
323
+ Name : & disk .Name ,
324
+ Size : float64 (capacityGiB ),
325
+ Shareable : & disk .Shareable ,
326
+ }
327
+
328
+ v , err := p .volClient .UpdateVolume (volumeID , dataVolume )
312
329
if err != nil {
313
330
return 0 , err
314
331
}
@@ -317,7 +334,7 @@ func (p *powerVSCloud) ResizeDisk(volumeID string, reqSize int64) (newSize int64
317
334
318
335
func (p * powerVSCloud ) WaitForVolumeState (volumeID , state string ) error {
319
336
err := wait .PollImmediate (PollInterval , PollTimeout , func () (bool , error ) {
320
- v , err := p .volClient .Get (volumeID , p . cloudInstanceID , TIMEOUT )
337
+ v , err := p .volClient .Get (volumeID )
321
338
if err != nil {
322
339
return false , err
323
340
}
@@ -354,7 +371,7 @@ func (p *powerVSCloud) GetDiskByName(name string) (disk *Disk, err error) {
354
371
}
355
372
356
373
func (p * powerVSCloud ) GetDiskByID (volumeID string ) (disk * Disk , err error ) {
357
- v , err := p .volClient .Get (volumeID , p . cloudInstanceID , TIMEOUT )
374
+ v , err := p .volClient .Get (volumeID )
358
375
if err != nil {
359
376
if strings .Contains (err .Error (), "Resource not found" ) {
360
377
return nil , ErrNotFound
0 commit comments