Merge "Use correct ENV variables for scoping"
This commit is contained in:
commit
27cebc673c
|
@ -102,7 +102,7 @@ You'll find complete documentation on the shell by running
|
|||
[--os-password OS_PASSWORD] [--os-project-id OS_PROJECT_ID]
|
||||
[--os-user-domain-id OS_USER_DOMAIN_ID] [--os-user-domain-name OS_USER_DOMAIN_NAME]
|
||||
[--os-project-name OS_PROJECT_NAME]
|
||||
[--os-domain-id OS_DOMAIN_ID] [--os-domain-name OS_DOMAIN_NAME]
|
||||
[--os-project-domain-id OS_PROJECT_DOMAIN_ID] [--os-project-domain-name OS_PROJECT_DOMAIN_NAME]
|
||||
[--os-auth-url OS_AUTH_URL] [--os-region-name OS_REGION_NAME]
|
||||
[--os-auth-token OS_AUTH_TOKEN] [--os-no-client-auth]
|
||||
[--monasca-api-url MONASCA_API_URL]
|
||||
|
|
|
@ -34,8 +34,8 @@ class KSClient(object):
|
|||
:param user_domain_name: name of domain for username (optional), if user_domain_id not specified
|
||||
:param project_id: unique identifier of project
|
||||
:param project_name: name of project
|
||||
:param domain_name: name of domain project is in
|
||||
:param domain_id: id of domain project is in
|
||||
:param project_domain_name: name of domain project is in
|
||||
:param project_domain_id: id of domain project is in
|
||||
:param auth_url: endpoint to authenticate against
|
||||
:param token: token to use instead of username/password
|
||||
"""
|
||||
|
@ -49,10 +49,14 @@ class KSClient(object):
|
|||
kc_args['project_id'] = kwargs.get('project_id')
|
||||
elif kwargs.get('project_name'):
|
||||
kc_args['project_name'] = kwargs.get('project_name')
|
||||
if kwargs.get('domain_name'):
|
||||
kc_args['project_domain_name'] = kwargs.get('domain_name')
|
||||
if kwargs.get('domain_id'):
|
||||
kc_args['project_domain_id'] = kwargs.get('domain_id')
|
||||
if kwargs.get('project_domain_name'):
|
||||
kc_args['project_domain_name'] = kwargs.get('project_domain_name')
|
||||
elif kwargs.get('domain_name'):
|
||||
kc_args['project_domain_name'] = kwargs.get('domain_name') # backwards compat to 1.0.30 API
|
||||
if kwargs.get('project_domain_id'):
|
||||
kc_args['project_domain_id'] = kwargs.get('project_domain_id')
|
||||
elif kwargs.get('domain_id'):
|
||||
kc_args['project_domain_id'] = kwargs.get('domain_id') # backwards compat to 1.0.30 API
|
||||
|
||||
if kwargs.get('token'):
|
||||
kc_args['token'] = kwargs.get('token')
|
||||
|
|
|
@ -140,19 +140,13 @@ class MonascaShell(object):
|
|||
parser.add_argument('--os_project_name',
|
||||
help=argparse.SUPPRESS)
|
||||
|
||||
parser.add_argument('--os-domain-id',
|
||||
default=utils.env('OS_DOMAIN_ID'),
|
||||
help='Defaults to env[OS_DOMAIN_ID].')
|
||||
parser.add_argument('--os-project-domain-id',
|
||||
default=utils.env('OS_PROJECT_DOMAIN_ID'),
|
||||
help='Defaults to env[OS_PROJECT_DOMAIN_ID].')
|
||||
|
||||
parser.add_argument('--os_domain_id',
|
||||
help=argparse.SUPPRESS)
|
||||
|
||||
parser.add_argument('--os-domain-name',
|
||||
default=utils.env('OS_DOMAIN_NAME'),
|
||||
help='Defaults to env[OS_DOMAIN_NAME].')
|
||||
|
||||
parser.add_argument('--os_domain_name',
|
||||
help=argparse.SUPPRESS)
|
||||
parser.add_argument('--os-project-domain-name',
|
||||
default=utils.env('OS_PROJECT_DOMAIN_NAME'),
|
||||
help='Defaults to env[OS_PROJECT_DOMAIN_NAME].')
|
||||
|
||||
parser.add_argument('--os-auth-url',
|
||||
default=utils.env('OS_AUTH_URL'),
|
||||
|
@ -211,6 +205,20 @@ class MonascaShell(object):
|
|||
parser.add_argument('--os_endpoint_type',
|
||||
help=argparse.SUPPRESS)
|
||||
|
||||
# In OpenStack, the parameters below are intended for domain-scoping, i.e. authorize
|
||||
# the user against a domain instead of a project. Previous versions of the agent used these
|
||||
# to qualify the project name, leading to confusion and preventing reuse of typical RC files.
|
||||
# Since domain scoping is not supported by Monasca, we can still support the old variable
|
||||
# names for the time being. If the project-name is not scoped using the correct project
|
||||
# domain name parameter, the code falls back to the domain scoping parameters.
|
||||
parser.add_argument('--os-domain-id',
|
||||
default=utils.env('OS_DOMAIN_ID'),
|
||||
help=argparse.SUPPRESS)
|
||||
|
||||
parser.add_argument('--os-domain-name',
|
||||
default=utils.env('OS_DOMAIN_NAME'),
|
||||
help=argparse.SUPPRESS)
|
||||
|
||||
return parser
|
||||
|
||||
def get_subcommand_parser(self, version):
|
||||
|
@ -334,8 +342,9 @@ class MonascaShell(object):
|
|||
'user_domain_name': args.os_user_domain_name,
|
||||
'project_id': args.os_project_id,
|
||||
'project_name': args.os_project_name,
|
||||
'domain_id': args.os_domain_id,
|
||||
'domain_name': args.os_domain_name,
|
||||
# if project name is not scoped, fall back to previous behaviour (see above)
|
||||
'project_domain_id': args.os_project_domain_id if args.os_project_domain_id else args.os_domain_id,
|
||||
'project_domain_name': args.os_project_domain_name if args.os_project_domain_name else args.os_domain_name,
|
||||
'insecure': args.insecure,
|
||||
'region_name': args.os_region_name,
|
||||
'keystone_timeout': args.keystone_timeout
|
||||
|
@ -357,9 +366,9 @@ class MonascaShell(object):
|
|||
"--os-project-id or via env[OS_PROJECT_ID], "
|
||||
"or you must provide a project name using "
|
||||
"--os-project-name or via env[OS_PROJECT_NAME] "
|
||||
"and a project domain using --os-domain-name, via "
|
||||
"env[OS_DOMAIN_NAME], using --os-domain-id or "
|
||||
"via env[OS_DOMAIN_ID]")
|
||||
"and a project domain using --os-project-domain-name, via "
|
||||
"env[OS_PROJECT_DOMAIN_NAME], using --os-project-domain-id or "
|
||||
"via env[OS_PROJECT_DOMAIN_ID]")
|
||||
|
||||
kwargs = {
|
||||
'token': token,
|
||||
|
@ -385,10 +394,14 @@ class MonascaShell(object):
|
|||
kwargs['project_name'] = args.os_project_name
|
||||
if args.os_project_id:
|
||||
kwargs['project_id'] = args.os_project_id
|
||||
# Monasca API uses domain_id/name for project_domain_id/name
|
||||
# We cannot change this and therefore still use the misleading parameter names
|
||||
if args.os_domain_name:
|
||||
kwargs['domain_name'] = args.os_domain_name
|
||||
kwargs['domain_name'] = args.os_project_domain_name if args.os_project_domain_name \
|
||||
else args.os_domain_name
|
||||
if args.os_domain_id:
|
||||
kwargs['domain_id'] = args.os_domain_id
|
||||
kwargs['domain_id'] = args.os_project_domain_id if args.os_project_domain_id \
|
||||
else args.os_domain_id
|
||||
|
||||
if not endpoint:
|
||||
endpoint = _ksclient.monasca_url
|
||||
|
|
Loading…
Reference in New Issue