Skip to content

Commit 4e975b9

Browse files
authored
Merge pull request kubernetes#91184 from DataDog/bp/azure-vmas-isshutdown
Azure: support non-VMSS instances removal
2 parents 1f8b3d6 + 75912f6 commit 4e975b9

File tree

2 files changed

+13
-0
lines changed

2 files changed

+13
-0
lines changed

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

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -189,6 +189,16 @@ func (ss *scaleSet) getVmssVM(nodeName string, crt azcache.AzureCacheReadType) (
189189

190190
// GetPowerStatusByNodeName returns the power state of the specified node.
191191
func (ss *scaleSet) GetPowerStatusByNodeName(name string) (powerState string, err error) {
192+
managedByAS, err := ss.isNodeManagedByAvailabilitySet(name, azcache.CacheReadTypeUnsafe)
193+
if err != nil {
194+
klog.Errorf("Failed to check isNodeManagedByAvailabilitySet: %v", err)
195+
return "", err
196+
}
197+
if managedByAS {
198+
// vm is managed by availability set.
199+
return ss.availabilitySet.GetPowerStatusByNodeName(name)
200+
}
201+
192202
_, _, vm, err := ss.getVmssVM(name, azcache.CacheReadTypeDefault)
193203
if err != nil {
194204
return powerState, err

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

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -723,6 +723,9 @@ func TestGetPowerStatusByNodeName(t *testing.T) {
723723
}
724724
mockVMSSVMClient.EXPECT().List(gomock.Any(), ss.ResourceGroup, testVMSSName, gomock.Any()).Return(expectedVMSSVMs, nil).AnyTimes()
725725

726+
mockVMsClient := ss.cloud.VirtualMachinesClient.(*mockvmclient.MockInterface)
727+
mockVMsClient.EXPECT().List(gomock.Any(), gomock.Any()).Return([]compute.VirtualMachine{}, nil).AnyTimes()
728+
726729
powerState, err := ss.GetPowerStatusByNodeName("vmss-vm-000001")
727730
assert.Equal(t, test.expectedErr, err, test.description+", but an error occurs")
728731
assert.Equal(t, test.expectedPowerState, powerState, test.description)

0 commit comments

Comments
 (0)