Skip to content

Commit ceef595

Browse files
author
Power Cloud Robot
authored
Merge pull request #59 from Madhan-SWE/power_go_client_fix_v2
Power go client update from 1.0.83 to 1.0.85
2 parents 1621016 + a090976 commit ceef595

File tree

3 files changed

+60
-16
lines changed

3 files changed

+60
-16
lines changed

go.mod

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ go 1.17
44

55
require (
66
github.com/IBM-Cloud/bluemix-go v0.0.0-20201019071904-51caa09553fb
7-
github.com/IBM-Cloud/power-go-client v1.0.83
7+
github.com/IBM-Cloud/power-go-client v1.0.85
88
github.com/container-storage-interface/spec v1.5.0
99
github.com/davecgh/go-spew v1.1.1
1010
github.com/golang-jwt/jwt v3.2.2+incompatible
@@ -22,6 +22,7 @@ require (
2222
)
2323

2424
require (
25+
github.com/IBM/go-sdk-core/v5 v5.8.0 // indirect
2526
github.com/PuerkitoBio/purell v1.1.1 // indirect
2627
github.com/PuerkitoBio/urlesc v0.0.0-20170810143723-de5bf2ad4578 // indirect
2728
github.com/asaskevich/govalidator v0.0.0-20200907205600-7a23bdc65eef // indirect
@@ -45,6 +46,8 @@ require (
4546
github.com/go-openapi/strfmt v0.21.0 // indirect
4647
github.com/go-openapi/swag v0.19.15 // indirect
4748
github.com/go-openapi/validate v0.20.3 // indirect
49+
github.com/go-playground/locales v0.13.0 // indirect
50+
github.com/go-playground/universal-translator v0.17.0 // indirect
4851
github.com/go-stack/stack v1.8.0 // indirect
4952
github.com/gogo/protobuf v1.3.2 // indirect
5053
github.com/golang/groupcache v0.0.0-20210331224755-41bb18bfe9da // indirect
@@ -54,11 +57,14 @@ require (
5457
github.com/google/uuid v1.1.2 // indirect
5558
github.com/googleapis/gnostic v0.5.5 // indirect
5659
github.com/grpc-ecosystem/grpc-gateway v1.16.0 // indirect
60+
github.com/hashicorp/go-cleanhttp v0.5.2 // indirect
61+
github.com/hashicorp/go-retryablehttp v0.7.0 // indirect
5762
github.com/imdario/mergo v0.3.5 // indirect
5863
github.com/inconshreveable/mousetrap v1.0.0 // indirect
5964
github.com/jmespath/go-jmespath v0.4.0 // indirect
6065
github.com/josharian/intern v1.0.0 // indirect
6166
github.com/json-iterator/go v1.1.11 // indirect
67+
github.com/leodido/go-urn v1.2.0 // indirect
6268
github.com/mailru/easyjson v0.7.6 // indirect
6369
github.com/matttproud/golang_protobuf_extensions v1.0.2-0.20181231171920-c182affec369 // indirect
6470
github.com/mitchellh/mapstructure v1.4.1 // indirect
@@ -98,6 +104,7 @@ require (
98104
google.golang.org/appengine v1.6.5 // indirect
99105
google.golang.org/genproto v0.0.0-20210602131652-f16073e35f0c // indirect
100106
google.golang.org/protobuf v1.26.0 // indirect
107+
gopkg.in/go-playground/validator.v9 v9.31.0 // indirect
101108
gopkg.in/inf.v0 v0.9.1 // indirect
102109
gopkg.in/tomb.v1 v1.0.0-20141024135613-dd632973f1e7 // indirect
103110
gopkg.in/yaml.v2 v2.4.0 // indirect

go.sum

Lines changed: 22 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -43,8 +43,10 @@ github.com/BurntSushi/xgb v0.0.0-20160522181843-27f122750802/go.mod h1:IVnqGOEym
4343
github.com/GoogleCloudPlatform/k8s-cloud-provider v0.0.0-20200415212048-7901bc822317/go.mod h1:DF8FZRxMHMGv/vP2lQP6h+dYzzjpuRn24VeRiYn3qjQ=
4444
github.com/IBM-Cloud/bluemix-go v0.0.0-20201019071904-51caa09553fb h1:ke+JASYimCuuAsmMWw2jmCRakGrKRQqVgIG30eiPI+Y=
4545
github.com/IBM-Cloud/bluemix-go v0.0.0-20201019071904-51caa09553fb/go.mod h1:gPJbH1etcDj7qS/hBRiLuYW9CY0bRcostSKusa51xR0=
46-
github.com/IBM-Cloud/power-go-client v1.0.83 h1:pVJtlefLGr4KO0ekqO2WXlYYGxKuvh8QVjRuUckCHfk=
47-
github.com/IBM-Cloud/power-go-client v1.0.83/go.mod h1:YRBsrY+n1+3xMd6HzfG0VATkXZqOQktK5Yvjx9x6ACc=
46+
github.com/IBM-Cloud/power-go-client v1.0.85 h1:5iiYEPNBgSEgTLXcfxXZmyOSKwQO8YbUJz4hBivYOV4=
47+
github.com/IBM-Cloud/power-go-client v1.0.85/go.mod h1:60o7AE2oDi/0CtoXlQhnCbC3o1fSRgaFCJO6DscmokA=
48+
github.com/IBM/go-sdk-core/v5 v5.8.0 h1:Bn9BxTaKYKWpd+BDpVsL6XOOJl4QDgxux4gSdWi31vE=
49+
github.com/IBM/go-sdk-core/v5 v5.8.0/go.mod h1:+YbdhrjCHC84ls4MeBp+Hj4NZCni+tDAc0XQUqRO9Jc=
4850
github.com/JeffAshton/win_pdh v0.0.0-20161109143554-76bb4ee9f0ab/go.mod h1:3VYc5hodBMJ5+l/7J4xAyMeuM2PNuepvHlGs8yilUCA=
4951
github.com/MakeNowJust/heredoc v0.0.0-20170808103936-bb23615498cd/go.mod h1:64YHyfSL2R96J44Nlwm39UHepQbyR5q10x7iYa1ks2E=
5052
github.com/Microsoft/go-winio v0.4.15-0.20190919025122-fc70bd9a86b5/go.mod h1:tTuCMEN+UleMWgg9dVx4Hu52b1bJo+59jBh3ajtinzw=
@@ -318,6 +320,10 @@ github.com/go-openapi/validate v0.20.1/go.mod h1:b60iJT+xNNLfaQJUqLI7946tYiFEOuE
318320
github.com/go-openapi/validate v0.20.3 h1:GZPPhhKSZrE8HjB4eEkoYAZmoWA4+tCemSgINH1/vKw=
319321
github.com/go-openapi/validate v0.20.3/go.mod h1:goDdqVGiigM3jChcrYJxD2joalke3ZXeftD16byIjA4=
320322
github.com/go-ozzo/ozzo-validation v3.5.0+incompatible/go.mod h1:gsEKFIVnabGBt6mXmxK0MoFy+cZoTJY6mu5Ll3LVLBU=
323+
github.com/go-playground/locales v0.13.0 h1:HyWk6mgj5qFqCT5fjGBuRArbVDfE4hi8+e8ceBS/t7Q=
324+
github.com/go-playground/locales v0.13.0/go.mod h1:taPMhCMXrRLJO55olJkUXHZBHCxTMfnGwq/HNwmWNS8=
325+
github.com/go-playground/universal-translator v0.17.0 h1:icxd5fm+REJzpZx7ZfpaD876Lmtgy7VtROAbHHXk8no=
326+
github.com/go-playground/universal-translator v0.17.0/go.mod h1:UkSxE5sNxxRwHyU+Scu5vgOQjsIJAF8j9muTVoKLVtA=
321327
github.com/go-sql-driver/mysql v1.5.0/go.mod h1:DCzpHaOWr8IXmIStZouvnhqoel9Qv2LBy8hT2VhHyBg=
322328
github.com/go-stack/stack v1.8.0 h1:5SgMzNM5HxrEjV0ww2lTmX6E2Izsfxas4+YHWRs3Lsk=
323329
github.com/go-stack/stack v1.8.0/go.mod h1:v0f6uXyyMGvRgIKkXu+yp6POWl0qKG85gN/melR3HDY=
@@ -441,9 +447,15 @@ github.com/hashicorp/consul/api v1.1.0/go.mod h1:VmuI/Lkw1nC05EYQWNKwWGbkg+FbDBt
441447
github.com/hashicorp/consul/sdk v0.1.1/go.mod h1:VKf9jXwCTEY1QZP2MOLRhb5i/I/ssyNV1vwHyQBF0x8=
442448
github.com/hashicorp/errwrap v1.0.0/go.mod h1:YH+1FKiLXxHSkmPseP+kNlulaMuP3n2brvKWEqk/Jc4=
443449
github.com/hashicorp/go-cleanhttp v0.5.1/go.mod h1:JpRdi6/HCYpAwUzNwuwqhbovhLtngrth3wmdIIUrZ80=
450+
github.com/hashicorp/go-cleanhttp v0.5.2 h1:035FKYIWjmULyFRBKPs8TBQoi0x6d9G4xc9neXJWAZQ=
451+
github.com/hashicorp/go-cleanhttp v0.5.2/go.mod h1:kO/YDlP8L1346E6Sodw+PrpBSV4/SoxCXGY6BqNFT48=
452+
github.com/hashicorp/go-hclog v0.9.2 h1:CG6TE5H9/JXsFWJCfoIVpKFIkFe6ysEuHirp4DxCsHI=
453+
github.com/hashicorp/go-hclog v0.9.2/go.mod h1:5CU+agLiy3J7N7QjHK5d05KxGsuXiQLrjA0H7acj2lQ=
444454
github.com/hashicorp/go-immutable-radix v1.0.0/go.mod h1:0y9vanUI8NX6FsYoO3zeMjhV/C5i9g4Q3DwcSNZ4P60=
445455
github.com/hashicorp/go-msgpack v0.5.3/go.mod h1:ahLV/dePpqEmjfWmKiqvPkv/twdG7iPBM1vqhUKIvfM=
446456
github.com/hashicorp/go-multierror v1.0.0/go.mod h1:dHtQlpGsu+cZNNAkkCN/P3hoUDHhCYQXV3UM06sGGrk=
457+
github.com/hashicorp/go-retryablehttp v0.7.0 h1:eu1EI/mbirUgP5C8hVsTNaGZreBDlYiwC1FZWkvQPQ4=
458+
github.com/hashicorp/go-retryablehttp v0.7.0/go.mod h1:vAew36LZh98gCBJNLH42IQ1ER/9wtLZZ8meHqQvEYWY=
447459
github.com/hashicorp/go-rootcerts v1.0.0/go.mod h1:K6zTfqpRlCUIjkwsN4Z+hiSfzSTQa6eBIzfwKfwNnHU=
448460
github.com/hashicorp/go-sockaddr v1.0.0/go.mod h1:7Xibr9yA9JjQq1JpNB2Vw7kxv8xerXegt+ozgdvDeDU=
449461
github.com/hashicorp/go-syslog v1.0.0/go.mod h1:qPfqrKkXGihmCqbJM2mZgkZGvKG1dFdvsLplgctolz4=
@@ -507,6 +519,8 @@ github.com/kr/pty v1.1.5/go.mod h1:9r2w37qlBe7rQ6e1fg1S/9xpWHSnaqNdHD3WcMdbPDA=
507519
github.com/kr/text v0.1.0/go.mod h1:4Jbv+DJW3UT/LiOwJeYQe1efqtUx/iVham/4vfdArNI=
508520
github.com/kr/text v0.2.0 h1:5Nx0Ya0ZqY2ygV366QzturHI13Jq95ApcVaJBhpS+AY=
509521
github.com/kr/text v0.2.0/go.mod h1:eLer722TekiGuMkidMxC/pM04lWEeraHUUmBw8l2grE=
522+
github.com/leodido/go-urn v1.2.0 h1:hpXL4XnriNwQ/ABnpepYM/1vCLWNDfUNts8dX3xTG6Y=
523+
github.com/leodido/go-urn v1.2.0/go.mod h1:+8+nEpDfqqsY+g338gtMEUOtuK+4dEMhiQEgxpxOKII=
510524
github.com/libopenstorage/openstorage v1.0.0/go.mod h1:Sp1sIObHjat1BeXhfMqLZ14wnOzEhNx2YQedreMcUyc=
511525
github.com/liggitt/tabwriter v0.0.0-20181228230101-89fcab3d43de/go.mod h1:zAbeS9B/r2mtpb6U+EI2rYA5OAXxsYw6wTamcNW+zcE=
512526
github.com/lithammer/dedent v1.1.0/go.mod h1:jrXYCQtgg0nJiN+StA2KgR7w6CiQNv9Fd/Z9BP0jIOc=
@@ -581,12 +595,14 @@ github.com/onsi/ginkgo v0.0.0-20170829012221-11459a886d9c/go.mod h1:lLunBs/Ym6LB
581595
github.com/onsi/ginkgo v1.6.0/go.mod h1:lLunBs/Ym6LB5Z9jYTR76FiuTmxDTDusOGeTQH+WWjE=
582596
github.com/onsi/ginkgo v1.12.1/go.mod h1:zj2OWP4+oCPe1qIXoGWkgMRwljMUYCdkwsT2108oapk=
583597
github.com/onsi/ginkgo v1.14.0/go.mod h1:iSB4RoI2tjJc9BBv4NKIKWKya62Rps+oPG/Lv9klQyY=
598+
github.com/onsi/ginkgo v1.14.2/go.mod h1:iSB4RoI2tjJc9BBv4NKIKWKya62Rps+oPG/Lv9klQyY=
584599
github.com/onsi/ginkgo v1.16.4/go.mod h1:dX+/inL/fNMqNlz0e9LfyB9TswhZpCVdJM/Z6Vvnwo0=
585600
github.com/onsi/ginkgo v1.16.5 h1:8xi0RTUf59SOSfEtZMvwTvXYMzG4gV23XVHOZiXNtnE=
586601
github.com/onsi/ginkgo v1.16.5/go.mod h1:+E8gABHa3K6zRBolWtd+ROzc/U5bkGt0FwiG042wbpU=
587602
github.com/onsi/gomega v0.0.0-20170829124025-dcabb60a477c/go.mod h1:C1qb7wdrVGGVU+Z6iS04AVkA3Q65CEZX59MT0QO5uiA=
588603
github.com/onsi/gomega v1.7.1/go.mod h1:XdKZgCCFLUoM/7CFJVPcG8C1xQ1AJ0vpAezJrB7JYyY=
589604
github.com/onsi/gomega v1.10.1/go.mod h1:iN09h71vgCQne3DLsj+A5owkum+a2tYe+TOCB1ybHNo=
605+
github.com/onsi/gomega v1.10.5/go.mod h1:gza4q3jKQJijlu05nKWRCW/GavJumGt8aNRxWg7mt48=
590606
github.com/onsi/gomega v1.17.0 h1:9Luw4uT5HTjHTN8+aNcSThgH1vdXnmdJ8xIfZ4wyTRE=
591607
github.com/onsi/gomega v1.17.0/go.mod h1:HnhC7FXeEQY45zxNK3PPoIUhzk/80Xly9PcubAlGdZY=
592608
github.com/opencontainers/go-digest v0.0.0-20180430190053-c9281466c8b2/go.mod h1:cMLVZDEM3+U2I4VmLI6N8jQYUd2OVphdqWwCJHrFt2s=
@@ -1131,6 +1147,10 @@ gopkg.in/check.v1 v1.0.0-20200227125254-8fa46927fb4f/go.mod h1:Co6ibVJAznAaIkqp8
11311147
gopkg.in/errgo.v2 v2.1.0/go.mod h1:hNsd1EY+bozCKY1Ytp96fpM3vjJbqLJn88ws8XvfDNI=
11321148
gopkg.in/fsnotify.v1 v1.4.7/go.mod h1:Tz8NjZHkW78fSQdbUxIjBTcgA1z1m8ZHf0WmKUhAMys=
11331149
gopkg.in/gcfg.v1 v1.2.0/go.mod h1:yesOnuUOFQAhST5vPY4nbZsb/huCgGGXlipJsBn0b3o=
1150+
gopkg.in/go-playground/assert.v1 v1.2.1 h1:xoYuJVE7KT85PYWrN730RguIQO0ePzVRfFMXadIrXTM=
1151+
gopkg.in/go-playground/assert.v1 v1.2.1/go.mod h1:9RXL0bg/zibRAgZUYszZSwO/z8Y/a8bDuhia5mkpMnE=
1152+
gopkg.in/go-playground/validator.v9 v9.31.0 h1:bmXmP2RSNtFES+bn4uYuHT7iJFJv7Vj+an+ZQdDaD1M=
1153+
gopkg.in/go-playground/validator.v9 v9.31.0/go.mod h1:+c9/zcJMFNgbLvly1L1V+PpxWdVbfP1avr/N00E2vyQ=
11341154
gopkg.in/inf.v0 v0.9.1 h1:73M5CoZyi3ZLMOyDlQh031Cx6N9NDJ2Vvfl76EDAgDc=
11351155
gopkg.in/inf.v0 v0.9.1/go.mod h1:cWUDdTG/fYaXco+Dcufb5Vnc6Gp2YChqWtbxRZE0mXw=
11361156
gopkg.in/ini.v1 v1.51.0/go.mod h1:pNLf8WUiyNEtQjuu5G5vTm06TEv9tsIgeAvK8hOrP4k=

pkg/cloud/powervs.go

Lines changed: 30 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -33,10 +33,12 @@ import (
3333
"github.com/IBM-Cloud/power-go-client/errors"
3434
"github.com/IBM-Cloud/power-go-client/ibmpisession"
3535
"github.com/IBM-Cloud/power-go-client/power/client/p_cloud_volumes"
36+
"github.com/IBM-Cloud/power-go-client/power/models"
3637
"github.com/davecgh/go-spew/spew"
3738
"github.com/golang-jwt/jwt"
3839
"github.com/ppc64le-cloud/powervs-csi-driver/pkg/util"
3940
"k8s.io/apimachinery/pkg/util/wait"
41+
"k8s.io/utils/pointer"
4042
)
4143

4244
var _ Cloud = &powerVSCloud{}
@@ -171,14 +173,15 @@ func newPowerVSCloud(cloudInstanceID string, debug bool) (Cloud, error) {
171173
if err != nil {
172174
return nil, err
173175
}
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)
175177
if err != nil {
176178
return nil, err
177179
}
178180

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)
182185

183186
return &powerVSCloud{
184187
bxSess: bxSess,
@@ -222,7 +225,7 @@ func (p *powerVSCloud) GetPVMInstanceByID(instanceID string) (*PVMInstance, erro
222225
}
223226

224227
func (p *powerVSCloud) GetImageByID(imageID string) (*PVMImage, error) {
225-
image, err := p.imageClient.Get(imageID, p.cloudInstanceID)
228+
image, err := p.imageClient.Get(imageID)
226229
if err != nil {
227230
return nil, err
228231
}
@@ -246,7 +249,14 @@ func (p *powerVSCloud) CreateDisk(volumeName string, diskOptions *DiskOptions) (
246249
return nil, fmt.Errorf("invalid PowerVS VolumeType %q", diskOptions.VolumeType)
247250
}
248251

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)
250260
if err != nil {
251261
return nil, err
252262
}
@@ -260,7 +270,7 @@ func (p *powerVSCloud) CreateDisk(volumeName string, diskOptions *DiskOptions) (
260270
}
261271

262272
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)
264274
if err != nil {
265275
return false, err
266276
}
@@ -269,7 +279,7 @@ func (p *powerVSCloud) DeleteDisk(volumeID string) (success bool, err error) {
269279
}
270280

271281
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)
273283
if err != nil {
274284
return err
275285
}
@@ -282,7 +292,7 @@ func (p *powerVSCloud) AttachDisk(volumeID string, nodeID string) (err error) {
282292
}
283293

284294
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)
286296
if err != nil {
287297
return err
288298
}
@@ -294,7 +304,7 @@ func (p *powerVSCloud) DetachDisk(volumeID string, nodeID string) (err error) {
294304
}
295305

296306
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)
298308
if err != nil {
299309
return false, err
300310
}
@@ -308,7 +318,14 @@ func (p *powerVSCloud) ResizeDisk(volumeID string, reqSize int64) (newSize int64
308318
}
309319

310320
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)
312329
if err != nil {
313330
return 0, err
314331
}
@@ -317,7 +334,7 @@ func (p *powerVSCloud) ResizeDisk(volumeID string, reqSize int64) (newSize int64
317334

318335
func (p *powerVSCloud) WaitForVolumeState(volumeID, state string) error {
319336
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)
321338
if err != nil {
322339
return false, err
323340
}
@@ -354,7 +371,7 @@ func (p *powerVSCloud) GetDiskByName(name string) (disk *Disk, err error) {
354371
}
355372

356373
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)
358375
if err != nil {
359376
if strings.Contains(err.Error(), "Resource not found") {
360377
return nil, ErrNotFound

0 commit comments

Comments
 (0)