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-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-user-domain-id OS_USER_DOMAIN_ID] [--os-user-domain-name OS_USER_DOMAIN_NAME]
|
||||||
[--os-project-name OS_PROJECT_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-url OS_AUTH_URL] [--os-region-name OS_REGION_NAME]
|
||||||
[--os-auth-token OS_AUTH_TOKEN] [--os-no-client-auth]
|
[--os-auth-token OS_AUTH_TOKEN] [--os-no-client-auth]
|
||||||
[--monasca-api-url MONASCA_API_URL]
|
[--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 user_domain_name: name of domain for username (optional), if user_domain_id not specified
|
||||||
:param project_id: unique identifier of project
|
:param project_id: unique identifier of project
|
||||||
:param project_name: name of project
|
:param project_name: name of project
|
||||||
:param domain_name: name of domain project is in
|
:param project_domain_name: name of domain project is in
|
||||||
:param domain_id: id of domain project is in
|
:param project_domain_id: id of domain project is in
|
||||||
:param auth_url: endpoint to authenticate against
|
:param auth_url: endpoint to authenticate against
|
||||||
:param token: token to use instead of username/password
|
:param token: token to use instead of username/password
|
||||||
"""
|
"""
|
||||||
@ -49,10 +49,14 @@ class KSClient(object):
|
|||||||
kc_args['project_id'] = kwargs.get('project_id')
|
kc_args['project_id'] = kwargs.get('project_id')
|
||||||
elif kwargs.get('project_name'):
|
elif kwargs.get('project_name'):
|
||||||
kc_args['project_name'] = kwargs.get('project_name')
|
kc_args['project_name'] = kwargs.get('project_name')
|
||||||
if kwargs.get('domain_name'):
|
if kwargs.get('project_domain_name'):
|
||||||
kc_args['project_domain_name'] = kwargs.get('domain_name')
|
kc_args['project_domain_name'] = kwargs.get('project_domain_name')
|
||||||
if kwargs.get('domain_id'):
|
elif kwargs.get('domain_name'):
|
||||||
kc_args['project_domain_id'] = kwargs.get('domain_id')
|
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'):
|
if kwargs.get('token'):
|
||||||
kc_args['token'] = kwargs.get('token')
|
kc_args['token'] = kwargs.get('token')
|
||||||
|
@ -140,19 +140,13 @@ class MonascaShell(object):
|
|||||||
parser.add_argument('--os_project_name',
|
parser.add_argument('--os_project_name',
|
||||||
help=argparse.SUPPRESS)
|
help=argparse.SUPPRESS)
|
||||||
|
|
||||||
parser.add_argument('--os-domain-id',
|
parser.add_argument('--os-project-domain-id',
|
||||||
default=utils.env('OS_DOMAIN_ID'),
|
default=utils.env('OS_PROJECT_DOMAIN_ID'),
|
||||||
help='Defaults to env[OS_DOMAIN_ID].')
|
help='Defaults to env[OS_PROJECT_DOMAIN_ID].')
|
||||||
|
|
||||||
parser.add_argument('--os_domain_id',
|
parser.add_argument('--os-project-domain-name',
|
||||||
help=argparse.SUPPRESS)
|
default=utils.env('OS_PROJECT_DOMAIN_NAME'),
|
||||||
|
help='Defaults to env[OS_PROJECT_DOMAIN_NAME].')
|
||||||
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-auth-url',
|
parser.add_argument('--os-auth-url',
|
||||||
default=utils.env('OS_AUTH_URL'),
|
default=utils.env('OS_AUTH_URL'),
|
||||||
@ -211,6 +205,20 @@ class MonascaShell(object):
|
|||||||
parser.add_argument('--os_endpoint_type',
|
parser.add_argument('--os_endpoint_type',
|
||||||
help=argparse.SUPPRESS)
|
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
|
return parser
|
||||||
|
|
||||||
def get_subcommand_parser(self, version):
|
def get_subcommand_parser(self, version):
|
||||||
@ -334,8 +342,9 @@ class MonascaShell(object):
|
|||||||
'user_domain_name': args.os_user_domain_name,
|
'user_domain_name': args.os_user_domain_name,
|
||||||
'project_id': args.os_project_id,
|
'project_id': args.os_project_id,
|
||||||
'project_name': args.os_project_name,
|
'project_name': args.os_project_name,
|
||||||
'domain_id': args.os_domain_id,
|
# if project name is not scoped, fall back to previous behaviour (see above)
|
||||||
'domain_name': args.os_domain_name,
|
'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,
|
'insecure': args.insecure,
|
||||||
'region_name': args.os_region_name,
|
'region_name': args.os_region_name,
|
||||||
'keystone_timeout': args.keystone_timeout
|
'keystone_timeout': args.keystone_timeout
|
||||||
@ -357,9 +366,9 @@ class MonascaShell(object):
|
|||||||
"--os-project-id or via env[OS_PROJECT_ID], "
|
"--os-project-id or via env[OS_PROJECT_ID], "
|
||||||
"or you must provide a project name using "
|
"or you must provide a project name using "
|
||||||
"--os-project-name or via env[OS_PROJECT_NAME] "
|
"--os-project-name or via env[OS_PROJECT_NAME] "
|
||||||
"and a project domain using --os-domain-name, via "
|
"and a project domain using --os-project-domain-name, via "
|
||||||
"env[OS_DOMAIN_NAME], using --os-domain-id or "
|
"env[OS_PROJECT_DOMAIN_NAME], using --os-project-domain-id or "
|
||||||
"via env[OS_DOMAIN_ID]")
|
"via env[OS_PROJECT_DOMAIN_ID]")
|
||||||
|
|
||||||
kwargs = {
|
kwargs = {
|
||||||
'token': token,
|
'token': token,
|
||||||
@ -385,10 +394,14 @@ class MonascaShell(object):
|
|||||||
kwargs['project_name'] = args.os_project_name
|
kwargs['project_name'] = args.os_project_name
|
||||||
if args.os_project_id:
|
if args.os_project_id:
|
||||||
kwargs['project_id'] = 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:
|
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:
|
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:
|
if not endpoint:
|
||||||
endpoint = _ksclient.monasca_url
|
endpoint = _ksclient.monasca_url
|
||||||
|
Loading…
Reference in New Issue
Block a user