fix(region): openstack use proxy

This commit is contained in:
ioito
2021-12-14 14:32:08 +08:00
parent c2c013cc1e
commit 311243b9a3
+17 -17
View File
@@ -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 {