OS_TENANT_NAME is not required when we have OS_PROJECT_NAME

Cinder support both v2 and v3 auth. Use v3 if possible.
In consideration of backwards compatibility, when we have
OS_PROJECT_NAME, the v2 auth should be ok because
tenant_name can be set by env[OS_PROJECT_NAME].


Change-Id: I9eed9c41a9deb5ecafa8d9e12f6d1b50d34f986d
Closes-Bug: #1588261
This commit is contained in:
liyuanzhen
2016-06-03 07:00:15 +01:00
parent 3d06d358ad
commit 426055c48e
2 changed files with 8 additions and 3 deletions

View File

@@ -265,6 +265,7 @@ class OpenStackCinderShell(object):
parser.add_argument('--os-tenant-name',
metavar='<auth-tenant-name>',
default=utils.env('OS_TENANT_NAME',
'OS_PROJECT_NAME',
'CINDER_PROJECT_ID'),
help='Tenant name. '
'Default=env[OS_TENANT_NAME].')
@@ -274,6 +275,7 @@ class OpenStackCinderShell(object):
parser.add_argument('--os-tenant-id',
metavar='<auth-tenant-id>',
default=utils.env('OS_TENANT_ID',
'OS_PROJECT_ID',
'CINDER_TENANT_ID'),
help='ID for the tenant. '
'Default=env[OS_TENANT_ID].')
@@ -732,8 +734,10 @@ class OpenStackCinderShell(object):
username = self.options.os_username
password = self.options.os_password
tenant_id = self.options.os_tenant_id
tenant_name = self.options.os_tenant_name
tenant_id = (self.options.os_tenant_id
or self.options.os_project_id)
tenant_name = (self.options.os_tenant_name
or self.options.os_project_name)
return v2_auth.Password(
v2_auth_url,

View File

@@ -34,7 +34,8 @@ def credentials():
username = os.environ.get('OS_USERNAME')
password = os.environ.get('OS_PASSWORD')
tenant_name = os.environ.get('OS_TENANT_NAME')
tenant_name = (os.environ.get('OS_TENANT_NAME')
or os.environ.get('OS_PROJECT_NAME'))
auth_url = os.environ.get('OS_AUTH_URL')
config = six.moves.configparser.RawConfigParser()