mirror of
https://github.com/k3s-io/kubernetes.git
synced 2025-07-23 03:41:45 +00:00
Merge pull request #91184 from DataDog/bp/azure-vmas-isshutdown
Azure: support non-VMSS instances removal
This commit is contained in:
commit
4e975b9fc2
@ -189,6 +189,16 @@ func (ss *scaleSet) getVmssVM(nodeName string, crt azcache.AzureCacheReadType) (
|
||||
|
||||
// GetPowerStatusByNodeName returns the power state of the specified node.
|
||||
func (ss *scaleSet) GetPowerStatusByNodeName(name string) (powerState string, err error) {
|
||||
managedByAS, err := ss.isNodeManagedByAvailabilitySet(name, azcache.CacheReadTypeUnsafe)
|
||||
if err != nil {
|
||||
klog.Errorf("Failed to check isNodeManagedByAvailabilitySet: %v", err)
|
||||
return "", err
|
||||
}
|
||||
if managedByAS {
|
||||
// vm is managed by availability set.
|
||||
return ss.availabilitySet.GetPowerStatusByNodeName(name)
|
||||
}
|
||||
|
||||
_, _, vm, err := ss.getVmssVM(name, azcache.CacheReadTypeDefault)
|
||||
if err != nil {
|
||||
return powerState, err
|
||||
|
@ -723,6 +723,9 @@ func TestGetPowerStatusByNodeName(t *testing.T) {
|
||||
}
|
||||
mockVMSSVMClient.EXPECT().List(gomock.Any(), ss.ResourceGroup, testVMSSName, gomock.Any()).Return(expectedVMSSVMs, nil).AnyTimes()
|
||||
|
||||
mockVMsClient := ss.cloud.VirtualMachinesClient.(*mockvmclient.MockInterface)
|
||||
mockVMsClient.EXPECT().List(gomock.Any(), gomock.Any()).Return([]compute.VirtualMachine{}, nil).AnyTimes()
|
||||
|
||||
powerState, err := ss.GetPowerStatusByNodeName("vmss-vm-000001")
|
||||
assert.Equal(t, test.expectedErr, err, test.description+", but an error occurs")
|
||||
assert.Equal(t, test.expectedPowerState, powerState, test.description)
|
||||
|
Loading…
Reference in New Issue
Block a user