@@ -99,7 +99,7 @@ type GCECompute interface {
99
99
GetDefaultProject () string
100
100
GetDefaultZone () string
101
101
// Disk Methods
102
- GetDisk (ctx context.Context , project string , volumeKey * meta.Key , gceAPIVersion GCEAPIVersion ) (* CloudDisk , error )
102
+ GetDisk (ctx context.Context , project string , volumeKey * meta.Key ) (* CloudDisk , error )
103
103
RepairUnderspecifiedVolumeKey (ctx context.Context , project string , volumeKey * meta.Key ) (string , * meta.Key , error )
104
104
ValidateExistingDisk (ctx context.Context , disk * CloudDisk , params common.DiskParameters , reqBytes , limBytes int64 , multiWriter bool ) error
105
105
InsertDisk (ctx context.Context , project string , volKey * meta.Key , params common.DiskParameters , capBytes int64 , capacityRange * csi.CapacityRange , replicaZones []string , snapshotID string , volumeContentSourceVolumeID string , multiWriter bool , accessMode string ) error
@@ -321,26 +321,16 @@ func (cloud *CloudProvider) ListSnapshots(ctx context.Context, filter string) ([
321
321
return items , "" , nil
322
322
}
323
323
324
- func (cloud * CloudProvider ) GetDisk (ctx context.Context , project string , key * meta.Key , gceAPIVersion GCEAPIVersion ) (* CloudDisk , error ) {
324
+ func (cloud * CloudProvider ) GetDisk (ctx context.Context , project string , key * meta.Key ) (* CloudDisk , error ) {
325
325
klog .V (5 ).Infof ("Getting disk %v" , key )
326
326
327
327
switch key .Type () {
328
328
case meta .Zonal :
329
- if gceAPIVersion == GCEAPIVersionBeta {
330
- disk , err := cloud .getZonalBetaDiskOrError (ctx , project , key .Zone , key .Name )
331
- return CloudDiskFromBeta (disk ), err
332
- } else {
333
- disk , err := cloud .getZonalDiskOrError (ctx , project , key .Zone , key .Name )
334
- return CloudDiskFromV1 (disk ), err
335
- }
329
+ disk , err := cloud .getZonalBetaDiskOrError (ctx , project , key .Zone , key .Name )
330
+ return CloudDiskFromBeta (disk ), err
336
331
case meta .Regional :
337
- if gceAPIVersion == GCEAPIVersionBeta {
338
- disk , err := cloud .getRegionalBetaDiskOrError (ctx , project , key .Region , key .Name )
339
- return CloudDiskFromBeta (disk ), err
340
- } else {
341
- disk , err := cloud .getRegionalDiskOrError (ctx , project , key .Region , key .Name )
342
- return CloudDiskFromV1 (disk ), err
343
- }
332
+ disk , err := cloud .getRegionalBetaDiskOrError (ctx , project , key .Region , key .Name )
333
+ return CloudDiskFromBeta (disk ), err
344
334
default :
345
335
return nil , fmt .Errorf ("key was neither zonal nor regional, got: %v" , key .String ())
346
336
}
@@ -633,17 +623,11 @@ func (cloud *CloudProvider) insertRegionalDisk(
633
623
description string ,
634
624
multiWriter bool ) error {
635
625
var (
636
- err error
637
- opName string
638
- gceAPIVersion = GCEAPIVersionV1
626
+ err error
627
+ opName string
639
628
)
640
629
641
- // Use beta API for non-hyperdisk types in multi-writer mode.
642
- if multiWriter && ! strings .Contains (params .DiskType , "hyperdisk" ) {
643
- gceAPIVersion = GCEAPIVersionBeta
644
- }
645
-
646
- diskToCreate := & computev1.Disk {
630
+ diskToCreate := & computebeta.Disk {
647
631
Name : volKey .Name ,
648
632
SizeGb : common .BytesToGbRoundUp (capBytes ),
649
633
Description : description ,
@@ -672,7 +656,7 @@ func (cloud *CloudProvider) insertRegionalDisk(
672
656
diskToCreate .ReplicaZones = replicaZones
673
657
}
674
658
if params .DiskEncryptionKMSKey != "" {
675
- diskToCreate .DiskEncryptionKey = & computev1 .CustomerEncryptionKey {
659
+ diskToCreate .DiskEncryptionKey = & computebeta .CustomerEncryptionKey {
676
660
KmsKeyName : params .DiskEncryptionKMSKey ,
677
661
}
678
662
}
@@ -682,29 +666,21 @@ func (cloud *CloudProvider) insertRegionalDisk(
682
666
}
683
667
684
668
if len (resourceTags ) > 0 {
685
- diskToCreate .Params = & computev1 .DiskParams {
669
+ diskToCreate .Params = & computebeta .DiskParams {
686
670
ResourceManagerTags : resourceTags ,
687
671
}
688
672
}
689
673
690
- if gceAPIVersion == GCEAPIVersionBeta {
691
- var insertOp * computebeta.Operation
692
- betaDiskToCreate := convertV1DiskToBetaDisk (diskToCreate )
693
- betaDiskToCreate .MultiWriter = multiWriter
694
- insertOp , err = cloud .betaService .RegionDisks .Insert (project , volKey .Region , betaDiskToCreate ).Context (ctx ).Do ()
695
- if insertOp != nil {
696
- opName = insertOp .Name
697
- }
698
- } else {
699
- var insertOp * computev1.Operation
700
- insertOp , err = cloud .service .RegionDisks .Insert (project , volKey .Region , diskToCreate ).Context (ctx ).Do ()
701
- if insertOp != nil {
702
- opName = insertOp .Name
703
- }
674
+ var insertOp * computebeta.Operation
675
+ diskToCreate .MultiWriter = multiWriter
676
+ insertOp , err = cloud .betaService .RegionDisks .Insert (project , volKey .Region , diskToCreate ).Context (ctx ).Do ()
677
+ if insertOp != nil {
678
+ opName = insertOp .Name
704
679
}
680
+
705
681
if err != nil {
706
682
if IsGCEError (err , "alreadyExists" ) {
707
- disk , err := cloud .GetDisk (ctx , project , volKey , gceAPIVersion )
683
+ disk , err := cloud .GetDisk (ctx , project , volKey )
708
684
if err != nil {
709
685
// failed to GetDisk, however the Disk may already exist
710
686
// the error code should be non-Final
@@ -730,7 +706,7 @@ func (cloud *CloudProvider) insertRegionalDisk(
730
706
// the error code returned should be non-final
731
707
if err != nil {
732
708
if IsGCEError (err , "alreadyExists" ) {
733
- disk , err := cloud .GetDisk (ctx , project , volKey , gceAPIVersion )
709
+ disk , err := cloud .GetDisk (ctx , project , volKey )
734
710
if err != nil {
735
711
return common .NewTemporaryError (codes .Unavailable , fmt .Errorf ("error when getting disk: %w" , err ))
736
712
}
@@ -762,17 +738,11 @@ func (cloud *CloudProvider) insertZonalDisk(
762
738
multiWriter bool ,
763
739
accessMode string ) error {
764
740
var (
765
- err error
766
- opName string
767
- gceAPIVersion = GCEAPIVersionV1
741
+ err error
742
+ opName string
768
743
)
769
744
770
- // Use beta API for non-hyperdisk types in multi-writer mode.
771
- if multiWriter && ! strings .Contains (params .DiskType , "hyperdisk" ) {
772
- gceAPIVersion = GCEAPIVersionBeta
773
- }
774
-
775
- diskToCreate := & computev1.Disk {
745
+ diskToCreate := & computebeta.Disk {
776
746
Name : volKey .Name ,
777
747
SizeGb : common .BytesToGbRoundUp (capBytes ),
778
748
Description : description ,
@@ -814,7 +784,7 @@ func (cloud *CloudProvider) insertZonalDisk(
814
784
}
815
785
816
786
if params .DiskEncryptionKMSKey != "" {
817
- diskToCreate .DiskEncryptionKey = & computev1 .CustomerEncryptionKey {
787
+ diskToCreate .DiskEncryptionKey = & computebeta .CustomerEncryptionKey {
818
788
KmsKeyName : params .DiskEncryptionKMSKey ,
819
789
}
820
790
}
@@ -826,31 +796,22 @@ func (cloud *CloudProvider) insertZonalDisk(
826
796
}
827
797
828
798
if len (resourceTags ) > 0 {
829
- diskToCreate .Params = & computev1 .DiskParams {
799
+ diskToCreate .Params = & computebeta .DiskParams {
830
800
ResourceManagerTags : resourceTags ,
831
801
}
832
802
}
833
- diskToCreate .AccessMode = accessMode
834
803
835
- if gceAPIVersion == GCEAPIVersionBeta {
836
- var insertOp * computebeta.Operation
837
- betaDiskToCreate := convertV1DiskToBetaDisk (diskToCreate )
838
- betaDiskToCreate .MultiWriter = multiWriter
839
- insertOp , err = cloud .betaService .Disks .Insert (project , volKey .Zone , betaDiskToCreate ).Context (ctx ).Do ()
840
- if insertOp != nil {
841
- opName = insertOp .Name
842
- }
843
- } else {
844
- var insertOp * computev1.Operation
845
- insertOp , err = cloud .service .Disks .Insert (project , volKey .Zone , diskToCreate ).Context (ctx ).Do ()
846
- if insertOp != nil {
847
- opName = insertOp .Name
848
- }
804
+ diskToCreate .AccessMode = accessMode
805
+ var insertOp * computebeta.Operation
806
+ diskToCreate .MultiWriter = multiWriter
807
+ insertOp , err = cloud .betaService .Disks .Insert (project , volKey .Zone , diskToCreate ).Context (ctx ).Do ()
808
+ if insertOp != nil {
809
+ opName = insertOp .Name
849
810
}
850
811
851
812
if err != nil {
852
813
if IsGCEError (err , "alreadyExists" ) {
853
- disk , err := cloud .GetDisk (ctx , project , volKey , gceAPIVersion )
814
+ disk , err := cloud .GetDisk (ctx , project , volKey )
854
815
if err != nil {
855
816
// failed to GetDisk, however the Disk may already exist
856
817
// the error code should be non-Final
@@ -877,7 +838,7 @@ func (cloud *CloudProvider) insertZonalDisk(
877
838
// failed to wait for Op to finish, however, the Op possibly is still running as expected
878
839
// the error code returned should be non-final
879
840
if IsGCEError (err , "alreadyExists" ) {
880
- disk , err := cloud .GetDisk (ctx , project , volKey , gceAPIVersion )
841
+ disk , err := cloud .GetDisk (ctx , project , volKey )
881
842
if err != nil {
882
843
return common .NewTemporaryError (codes .Unavailable , fmt .Errorf ("error when getting disk: %w" , err ))
883
844
}
@@ -1176,7 +1137,7 @@ func (cloud *CloudProvider) waitForAttachOnDisk(ctx context.Context, project str
1176
1137
start := time .Now ()
1177
1138
return wait .ExponentialBackoff (AttachDiskBackoff , func () (bool , error ) {
1178
1139
klog .V (6 ).Infof ("Polling disks.get for attach of disk %v to instance %v to complete for %v" , volKey .Name , instanceName , time .Since (start ))
1179
- disk , err := cloud .GetDisk (ctx , project , volKey , GCEAPIVersionV1 )
1140
+ disk , err := cloud .GetDisk (ctx , project , volKey )
1180
1141
if err != nil {
1181
1142
return false , fmt .Errorf ("GetDisk failed to get disk: %w" , err )
1182
1143
}
@@ -1426,7 +1387,7 @@ func (cloud *CloudProvider) DeleteImage(ctx context.Context, project, imageName
1426
1387
// k8s.io/apimachinery/quantity package for better size handling
1427
1388
func (cloud * CloudProvider ) ResizeDisk (ctx context.Context , project string , volKey * meta.Key , requestBytes int64 ) (int64 , error ) {
1428
1389
klog .V (5 ).Infof ("Resizing disk %v to size %v" , volKey , requestBytes )
1429
- cloudDisk , err := cloud .GetDisk (ctx , project , volKey , GCEAPIVersionV1 )
1390
+ cloudDisk , err := cloud .GetDisk (ctx , project , volKey )
1430
1391
if err != nil {
1431
1392
return - 1 , fmt .Errorf ("failed to get disk: %w" , err )
1432
1393
}
0 commit comments