mirror of
https://github.com/yunionio/cloudpods.git
synced 2026-09-24 16:03:43 +08:00
fix(esxi-agent): create vmware vm with suitable version (#19725)
This commit is contained in:
@@ -66,6 +66,7 @@ require (
|
||||
github.com/vishvananda/netns v0.0.0-20211101163701-50045581ed74
|
||||
github.com/vmihailenco/msgpack v4.0.4+incompatible
|
||||
github.com/xuri/excelize/v2 v2.7.1
|
||||
github.com/zexi/golosetup v0.0.1
|
||||
github.com/zexi/influxql-to-metricsql v0.0.6
|
||||
go.etcd.io/etcd/api/v3 v3.5.0
|
||||
go.etcd.io/etcd/client/v3 v3.5.0
|
||||
@@ -89,7 +90,7 @@ require (
|
||||
k8s.io/cluster-bootstrap v0.19.3
|
||||
k8s.io/cri-api v0.22.17
|
||||
moul.io/http2curl/v2 v2.3.0
|
||||
yunion.io/x/cloudmux v0.3.10-0-alpha.1.0.20240308095621-979378c55149
|
||||
yunion.io/x/cloudmux v0.3.10-0-alpha.1.0.20240314033843-5935078cc5c5
|
||||
yunion.io/x/executor v0.0.0-20230705125604-c5ac3141db32
|
||||
yunion.io/x/jsonutils v1.0.1-0.20240203102553-4096f103b401
|
||||
yunion.io/x/log v1.0.1-0.20240305175729-7cf2d6cd5a91
|
||||
@@ -249,7 +250,6 @@ require (
|
||||
github.com/xuri/efp v0.0.0-20220603152613-6918739fd470 // indirect
|
||||
github.com/xuri/nfp v0.0.0-20220409054826-5e722a1d9e22 // indirect
|
||||
github.com/yusufpapurcu/wmi v1.2.2 // indirect
|
||||
github.com/zexi/golosetup v0.0.1 // indirect
|
||||
go.etcd.io/etcd/client/pkg/v3 v3.5.0 // indirect
|
||||
go.opencensus.io v0.22.4 // indirect
|
||||
go.uber.org/atomic v1.7.0 // indirect
|
||||
|
||||
@@ -753,8 +753,6 @@ github.com/yuin/goldmark v1.3.5/go.mod h1:mwnBkeHKe2W/ZEtQ+71ViKU8L12m81fl3OWwC1
|
||||
github.com/yuin/goldmark v1.4.13/go.mod h1:6yULJ656Px+3vBD8DxQVa3kxgyrAnzto9xy5taEt/CY=
|
||||
github.com/yusufpapurcu/wmi v1.2.2 h1:KBNDSne4vP5mbSWnJbO+51IMOXJB67QiYCSBrubbPRg=
|
||||
github.com/yusufpapurcu/wmi v1.2.2/go.mod h1:SBZ9tNy3G9/m5Oi98Zks0QjeHVDvuK0qfxQmPyzfmi0=
|
||||
github.com/zexi/golosetup v0.0.0-20181117053200-8c308e8bbf44 h1:t8QkjgKJTQyJT7/MJJgAdRGt316wkQ0Ar3poFd1E0X0=
|
||||
github.com/zexi/golosetup v0.0.0-20181117053200-8c308e8bbf44/go.mod h1:uswjAAGley+FRw3bgWor83twfO8Ru6owCpic+Xnh2Xo=
|
||||
github.com/zexi/golosetup v0.0.1 h1:y7RRI/2xqzR2ByO3a2QTARUp5ivbC5R6zFXEx2WrInA=
|
||||
github.com/zexi/golosetup v0.0.1/go.mod h1:U4bxWs+J/Kq1/pyRHBCOk2FzqO+AYA4GTzrwgeDmWvY=
|
||||
github.com/zexi/influxql-to-metricsql v0.0.6 h1:E16T4oqgjIJtSNVvhGGHnw+pmY3yGz2iRsmmmSVuOpY=
|
||||
@@ -1214,8 +1212,8 @@ sigs.k8s.io/structured-merge-diff/v4 v4.0.1/go.mod h1:bJZC9H9iH24zzfZ/41RGcq60oK
|
||||
sigs.k8s.io/yaml v1.1.0/go.mod h1:UJmg0vDUVViEyp3mgSv9WPwZCDxu4rQW1olrI1uml+o=
|
||||
sigs.k8s.io/yaml v1.2.0 h1:kr/MCeFWJWTwyaHoR9c8EjH9OumOmoF9YGiZd7lFm/Q=
|
||||
sigs.k8s.io/yaml v1.2.0/go.mod h1:yfXDCHCao9+ENCvLSE62v9VSji2MKu5jeNfTrofGhJc=
|
||||
yunion.io/x/cloudmux v0.3.10-0-alpha.1.0.20240308095621-979378c55149 h1:Dl+rEbNcuy76Lou3/C2U5bDKSsVB9GyFQJXkIh8ORzo=
|
||||
yunion.io/x/cloudmux v0.3.10-0-alpha.1.0.20240308095621-979378c55149/go.mod h1:dsUESXIbXJ+/ywbNClhldOrbPOiBi2udrgOnB/ffoWk=
|
||||
yunion.io/x/cloudmux v0.3.10-0-alpha.1.0.20240314033843-5935078cc5c5 h1:MFldLYXlTgTx5cdQ2k1Id4Uj2lP3h1lkay0tVdbR17A=
|
||||
yunion.io/x/cloudmux v0.3.10-0-alpha.1.0.20240314033843-5935078cc5c5/go.mod h1:dsUESXIbXJ+/ywbNClhldOrbPOiBi2udrgOnB/ffoWk=
|
||||
yunion.io/x/executor v0.0.0-20230705125604-c5ac3141db32 h1:v7POYkQwo1XzOxBoIoRVr/k0V9Y5JyjpshlIFa9raug=
|
||||
yunion.io/x/executor v0.0.0-20230705125604-c5ac3141db32/go.mod h1:Uxuou9WQIeJXNpy7t2fPLL0BYLvLiMvGQwY7Qc6aSws=
|
||||
yunion.io/x/jsonutils v0.0.0-20190625054549-a964e1e8a051/go.mod h1:4N0/RVzsYL3kH3WE/H1BjUQdFiWu50JGCFQuuy+Z634=
|
||||
|
||||
Vendored
+1
-1
@@ -1480,7 +1480,7 @@ sigs.k8s.io/structured-merge-diff/v4/value
|
||||
# sigs.k8s.io/yaml v1.2.0
|
||||
## explicit; go 1.12
|
||||
sigs.k8s.io/yaml
|
||||
# yunion.io/x/cloudmux v0.3.10-0-alpha.1.0.20240308095621-979378c55149
|
||||
# yunion.io/x/cloudmux v0.3.10-0-alpha.1.0.20240314033843-5935078cc5c5
|
||||
## explicit; go 1.18
|
||||
yunion.io/x/cloudmux/pkg/apis
|
||||
yunion.io/x/cloudmux/pkg/apis/billing
|
||||
|
||||
+37
-4
@@ -1052,10 +1052,7 @@ func (host *SHost) DoCreateVM(ctx context.Context, ds *SDatastore, params SCreat
|
||||
guestId = "windows7Server64Guest"
|
||||
}
|
||||
|
||||
version := "vmx-10"
|
||||
if host.isVersion50() {
|
||||
version = "vmx-08"
|
||||
}
|
||||
version := host.getVmVersion()
|
||||
|
||||
if params.CpuSockets == 0 {
|
||||
params.CpuSockets = 1
|
||||
@@ -1433,6 +1430,19 @@ func (host *SHost) CloneVM(ctx context.Context, from *SVirtualMachine, snapshot
|
||||
return vm, nil
|
||||
}
|
||||
}
|
||||
|
||||
task, err = vm.getVmObj().UpgradeVM(ctx, host.getVmVersion())
|
||||
if err != nil {
|
||||
log.Errorf("upgrade vm %s error: %v", vm.GetName(), err)
|
||||
return vm, nil
|
||||
}
|
||||
|
||||
err = task.Wait(ctx)
|
||||
if err != nil {
|
||||
log.Errorf("wait vm %s upgrade error: %v", vm.GetName(), err)
|
||||
return vm, nil
|
||||
}
|
||||
|
||||
return vm, nil
|
||||
}
|
||||
|
||||
@@ -1457,6 +1467,29 @@ func (host *SHost) isVersion50() bool {
|
||||
return false
|
||||
}
|
||||
|
||||
func (host *SHost) getVmVersion() string {
|
||||
ver := func() string {
|
||||
version := host.GetVersion()
|
||||
if len(version) >= 3 {
|
||||
return version[:3]
|
||||
}
|
||||
return version
|
||||
}()
|
||||
version, ok := map[string]string{
|
||||
"5.0": "vmx-08",
|
||||
"5.1": "vmx-09",
|
||||
"5.5": "vmx-10",
|
||||
"6.0": "vmx-11",
|
||||
"6.5": "vmx-13",
|
||||
"6.7": "vmx-14",
|
||||
"7.0": "vmx-17",
|
||||
}[ver]
|
||||
if ok {
|
||||
return version
|
||||
}
|
||||
return "vmx-10"
|
||||
}
|
||||
|
||||
func (host *SHost) GetIHostNics() ([]cloudprovider.ICloudHostNetInterface, error) {
|
||||
nics, err := host.GetIHostNicsInternal(false)
|
||||
if err != nil {
|
||||
|
||||
Reference in New Issue
Block a user