From a56ed4218aef5a2e528aa682cea967e767dca923 Mon Sep 17 00:00:00 2001 From: Jamie Lennox Date: Wed, 2 Sep 2015 10:17:12 +1000 Subject: [PATCH] Use auth_type instead of auth_plugin by default This was something that OSC has pushed for a long time now, and it's better to be consistent than worry about wording. Change --os-auth-plugin and auth_plugin= in CONF to be --os-auth-type and auth_type= by default. We deprecated (but will probably keep for a long time) the auth_plugin name. Change-Id: I9748aeb4a490f88c73ef22ebe49e9b4ac6af78cd --- keystoneauth1/loading/cli.py | 24 ++++++++++--------- keystoneauth1/loading/conf.py | 14 ++++++----- keystoneauth1/tests/unit/loading/test_cli.py | 16 ++++++------- keystoneauth1/tests/unit/loading/test_conf.py | 16 ++++++------- 4 files changed, 37 insertions(+), 33 deletions(-) diff --git a/keystoneauth1/loading/cli.py b/keystoneauth1/loading/cli.py index 230d36be..13a82301 100644 --- a/keystoneauth1/loading/cli.py +++ b/keystoneauth1/loading/cli.py @@ -49,24 +49,26 @@ def register_argparse_arguments(parser, argv, default=None): created. """ in_parser = argparse.ArgumentParser(add_help=False) - env_plugin = os.environ.get('OS_AUTH_PLUGIN', default) + env_plugin = os.environ.get('OS_AUTH_TYPE', + os.environ.get('OS_AUTH_PLUGIN', default)) for p in (in_parser, parser): - p.add_argument('--os-auth-plugin', + p.add_argument('--os-auth-type', + '--os-auth-plugin', metavar='', default=env_plugin, help='The auth plugin to load') options, _args = in_parser.parse_known_args(argv) - if not options.os_auth_plugin: + if not options.os_auth_type: return None - if isinstance(options.os_auth_plugin, base.BaseLoader): + if isinstance(options.os_auth_type, base.BaseLoader): msg = 'Default Authentication options' - plugin = options.os_auth_plugin + plugin = options.os_auth_type else: - msg = 'Options specific to the %s plugin.' % options.os_auth_plugin - plugin = base.get_plugin_loader(options.os_auth_plugin) + msg = 'Options specific to the %s plugin.' % options.os_auth_type + plugin = base.get_plugin_loader(options.os_auth_type) group = parser.add_argument_group('Authentication Options', msg) _register_plugin_argparse_arguments(group, plugin) @@ -87,13 +89,13 @@ def load_from_argparse_arguments(namespace, **kwargs): :raises keystonauth.exceptions.NoMatchingPlugin: if a plugin cannot be created. """ - if not namespace.os_auth_plugin: + if not namespace.os_auth_type: return None - if isinstance(namespace.os_auth_plugin, type): - plugin = namespace.os_auth_plugin + if isinstance(namespace.os_auth_type, type): + plugin = namespace.os_auth_type else: - plugin = base.get_plugin_loader(namespace.os_auth_plugin) + plugin = base.get_plugin_loader(namespace.os_auth_type) plugin_opts = plugin.get_options() diff --git a/keystoneauth1/loading/conf.py b/keystoneauth1/loading/conf.py index f5d3e7a3..4c16551c 100644 --- a/keystoneauth1/loading/conf.py +++ b/keystoneauth1/loading/conf.py @@ -13,7 +13,9 @@ from keystoneauth1.loading import base from keystoneauth1.loading import opts -_AUTH_PLUGIN_OPT = opts.Opt('auth_plugin', help='Name of the plugin to load') +_AUTH_TYPE_OPT = opts.Opt('auth_type', + deprecated=[opts.Opt('auth_plugin')], + help='Name of the plugin to load') _section_help = 'Config Section from which to load plugin specific options' _AUTH_SECTION_OPT = opts.Opt('auth_section', help=_section_help) @@ -32,12 +34,12 @@ def get_common_conf_options(): or to manipulate the options before registering them yourself. The options that are set are: - :auth_plugin: The name of the pluign to load. + :auth_type: The name of the pluign to load. :auth_section: The config file section to load options from. :returns: A list of oslo_config options. """ - return [_AUTH_PLUGIN_OPT._to_oslo_opt(), _AUTH_SECTION_OPT._to_oslo_opt()] + return [_AUTH_TYPE_OPT._to_oslo_opt(), _AUTH_SECTION_OPT._to_oslo_opt()] def get_plugin_conf_options(name): @@ -59,7 +61,7 @@ def register_conf_options(conf, group): The defined options are: - - auth_plugin: the name of the auth plugin that will be used for + - auth_type: the name of the auth plugin that will be used for authentication. - auth_section: the group from which further auth plugin options should be taken. If section is not provided then the auth plugin options will be @@ -79,7 +81,7 @@ def register_conf_options(conf, group): if conf[group].auth_section: group = conf[group].auth_section - conf.register_opt(_AUTH_PLUGIN_OPT._to_oslo_opt(), group=group) + conf.register_opt(_AUTH_TYPE_OPT._to_oslo_opt(), group=group) def load_from_conf_options(conf, group, **kwargs): @@ -107,7 +109,7 @@ def load_from_conf_options(conf, group, **kwargs): if conf[group].auth_section: group = conf[group].auth_section - name = conf[group].auth_plugin + name = conf[group].auth_type if not name: return None diff --git a/keystoneauth1/tests/unit/loading/test_cli.py b/keystoneauth1/tests/unit/loading/test_cli.py index 7fcdd658..996f09e3 100644 --- a/keystoneauth1/tests/unit/loading/test_cli.py +++ b/keystoneauth1/tests/unit/loading/test_cli.py @@ -46,7 +46,7 @@ class CliTests(utils.TestCase): def test_creating_with_no_args(self): ret = loading.register_auth_argparse_arguments(self.p, []) self.assertIsNone(ret) - self.assertIn('--os-auth-plugin', self.p.format_usage()) + self.assertIn('--os-auth-type', self.p.format_usage()) def test_load_with_nothing(self): loading.register_auth_argparse_arguments(self.p, []) @@ -68,7 +68,7 @@ class CliTests(utils.TestCase): @utils.mock_plugin() def test_param_loading(self, m): name = uuid.uuid4().hex - argv = ['--os-auth-plugin', name, + argv = ['--os-auth-type', name, '--os-a-int', str(self.a_int), '--os-a-float', str(self.a_float), '--os-a-bool', str(self.a_bool)] @@ -77,12 +77,12 @@ class CliTests(utils.TestCase): self.assertIsInstance(klass, utils.MockLoader) opts = self.p.parse_args(argv) - self.assertEqual(name, opts.os_auth_plugin) + self.assertEqual(name, opts.os_auth_type) a = loading.load_auth_from_argparse_arguments(opts) self.assertTestVals(a) - self.assertEqual(name, opts.os_auth_plugin) + self.assertEqual(name, opts.os_auth_type) self.assertEqual(str(self.a_int), opts.os_a_int) self.assertEqual(str(self.a_float), opts.os_a_float) self.assertEqual(str(self.a_bool), opts.os_a_bool) @@ -90,14 +90,14 @@ class CliTests(utils.TestCase): @utils.mock_plugin() def test_default_options(self, m): name = uuid.uuid4().hex - argv = ['--os-auth-plugin', name, + argv = ['--os-auth-type', name, '--os-a-float', str(self.a_float)] klass = loading.register_auth_argparse_arguments(self.p, argv) self.assertIsInstance(klass, utils.MockLoader) opts = self.p.parse_args(argv) - self.assertEqual(name, opts.os_auth_plugin) + self.assertEqual(name, opts.os_auth_type) a = loading.load_auth_from_argparse_arguments(opts) @@ -117,7 +117,7 @@ class CliTests(utils.TestCase): def test_overrides_default_string_value(self, m): name = uuid.uuid4().hex default = uuid.uuid4().hex - argv = ['--os-auth-plugin', name] + argv = ['--os-auth-type', name] klass = loading.register_auth_argparse_arguments(self.p, argv, default=default) @@ -140,7 +140,7 @@ class CliTests(utils.TestCase): class TestLoader(object): pass name = uuid.uuid4().hex - argv = ['--os-auth-plugin', name] + argv = ['--os-auth-type', name] klass = loading.register_auth_argparse_arguments(self.p, argv, default=TestLoader) diff --git a/keystoneauth1/tests/unit/loading/test_conf.py b/keystoneauth1/tests/unit/loading/test_conf.py index bdfc4109..4a663360 100644 --- a/keystoneauth1/tests/unit/loading/test_conf.py +++ b/keystoneauth1/tests/unit/loading/test_conf.py @@ -57,7 +57,7 @@ class ConfTests(utils.TestCase): to_oslo_opts(v2.Password().get_options()), group=section) - self.conf_fixture.config(auth_plugin=self.V2PASS, + self.conf_fixture.config(auth_type=self.V2PASS, auth_url=auth_url, username=username, password=password, @@ -89,7 +89,7 @@ class ConfTests(utils.TestCase): self.conf_fixture.register_opts(to_oslo_opts(v3.Token().get_options()), group=section) - self.conf_fixture.config(auth_plugin=self.V3TOKEN, + self.conf_fixture.config(auth_type=self.V3TOKEN, auth_url=auth_url, token=token, trust_id=trust_id, @@ -106,8 +106,8 @@ class ConfTests(utils.TestCase): self.assertEqual(project_domain_name, a.project_domain_name) def test_loading_invalid_plugin(self): - auth_plugin = uuid.uuid4().hex - self.conf_fixture.config(auth_plugin=auth_plugin, + auth_type = uuid.uuid4().hex + self.conf_fixture.config(auth_type=auth_type, group=self.GROUP) e = self.assertRaises(exceptions.NoMatchingPlugin, @@ -115,7 +115,7 @@ class ConfTests(utils.TestCase): self.conf_fixture.conf, self.GROUP) - self.assertEqual(auth_plugin, e.name) + self.assertEqual(auth_type, e.name) def test_loading_with_no_data(self): l = loading.load_auth_from_conf_options(self.conf_fixture.conf, @@ -130,7 +130,7 @@ class ConfTests(utils.TestCase): self.conf_fixture.register_opts( to_oslo_opts(utils.MockLoader().get_options()), group=self.GROUP) - self.conf_fixture.config(auth_plugin=driver_name, + self.conf_fixture.config(auth_type=driver_name, group=self.GROUP, **self.TEST_VALS) @@ -150,7 +150,7 @@ class ConfTests(utils.TestCase): loading.register_auth_conf_options(self.conf_fixture.conf, group=self.GROUP) - self.conf_fixture.config(auth_plugin=uuid.uuid4().hex, + self.conf_fixture.config(auth_type=uuid.uuid4().hex, group=self.GROUP, **self.TEST_VALS) @@ -170,7 +170,7 @@ class ConfTests(utils.TestCase): utils.MockLoader().get_options()), group=section) self.conf_fixture.config(group=section, - auth_plugin=uuid.uuid4().hex, + auth_type=uuid.uuid4().hex, **self.TEST_VALS) a = loading.load_auth_from_conf_options(self.conf_fixture.conf,