Skip to content

Commit 22e60b5

Browse files
authored
Merge pull request kubernetes#105365 from nilo19/automated-cherry-pick-of-#105188-upstream-release-1.21
Cherry pick of kubernetes#105188 and kubernetes#98350 to release 1.21
2 parents ac8c287 + 90f2a91 commit 22e60b5

13 files changed

+183
-86
lines changed

staging/src/k8s.io/legacy-cloud-providers/azure/azure_backoff_test.go

Lines changed: 19 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -58,7 +58,7 @@ func TestGetVirtualMachineWithRetry(t *testing.T) {
5858
},
5959
{
6060
vmClientErr: &retry.Error{HTTPStatusCode: http.StatusInternalServerError},
61-
expectedErr: fmt.Errorf("Retriable: false, RetryAfter: 0s, HTTPStatusCode: 500, RawError: <nil>"),
61+
expectedErr: fmt.Errorf("Retriable: false, RetryAfter: 0s, HTTPStatusCode: 500, RawError: %w", error(nil)),
6262
},
6363
}
6464

@@ -228,7 +228,7 @@ func TestCreateOrUpdateSecurityGroupCanceled(t *testing.T) {
228228
mockSGClient.EXPECT().Get(gomock.Any(), az.ResourceGroup, "sg", gomock.Any()).Return(network.SecurityGroup{}, nil)
229229

230230
err := az.CreateOrUpdateSecurityGroup(network.SecurityGroup{Name: to.StringPtr("sg")})
231-
assert.Equal(t, fmt.Errorf("Retriable: false, RetryAfter: 0s, HTTPStatusCode: 0, RawError: canceledandsupersededduetoanotheroperation"), err)
231+
assert.EqualError(t, fmt.Errorf("Retriable: false, RetryAfter: 0s, HTTPStatusCode: 0, RawError: %w", fmt.Errorf("canceledandsupersededduetoanotheroperation")), err.Error())
232232

233233
// security group should be removed from cache if the operation is canceled
234234
shouldBeEmpty, err := az.nsgCache.Get("sg", cache.CacheReadTypeDefault)
@@ -248,15 +248,15 @@ func TestCreateOrUpdateLB(t *testing.T) {
248248
}{
249249
{
250250
clientErr: &retry.Error{HTTPStatusCode: http.StatusPreconditionFailed},
251-
expectedErr: fmt.Errorf("Retriable: false, RetryAfter: 0s, HTTPStatusCode: 412, RawError: <nil>"),
251+
expectedErr: fmt.Errorf("Retriable: false, RetryAfter: 0s, HTTPStatusCode: 412, RawError: %w", error(nil)),
252252
},
253253
{
254-
clientErr: &retry.Error{RawError: fmt.Errorf(operationCanceledErrorMessage)},
255-
expectedErr: fmt.Errorf("Retriable: false, RetryAfter: 0s, HTTPStatusCode: 0, RawError: canceledandsupersededduetoanotheroperation"),
254+
clientErr: &retry.Error{RawError: fmt.Errorf("canceledandsupersededduetoanotheroperation")},
255+
expectedErr: fmt.Errorf("Retriable: false, RetryAfter: 0s, HTTPStatusCode: 0, RawError: %w", fmt.Errorf("canceledandsupersededduetoanotheroperation")),
256256
},
257257
{
258258
clientErr: &retry.Error{RawError: fmt.Errorf(referencedResourceNotProvisionedRawErrorString)},
259-
expectedErr: fmt.Errorf("Retriable: false, RetryAfter: 0s, HTTPStatusCode: 0, RawError: %s", referencedResourceNotProvisionedRawErrorString),
259+
expectedErr: fmt.Errorf("Retriable: false, RetryAfter: 0s, HTTPStatusCode: 0, RawError: %w", fmt.Errorf(referencedResourceNotProvisionedRawErrorString)),
260260
},
261261
}
262262

@@ -300,7 +300,7 @@ func TestListLB(t *testing.T) {
300300
}{
301301
{
302302
clientErr: &retry.Error{HTTPStatusCode: http.StatusInternalServerError},
303-
expectedErr: fmt.Errorf("Retriable: false, RetryAfter: 0s, HTTPStatusCode: 500, RawError: <nil>"),
303+
expectedErr: fmt.Errorf("Retriable: false, RetryAfter: 0s, HTTPStatusCode: 500, RawError: %w", error(nil)),
304304
},
305305
{
306306
clientErr: &retry.Error{HTTPStatusCode: http.StatusNotFound},
@@ -329,7 +329,7 @@ func TestListPIP(t *testing.T) {
329329
}{
330330
{
331331
clientErr: &retry.Error{HTTPStatusCode: http.StatusInternalServerError},
332-
expectedErr: fmt.Errorf("Retriable: false, RetryAfter: 0s, HTTPStatusCode: 500, RawError: <nil>"),
332+
expectedErr: fmt.Errorf("Retriable: false, RetryAfter: 0s, HTTPStatusCode: 500, RawError: %w", error(nil)),
333333
},
334334
{
335335
clientErr: &retry.Error{HTTPStatusCode: http.StatusNotFound},
@@ -356,7 +356,7 @@ func TestCreateOrUpdatePIP(t *testing.T) {
356356
mockPIPClient.EXPECT().CreateOrUpdate(gomock.Any(), az.ResourceGroup, "nic", gomock.Any()).Return(&retry.Error{HTTPStatusCode: http.StatusInternalServerError})
357357

358358
err := az.CreateOrUpdatePIP(&v1.Service{}, az.ResourceGroup, network.PublicIPAddress{Name: to.StringPtr("nic")})
359-
assert.Equal(t, fmt.Errorf("Retriable: false, RetryAfter: 0s, HTTPStatusCode: 500, RawError: <nil>"), err)
359+
assert.Equal(t, fmt.Errorf("Retriable: false, RetryAfter: 0s, HTTPStatusCode: 500, RawError: %w", error(nil)), err)
360360
}
361361

362362
func TestCreateOrUpdateInterface(t *testing.T) {
@@ -368,7 +368,7 @@ func TestCreateOrUpdateInterface(t *testing.T) {
368368
mockInterfaceClient.EXPECT().CreateOrUpdate(gomock.Any(), az.ResourceGroup, "nic", gomock.Any()).Return(&retry.Error{HTTPStatusCode: http.StatusInternalServerError})
369369

370370
err := az.CreateOrUpdateInterface(&v1.Service{}, network.Interface{Name: to.StringPtr("nic")})
371-
assert.Equal(t, fmt.Errorf("Retriable: false, RetryAfter: 0s, HTTPStatusCode: 500, RawError: <nil>"), err)
371+
assert.Equal(t, fmt.Errorf("Retriable: false, RetryAfter: 0s, HTTPStatusCode: 500, RawError: %w", error(nil)), err)
372372
}
373373

374374
func TestDeletePublicIP(t *testing.T) {
@@ -380,7 +380,7 @@ func TestDeletePublicIP(t *testing.T) {
380380
mockPIPClient.EXPECT().Delete(gomock.Any(), az.ResourceGroup, "pip").Return(&retry.Error{HTTPStatusCode: http.StatusInternalServerError})
381381

382382
err := az.DeletePublicIP(&v1.Service{}, az.ResourceGroup, "pip")
383-
assert.Equal(t, fmt.Errorf("Retriable: false, RetryAfter: 0s, HTTPStatusCode: 500, RawError: <nil>"), err)
383+
assert.Equal(t, fmt.Errorf("Retriable: false, RetryAfter: 0s, HTTPStatusCode: 500, RawError: %w", error(nil)), err)
384384
}
385385

386386
func TestDeleteLB(t *testing.T) {
@@ -392,7 +392,7 @@ func TestDeleteLB(t *testing.T) {
392392
mockLBClient.EXPECT().Delete(gomock.Any(), az.ResourceGroup, "lb").Return(&retry.Error{HTTPStatusCode: http.StatusInternalServerError})
393393

394394
err := az.DeleteLB(&v1.Service{}, "lb")
395-
assert.Equal(t, fmt.Errorf("Retriable: false, RetryAfter: 0s, HTTPStatusCode: 500, RawError: <nil>"), err)
395+
assert.Equal(t, fmt.Errorf("Retriable: false, RetryAfter: 0s, HTTPStatusCode: 500, RawError: %w", error(nil)), err)
396396
}
397397

398398
func TestCreateOrUpdateRouteTable(t *testing.T) {
@@ -405,11 +405,11 @@ func TestCreateOrUpdateRouteTable(t *testing.T) {
405405
}{
406406
{
407407
clientErr: &retry.Error{HTTPStatusCode: http.StatusPreconditionFailed},
408-
expectedErr: fmt.Errorf("Retriable: false, RetryAfter: 0s, HTTPStatusCode: 412, RawError: <nil>"),
408+
expectedErr: fmt.Errorf("Retriable: false, RetryAfter: 0s, HTTPStatusCode: 412, RawError: %w", error(nil)),
409409
},
410410
{
411-
clientErr: &retry.Error{RawError: fmt.Errorf(operationCanceledErrorMessage)},
412-
expectedErr: fmt.Errorf("Retriable: false, RetryAfter: 0s, HTTPStatusCode: 0, RawError: canceledandsupersededduetoanotheroperation"),
411+
clientErr: &retry.Error{RawError: fmt.Errorf("canceledandsupersededduetoanotheroperation")},
412+
expectedErr: fmt.Errorf("Retriable: false, RetryAfter: 0s, HTTPStatusCode: 0, RawError: %w", fmt.Errorf("canceledandsupersededduetoanotheroperation")),
413413
},
414414
}
415415

@@ -444,11 +444,11 @@ func TestCreateOrUpdateRoute(t *testing.T) {
444444
}{
445445
{
446446
clientErr: &retry.Error{HTTPStatusCode: http.StatusPreconditionFailed},
447-
expectedErr: fmt.Errorf("Retriable: false, RetryAfter: 0s, HTTPStatusCode: 412, RawError: <nil>"),
447+
expectedErr: fmt.Errorf("Retriable: false, RetryAfter: 0s, HTTPStatusCode: 412, RawError: %w", error(nil)),
448448
},
449449
{
450-
clientErr: &retry.Error{RawError: fmt.Errorf(operationCanceledErrorMessage)},
451-
expectedErr: fmt.Errorf("Retriable: false, RetryAfter: 0s, HTTPStatusCode: 0, RawError: canceledandsupersededduetoanotheroperation"),
450+
clientErr: &retry.Error{RawError: fmt.Errorf("canceledandsupersededduetoanotheroperation")},
451+
expectedErr: fmt.Errorf("Retriable: false, RetryAfter: 0s, HTTPStatusCode: 0, RawError: %w", fmt.Errorf("canceledandsupersededduetoanotheroperation")),
452452
},
453453
{
454454
clientErr: nil,
@@ -488,7 +488,7 @@ func TestDeleteRouteWithName(t *testing.T) {
488488
}{
489489
{
490490
clientErr: &retry.Error{HTTPStatusCode: http.StatusInternalServerError},
491-
expectedErr: fmt.Errorf("Retriable: false, RetryAfter: 0s, HTTPStatusCode: 500, RawError: <nil>"),
491+
expectedErr: fmt.Errorf("Retriable: false, RetryAfter: 0s, HTTPStatusCode: 500, RawError: %w", error(nil)),
492492
},
493493
{
494494
clientErr: nil,

staging/src/k8s.io/legacy-cloud-providers/azure/azure_blobDiskController_test.go

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -85,8 +85,8 @@ func TestCreateVolume(t *testing.T) {
8585
b.common.cloud.StorageAccountClient = mockSAClient
8686

8787
diskName, diskURI, requestGB, err := b.CreateVolume("testBlob", "testsa", "type", b.common.location, 10)
88-
expectedErr := fmt.Errorf("could not get storage key for storage account testsa: could not get storage key for " +
89-
"storage account testsa: Retriable: false, RetryAfter: 0s, HTTPStatusCode: 500, RawError: <nil>")
88+
expectedErr := fmt.Errorf("could not get storage key for storage account testsa: could not get storage key for "+
89+
"storage account testsa: Retriable: false, RetryAfter: 0s, HTTPStatusCode: 500, RawError: %w", error(nil))
9090
assert.Equal(t, expectedErr, err)
9191
assert.Empty(t, diskName)
9292
assert.Empty(t, diskURI)
@@ -122,7 +122,7 @@ func TestDeleteVolume(t *testing.T) {
122122
fakeDiskURL := "fake"
123123
diskURL := "https://foo.blob./vhds/bar.vhd"
124124
err := b.DeleteVolume(diskURL)
125-
expectedErr := fmt.Errorf("no key for storage account foo, err Retriable: false, RetryAfter: 0s, HTTPStatusCode: 500, RawError: <nil>")
125+
expectedErr := fmt.Errorf("no key for storage account foo, err Retriable: false, RetryAfter: 0s, HTTPStatusCode: 500, RawError: %w", error(nil))
126126
assert.Equal(t, expectedErr, err)
127127

128128
err = b.DeleteVolume(diskURL)

staging/src/k8s.io/legacy-cloud-providers/azure/azure_controller_vmss_test.go

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -88,7 +88,7 @@ func TestAttachDiskWithVMSS(t *testing.T) {
8888
isManagedDisk: false,
8989
existedDisk: compute.Disk{Name: to.StringPtr("disk-name")},
9090
expectedErr: true,
91-
expectedErrMsg: fmt.Errorf("Retriable: false, RetryAfter: 0s, HTTPStatusCode: 404, RawError: instance not found"),
91+
expectedErrMsg: fmt.Errorf("Retriable: false, RetryAfter: 0s, HTTPStatusCode: 404, RawError: %w", cloudprovider.InstanceNotFound),
9292
},
9393
}
9494

@@ -176,7 +176,7 @@ func TestDetachDiskWithVMSS(t *testing.T) {
176176
vmssvmName: "vmss00-vm-000000",
177177
existedDisk: compute.Disk{Name: to.StringPtr(diskName)},
178178
expectedErr: true,
179-
expectedErrMsg: fmt.Errorf("Retriable: false, RetryAfter: 0s, HTTPStatusCode: 404, RawError: instance not found"),
179+
expectedErrMsg: fmt.Errorf("Retriable: false, RetryAfter: 0s, HTTPStatusCode: 404, RawError: %w", cloudprovider.InstanceNotFound),
180180
},
181181
{
182182
desc: "no error shall be returned if everything is good and the attaching disk does not match data disk",

staging/src/k8s.io/legacy-cloud-providers/azure/azure_loadbalancer.go

Lines changed: 4 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,7 @@ package azure
2020

2121
import (
2222
"context"
23+
"errors"
2324
"fmt"
2425
"math"
2526
"reflect"
@@ -309,7 +310,7 @@ func (az *Cloud) cleanBackendpoolForPrimarySLB(primarySLB *network.LoadBalancer,
309310
ipConf := (*bp.BackendIPConfigurations)[i]
310311
ipConfigID := to.String(ipConf.ID)
311312
_, vmSetName, err := az.VMSet.GetNodeNameByIPConfigurationID(ipConfigID)
312-
if err != nil {
313+
if err != nil && !errors.Is(err, cloudprovider.InstanceNotFound) {
313314
return nil, err
314315
}
315316
primaryVMSetName := az.VMSet.GetPrimaryVMSetName()
@@ -1134,13 +1135,10 @@ func (az *Cloud) reconcileLoadBalancer(clusterName string, service *v1.Service,
11341135
for _, ipConf := range *bp.BackendIPConfigurations {
11351136
ipConfID := to.String(ipConf.ID)
11361137
nodeName, _, err := az.VMSet.GetNodeNameByIPConfigurationID(ipConfID)
1137-
if err != nil {
1138+
if err != nil && !errors.Is(err, cloudprovider.InstanceNotFound) {
11381139
return nil, err
11391140
}
1140-
if nodeName == "" {
1141-
// VM may under deletion
1142-
continue
1143-
}
1141+
11441142
// If a node is not supposed to be included in the LB, it
11451143
// would not be in the `nodes` slice. We need to check the nodes that
11461144
// have been added to the LB's backendpool, find the unwanted ones and

staging/src/k8s.io/legacy-cloud-providers/azure/azure_loadbalancer_test.go

Lines changed: 58 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -30,13 +30,15 @@ import (
3030
"testing"
3131
"time"
3232

33+
"github.com/Azure/azure-sdk-for-go/services/compute/mgmt/2019-12-01/compute"
3334
"github.com/Azure/azure-sdk-for-go/services/network/mgmt/2019-06-01/network"
3435
"github.com/Azure/go-autorest/autorest/to"
3536
"github.com/golang/mock/gomock"
3637
"github.com/stretchr/testify/assert"
3738

3839
v1 "k8s.io/api/core/v1"
3940
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
41+
cloudprovider "k8s.io/cloud-provider"
4042
"k8s.io/legacy-cloud-providers/azure/clients/interfaceclient/mockinterfaceclient"
4143
"k8s.io/legacy-cloud-providers/azure/clients/loadbalancerclient/mockloadbalancerclient"
4244
"k8s.io/legacy-cloud-providers/azure/clients/publicipclient/mockpublicipclient"
@@ -3782,6 +3784,62 @@ func TestCleanBackendpoolForPrimarySLB(t *testing.T) {
37823784
assert.Equal(t, expectedLB, *cleanedLB)
37833785
}
37843786

3787+
func TestCleanBackendpoolForPrimarySLBForInstanceNotFound(t *testing.T) {
3788+
ctrl := gomock.NewController(t)
3789+
defer ctrl.Finish()
3790+
cloud := GetTestCloud(ctrl)
3791+
cloud.LoadBalancerSku = loadBalancerSkuStandard
3792+
cloud.EnableMultipleStandardLoadBalancers = true
3793+
cloud.PrimaryAvailabilitySetName = "agentpool1-availabilitySet-00000000"
3794+
clusterName := "testCluster"
3795+
service := getTestService("test", v1.ProtocolTCP, nil, false, 80)
3796+
lb := buildDefaultTestLB("testCluster", []string{
3797+
"/subscriptions/subscription/resourceGroups/rg/providers/Microsoft.Network/networkInterfaces/k8s-agentpool1-00000000-nic-1/ipConfigurations/ipconfig1",
3798+
"/subscriptions/subscription/resourceGroups/rg/providers/Microsoft.Network/networkInterfaces/k8s-agentpool2-00000000-nic-1/ipConfigurations/ipconfig1",
3799+
})
3800+
// existingVMForAS1 := buildDefaultTestVirtualMachine("/subscriptions/subscription/resourceGroups/rg/providers/Microsoft.Compute/availabilitySets/agentpool1-availabilitySet-00000000", []string{"/subscriptions/subscription/resourceGroups/rg/providers/Microsoft.Network/networkInterfaces/k8s-agentpool1-00000000-nic-1"})
3801+
existingVMForAS2 := buildDefaultTestVirtualMachine("/subscriptions/subscription/resourceGroups/rg/providers/Microsoft.Compute/availabilitySets/agentpool2-availabilitySet-00000000", []string{"/subscriptions/subscription/resourceGroups/rg/providers/Microsoft.Network/networkInterfaces/k8s-agentpool2-00000000-nic-1"})
3802+
existingNICForAS1 := buildDefaultTestInterface(true, []string{"/subscriptions/sub/resourceGroups/gh/providers/Microsoft.Network/loadBalancers/testCluster/backendAddressPools/testCluster"})
3803+
existingNICForAS1.VirtualMachine = &network.SubResource{
3804+
ID: to.StringPtr("/subscriptions/subscription/resourceGroups/rg/providers/Microsoft.Compute/virtualMachines/k8s-agentpool1-00000000-1"),
3805+
}
3806+
existingNICForAS2 := buildDefaultTestInterface(true, []string{"/subscriptions/sub/resourceGroups/gh/providers/Microsoft.Network/loadBalancers/testCluster/backendAddressPools/testCluster"})
3807+
existingNICForAS2.VirtualMachine = &network.SubResource{
3808+
ID: to.StringPtr("/subscriptions/subscription/resourceGroups/rg/providers/Microsoft.Compute/virtualMachines/k8s-agentpool2-00000000-1"),
3809+
}
3810+
mockVMClient := mockvmclient.NewMockInterface(ctrl)
3811+
mockVMClient.EXPECT().Get(gomock.Any(), cloud.ResourceGroup, "k8s-agentpool1-00000000-1", gomock.Any()).Return(compute.VirtualMachine{}, &retry.Error{RawError: cloudprovider.InstanceNotFound})
3812+
mockVMClient.EXPECT().Get(gomock.Any(), cloud.ResourceGroup, "k8s-agentpool2-00000000-1", gomock.Any()).Return(existingVMForAS2, nil)
3813+
cloud.VirtualMachinesClient = mockVMClient
3814+
mockNICClient := mockinterfaceclient.NewMockInterface(ctrl)
3815+
mockNICClient.EXPECT().Get(gomock.Any(), "rg", "k8s-agentpool1-00000000-nic-1", gomock.Any()).Return(existingNICForAS1, nil)
3816+
mockNICClient.EXPECT().Get(gomock.Any(), "rg", "k8s-agentpool2-00000000-nic-1", gomock.Any()).Return(existingNICForAS2, nil).Times(3)
3817+
mockNICClient.EXPECT().CreateOrUpdate(gomock.Any(), gomock.Any(), gomock.Any(), gomock.Any()).Return(nil)
3818+
cloud.InterfacesClient = mockNICClient
3819+
3820+
expectedLB := network.LoadBalancer{
3821+
Name: to.StringPtr("testCluster"),
3822+
LoadBalancerPropertiesFormat: &network.LoadBalancerPropertiesFormat{
3823+
BackendAddressPools: &[]network.BackendAddressPool{
3824+
{
3825+
Name: to.StringPtr("testCluster"),
3826+
BackendAddressPoolPropertiesFormat: &network.BackendAddressPoolPropertiesFormat{
3827+
BackendIPConfigurations: &[]network.InterfaceIPConfiguration{
3828+
{
3829+
ID: to.StringPtr("/subscriptions/subscription/resourceGroups/rg/providers/Microsoft.Network/networkInterfaces/k8s-agentpool1-00000000-nic-1/ipConfigurations/ipconfig1"),
3830+
},
3831+
},
3832+
},
3833+
},
3834+
},
3835+
},
3836+
}
3837+
3838+
cleanedLB, err := cloud.cleanBackendpoolForPrimarySLB(&lb, &service, clusterName)
3839+
assert.NoError(t, err)
3840+
assert.Equal(t, expectedLB, *cleanedLB)
3841+
}
3842+
37853843
func buildDefaultTestLB(name string, backendIPConfigs []string) network.LoadBalancer {
37863844
expectedLB := network.LoadBalancer{
37873845
Name: to.StringPtr(name),

staging/src/k8s.io/legacy-cloud-providers/azure/azure_managedDiskController_test.go

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -209,7 +209,7 @@ func TestDeleteManagedDisk(t *testing.T) {
209209
diskName: fakeGetDiskFailed,
210210
existedDisk: compute.Disk{Name: to.StringPtr(fakeGetDiskFailed)},
211211
expectedErr: true,
212-
expectedErrMsg: fmt.Errorf("Retriable: false, RetryAfter: 0s, HTTPStatusCode: 0, RawError: Get Disk failed"),
212+
expectedErrMsg: fmt.Errorf("Retriable: false, RetryAfter: 0s, HTTPStatusCode: 0, RawError: %w", fmt.Errorf("Get Disk failed")),
213213
},
214214
}
215215

@@ -263,7 +263,7 @@ func TestGetDisk(t *testing.T) {
263263
diskName: fakeGetDiskFailed,
264264
existedDisk: compute.Disk{Name: to.StringPtr(fakeGetDiskFailed)},
265265
expectedErr: true,
266-
expectedErrMsg: fmt.Errorf("Retriable: false, RetryAfter: 0s, HTTPStatusCode: 0, RawError: Get Disk failed"),
266+
expectedErrMsg: fmt.Errorf("Retriable: false, RetryAfter: 0s, HTTPStatusCode: 0, RawError: %w", fmt.Errorf("Get Disk failed")),
267267
expectedProvisioningState: "",
268268
expectedDiskID: "",
269269
},
@@ -342,7 +342,7 @@ func TestResizeDisk(t *testing.T) {
342342
existedDisk: compute.Disk{Name: to.StringPtr(fakeGetDiskFailed), DiskProperties: &compute.DiskProperties{DiskSizeGB: &diskSizeGB, DiskState: compute.Unattached}},
343343
expectedQuantity: *resource.NewQuantity(2*(1024*1024*1024), resource.BinarySI),
344344
expectedErr: true,
345-
expectedErrMsg: fmt.Errorf("Retriable: false, RetryAfter: 0s, HTTPStatusCode: 0, RawError: Get Disk failed"),
345+
expectedErrMsg: fmt.Errorf("Retriable: false, RetryAfter: 0s, HTTPStatusCode: 0, RawError: %w", fmt.Errorf("Get Disk failed")),
346346
},
347347
{
348348
desc: "an error shall be returned if everything is good but create disk failed",
@@ -352,7 +352,7 @@ func TestResizeDisk(t *testing.T) {
352352
existedDisk: compute.Disk{Name: to.StringPtr(fakeCreateDiskFailed), DiskProperties: &compute.DiskProperties{DiskSizeGB: &diskSizeGB, DiskState: compute.Unattached}},
353353
expectedQuantity: *resource.NewQuantity(2*(1024*1024*1024), resource.BinarySI),
354354
expectedErr: true,
355-
expectedErrMsg: fmt.Errorf("Retriable: false, RetryAfter: 0s, HTTPStatusCode: 0, RawError: Create Disk failed"),
355+
expectedErrMsg: fmt.Errorf("Retriable: false, RetryAfter: 0s, HTTPStatusCode: 0, RawError: %w", fmt.Errorf("Create Disk failed")),
356356
},
357357
{
358358
desc: "an error shall be returned if disk is not in Unattached state",
@@ -484,7 +484,7 @@ func TestGetLabelsForVolume(t *testing.T) {
484484
},
485485
existedDisk: compute.Disk{Name: to.StringPtr(fakeGetDiskFailed), DiskProperties: &compute.DiskProperties{DiskSizeGB: &diskSizeGB}, Zones: &[]string{"1"}},
486486
expectedErr: true,
487-
expectedErrMsg: fmt.Errorf("Retriable: false, RetryAfter: 0s, HTTPStatusCode: 0, RawError: Get Disk failed"),
487+
expectedErrMsg: fmt.Errorf("Retriable: false, RetryAfter: 0s, HTTPStatusCode: 0, RawError: %w", fmt.Errorf("Get Disk failed")),
488488
},
489489
{
490490
desc: "an error shall be returned if everything is good with invalid DiskURI",

0 commit comments

Comments
 (0)