added --endpoint_name support
This commit is contained in:
parent
f513bdccc5
commit
13b7edfc42
@ -38,7 +38,8 @@ class HTTPClient(httplib2.Http):
|
||||
USER_AGENT = 'python-novaclient'
|
||||
|
||||
def __init__(self, user, apikey, projectid, auth_url, insecure=False,
|
||||
timeout=None, token=None, region_name=None):
|
||||
timeout=None, token=None, region_name=None,
|
||||
endpoint_name='publicURL'):
|
||||
super(HTTPClient, self).__init__(timeout=timeout)
|
||||
self.user = user
|
||||
self.apikey = apikey
|
||||
@ -46,6 +47,7 @@ class HTTPClient(httplib2.Http):
|
||||
self.auth_url = auth_url
|
||||
self.version = 'v1.0'
|
||||
self.region_name = region_name
|
||||
self.endpoint_name = endpoint_name
|
||||
|
||||
self.management_url = None
|
||||
self.auth_token = None
|
||||
@ -155,7 +157,8 @@ class HTTPClient(httplib2.Http):
|
||||
self.auth_token = self.service_catalog.get_token()
|
||||
self.management_url = self.service_catalog.url_for(
|
||||
attr='region',
|
||||
filter_value=self.region_name)
|
||||
filter_value=self.region_name,
|
||||
endpoint_type=self.endpoint_name)
|
||||
return None
|
||||
except KeyError:
|
||||
raise exceptions.AuthorizationFailure()
|
||||
|
@ -78,6 +78,10 @@ class OpenStackComputeShell(object):
|
||||
default=env('NOVA_REGION_NAME'),
|
||||
help='Defaults to env[NOVA_REGION_NAME].')
|
||||
|
||||
parser.add_argument('--endpoint_name',
|
||||
default=env('NOVA_ENDPOINT_NAME'),
|
||||
help='Defaults to env[NOVA_ENDPOINT_NAME] or "publicURL.')
|
||||
|
||||
parser.add_argument('--version',
|
||||
default=env('NOVA_VERSION'),
|
||||
help='Accepts 1.0 or 1.1, defaults to env[NOVA_VERSION].')
|
||||
@ -153,9 +157,12 @@ class OpenStackComputeShell(object):
|
||||
self.do_help(args)
|
||||
return 0
|
||||
|
||||
user, apikey, projectid, url, region_name, insecure = \
|
||||
user, apikey, projectid, url, region_name, endpoint_name, insecure = \
|
||||
args.username, args.apikey, args.projectid, args.url, \
|
||||
args.region_name, args.insecure
|
||||
args.region_name, args.endpoint_name, args.insecure
|
||||
|
||||
if not endpoint_name:
|
||||
endpoint_name = 'publicURL'
|
||||
|
||||
#FIXME(usrleon): Here should be restrict for project id same as
|
||||
# for username or apikey but for compatibility it is not.
|
||||
@ -180,7 +187,8 @@ class OpenStackComputeShell(object):
|
||||
"env[NOVA_URL")
|
||||
|
||||
self.cs = self.get_api_class(options.version)(user, apikey, projectid,
|
||||
url, insecure, region_name=region_name)
|
||||
url, insecure, region_name=region_name,
|
||||
endpoint_name=endpoint_name)
|
||||
|
||||
try:
|
||||
self.cs.authenticate()
|
||||
|
@ -26,7 +26,8 @@ class Client(object):
|
||||
"""
|
||||
|
||||
def __init__(self, username, api_key, project_id, auth_url=None,
|
||||
insecure=False, timeout=None, token=None, region_name=None):
|
||||
insecure=False, timeout=None, token=None, region_name=None,
|
||||
endpoint_name='publicURL'):
|
||||
|
||||
self.accounts = accounts.AccountManager(self)
|
||||
self.backup_schedules = backup_schedules.BackupScheduleManager(self)
|
||||
@ -45,7 +46,8 @@ class Client(object):
|
||||
insecure=insecure,
|
||||
timeout=timeout,
|
||||
token=token,
|
||||
region_name=region_name)
|
||||
region_name=region_name,
|
||||
endpoint_name=endpoint_name)
|
||||
|
||||
def authenticate(self):
|
||||
"""
|
||||
|
@ -28,9 +28,10 @@ class Client(object):
|
||||
|
||||
"""
|
||||
|
||||
# FIXME(jesse): project_id isn't required to autenticate
|
||||
# FIXME(jesse): project_id isn't required to authenticate
|
||||
def __init__(self, username, api_key, project_id, auth_url,
|
||||
insecure=False, timeout=None, token=None, region_name=None):
|
||||
insecure=False, timeout=None, token=None, region_name=None,
|
||||
endpoint_name='publicURL'):
|
||||
self.flavors = flavors.FlavorManager(self)
|
||||
self.floating_ips = floating_ips.FloatingIPManager(self)
|
||||
self.images = images.ImageManager(self)
|
||||
@ -52,7 +53,8 @@ class Client(object):
|
||||
insecure=insecure,
|
||||
timeout=timeout,
|
||||
token=token,
|
||||
region_name=region_name)
|
||||
region_name=region_name,
|
||||
endpoint_name=endpoint_name)
|
||||
|
||||
def authenticate(self):
|
||||
"""
|
||||
|
Loading…
x
Reference in New Issue
Block a user