Skip to content

Commit 6470835

Browse files
author
Stephen Schmitt
committed
disambiguates apiVersion and fix nil check
1 parent 2e6ca14 commit 6470835

File tree

3 files changed

+40
-40
lines changed

3 files changed

+40
-40
lines changed

pkg/gce-cloud-provider/compute/fake-gce.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -155,7 +155,7 @@ func (cloud *FakeCloudProvider) ListSnapshots(ctx context.Context, filter string
155155
}
156156

157157
// Disk Methods
158-
func (cloud *FakeCloudProvider) GetDisk(ctx context.Context, volKey *meta.Key, api ApiVersion) (*CloudDisk, error) {
158+
func (cloud *FakeCloudProvider) GetDisk(ctx context.Context, volKey *meta.Key, api GCEAPIVersion) (*CloudDisk, error) {
159159
disk, ok := cloud.disks[volKey.Name]
160160
if !ok {
161161
return nil, notFoundError()

pkg/gce-cloud-provider/compute/gce-compute.go

Lines changed: 27 additions & 27 deletions
Original file line numberDiff line numberDiff line change
@@ -38,18 +38,18 @@ const (
3838
diskKind = "compute#disk"
3939
)
4040

41-
type ApiVersion string
41+
type GCEAPIVersion string
4242

4343
const (
4444
// V1 key type
45-
V1 ApiVersion = "v1"
45+
GCEAPIVersionV1 GCEAPIVersion = "v1"
4646
// Alpha key type
47-
Alpha ApiVersion = "alpha"
47+
GCEAPIVersionAlpha GCEAPIVersion = "alpha"
4848
)
4949

5050
type GCECompute interface {
5151
// Disk Methods
52-
GetDisk(ctx context.Context, volumeKey *meta.Key, apiVersion ApiVersion) (*CloudDisk, error)
52+
GetDisk(ctx context.Context, volumeKey *meta.Key, gceAPIVersion GCEAPIVersion) (*CloudDisk, error)
5353
RepairUnderspecifiedVolumeKey(ctx context.Context, volumeKey *meta.Key) (*meta.Key, error)
5454
ValidateExistingDisk(ctx context.Context, disk *CloudDisk, diskType string, reqBytes, limBytes int64, multiWriter bool) error
5555
InsertDisk(ctx context.Context, volKey *meta.Key, diskType string, capBytes int64, capacityRange *csi.CapacityRange, replicaZones []string, snapshotID, diskEncryptionKmsKey string, multiWriter bool) error
@@ -156,19 +156,19 @@ func (cloud *CloudProvider) ListSnapshots(ctx context.Context, filter string, ma
156156

157157
}
158158

159-
func (cloud *CloudProvider) GetDisk(ctx context.Context, key *meta.Key, apiVersion ApiVersion) (*CloudDisk, error) {
159+
func (cloud *CloudProvider) GetDisk(ctx context.Context, key *meta.Key, gceAPIVersion GCEAPIVersion) (*CloudDisk, error) {
160160
klog.V(5).Infof("Getting disk %v", key)
161161
switch key.Type() {
162162
case meta.Zonal:
163-
if apiVersion == Alpha {
163+
if gceAPIVersion == GCEAPIVersionAlpha {
164164
disk, err := cloud.getZonalAlphaDiskOrError(ctx, key.Zone, key.Name)
165165
return ZonalAlphaCloudDisk(disk), err
166166
} else {
167167
disk, err := cloud.getZonalDiskOrError(ctx, key.Zone, key.Name)
168168
return ZonalCloudDisk(disk), err
169169
}
170170
case meta.Regional:
171-
if apiVersion == Alpha {
171+
if gceAPIVersion == GCEAPIVersionAlpha {
172172
disk, err := cloud.getRegionalAlphaDiskOrError(ctx, key.Region, key.Name)
173173
return RegionalAlphaCloudDisk(disk), err
174174
} else {
@@ -303,13 +303,13 @@ func convertV1DiskToAlphaDisk(v1Disk *computev1.Disk) *computealpha.Disk {
303303

304304
func (cloud *CloudProvider) insertRegionalDisk(ctx context.Context, volKey *meta.Key, diskType string, capBytes int64, capacityRange *csi.CapacityRange, replicaZones []string, snapshotID, diskEncryptionKmsKey string, multiWriter bool) error {
305305
var (
306-
err error
307-
opName string
308-
apiVersion = V1
306+
err error
307+
opName string
308+
gceAPIVersion = GCEAPIVersionV1
309309
)
310310

311311
if multiWriter {
312-
apiVersion = Alpha
312+
gceAPIVersion = GCEAPIVersionAlpha
313313
}
314314

315315
diskToCreate := &computev1.Disk{
@@ -330,24 +330,24 @@ func (cloud *CloudProvider) insertRegionalDisk(ctx context.Context, volKey *meta
330330
}
331331
}
332332

333-
if apiVersion == Alpha {
333+
if gceAPIVersion == GCEAPIVersionAlpha {
334334
var insertOp *computealpha.Operation
335335
alphaDiskToCreate := convertV1DiskToAlphaDisk(diskToCreate)
336336
alphaDiskToCreate.MultiWriter = multiWriter
337337
insertOp, err = cloud.alphaService.RegionDisks.Insert(cloud.project, volKey.Region, alphaDiskToCreate).Context(ctx).Do()
338-
if err == nil {
338+
if insertOp != nil {
339339
opName = insertOp.Name
340340
}
341341
} else {
342342
var insertOp *computev1.Operation
343343
insertOp, err = cloud.service.RegionDisks.Insert(cloud.project, volKey.Region, diskToCreate).Context(ctx).Do()
344-
if err == nil {
344+
if insertOp != nil {
345345
opName = insertOp.Name
346346
}
347347
}
348348
if err != nil {
349349
if IsGCEError(err, "alreadyExists") {
350-
disk, err := cloud.GetDisk(ctx, volKey, V1)
350+
disk, err := cloud.GetDisk(ctx, volKey, GCEAPIVersionV1)
351351
if err != nil {
352352
return err
353353
}
@@ -367,7 +367,7 @@ func (cloud *CloudProvider) insertRegionalDisk(ctx context.Context, volKey *meta
367367
err = cloud.waitForRegionalOp(ctx, opName, volKey.Region)
368368
if err != nil {
369369
if IsGCEError(err, "alreadyExists") {
370-
disk, err := cloud.GetDisk(ctx, volKey, V1)
370+
disk, err := cloud.GetDisk(ctx, volKey, GCEAPIVersionV1)
371371
if err != nil {
372372
return err
373373
}
@@ -388,13 +388,13 @@ func (cloud *CloudProvider) insertRegionalDisk(ctx context.Context, volKey *meta
388388

389389
func (cloud *CloudProvider) insertZonalDisk(ctx context.Context, volKey *meta.Key, diskType string, capBytes int64, capacityRange *csi.CapacityRange, snapshotID, diskEncryptionKmsKey string, multiWriter bool) error {
390390
var (
391-
err error
392-
opName string
393-
apiVersion = V1
391+
err error
392+
opName string
393+
gceAPIVersion = GCEAPIVersionV1
394394
)
395395

396396
if multiWriter {
397-
apiVersion = Alpha
397+
gceAPIVersion = GCEAPIVersionAlpha
398398
}
399399

400400
diskToCreate := &computev1.Disk{
@@ -414,25 +414,25 @@ func (cloud *CloudProvider) insertZonalDisk(ctx context.Context, volKey *meta.Ke
414414
}
415415
}
416416

417-
if apiVersion == Alpha {
417+
if gceAPIVersion == GCEAPIVersionAlpha {
418418
var insertOp *computealpha.Operation
419419
alphaDiskToCreate := convertV1DiskToAlphaDisk(diskToCreate)
420420
alphaDiskToCreate.MultiWriter = multiWriter
421421
insertOp, err = cloud.alphaService.Disks.Insert(cloud.project, volKey.Zone, alphaDiskToCreate).Context(ctx).Do()
422-
if err == nil {
422+
if insertOp != nil {
423423
opName = insertOp.Name
424424
}
425425
} else {
426426
var insertOp *computev1.Operation
427427
insertOp, err = cloud.service.Disks.Insert(cloud.project, volKey.Zone, diskToCreate).Context(ctx).Do()
428-
if err == nil {
428+
if insertOp != nil {
429429
opName = insertOp.Name
430430
}
431431
}
432432

433433
if err != nil {
434434
if IsGCEError(err, "alreadyExists") {
435-
disk, err := cloud.GetDisk(ctx, volKey, apiVersion)
435+
disk, err := cloud.GetDisk(ctx, volKey, gceAPIVersion)
436436
if err != nil {
437437
return err
438438
}
@@ -453,7 +453,7 @@ func (cloud *CloudProvider) insertZonalDisk(ctx context.Context, volKey *meta.Ke
453453

454454
if err != nil {
455455
if IsGCEError(err, "alreadyExists") {
456-
disk, err := cloud.GetDisk(ctx, volKey, apiVersion)
456+
disk, err := cloud.GetDisk(ctx, volKey, gceAPIVersion)
457457
if err != nil {
458458
return err
459459
}
@@ -649,7 +649,7 @@ func (cloud *CloudProvider) WaitForAttach(ctx context.Context, volKey *meta.Key,
649649
start := time.Now()
650650
return wait.Poll(5*time.Second, 2*time.Minute, func() (bool, error) {
651651
klog.V(6).Infof("Polling for attach of disk %v to instance %v to complete for %v", volKey.Name, instanceName, time.Since(start))
652-
disk, err := cloud.GetDisk(ctx, volKey, V1)
652+
disk, err := cloud.GetDisk(ctx, volKey, GCEAPIVersionV1)
653653
if err != nil {
654654
return false, fmt.Errorf("GetDisk failed to get disk: %v", err)
655655
}
@@ -740,7 +740,7 @@ func (cloud *CloudProvider) CreateSnapshot(ctx context.Context, volKey *meta.Key
740740

741741
func (cloud *CloudProvider) ResizeDisk(ctx context.Context, volKey *meta.Key, requestBytes int64) (int64, error) {
742742
klog.V(5).Infof("Resizing disk %v to size %v", volKey, requestBytes)
743-
cloudDisk, err := cloud.GetDisk(ctx, volKey, V1)
743+
cloudDisk, err := cloud.GetDisk(ctx, volKey, GCEAPIVersionV1)
744744
if err != nil {
745745
return -1, fmt.Errorf("failed to get disk: %v", err)
746746
}

pkg/gce-pd-csi-driver/controller.go

Lines changed: 12 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -114,10 +114,10 @@ func (gceCS *GCEControllerServer) CreateVolume(ctx context.Context, req *csi.Cre
114114
}
115115
}
116116
// Determine multiWriter
117-
apiVersion := gce.V1
117+
gceAPIVersion := gce.GCEAPIVersionV1
118118
multiWriter, _ := getMultiWriterFromCapabilities(volumeCapabilities)
119119
if multiWriter {
120-
apiVersion = gce.Alpha
120+
gceAPIVersion = gce.GCEAPIVersionAlpha
121121
}
122122
// Determine the zone or zones+region of the disk
123123
var zones []string
@@ -157,7 +157,7 @@ func (gceCS *GCEControllerServer) CreateVolume(ctx context.Context, req *csi.Cre
157157
defer gceCS.volumeLocks.Release(volumeID)
158158

159159
// Validate if disk already exists
160-
existingDisk, err := gceCS.CloudProvider.GetDisk(ctx, volKey, apiVersion)
160+
existingDisk, err := gceCS.CloudProvider.GetDisk(ctx, volKey, gceAPIVersion)
161161
if err != nil {
162162
if !gce.IsGCEError(err, "notFound") {
163163
return nil, status.Error(codes.Internal, fmt.Sprintf("CreateVolume unknown get disk error when validating: %v", err))
@@ -305,7 +305,7 @@ func (gceCS *GCEControllerServer) ControllerPublishVolume(ctx context.Context, r
305305
PublishContext: nil,
306306
}
307307

308-
_, err = gceCS.CloudProvider.GetDisk(ctx, volKey, gce.V1)
308+
_, err = gceCS.CloudProvider.GetDisk(ctx, volKey, gce.GCEAPIVersionV1)
309309
if err != nil {
310310
if gce.IsGCENotFoundError(err) {
311311
return nil, status.Error(codes.NotFound, fmt.Sprintf("Could not find disk %v: %v", volKey.String(), err))
@@ -443,7 +443,7 @@ func (gceCS *GCEControllerServer) ValidateVolumeCapabilities(ctx context.Context
443443
}
444444
defer gceCS.volumeLocks.Release(volumeID)
445445

446-
_, err = gceCS.CloudProvider.GetDisk(ctx, volKey, gce.V1)
446+
_, err = gceCS.CloudProvider.GetDisk(ctx, volKey, gce.GCEAPIVersionV1)
447447
if err != nil {
448448
if gce.IsGCENotFoundError(err) {
449449
return nil, status.Error(codes.NotFound, fmt.Sprintf("Could not find disk %v: %v", volKey.Name, err))
@@ -554,7 +554,7 @@ func (gceCS *GCEControllerServer) CreateSnapshot(ctx context.Context, req *csi.C
554554
defer gceCS.volumeLocks.Release(volumeID)
555555

556556
// Check if volume exists
557-
_, err = gceCS.CloudProvider.GetDisk(ctx, volKey, gce.V1)
557+
_, err = gceCS.CloudProvider.GetDisk(ctx, volKey, gce.GCEAPIVersionV1)
558558
if err != nil {
559559
if gce.IsGCENotFoundError(err) {
560560
return nil, status.Error(codes.NotFound, fmt.Sprintf("CreateSnapshot could not find disk %v: %v", volKey.String(), err))
@@ -1008,12 +1008,12 @@ func createRegionalDisk(ctx context.Context, cloudProvider gce.GCECompute, name
10081008
return nil, fmt.Errorf("failed to insert regional disk: %v", err)
10091009
}
10101010

1011-
apiVersion := gce.V1
1011+
gceAPIVersion := gce.GCEAPIVersionV1
10121012
if multiWriter {
1013-
apiVersion = gce.Alpha
1013+
gceAPIVersion = gce.GCEAPIVersionAlpha
10141014
}
10151015

1016-
disk, err := cloudProvider.GetDisk(ctx, meta.RegionalKey(name, region), apiVersion)
1016+
disk, err := cloudProvider.GetDisk(ctx, meta.RegionalKey(name, region), gceAPIVersion)
10171017
if err != nil {
10181018
return nil, fmt.Errorf("failed to get disk after creating regional disk: %v", err)
10191019
}
@@ -1030,11 +1030,11 @@ func createSingleZoneDisk(ctx context.Context, cloudProvider gce.GCECompute, nam
10301030
return nil, fmt.Errorf("failed to insert zonal disk: %v", err)
10311031
}
10321032

1033-
apiVersion := gce.V1
1033+
gceAPIVersion := gce.GCEAPIVersionV1
10341034
if multiWriter {
1035-
apiVersion = gce.Alpha
1035+
gceAPIVersion = gce.GCEAPIVersionAlpha
10361036
}
1037-
disk, err := cloudProvider.GetDisk(ctx, meta.ZonalKey(name, diskZone), apiVersion)
1037+
disk, err := cloudProvider.GetDisk(ctx, meta.ZonalKey(name, diskZone), gceAPIVersion)
10381038
if err != nil {
10391039
return nil, err
10401040
}

0 commit comments

Comments
 (0)