fix: 创建公有云虚拟机保留镜像原密码功能失效

This commit is contained in:
Zexi
2019-04-17 12:38:48 +08:00
parent 35ed8903bc
commit 9919e7cfed
2 changed files with 7 additions and 6 deletions
@@ -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) {
+7
View File
@@ -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)