From 311243b9a37b1f8376c82bc64848f4c6765f74da Mon Sep 17 00:00:00 2001 From: ioito Date: Tue, 14 Dec 2021 14:29:20 +0800 Subject: [PATCH] fix(region): openstack use proxy --- pkg/multicloud/openstack/openstack.go | 34 +++++++++++++-------------- 1 file changed, 17 insertions(+), 17 deletions(-) diff --git a/pkg/multicloud/openstack/openstack.go b/pkg/multicloud/openstack/openstack.go index 367e55d79a..19cf996dbb 100644 --- a/pkg/multicloud/openstack/openstack.go +++ b/pkg/multicloud/openstack/openstack.go @@ -210,8 +210,8 @@ func (v *sApiVersions) GetMaxVersion() string { return maxVersion } -func getApiVerion(token mcclient.TokenCredential, url string, debug bool) (string, error) { - client := httputils.NewJsonClient(httputils.GetDefaultClient()) +func (cli *SOpenStackClient) getApiVerion(token mcclient.TokenCredential, url string, debug bool) (string, error) { + client := httputils.NewJsonClient(cli.getDefaultClient().HttpClient()) req := httputils.NewJsonRequest(httputils.THttpMethod("GET"), strings.TrimSuffix(url, token.GetTenantId()), nil) header := http.Header{} header.Set("X-Auth-Token", token.GetTokenString()) @@ -233,10 +233,10 @@ func (cli *SOpenStackClient) GetMaxVersion(region, service string) (string, erro } header := http.Header{} header.Set("X-Auth-Token", cli.tokenCredential.GetTokenString()) - return getApiVerion(cli.tokenCredential, serviceUrl, cli.debug) + return cli.getApiVerion(cli.tokenCredential, serviceUrl, cli.debug) } -func jsonReuest(token mcclient.TokenCredential, service, region, endpointType string, method httputils.THttpMethod, resource string, query url.Values, body interface{}, debug bool) (jsonutils.JSONObject, error) { +func (cli *SOpenStackClient) jsonReuest(token mcclient.TokenCredential, service, region, endpointType string, method httputils.THttpMethod, resource string, query url.Values, body interface{}, debug bool) (jsonutils.JSONObject, error) { serviceUrl, err := token.GetServiceURL(service, region, "", endpointType) if err != nil { return nil, errors.Wrapf(err, "GetServiceURL(%s, %s, %s)", service, region, endpointType) @@ -245,7 +245,7 @@ func jsonReuest(token mcclient.TokenCredential, service, region, endpointType st header.Set("X-Auth-Token", token.GetTokenString()) apiVersion := "" if !utils.IsInStringArray(service, []string{OPENSTACK_SERVICE_IMAGE, OPENSTACK_SERVICE_IDENTITY}) { - apiVersion, err = getApiVerion(token, serviceUrl, debug) + apiVersion, err = cli.getApiVerion(token, serviceUrl, debug) if err != nil { log.Errorf("get service %s api version error: %v", service, err) } @@ -282,11 +282,11 @@ func jsonReuest(token mcclient.TokenCredential, service, region, endpointType st requestUrl = fmt.Sprintf("%s?%s", requestUrl, query.Encode()) } - return _jsonRequest(method, requestUrl, header, body, debug) + return cli._jsonRequest(method, requestUrl, header, body, debug) } -func _jsonRequest(method httputils.THttpMethod, url string, header http.Header, params interface{}, debug bool) (jsonutils.JSONObject, error) { - client := httputils.NewJsonClient(httputils.GetDefaultClient()) +func (cli *SOpenStackClient) _jsonRequest(method httputils.THttpMethod, url string, header http.Header, params interface{}, debug bool) (jsonutils.JSONObject, error) { + client := httputils.NewJsonClient(cli.getDefaultClient().HttpClient()) req := httputils.NewJsonRequest(method, url, params) req.SetHeader(header) oe := &OpenstackError{} @@ -304,7 +304,7 @@ func (cli *SOpenStackClient) ecsRequest(region string, method httputils.THttpMet return nil, errors.Wrapf(err, "getProjectTokenCredential(%s)", projectId) } } - return jsonReuest(token, OPENSTACK_SERVICE_COMPUTE, region, cli.endpointType, method, resource, query, body, cli.debug) + return cli.jsonReuest(token, OPENSTACK_SERVICE_COMPUTE, region, cli.endpointType, method, resource, query, body, cli.debug) } func (cli *SOpenStackClient) ecsCreate(projectId, region, resource string, body interface{}) (jsonutils.JSONObject, error) { @@ -316,7 +316,7 @@ func (cli *SOpenStackClient) ecsCreate(projectId, region, resource string, body return nil, errors.Wrapf(err, "getProjectTokenCredential(%s)", projectId) } } - return jsonReuest(token, OPENSTACK_SERVICE_COMPUTE, region, cli.endpointType, httputils.POST, resource, nil, body, cli.debug) + return cli.jsonReuest(token, OPENSTACK_SERVICE_COMPUTE, region, cli.endpointType, httputils.POST, resource, nil, body, cli.debug) } func (cli *SOpenStackClient) ecsDo(projectId, region, resource string, body interface{}) (jsonutils.JSONObject, error) { @@ -328,26 +328,26 @@ func (cli *SOpenStackClient) ecsDo(projectId, region, resource string, body inte return nil, errors.Wrapf(err, "getProjectTokenCredential(%s)", projectId) } } - return jsonReuest(token, OPENSTACK_SERVICE_COMPUTE, region, cli.endpointType, httputils.POST, resource, nil, body, cli.debug) + return cli.jsonReuest(token, OPENSTACK_SERVICE_COMPUTE, region, cli.endpointType, httputils.POST, resource, nil, body, cli.debug) } func (cli *SOpenStackClient) iamRequest(region string, method httputils.THttpMethod, resource string, query url.Values, body interface{}) (jsonutils.JSONObject, error) { - return jsonReuest(cli.tokenCredential, OPENSTACK_SERVICE_IDENTITY, region, cli.endpointType, method, resource, query, body, cli.debug) + return cli.jsonReuest(cli.tokenCredential, OPENSTACK_SERVICE_IDENTITY, region, cli.endpointType, method, resource, query, body, cli.debug) } func (cli *SOpenStackClient) vpcRequest(region string, method httputils.THttpMethod, resource string, query url.Values, body interface{}) (jsonutils.JSONObject, error) { - return jsonReuest(cli.tokenCredential, OPENSTACK_SERVICE_NETWORK, region, cli.endpointType, method, resource, query, body, cli.debug) + return cli.jsonReuest(cli.tokenCredential, OPENSTACK_SERVICE_NETWORK, region, cli.endpointType, method, resource, query, body, cli.debug) } func (cli *SOpenStackClient) imageRequest(region string, method httputils.THttpMethod, resource string, query url.Values, body interface{}) (jsonutils.JSONObject, error) { - return jsonReuest(cli.tokenCredential, OPENSTACK_SERVICE_IMAGE, region, cli.endpointType, method, resource, query, body, cli.debug) + return cli.jsonReuest(cli.tokenCredential, OPENSTACK_SERVICE_IMAGE, region, cli.endpointType, method, resource, query, body, cli.debug) } func (cli *SOpenStackClient) bsRequest(region string, method httputils.THttpMethod, resource string, query url.Values, body interface{}) (jsonutils.JSONObject, error) { for _, service := range []string{OPENSTACK_SERVICE_VOLUMEV3, OPENSTACK_SERVICE_VOLUMEV2, OPENSTACK_SERVICE_VOLUME} { _, err := cli.tokenCredential.GetServiceURL(service, region, "", cli.endpointType) if err == nil { - return jsonReuest(cli.tokenCredential, service, region, cli.endpointType, method, resource, query, body, cli.debug) + return cli.jsonReuest(cli.tokenCredential, service, region, cli.endpointType, method, resource, query, body, cli.debug) } } return nil, errors.Wrap(ErrNoEndpoint, "cinder service") @@ -365,7 +365,7 @@ func (cli *SOpenStackClient) bsCreate(projectId, region, resource string, body i for _, service := range []string{OPENSTACK_SERVICE_VOLUMEV3, OPENSTACK_SERVICE_VOLUMEV2, OPENSTACK_SERVICE_VOLUME} { _, err := token.GetServiceURL(service, region, "", cli.endpointType) if err == nil { - return jsonReuest(token, service, region, cli.endpointType, httputils.POST, resource, nil, body, cli.debug) + return cli.jsonReuest(token, service, region, cli.endpointType, httputils.POST, resource, nil, body, cli.debug) } } return nil, errors.Wrap(ErrNoEndpoint, "cinder service") @@ -380,7 +380,7 @@ func (cli *SOpenStackClient) imageUpload(region, url string, size int64, body io } func (cli *SOpenStackClient) lbRequest(region string, method httputils.THttpMethod, resource string, query url.Values, body interface{}) (jsonutils.JSONObject, error) { - return jsonReuest(cli.tokenCredential, OPENSTACK_SERVICE_LOADBALANCER, region, cli.endpointType, method, resource, query, body, cli.debug) + return cli.jsonReuest(cli.tokenCredential, OPENSTACK_SERVICE_LOADBALANCER, region, cli.endpointType, method, resource, query, body, cli.debug) } func (cli *SOpenStackClient) fetchToken() error {