diff --git a/pkg/compute/guestdrivers/managedvirtual.go b/pkg/compute/guestdrivers/managedvirtual.go index 443f1d207f..be0f82750b 100644 --- a/pkg/compute/guestdrivers/managedvirtual.go +++ b/pkg/compute/guestdrivers/managedvirtual.go @@ -34,7 +34,6 @@ import ( "yunion.io/x/onecloud/pkg/httperrors" "yunion.io/x/onecloud/pkg/mcclient" "yunion.io/x/onecloud/pkg/util/billing" - "yunion.io/x/onecloud/pkg/util/seclib2" ) type SManagedVirtualizedGuestDriver struct { @@ -226,11 +225,6 @@ func (self *SManagedVirtualizedGuestDriver) GetLinuxDefaultAccount(desc cloudpro } func (self *SManagedVirtualizedGuestDriver) RemoteDeployGuestForCreate(ctx context.Context, userCred mcclient.TokenCredential, guest *models.SGuest, host *models.SHost, desc cloudprovider.SManagedVMCreateConfig) (jsonutils.JSONObject, error) { - if len(desc.Password) == 0 { - //Azure创建必须要设置密码 - desc.Password = seclib2.RandomPassword2(12) - } - ihost, _ := host.GetIHost() iVM, err := func() (cloudprovider.ICloudVM, error) { diff --git a/pkg/util/azure/host.go b/pkg/util/azure/host.go index a2dbfd7c83..77167bdaf8 100644 --- a/pkg/util/azure/host.go +++ b/pkg/util/azure/host.go @@ -24,6 +24,7 @@ import ( api "yunion.io/x/onecloud/pkg/apis/compute" "yunion.io/x/onecloud/pkg/cloudprovider" "yunion.io/x/onecloud/pkg/util/ansible" + "yunion.io/x/onecloud/pkg/util/seclib2" ) type SHost struct { @@ -96,6 +97,12 @@ func (self *SHost) CreateVM(desc *cloudprovider.SManagedVMCreateConfig) (cloudpr return nil, err } } + + if len(desc.Password) == 0 { + //Azure创建必须要设置密码 + desc.Password = seclib2.RandomPassword2(12) + } + vmId, err := self._createVM(desc.Name, desc.ExternalImageId, desc.SysDisk, desc.Cpu, desc.MemoryMB, desc.InstanceType, nic.ID, desc.IpAddr, desc.Description, desc.Password, desc.DataDisks, desc.PublicKey, desc.UserData) if err != nil { self.zone.region.DeleteNetworkInterface(nic.ID)