diff --git a/pkg/cloudcommon/agent/agent.go b/pkg/cloudcommon/agent/agent.go index 19047305c1..aac8b3f4ca 100644 --- a/pkg/cloudcommon/agent/agent.go +++ b/pkg/cloudcommon/agent/agent.go @@ -24,6 +24,7 @@ import ( "yunion.io/x/pkg/errors" "yunion.io/x/pkg/util/version" + api "yunion.io/x/onecloud/pkg/apis/compute" "yunion.io/x/onecloud/pkg/cloudcommon/agent/iagent" "yunion.io/x/onecloud/pkg/cloudcommon/object" "yunion.io/x/onecloud/pkg/hostman/storageman" @@ -234,7 +235,9 @@ func (agent *SBaseAgent) createOrUpdateBaremetalAgent(session *mcclient.ClientSe if err != nil { return err } - params.Add(jsonutils.NewString(naccessIP.String()), "access_ip") + if agent.IAgent().GetAgentType() != string(api.AgentTypeEsxi) { + params.Add(jsonutils.NewString(naccessIP.String()), "access_ip") + } params.Add(jsonutils.NewString(agent.IAgent().GetAgentType()), "agent_type") ret, err := modules.Baremetalagents.List(session, params) if err != nil { diff --git a/pkg/esxi/service/esxi_agent_service.go b/pkg/esxi/service/esxi_agent_service.go index 46d9dc125b..13f77f4614 100644 --- a/pkg/esxi/service/esxi_agent_service.go +++ b/pkg/esxi/service/esxi_agent_service.go @@ -44,7 +44,7 @@ func (s *SExsiAgentService) StartService() { options_common.ParseOptions(&options.Options, os.Args, "esxiagent.conf", "esxiagent") if len(options.Options.ImageCachePath) == 0 { - options.Options.ImageCachePath = filepath.Join(filepath.Dir(options.Options.EsxiAgentPath), "image_cache") + options.Options.ImageCachePath = filepath.Join(options.Options.EsxiAgentPath, "image_cache") log.Infof("No cachepath, use default %s", options.Options.ImageCachePath) err := os.MkdirAll(options.Options.ImageCachePath, 0760) if err != nil { @@ -52,7 +52,7 @@ func (s *SExsiAgentService) StartService() { } } if len(options.Options.AgentTempPath) == 0 { - options.Options.AgentTempPath = filepath.Join(filepath.Dir(options.Options.EsxiAgentPath), "agent_tmp") + options.Options.AgentTempPath = filepath.Join(options.Options.EsxiAgentPath, "agent_tmp") log.Infof("No agent temp path, use default %s", options.Options.AgentTempPath) err := os.MkdirAll(options.Options.AgentTempPath, 0760) if err != nil { diff --git a/pkg/multicloud/esxi/storage.go b/pkg/multicloud/esxi/storage.go index bdc691a331..310110d7af 100644 --- a/pkg/multicloud/esxi/storage.go +++ b/pkg/multicloud/esxi/storage.go @@ -766,7 +766,7 @@ func (self *SDatastore) domainName(name string) string { // ImportVMDK will upload local vmdk 'diskFile' to the 'remotePath' of remote datastore func (self *SDatastore) ImportVMDK(ctx context.Context, diskFile, remotePath string, host *SHost) error { - name := fmt.Sprintf("yunioncloud.%s%d", self.domainName(remotePath), rand.Int()) + name := fmt.Sprintf("yunioncloud.%s%d", self.domainName(remotePath)[:20], rand.Int()) vm, err := self.ImportVM(ctx, diskFile, name, host) if err != nil { return errors.Wrap(err, "SDatastore.ImportVM")