From 46d5c65b6a79ecb78f3bbeb232b169596daee981 Mon Sep 17 00:00:00 2001 From: Qu Xuan Date: Wed, 20 Nov 2024 13:55:06 +0800 Subject: [PATCH] fix(azure): azure nic delete --- pkg/multicloud/azure/host.go | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/pkg/multicloud/azure/host.go b/pkg/multicloud/azure/host.go index 59df7c49c..b5497152d 100644 --- a/pkg/multicloud/azure/host.go +++ b/pkg/multicloud/azure/host.go @@ -72,7 +72,14 @@ func (self *SHost) CreateVM(desc *cloudprovider.SManagedVMCreateConfig) (cloudpr instance, err := self.zone.region._createVM(desc, nic.ID) if err != nil { - self.zone.region.DeleteNetworkInterface(nic.ID) + cloudprovider.Wait(time.Minute*2, time.Minute*6, func() (bool, error) { + e := self.zone.region.DeleteNetworkInterface(nic.ID) + if e == nil { + return true, nil + } + log.Errorf("delete nic %s error: %v", nic.ID, err) + return false, nil + }) return nil, err } instance.host = self @@ -122,7 +129,8 @@ func (self *SRegion) _createVM(desc *cloudprovider.SManagedVMCreateConfig, nicId "NetworkProfile": map[string]interface{}{ "NetworkInterfaces": []map[string]string{ map[string]string{ - "Id": nicId, + "Id": nicId, + "deleteOption": "Delete", }, }, },