Fix OS_AUTH_TYPE env var usage
Right now only deprecated OS_AUTH_SYSTEM environmental variable works to set the authentication to noauth, the reason is that we have multiple arguments writing on the same destination. This patch fixes this by making both arguments have the same default value, which is to use environmental variable OS_AUTH_TYPE if it has a value or deprecated OS_AUTH_SYSTEM if not. Closes-Bug: #1708687 Change-Id: I478fb0e628d4bebd4a1dc78c2559202916aa051f
This commit is contained in:
@@ -138,7 +138,8 @@ class OpenStackCinderShell(object):
|
|||||||
parser.add_argument('--os-auth-system',
|
parser.add_argument('--os-auth-system',
|
||||||
metavar='<os-auth-system>',
|
metavar='<os-auth-system>',
|
||||||
dest='os_auth_type',
|
dest='os_auth_type',
|
||||||
default=utils.env('OS_AUTH_SYSTEM'),
|
default=(utils.env('OS_AUTH_TYPE') or
|
||||||
|
utils.env('OS_AUTH_SYSTEM')),
|
||||||
help=_('DEPRECATED! Use --os-auth-type. '
|
help=_('DEPRECATED! Use --os-auth-type. '
|
||||||
'Defaults to env[OS_AUTH_SYSTEM].'))
|
'Defaults to env[OS_AUTH_SYSTEM].'))
|
||||||
parser.add_argument('--os_auth_system',
|
parser.add_argument('--os_auth_system',
|
||||||
@@ -146,7 +147,8 @@ class OpenStackCinderShell(object):
|
|||||||
parser.add_argument('--os-auth-type',
|
parser.add_argument('--os-auth-type',
|
||||||
metavar='<os-auth-type>',
|
metavar='<os-auth-type>',
|
||||||
dest='os_auth_type',
|
dest='os_auth_type',
|
||||||
default=utils.env('OS_AUTH_TYPE'),
|
default=(utils.env('OS_AUTH_TYPE') or
|
||||||
|
utils.env('OS_AUTH_SYSTEM')),
|
||||||
help=_('Defaults to env[OS_AUTH_TYPE].'))
|
help=_('Defaults to env[OS_AUTH_TYPE].'))
|
||||||
parser.add_argument('--os_auth_type',
|
parser.add_argument('--os_auth_type',
|
||||||
help=argparse.SUPPRESS)
|
help=argparse.SUPPRESS)
|
||||||
|
@@ -72,6 +72,26 @@ class ShellTest(utils.TestCase):
|
|||||||
|
|
||||||
return out
|
return out
|
||||||
|
|
||||||
|
def test_default_auth_env(self):
|
||||||
|
_shell = shell.OpenStackCinderShell()
|
||||||
|
args, __ = _shell.get_base_parser().parse_known_args([])
|
||||||
|
self.assertEqual('', args.os_auth_type)
|
||||||
|
|
||||||
|
def test_auth_type_env(self):
|
||||||
|
self.make_env(exclude='OS_PASSWORD',
|
||||||
|
include={'OS_AUTH_SYSTEM': 'non existent auth',
|
||||||
|
'OS_AUTH_TYPE': 'noauth'})
|
||||||
|
_shell = shell.OpenStackCinderShell()
|
||||||
|
args, __ = _shell.get_base_parser().parse_known_args([])
|
||||||
|
self.assertEqual('noauth', args.os_auth_type)
|
||||||
|
|
||||||
|
def test_auth_system_env(self):
|
||||||
|
self.make_env(exclude='OS_PASSWORD',
|
||||||
|
include={'OS_AUTH_SYSTEM': 'noauth'})
|
||||||
|
_shell = shell.OpenStackCinderShell()
|
||||||
|
args, __ = _shell.get_base_parser().parse_known_args([])
|
||||||
|
self.assertEqual('noauth', args.os_auth_type)
|
||||||
|
|
||||||
def test_help_unknown_command(self):
|
def test_help_unknown_command(self):
|
||||||
self.assertRaises(exceptions.CommandError, self.shell, 'help foofoo')
|
self.assertRaises(exceptions.CommandError, self.shell, 'help foofoo')
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user