diff --git a/pkg/kubelet/cloudresource/cloud_request_manager_test.go b/pkg/kubelet/cloudresource/cloud_request_manager_test.go index 7bf186c1328..45cbbad8f5d 100644 --- a/pkg/kubelet/cloudresource/cloud_request_manager_test.go +++ b/pkg/kubelet/cloudresource/cloud_request_manager_test.go @@ -87,17 +87,24 @@ func TestNodeAddressesUsesLastSuccess(t *testing.T) { // These tests are stateful and order dependent. tests := []struct { - name string - addrs []v1.NodeAddress - err error - wantAddrs []v1.NodeAddress - wantErr bool + name string + addrs []v1.NodeAddress + err error + wantAddrs []v1.NodeAddress + wantErr bool + shouldDisableInstances bool }{ { name: "first sync loop encounters an error", err: errors.New("bad"), wantErr: true, }, + { + name: "failed to get instances from cloud provider", + err: errors.New("failed to get instances from cloud provider"), + wantErr: true, + shouldDisableInstances: true, + }, { name: "subsequent sync loop succeeds", addrs: createNodeInternalIPAddress("10.0.1.12"), @@ -120,6 +127,13 @@ func TestNodeAddressesUsesLastSuccess(t *testing.T) { cloud.Addresses = test.addrs cloud.Err = test.err + if test.shouldDisableInstances { + cloud.DisableInstances = true + defer func() { + cloud.DisableInstances = false + }() + } + manager.syncNodeAddresses() nodeAddresses, err := manager.NodeAddresses() if (err != nil) != test.wantErr {