Blueprint cli-auth: common cli args

Remove os_ from internal variable names corresponding to OS_ env
variables.

Strip trailing '/' from --auth_url since server doesn't seem to
tolerate '//' in the URL path.

Fixes lp923920

Change-Id: I3e48441d63b6504fd088aa07241f66d63590d935
This commit is contained in:
Dean Troyer
2012-01-30 14:13:57 -06:00
parent f13b06c028
commit 173ea0ce0e
2 changed files with 28 additions and 28 deletions

View File

@@ -46,7 +46,7 @@ class HTTPClient(httplib2.Http):
self.tenant_id = tenant_id self.tenant_id = tenant_id
self.tenant_name = tenant_name self.tenant_name = tenant_name
self.password = password self.password = password
self.auth_url = auth_url self.auth_url = auth_url.rstrip('/') if auth_url else None
self.version = 'v2.0' self.version = 'v2.0'
self.region_name = region_name self.region_name = region_name
self.auth_token = token self.auth_token = token

View File

@@ -56,31 +56,31 @@ class OpenStackIdentityShell(object):
action='store_true', action='store_true',
help=argparse.SUPPRESS) help=argparse.SUPPRESS)
parser.add_argument('--os-username', parser.add_argument('--username',
default=env('OS_USERNAME'), default=env('OS_USERNAME'),
help='Defaults to env[OS_USERNAME].') help='Defaults to env[OS_USERNAME].')
parser.add_argument('--os-password', parser.add_argument('--password',
default=env('OS_PASSWORD'), default=env('OS_PASSWORD'),
help='Defaults to env[OS_PASSWORD].') help='Defaults to env[OS_PASSWORD].')
parser.add_argument('--os-tenant_name', parser.add_argument('--tenant_name',
default=env('OS_TENANT_NAME'), default=env('OS_TENANT_NAME'),
help='Defaults to env[OS_TENANT_NAME].') help='Defaults to env[OS_TENANT_NAME].')
parser.add_argument('--os-tenant_id', parser.add_argument('--tenant_id',
default=env('OS_TENANT_ID'), default=env('OS_TENANT_ID'),
help='Defaults to env[OS_TENANT_ID].') help='Defaults to env[OS_TENANT_ID].')
parser.add_argument('--os-auth-url', parser.add_argument('--auth-url',
default=env('OS_AUTH_URL'), default=env('OS_AUTH_URL'),
help='Defaults to env[OS_AUTH_URL].') help='Defaults to env[OS_AUTH_URL].')
parser.add_argument('--os-region_name', parser.add_argument('--region_name',
default=env('KEYSTONE_REGION_NAME'), default=env('OS_REGION_NAME'),
help='Defaults to env[KEYSTONE_REGION_NAME].') help='Defaults to env[OS_REGION_NAME].')
parser.add_argument('--os-version', parser.add_argument('--version',
default=env('KEYSTONE_VERSION'), default=env('KEYSTONE_VERSION'),
help='Accepts 1.0 or 1.1, defaults to env[KEYSTONE_VERSION].') help='Accepts 1.0 or 1.1, defaults to env[KEYSTONE_VERSION].')
@@ -135,7 +135,7 @@ class OpenStackIdentityShell(object):
(options, args) = parser.parse_known_args(argv) (options, args) = parser.parse_known_args(argv)
# build available subcommands based on version # build available subcommands based on version
subcommand_parser = self.get_subcommand_parser(options.os_version) subcommand_parser = self.get_subcommand_parser(options.version)
self.parser = subcommand_parser self.parser = subcommand_parser
# Parse args again and call whatever callback was selected # Parse args again and call whatever callback was selected
@@ -154,28 +154,28 @@ class OpenStackIdentityShell(object):
# for username or apikey but for compatibility it is not. # for username or apikey but for compatibility it is not.
if not utils.isunauthenticated(args.func): if not utils.isunauthenticated(args.func):
if not args.os_username: if not args.username:
raise exc.CommandError("You must provide a username:" raise exc.CommandError("You must provide a username "
"via --username or env[OS_USERNAME]") "via either --username or env[OS_USERNAME]")
if not args.os_password:
raise exc.CommandError("You must provide a password, either"
"via --password or env[OS_PASSWORD]")
if not args.os_auth_url: if not args.password:
raise exc.CommandError("You must provide a auth url, either" raise exc.CommandError("You must provide a password "
"via --os-auth_url or via" "via either --password or env[OS_PASSWORD]")
"env[OS_AUTH_URL]")
if not args.auth_url:
raise exc.CommandError("You must provide an auth url "
"via either --auth_url or via env[OS_AUTH_URL]")
if utils.isunauthenticated(args.func): if utils.isunauthenticated(args.func):
self.cs = shell_generic.CLIENT_CLASS(endpoint=args.os_auth_url) self.cs = shell_generic.CLIENT_CLASS(endpoint=args.auth_url)
else: else:
self.cs = self.get_api_class(options.version)( self.cs = self.get_api_class(options.version)(
username=args.os_username, username=args.username,
tenant_name=args.os_tenant_name, tenant_name=args.tenant_name,
tenant_id=args.os_tenant_id, tenant_id=args.tenant_id,
password=args.os_password, password=args.password,
auth_url=args.os_auth_url, auth_url=args.auth_url,
region_name=args.os_region_name) region_name=args.region_name)
try: try:
if not utils.isunauthenticated(args.func): if not utils.isunauthenticated(args.func):