From cb2731f493073e8c2eb523061bc45caeff7e04d1 Mon Sep 17 00:00:00 2001 From: ioito Date: Wed, 1 Mar 2023 18:16:00 +0800 Subject: [PATCH] fix(region): openstack compute api version --- go.mod | 2 +- go.sum | 4 ++-- pkg/compute/models/guest_actions.go | 3 +++ pkg/compute/options/options.go | 1 + vendor/modules.txt | 2 +- .../x/cloudmux/pkg/multicloud/openstack/openstack.go | 7 +++++-- 6 files changed, 13 insertions(+), 6 deletions(-) diff --git a/go.mod b/go.mod index c40cb80de2..45d61e4256 100644 --- a/go.mod +++ b/go.mod @@ -83,7 +83,7 @@ require ( k8s.io/client-go v0.19.3 k8s.io/cluster-bootstrap v0.19.3 moul.io/http2curl/v2 v2.3.0 - yunion.io/x/cloudmux v0.3.10-0-alpha.1.0.20230228114428-20e7bdb7be45 + yunion.io/x/cloudmux v0.3.10-0-alpha.1.0.20230301101220-ebd68c96818a yunion.io/x/executor v0.0.0-20211018100936-39a2cd966656 yunion.io/x/jsonutils v1.0.1-0.20220819091305-3bab322ab4fd yunion.io/x/log v1.0.0 diff --git a/go.sum b/go.sum index 6221657ed9..9fb53e6daf 100644 --- a/go.sum +++ b/go.sum @@ -1164,8 +1164,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.20230228114428-20e7bdb7be45 h1:O45uaLmag5nrQoO0sn8nkrLvG4yp+im/1QizinLnLM0= -yunion.io/x/cloudmux v0.3.10-0-alpha.1.0.20230228114428-20e7bdb7be45/go.mod h1:yEMFtIKPyIdIfPzsw7oTcH41JXc8G5StUAQw3ZoGj5I= +yunion.io/x/cloudmux v0.3.10-0-alpha.1.0.20230301101220-ebd68c96818a h1:gSfHCwI/E6VXEkofCj8Fw3J5Byc8Pf9Ubt6ijtNPONk= +yunion.io/x/cloudmux v0.3.10-0-alpha.1.0.20230301101220-ebd68c96818a/go.mod h1:yEMFtIKPyIdIfPzsw7oTcH41JXc8G5StUAQw3ZoGj5I= yunion.io/x/executor v0.0.0-20211018100936-39a2cd966656 h1:0zlZD5uhZoIHgLVAWCz2aHaYk2ZrNsACCYD7R6EIBII= yunion.io/x/executor v0.0.0-20211018100936-39a2cd966656/go.mod h1:Uxuou9WQIeJXNpy7t2fPLL0BYLvLiMvGQwY7Qc6aSws= yunion.io/x/jsonutils v0.0.0-20190625054549-a964e1e8a051/go.mod h1:4N0/RVzsYL3kH3WE/H1BjUQdFiWu50JGCFQuuy+Z634= diff --git a/pkg/compute/models/guest_actions.go b/pkg/compute/models/guest_actions.go index 778103fb7a..7b8f89ffb8 100644 --- a/pkg/compute/models/guest_actions.go +++ b/pkg/compute/models/guest_actions.go @@ -77,6 +77,9 @@ func (self *SGuest) GetDetailsVnc(ctx context.Context, userCred mcclient.TokenCr if err != nil { return nil, httperrors.NewInternalServerError(errors.Wrapf(err, "GetHost").Error()) } + if options.Options.ForceUseOriginVnc { + input.Origin = true + } ret, err = self.GetDriver().GetGuestVncInfo(ctx, userCred, self, host, input) if err != nil { return nil, err diff --git a/pkg/compute/options/options.go b/pkg/compute/options/options.go index 152497a2e2..c6c5c515a3 100644 --- a/pkg/compute/options/options.go +++ b/pkg/compute/options/options.go @@ -198,6 +198,7 @@ type ComputeOptions struct { KvmMonitorAgentUseMetadataService bool `help:"Monitor agent report metrics to metadata service on host" default:"true"` MonitorEndpointType string `help:"specify monitor endpoint type" default:"public"` + ForceUseOriginVnc bool `help:"force openstack use origin vnc console" default:"true"` esxi.EsxiOptions } diff --git a/vendor/modules.txt b/vendor/modules.txt index d03630fd5d..dc2665d0a9 100644 --- a/vendor/modules.txt +++ b/vendor/modules.txt @@ -1442,7 +1442,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.20230228114428-20e7bdb7be45 +# yunion.io/x/cloudmux v0.3.10-0-alpha.1.0.20230301101220-ebd68c96818a ## explicit; go 1.18 yunion.io/x/cloudmux/pkg/apis yunion.io/x/cloudmux/pkg/apis/billing diff --git a/vendor/yunion.io/x/cloudmux/pkg/multicloud/openstack/openstack.go b/vendor/yunion.io/x/cloudmux/pkg/multicloud/openstack/openstack.go index 65523e8c28..3a1c690b0a 100644 --- a/vendor/yunion.io/x/cloudmux/pkg/multicloud/openstack/openstack.go +++ b/vendor/yunion.io/x/cloudmux/pkg/multicloud/openstack/openstack.go @@ -27,7 +27,6 @@ import ( "yunion.io/x/pkg/errors" "yunion.io/x/pkg/util/httputils" "yunion.io/x/pkg/util/version" - "yunion.io/x/pkg/utils" api "yunion.io/x/cloudmux/pkg/apis/compute" "yunion.io/x/cloudmux/pkg/cloudprovider" @@ -251,7 +250,11 @@ func (cli *SOpenStackClient) jsonReuest(token oscli.TokenCredential, service, re header := http.Header{} header.Set("X-Auth-Token", token.GetTokenString()) apiVersion := "" - if !utils.IsInStringArray(service, []string{OPENSTACK_SERVICE_IMAGE, OPENSTACK_SERVICE_IDENTITY}) { + switch service { + case OPENSTACK_SERVICE_IMAGE, OPENSTACK_SERVICE_IDENTITY: + case OPENSTACK_SERVICE_COMPUTE: + apiVersion = "2.1" + default: apiVersion, err = cli.getApiVerion(token, serviceUrl, debug) if err != nil { log.Errorf("get service %s api version error: %v", service, err)