From 6da78bca57b92a6aa05971fcb9fe22e12ab9bee2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=B1=88=E8=BD=A9?= Date: Wed, 2 Jul 2025 21:01:35 +0800 Subject: [PATCH] fix(region): vendor update (#22805) --- go.mod | 2 +- go.sum | 4 +- vendor/modules.txt | 2 +- .../x/cloudmux/pkg/cloudprovider/dnszone.go | 17 +++--- .../pkg/multicloud/aliyun/dns_domain.go | 57 +++---------------- .../multicloud/aliyun/provider/provider.go | 8 +-- .../pkg/multicloud/esxi/virtualmachine.go | 56 +++++++++++++----- .../pkg/multicloud/qcloud/dnspod_domain.go | 10 ++-- .../multicloud/qcloud/provider/provider.go | 8 +-- 9 files changed, 73 insertions(+), 91 deletions(-) diff --git a/go.mod b/go.mod index 6b0d16612c..947e33461a 100644 --- a/go.mod +++ b/go.mod @@ -95,7 +95,7 @@ require ( k8s.io/cri-api v0.22.17 k8s.io/klog/v2 v2.20.0 moul.io/http2curl/v2 v2.3.0 - yunion.io/x/cloudmux v0.3.10-0-alpha.1.0.20250627133610-41f2fa7d357f + yunion.io/x/cloudmux v0.3.10-0-alpha.1.0.20250702103535-3b73951ea9d1 yunion.io/x/executor v0.0.0-20250518005516-5402e9e0bed0 yunion.io/x/jsonutils v1.0.1-0.20250507052344-1abcf4f443b1 yunion.io/x/log v1.0.1-0.20240305175729-7cf2d6cd5a91 diff --git a/go.sum b/go.sum index 95749cd8b6..dbe4de039c 100644 --- a/go.sum +++ b/go.sum @@ -1406,8 +1406,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.20250627133610-41f2fa7d357f h1:q3q8Dgv8e3xyc7v0+G0xrdDmYVoKFtI3RhvlGs5ZPFU= -yunion.io/x/cloudmux v0.3.10-0-alpha.1.0.20250627133610-41f2fa7d357f/go.mod h1:FXxAEbdNfWXX9gjME3K2nJhkydHY5EKEUZb+RLEzVwQ= +yunion.io/x/cloudmux v0.3.10-0-alpha.1.0.20250702103535-3b73951ea9d1 h1:OkXSEynpcz9DmsT7LHbmn+oK7N4B5fOQGxG7S4GQCTI= +yunion.io/x/cloudmux v0.3.10-0-alpha.1.0.20250702103535-3b73951ea9d1/go.mod h1:FXxAEbdNfWXX9gjME3K2nJhkydHY5EKEUZb+RLEzVwQ= yunion.io/x/executor v0.0.0-20250518005516-5402e9e0bed0 h1:msG4SiDSVU7CrXH06WuHlNEZXIooTcmNbfrIGHuIHBU= yunion.io/x/executor v0.0.0-20250518005516-5402e9e0bed0/go.mod h1:Uxuou9WQIeJXNpy7t2fPLL0BYLvLiMvGQwY7Qc6aSws= yunion.io/x/jsonutils v0.0.0-20190625054549-a964e1e8a051/go.mod h1:4N0/RVzsYL3kH3WE/H1BjUQdFiWu50JGCFQuuy+Z634= diff --git a/vendor/modules.txt b/vendor/modules.txt index adba34510f..d05a6cccad 100644 --- a/vendor/modules.txt +++ b/vendor/modules.txt @@ -1849,7 +1849,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.20250627133610-41f2fa7d357f +# yunion.io/x/cloudmux v0.3.10-0-alpha.1.0.20250702103535-3b73951ea9d1 ## explicit; go 1.21 yunion.io/x/cloudmux/pkg/apis yunion.io/x/cloudmux/pkg/apis/billing diff --git a/vendor/yunion.io/x/cloudmux/pkg/cloudprovider/dnszone.go b/vendor/yunion.io/x/cloudmux/pkg/cloudprovider/dnszone.go index d9f36da151..9524394aa6 100644 --- a/vendor/yunion.io/x/cloudmux/pkg/cloudprovider/dnszone.go +++ b/vendor/yunion.io/x/cloudmux/pkg/cloudprovider/dnszone.go @@ -75,11 +75,14 @@ const ( ) const ( - DnsProductEnterpriseUltimate = TDnsProductType("DP_EnterpriseUltimate") - DnsProductEnterpriseStandard = TDnsProductType("DP_EnterpriseStandard") - DnsProductEnterpriseBasic = TDnsProductType("DP_EnterpriseBasic") - DnsProductPersonalProfessional = TDnsProductType("DP_PersonalProfessional") - DnsProductFree = TDnsProductType("DP_Free") + // 旗舰版 + DnsProductUltimate = TDnsProductType("Ultimate") + // 企业版 + DnsProductEnterprise = TDnsProductType("Enterprise") + // 专业版 + DnsProductProfessional = TDnsProductType("Professional") + // 免费版 + DnsProductFree = TDnsProductType("Free") ) var ( @@ -505,9 +508,7 @@ func (ttlR TTlRange) GetSuppportedTTL(ttl int64) int64 { return ttl } -var TtlRangeAliyunEnterpriseUltimate = TTlRange{RangeType: ContinuousTTlRange, TTLMinValue: 1, TTLMaxValue: 86400} -var TtlRangeAliyunEnterpriseStandard = TTlRange{RangeType: ContinuousTTlRange, TTLMinValue: 60, TTLMaxValue: 86400} -var TtlRangeAliyunPersonal = TTlRange{RangeType: ContinuousTTlRange, TTLMinValue: 600, TTLMaxValue: 86400} +var TtlRangeAliyunEnterprise = TTlRange{RangeType: ContinuousTTlRange, TTLMinValue: 1, TTLMaxValue: 86400} var TtlRangeAliyunFree = TTlRange{RangeType: ContinuousTTlRange, TTLMinValue: 600, TTLMaxValue: 86400} var TtlRangeAliyunPvtz = TTlRange{RangeType: DiscreteTTlRange, AllowedTTLs: []int64{5, 10, 15, 20, 30, 60, 120, 300, 600, 1800, 3600, 43200, 86400}} diff --git a/vendor/yunion.io/x/cloudmux/pkg/multicloud/aliyun/dns_domain.go b/vendor/yunion.io/x/cloudmux/pkg/multicloud/aliyun/dns_domain.go index ccdd131468..312e412d13 100644 --- a/vendor/yunion.io/x/cloudmux/pkg/multicloud/aliyun/dns_domain.go +++ b/vendor/yunion.io/x/cloudmux/pkg/multicloud/aliyun/dns_domain.go @@ -18,7 +18,6 @@ import ( "strconv" "yunion.io/x/jsonutils" - "yunion.io/x/log" "yunion.io/x/pkg/errors" api "yunion.io/x/cloudmux/pkg/apis/compute" @@ -333,60 +332,20 @@ func (self *SDomain) Delete() error { return self.client.DeleteDomain(self.DomainName) } -func TDnsProductType(productName string) cloudprovider.TDnsProductType { - switch productName { - case "企业旗舰版": - return cloudprovider.DnsProductEnterpriseUltimate - case "企业标准版": - return cloudprovider.DnsProductEnterpriseStandard - case "个人版": - return cloudprovider.DnsProductPersonalProfessional - default: - return cloudprovider.DnsProductFree - } -} - func (self *SDomain) GetDnsProductType() cloudprovider.TDnsProductType { - sproducts, err := self.client.GetAllDnsProductInstances() - if err != nil { - log.Errorf("self.client.GetAllDnsProductInstances():%s", err) + switch self.VersionCode { + case "version_enterprise_advanced": + return cloudprovider.DnsProductEnterprise + case "mianfei": return cloudprovider.DnsProductFree + default: + return cloudprovider.TDnsProductType(self.VersionCode) } - // https://help.aliyun.com/document_detail/29806.html?spm=a2c4g.11186623.4.1.67728197c8SCN9 - // 免费版,最低600 - self.ttlMinValue = 600 - for i := 0; i < len(sproducts); i++ { - if sproducts[i].Domain == self.DomainName { - return TDnsProductType(sproducts[i].VersionName) - } - } - return cloudprovider.DnsProductFree -} - -func (self *SDomain) fetchTTLMinValue() (int64, error) { - if self.ttlMinValue != 0 { - return self.ttlMinValue, nil - } - sproducts, err := self.client.GetAllDnsProductInstances() - if err != nil { - return 0, errors.Wrap(err, "self.client.GetAllDnsProductInstances()") - } - // https://help.aliyun.com/document_detail/29806.html?spm=a2c4g.11186623.4.1.67728197c8SCN9 - // 免费版,最低600 - self.ttlMinValue = 600 - for i := 0; i < len(sproducts); i++ { - if sproducts[i].Domain == self.DomainName { - self.ttlMinValue = sproducts[i].TTLMinValue - return self.ttlMinValue, nil - } - } - return self.ttlMinValue, nil } func (self *SDomain) GetProperlyTTL(ttl int64) int64 { - ttlMin, err := self.fetchTTLMinValue() - if err != nil { - log.Errorf("self.fetchTTLMinValue():%s", err) + ttlMin := int64(1) + if self.GetDnsProductType() == cloudprovider.DnsProductFree { ttlMin = 600 } if ttl <= ttlMin { diff --git a/vendor/yunion.io/x/cloudmux/pkg/multicloud/aliyun/provider/provider.go b/vendor/yunion.io/x/cloudmux/pkg/multicloud/aliyun/provider/provider.go index aada456b73..810af6974b 100644 --- a/vendor/yunion.io/x/cloudmux/pkg/multicloud/aliyun/provider/provider.go +++ b/vendor/yunion.io/x/cloudmux/pkg/multicloud/aliyun/provider/provider.go @@ -118,12 +118,8 @@ func (self *SAliyunProviderFactory) GetTTLRange(zoneType cloudprovider.TDnsZoneT if zoneType == cloudprovider.PublicZone { if len(productType) > 0 { switch productType { - case cloudprovider.DnsProductEnterpriseUltimate: - return cloudprovider.TtlRangeAliyunEnterpriseUltimate - case cloudprovider.DnsProductEnterpriseStandard: - return cloudprovider.TtlRangeAliyunEnterpriseStandard - case cloudprovider.DnsProductPersonalProfessional: - return cloudprovider.TtlRangeAliyunPersonal + case cloudprovider.DnsProductEnterprise: + return cloudprovider.TtlRangeAliyunEnterprise default: return cloudprovider.TtlRangeAliyunFree } diff --git a/vendor/yunion.io/x/cloudmux/pkg/multicloud/esxi/virtualmachine.go b/vendor/yunion.io/x/cloudmux/pkg/multicloud/esxi/virtualmachine.go index 2ea64b2a19..6f55dd617a 100644 --- a/vendor/yunion.io/x/cloudmux/pkg/multicloud/esxi/virtualmachine.go +++ b/vendor/yunion.io/x/cloudmux/pkg/multicloud/esxi/virtualmachine.go @@ -87,17 +87,6 @@ type VMFetcher interface { FetchFakeTempateVMs(string) ([]*SVirtualMachine, error) } -type byDiskType []SVirtualDisk - -func (d byDiskType) Len() int { return len(d) } -func (d byDiskType) Swap(i, j int) { d[i], d[j] = d[j], d[i] } -func (d byDiskType) Less(i, j int) bool { - if d[i].GetDiskType() == api.DISK_TYPE_SYS { - return true - } - return false -} - func NewVirtualMachine(manager *SESXiClient, vm *mo.VirtualMachine, dc *SDatacenter) *SVirtualMachine { svm := &SVirtualMachine{SManagedObject: newManagedObject(manager, vm, dc)} err := svm.fetchHardwareInfo() @@ -307,7 +296,7 @@ func (svm *SVirtualMachine) rebuildDisk(ctx context.Context, disk *SVirtualDisk, if err != nil { return err } - return svm.createDiskInternal(ctx, SDiskConfig{ + err = svm.createDiskInternal(ctx, SDiskConfig{ Uefi: uefi, SizeMb: int64(sizeMb), Uuid: uuid, @@ -317,6 +306,20 @@ func (svm *SVirtualMachine) rebuildDisk(ctx context.Context, disk *SVirtualDisk, ImagePath: imagePath, IsRoot: len(imagePath) > 0, }, false) + if err != nil { + return errors.Wrapf(err, "createDiskInternal") + } + for i := 1; i < len(svm.vdisks); i++ { + err = svm.doDetachDisk(ctx, &svm.vdisks[i], false) + if err != nil { + return errors.Wrapf(err, "doDetachDisk %d", i) + } + err = svm.doAttachDisk(ctx, &svm.vdisks[i]) + if err != nil { + return errors.Wrapf(err, "doAttachDisk: %d", i) + } + } + return nil } func (svm *SVirtualMachine) UpdateVM(ctx context.Context, input cloudprovider.SInstanceUpdateOptions) error { @@ -716,6 +719,28 @@ func (svm *SVirtualMachine) doDetachDisk(ctx context.Context, vdisk *SVirtualDis return vdisk.Delete(ctx) } +func (svm *SVirtualMachine) doAttachDisk(ctx context.Context, vdisk *SVirtualDisk) error { + addSpec := types.VirtualDeviceConfigSpec{} + addSpec.Operation = types.VirtualDeviceConfigSpecOperationAdd + addSpec.Device = vdisk.dev + + spec := types.VirtualMachineConfigSpec{} + spec.DeviceChange = []types.BaseVirtualDeviceConfigSpec{&addSpec} + + vm := svm.getVmObj() + + task, err := vm.Reconfigure(ctx, spec) + if err != nil { + return errors.Wrapf(err, "Reconfigure add disk %s", vdisk.GetName()) + } + + err = task.Wait(ctx) + if err != nil { + return errors.Wrapf(err, "wait remove add %s task", vdisk.GetName()) + } + return nil +} + func (svm *SVirtualMachine) GetVNCInfo(input *cloudprovider.ServerVncInput) (*cloudprovider.ServerVncOutput, error) { hostVer := svm.GetIHost().GetVersion() if version.GE(hostVer, "6.5") { @@ -909,7 +934,12 @@ func (svm *SVirtualMachine) fetchHardwareInfo() error { svm.devs[vdev.getKey()] = vdev } svm.rigorous() - sort.Sort(byDiskType(svm.vdisks)) + for i := range svm.vdisks { + if svm.vdisks[i].GetDiskType() == api.DISK_TYPE_SYS { + svm.vdisks[i], svm.vdisks[0] = svm.vdisks[0], svm.vdisks[i] + break + } + } return nil } diff --git a/vendor/yunion.io/x/cloudmux/pkg/multicloud/qcloud/dnspod_domain.go b/vendor/yunion.io/x/cloudmux/pkg/multicloud/qcloud/dnspod_domain.go index c2f173c0e8..fff4faf473 100644 --- a/vendor/yunion.io/x/cloudmux/pkg/multicloud/qcloud/dnspod_domain.go +++ b/vendor/yunion.io/x/cloudmux/pkg/multicloud/qcloud/dnspod_domain.go @@ -248,13 +248,11 @@ func (self *SDomian) AddDnsRecord(opts *cloudprovider.DnsRecord) (string, error) func (self *SDomian) GetDnsProductType() cloudprovider.TDnsProductType { switch self.GradeTitle { case "企业旗舰版": - return cloudprovider.DnsProductEnterpriseUltimate - case "企业标准版": - return cloudprovider.DnsProductEnterpriseStandard - case "企业基础版": - return cloudprovider.DnsProductEnterpriseBasic + return cloudprovider.DnsProductUltimate + case "企业标准版", "企业基础版": + return cloudprovider.DnsProductEnterprise case "个人专业版": - return cloudprovider.DnsProductPersonalProfessional + return cloudprovider.DnsProductProfessional case "免费版": return cloudprovider.DnsProductFree default: diff --git a/vendor/yunion.io/x/cloudmux/pkg/multicloud/qcloud/provider/provider.go b/vendor/yunion.io/x/cloudmux/pkg/multicloud/qcloud/provider/provider.go index 0fc89c9248..8bc3b407a8 100644 --- a/vendor/yunion.io/x/cloudmux/pkg/multicloud/qcloud/provider/provider.go +++ b/vendor/yunion.io/x/cloudmux/pkg/multicloud/qcloud/provider/provider.go @@ -138,13 +138,11 @@ func (self *SQcloudProviderFactory) GetSupportedDnsPolicyValues() map[cloudprovi func (self *SQcloudProviderFactory) GetTTLRange(zoneType cloudprovider.TDnsZoneType, productType cloudprovider.TDnsProductType) cloudprovider.TTlRange { if len(productType) > 0 { switch productType { - case cloudprovider.DnsProductEnterpriseUltimate: + case cloudprovider.DnsProductUltimate: return cloudprovider.TtlRangeQcloudEnterpriseUltimate - case cloudprovider.DnsProductEnterpriseStandard: + case cloudprovider.DnsProductEnterprise: return cloudprovider.TtlRangeQcloudEnterpriseStandard - case cloudprovider.DnsProductEnterpriseBasic: - return cloudprovider.TtlRangeQcloudEnterpriseBasic - case cloudprovider.DnsProductPersonalProfessional: + case cloudprovider.DnsProductProfessional: return cloudprovider.TtlRangeQcloudPersonalProfessional case cloudprovider.DnsProductFree: return cloudprovider.TtlRangeQcloudFree