diff --git a/pkg/cloudprovider/resources.go b/pkg/cloudprovider/resources.go index 4dbb9ffab3..a88ca76cd9 100644 --- a/pkg/cloudprovider/resources.go +++ b/pkg/cloudprovider/resources.go @@ -301,6 +301,8 @@ type ICloudHost interface { GetCpuDesc() string GetCpuMhz() int GetCpuCmtbound() float32 + GetCpuArchitecture() string + GetMemSizeMB() int GetMemCmtbound() float32 GetReservedMemoryMb() int diff --git a/pkg/compute/models/hosts.go b/pkg/compute/models/hosts.go index 073b71b3b7..ce4e7f5675 100644 --- a/pkg/compute/models/hosts.go +++ b/pkg/compute/models/hosts.go @@ -1867,6 +1867,10 @@ func (self *SHost) syncWithCloudHost(ctx context.Context, userCred mcclient.Toke self.MemCmtbound = memCmt } + if arch := extHost.GetCpuArchitecture(); len(arch) > 0 { + self.CpuArchitecture = arch + } + if reservedMem := extHost.GetReservedMemoryMb(); reservedMem > 0 { self.MemReserved = reservedMem } @@ -2107,6 +2111,9 @@ func (manager *SHostManager) NewFromCloudHost(ctx context.Context, userCred mccl if memCmt := extHost.GetMemCmtbound(); memCmt > 0 { host.MemCmtbound = memCmt } + if arch := extHost.GetCpuArchitecture(); len(arch) > 0 { + host.CpuArchitecture = arch + } if reservedMem := extHost.GetReservedMemoryMb(); reservedMem > 0 { host.MemReserved = reservedMem diff --git a/pkg/multicloud/host_base.go b/pkg/multicloud/host_base.go index b0594f2a61..58445f518d 100644 --- a/pkg/multicloud/host_base.go +++ b/pkg/multicloud/host_base.go @@ -19,22 +19,26 @@ type SHostBase struct { STagBase } -func (self *SHostBase) GetCpuCmtbound() float32 { +func (host *SHostBase) GetCpuCmtbound() float32 { return 0.0 } -func (self *SHostBase) GetMemCmtbound() float32 { +func (host *SHostBase) GetMemCmtbound() float32 { return 0.0 } -func (self *SHostBase) GetReservedMemoryMb() int { +func (host *SHostBase) GetReservedMemoryMb() int { return 0 } -func (self *SHostBase) GetSchedtags() ([]string, error) { +func (host *SHostBase) GetSchedtags() ([]string, error) { return nil, nil } -func (self *SHostBase) GetOvnVersion() string { +func (host *SHostBase) GetOvnVersion() string { + return "" +} + +func (host *SHostBase) GetCpuArchitecture() string { return "" }