From 80866ad5f5e7221a18d3016408bd42b222e00873 Mon Sep 17 00:00:00 2001 From: ioito Date: Mon, 10 Jul 2023 15:25:02 +0800 Subject: [PATCH] fix(region): default username --- pkg/compute/guestdrivers/aws.go | 5 ++--- pkg/compute/guestdrivers/azure.go | 2 +- pkg/compute/guestdrivers/base.go | 4 ++-- pkg/compute/guestdrivers/managedvirtual.go | 8 +++++++- pkg/compute/guestdrivers/qcloud.go | 8 ++++---- pkg/compute/models/guestdrivers.go | 2 +- 6 files changed, 17 insertions(+), 12 deletions(-) diff --git a/pkg/compute/guestdrivers/aws.go b/pkg/compute/guestdrivers/aws.go index dd877330ca..e2a74e1347 100644 --- a/pkg/compute/guestdrivers/aws.go +++ b/pkg/compute/guestdrivers/aws.go @@ -118,11 +118,10 @@ func (self *SAwsGuestDriver) GetInstanceCapability() cloudprovider.SInstanceCapa } } -func (self *SAwsGuestDriver) GetDefaultAccount(desc cloudprovider.SManagedVMCreateConfig) string { - if strings.ToLower(desc.OsType) == strings.ToLower(osprofile.OS_TYPE_WINDOWS) { +func (self *SAwsGuestDriver) GetDefaultAccount(osType, osDist, imageType string) string { + if strings.ToLower(osType) == strings.ToLower(osprofile.OS_TYPE_WINDOWS) { return api.VM_DEFAULT_WINDOWS_LOGIN_USER } - return api.VM_AWS_DEFAULT_LOGIN_USER } diff --git a/pkg/compute/guestdrivers/azure.go b/pkg/compute/guestdrivers/azure.go index 67add5eb1f..09ac4b184a 100644 --- a/pkg/compute/guestdrivers/azure.go +++ b/pkg/compute/guestdrivers/azure.go @@ -244,7 +244,7 @@ func (self *SAzureGuestDriver) GetInstanceCapability() cloudprovider.SInstanceCa } } -func (self *SAzureGuestDriver) GetDefaultAccount(desc cloudprovider.SManagedVMCreateConfig) string { +func (self *SAzureGuestDriver) GetDefaultAccount(osType, osDist, imageType string) string { return api.VM_AZURE_DEFAULT_LOGIN_USER } diff --git a/pkg/compute/guestdrivers/base.go b/pkg/compute/guestdrivers/base.go index 7f879a0bf5..e307a1028d 100644 --- a/pkg/compute/guestdrivers/base.go +++ b/pkg/compute/guestdrivers/base.go @@ -373,8 +373,8 @@ func (self *SBaseGuestDriver) GetUserDataType() string { return cloudprovider.CLOUD_CONFIG } -func (self *SBaseGuestDriver) GetDefaultAccount(desc cloudprovider.SManagedVMCreateConfig) string { - if strings.ToLower(desc.OsType) == strings.ToLower(osprofile.OS_TYPE_WINDOWS) { +func (self *SBaseGuestDriver) GetDefaultAccount(osType, osDist, imageType string) string { + if strings.ToLower(osType) == strings.ToLower(osprofile.OS_TYPE_WINDOWS) { return api.VM_DEFAULT_WINDOWS_LOGIN_USER } return api.VM_DEFAULT_LINUX_LOGIN_USER diff --git a/pkg/compute/guestdrivers/managedvirtual.go b/pkg/compute/guestdrivers/managedvirtual.go index d5824b66d4..de86be7726 100644 --- a/pkg/compute/guestdrivers/managedvirtual.go +++ b/pkg/compute/guestdrivers/managedvirtual.go @@ -464,7 +464,13 @@ func (self *SManagedVirtualizedGuestDriver) RequestDeployGuestOnHost(ctx context desc := cloudprovider.SManagedVMCreateConfig{} // 账号必须在desc.GetConfig()之前设置,避免默认用户不能正常注入 - desc.Account = guest.GetDriver().GetDefaultAccount(desc) + osInfo := struct { + OsType string + OsDistribution string + ImageType string + }{} + config.Unmarshal(&osInfo, "desc") + desc.Account = guest.GetDriver().GetDefaultAccount(osInfo.OsType, osInfo.OsDistribution, osInfo.ImageType) err = desc.GetConfig(config) if err != nil { return errors.Wrapf(err, "desc.GetConfig") diff --git a/pkg/compute/guestdrivers/qcloud.go b/pkg/compute/guestdrivers/qcloud.go index 6ab21553f3..50f044afcd 100644 --- a/pkg/compute/guestdrivers/qcloud.go +++ b/pkg/compute/guestdrivers/qcloud.go @@ -278,14 +278,14 @@ func (self *SQcloudGuestDriver) GetInstanceCapability() cloudprovider.SInstanceC } } -func (self *SQcloudGuestDriver) GetDefaultAccount(desc cloudprovider.SManagedVMCreateConfig) string { +func (self *SQcloudGuestDriver) GetDefaultAccount(osType, osDist, imageType string) string { userName := api.VM_DEFAULT_LINUX_LOGIN_USER - if desc.ImageType == "system" { - if desc.OsDistribution == "Ubuntu" { + if imageType == "system" { + if osDist == "Ubuntu" { userName = "ubuntu" } } - if strings.ToLower(desc.OsType) == strings.ToLower(osprofile.OS_TYPE_WINDOWS) { + if strings.ToLower(osType) == strings.ToLower(osprofile.OS_TYPE_WINDOWS) { userName = api.VM_DEFAULT_WINDOWS_LOGIN_USER } diff --git a/pkg/compute/models/guestdrivers.go b/pkg/compute/models/guestdrivers.go index e26f050428..7a37b906be 100644 --- a/pkg/compute/models/guestdrivers.go +++ b/pkg/compute/models/guestdrivers.go @@ -96,7 +96,7 @@ type IGuestDriver interface { RemoteDeployGuestForRebuildRoot(ctx context.Context, guest *SGuest, ihost cloudprovider.ICloudHost, task taskman.ITask, desc cloudprovider.SManagedVMCreateConfig) (jsonutils.JSONObject, error) GetGuestInitialStateAfterCreate() string GetGuestInitialStateAfterRebuild() string - GetDefaultAccount(desc cloudprovider.SManagedVMCreateConfig) string + GetDefaultAccount(osType, osDist, imageType string) string GetInstanceCapability() cloudprovider.SInstanceCapability OnGuestDeployTaskDataReceived(ctx context.Context, guest *SGuest, task taskman.ITask, data jsonutils.JSONObject) error