Merge "Add --bypass-url option to trove client"

This commit is contained in:
Jenkins 2013-10-25 19:52:20 +00:00 committed by Gerrit Code Review
commit 00507ae54f
3 changed files with 21 additions and 6 deletions

View File

@ -63,7 +63,7 @@ class HTTPClient(object):
proxy_token=None, region_name=None,
endpoint_type='publicURL', service_type=None,
service_name=None, database_service_name=None, retries=None,
http_log_debug=False, cacert=None):
http_log_debug=False, cacert=None, bypass_url=None):
self.user = user
self.password = password
self.projectid = projectid
@ -83,6 +83,7 @@ class HTTPClient(object):
self.proxy_token = proxy_token
self.proxy_tenant_id = proxy_tenant_id
self.timeout = timeout
self.bypass_url = bypass_url
if insecure:
self.verify_cert = False
@ -325,6 +326,10 @@ class HTTPClient(object):
auth_url = auth_url + '/v2.0'
self._v2_auth(auth_url)
# Allows for setting an endpoint not defined in the catalog
if self.bypass_url is not None and self.bypass_url != '':
self.management_url = self.bypass_url
def _v1_auth(self, url):
if self.proxy_token:
raise exceptions.NoTokenLookupException()

View File

@ -161,6 +161,13 @@ class OpenStackTroveShell(object):
parser.add_argument('--service_name',
help=argparse.SUPPRESS)
parser.add_argument('--bypass-url',
metavar='<bypass-url>',
default=utils.env('TROVE_BYPASS_URL'),
help='Defaults to env[TROVE_BYPASS_URL]')
parser.add_argument('--bypass_url',
help=argparse.SUPPRESS)
parser.add_argument('--database-service-name',
metavar='<database-service-name>',
default=utils.env('TROVE_DATABASE_SERVICE_NAME'),
@ -370,7 +377,8 @@ class OpenStackTroveShell(object):
(os_username, os_password, os_tenant_name, os_auth_url,
os_region_name, os_tenant_id, endpoint_type, insecure,
service_type, service_name, database_service_name,
username, apikey, projectid, url, region_name, cacert) = (
username, apikey, projectid, url, region_name,
cacert, bypass_url) = (
args.os_username, args.os_password,
args.os_tenant_name, args.os_auth_url,
args.os_region_name, args.os_tenant_id,
@ -378,7 +386,7 @@ class OpenStackTroveShell(object):
args.service_type, args.service_name,
args.database_service_name, args.username,
args.apikey, args.projectid,
args.url, args.region_name, args.os_cacert)
args.url, args.region_name, args.os_cacert, args.bypass_url)
if not endpoint_type:
endpoint_type = DEFAULT_TROVE_ENDPOINT_TYPE
@ -447,7 +455,8 @@ class OpenStackTroveShell(object):
database_service_name=database_service_name,
retries=options.retries,
http_log_debug=args.debug,
cacert=cacert)
cacert=cacert,
bypass_url=bypass_url)
try:
if not utils.isunauthenticated(args.func):

View File

@ -58,7 +58,7 @@ class Client(object):
service_type='database', service_name=None,
database_service_name=None, retries=None,
http_log_debug=False,
cacert=None):
cacert=None, bypass_url=None):
# self.limits = limits.LimitsManager(self)
# extensions
@ -105,7 +105,8 @@ class Client(object):
database_service_name=database_service_name,
retries=retries,
http_log_debug=http_log_debug,
cacert=cacert)
cacert=cacert,
bypass_url=bypass_url)
def authenticate(self):
"""