From 3970904ea835a11070b3004eedfe170e237bd1f8 Mon Sep 17 00:00:00 2001 From: andyzhangx Date: Thu, 18 Jun 2020 13:34:56 +0000 Subject: [PATCH] fix: deallocating should be regarded as shut down --- .../legacy-cloud-providers/azure/azure_instances.go | 10 ++++++---- .../azure/azure_instances_test.go | 2 +- 2 files changed, 7 insertions(+), 5 deletions(-) diff --git a/staging/src/k8s.io/legacy-cloud-providers/azure/azure_instances.go b/staging/src/k8s.io/legacy-cloud-providers/azure/azure_instances.go index fe4cb11507c..aff9dbf0c2c 100644 --- a/staging/src/k8s.io/legacy-cloud-providers/azure/azure_instances.go +++ b/staging/src/k8s.io/legacy-cloud-providers/azure/azure_instances.go @@ -32,9 +32,10 @@ import ( ) const ( - vmPowerStatePrefix = "PowerState/" - vmPowerStateStopped = "stopped" - vmPowerStateDeallocated = "deallocated" + vmPowerStatePrefix = "PowerState/" + vmPowerStateStopped = "stopped" + vmPowerStateDeallocated = "deallocated" + vmPowerStateDeallocating = "deallocating" ) var ( @@ -230,7 +231,8 @@ func (az *Cloud) InstanceShutdownByProviderID(ctx context.Context, providerID st } klog.V(5).Infof("InstanceShutdownByProviderID gets power status %q for node %q", powerStatus, nodeName) - return strings.ToLower(powerStatus) == vmPowerStateStopped || strings.ToLower(powerStatus) == vmPowerStateDeallocated, nil + status := strings.ToLower(powerStatus) + return status == vmPowerStateStopped || status == vmPowerStateDeallocated || status == vmPowerStateDeallocating, nil } // InstanceMetadataByProviderID returns metadata of the specified instance. diff --git a/staging/src/k8s.io/legacy-cloud-providers/azure/azure_instances_test.go b/staging/src/k8s.io/legacy-cloud-providers/azure/azure_instances_test.go index a8693276017..134953ea065 100644 --- a/staging/src/k8s.io/legacy-cloud-providers/azure/azure_instances_test.go +++ b/staging/src/k8s.io/legacy-cloud-providers/azure/azure_instances_test.go @@ -284,7 +284,7 @@ func TestInstanceShutdownByProviderID(t *testing.T) { vmList: map[string]string{"vm3": "PowerState/Deallocating"}, nodeName: "vm3", providerID: "azure:///subscriptions/subscription/resourceGroups/rg/providers/Microsoft.Compute/virtualMachines/vm3", - expected: false, + expected: true, }, { name: "InstanceShutdownByProviderID should return false if the vm is in PowerState/Starting status",