Skip to content

Commit 0797e93

Browse files
committed
Make CloudDisk methods compatible with alphaDisk
1 parent 1a1f846 commit 0797e93

File tree

2 files changed

+102
-2
lines changed

2 files changed

+102
-2
lines changed

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

Lines changed: 48 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -58,6 +58,9 @@ func (d *CloudDisk) LocationType() meta.KeyType {
5858
case d.betaDisk != nil:
5959
zone = d.betaDisk.Zone
6060
region = d.betaDisk.Region
61+
case d.alphaDisk != nil:
62+
zone = d.alphaDisk.Zone
63+
region = d.alphaDisk.Region
6164
}
6265
switch {
6366
case zone != "":
@@ -75,6 +78,8 @@ func (d *CloudDisk) GetUsers() []string {
7578
return d.disk.Users
7679
case d.betaDisk != nil:
7780
return d.betaDisk.Users
81+
case d.alphaDisk != nil:
82+
return d.alphaDisk.Users
7883
default:
7984
return nil
8085
}
@@ -86,6 +91,8 @@ func (d *CloudDisk) GetName() string {
8691
return d.disk.Name
8792
case d.betaDisk != nil:
8893
return d.betaDisk.Name
94+
case d.alphaDisk != nil:
95+
return d.alphaDisk.Name
8996
default:
9097
return ""
9198
}
@@ -97,6 +104,8 @@ func (d *CloudDisk) GetKind() string {
97104
return d.disk.Kind
98105
case d.betaDisk != nil:
99106
return d.betaDisk.Kind
107+
case d.alphaDisk != nil:
108+
return d.alphaDisk.Kind
100109
default:
101110
return ""
102111
}
@@ -108,6 +117,8 @@ func (d *CloudDisk) GetStatus() string {
108117
return d.disk.Status
109118
case d.betaDisk != nil:
110119
return d.betaDisk.Status
120+
case d.alphaDisk != nil:
121+
return d.alphaDisk.Status
111122
default:
112123
return "Unknown"
113124
}
@@ -123,6 +134,8 @@ func (d *CloudDisk) GetPDType() string {
123134
pdType = d.disk.Type
124135
case d.betaDisk != nil:
125136
pdType = d.betaDisk.Type
137+
case d.alphaDisk != nil:
138+
pdType = d.alphaDisk.Type
126139
default:
127140
return ""
128141
}
@@ -136,6 +149,8 @@ func (d *CloudDisk) GetSelfLink() string {
136149
return d.disk.SelfLink
137150
case d.betaDisk != nil:
138151
return d.betaDisk.SelfLink
152+
case d.alphaDisk != nil:
153+
return d.alphaDisk.SelfLink
139154
default:
140155
return ""
141156
}
@@ -147,6 +162,8 @@ func (d *CloudDisk) GetSizeGb() int64 {
147162
return d.disk.SizeGb
148163
case d.betaDisk != nil:
149164
return d.betaDisk.SizeGb
165+
case d.alphaDisk != nil:
166+
return d.alphaDisk.SizeGb
150167
default:
151168
return -1
152169
}
@@ -160,6 +177,8 @@ func (d *CloudDisk) setSizeGb(size int64) {
160177
d.disk.SizeGb = size
161178
case d.betaDisk != nil:
162179
d.betaDisk.SizeGb = size
180+
case d.alphaDisk != nil:
181+
d.alphaDisk.SizeGb = size
163182
}
164183
}
165184

@@ -169,6 +188,8 @@ func (d *CloudDisk) GetZone() string {
169188
return d.disk.Zone
170189
case d.betaDisk != nil:
171190
return d.betaDisk.Zone
191+
case d.alphaDisk != nil:
192+
return d.alphaDisk.Zone
172193
default:
173194
return ""
174195
}
@@ -180,6 +201,8 @@ func (d *CloudDisk) GetSnapshotId() string {
180201
return d.disk.SourceSnapshotId
181202
case d.betaDisk != nil:
182203
return d.betaDisk.SourceSnapshotId
204+
case d.alphaDisk != nil:
205+
return d.alphaDisk.SourceSnapshotId
183206
default:
184207
return ""
185208
}
@@ -191,6 +214,8 @@ func (d *CloudDisk) GetSourceDiskId() string {
191214
return d.disk.SourceDiskId
192215
case d.betaDisk != nil:
193216
return d.betaDisk.SourceDiskId
217+
case d.alphaDisk != nil:
218+
return d.alphaDisk.SourceDiskId
194219
default:
195220
return ""
196221
}
@@ -202,6 +227,8 @@ func (d *CloudDisk) GetImageId() string {
202227
return d.disk.SourceImageId
203228
case d.betaDisk != nil:
204229
return d.betaDisk.SourceImageId
230+
case d.alphaDisk != nil:
231+
return d.alphaDisk.SourceImageId
205232
default:
206233
return ""
207234
}
@@ -217,6 +244,10 @@ func (d *CloudDisk) GetKMSKeyName() string {
217244
if dek := d.betaDisk.DiskEncryptionKey; dek != nil {
218245
return dek.KmsKeyName
219246
}
247+
case d.alphaDisk != nil:
248+
if dek := d.alphaDisk.DiskEncryptionKey; dek != nil {
249+
return dek.KmsKeyName
250+
}
220251
}
221252
return ""
222253
}
@@ -227,6 +258,8 @@ func (d *CloudDisk) GetMultiWriter() bool {
227258
return false
228259
case d.betaDisk != nil:
229260
return d.betaDisk.MultiWriter
261+
case d.alphaDisk != nil:
262+
return d.alphaDisk.MultiWriter
230263
default:
231264
return false
232265
}
@@ -238,6 +271,21 @@ func (d *CloudDisk) GetEnableConfidentialCompute() bool {
238271
return false
239272
case d.betaDisk != nil:
240273
return d.betaDisk.EnableConfidentialCompute
274+
case d.alphaDisk != nil:
275+
return d.alphaDisk.EnableConfidentialCompute
276+
default:
277+
return false
278+
}
279+
}
280+
281+
func (d *CloudDisk) GetEnableStoragePools() bool {
282+
switch {
283+
case d.disk != nil:
284+
return false
285+
case d.betaDisk != nil:
286+
return false
287+
case d.alphaDisk != nil:
288+
return d.alphaDisk.StoragePool != ""
241289
default:
242290
return false
243291
}

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

Lines changed: 54 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,7 @@ package gcecloudprovider
2020
import (
2121
"testing"
2222

23+
computealpha "google.golang.org/api/compute/v0.alpha"
2324
computebeta "google.golang.org/api/compute/v0.beta"
2425
computev1 "google.golang.org/api/compute/v1"
2526
)
@@ -55,12 +56,12 @@ func TestGetEnableConfidentialCompute(t *testing.T) {
5556
expectedEnableConfidentialCompute: true,
5657
},
5758
{
58-
name: "test disk withpit enableConfidentialCompute",
59+
name: "test disk without enableConfidentialCompute",
5960
diskVersion: CreateDiskWithConfidentialCompute(false, false, "hyperdisk-balanced"),
6061
expectedEnableConfidentialCompute: false,
6162
},
6263
{
63-
name: "test disk withpit enableConfidentialCompute",
64+
name: "test disk without enableConfidentialCompute",
6465
diskVersion: CreateDiskWithConfidentialCompute(false, false, "pd-standard"),
6566
expectedEnableConfidentialCompute: false,
6667
},
@@ -77,3 +78,54 @@ func TestGetEnableConfidentialCompute(t *testing.T) {
7778
}
7879
}
7980
}
81+
82+
func TestGetEnableStoragePools(t *testing.T) {
83+
testCases := []struct {
84+
name string
85+
cloudDisk *CloudDisk
86+
expectedEnableStoragePools bool
87+
}{
88+
{
89+
name: "v1 disk returns false",
90+
cloudDisk: &CloudDisk{
91+
disk: &computev1.Disk{},
92+
},
93+
expectedEnableStoragePools: false,
94+
},
95+
{
96+
name: "beta disk returns false",
97+
cloudDisk: &CloudDisk{
98+
betaDisk: &computebeta.Disk{},
99+
},
100+
expectedEnableStoragePools: false,
101+
},
102+
{
103+
name: "alpha disk without storage pool returns false",
104+
cloudDisk: &CloudDisk{
105+
alphaDisk: &computealpha.Disk{},
106+
},
107+
expectedEnableStoragePools: false,
108+
},
109+
{
110+
name: "alpha disk with storage pool returns true",
111+
cloudDisk: &CloudDisk{
112+
alphaDisk: &computealpha.Disk{
113+
StoragePool: "projects/my-project/zones/us-central1-a/storagePools/storagePool-1",
114+
},
115+
},
116+
expectedEnableStoragePools: true,
117+
},
118+
}
119+
120+
for _, tc := range testCases {
121+
t.Logf("Running test: %v", tc.name)
122+
input := "GetEnableStoragePools()"
123+
enableStoragePools := tc.cloudDisk.GetEnableStoragePools()
124+
if enableStoragePools != tc.expectedEnableStoragePools {
125+
t.Fatalf("%s got confidentialCompute value %t expected %t", input, enableStoragePools, tc.expectedEnableStoragePools)
126+
}
127+
if enableStoragePools != tc.expectedEnableStoragePools {
128+
t.Fatalf("%s got confidentialCompute value %t expected %t", input, enableStoragePools, tc.expectedEnableStoragePools)
129+
}
130+
}
131+
}

0 commit comments

Comments
 (0)