diff --git a/doc/source/configuration/tables/manila-generic.inc b/doc/source/configuration/tables/manila-generic.inc index 3d42239179..2145793810 100644 --- a/doc/source/configuration/tables/manila-generic.inc +++ b/doc/source/configuration/tables/manila-generic.inc @@ -18,18 +18,6 @@ - Description * - **[DEFAULT]** - - * - ``cinder_admin_auth_url`` = ``http://localhost:5000/v2.0`` - - (String) DEPRECATED: Identity service URL. This option isn't used any longer. Please use [cinder] auth_url instead. - * - ``cinder_admin_password`` = ``None`` - - (String) DEPRECATED: Cinder admin password. This option isn't used any longer. Please use [cinder] password instead. - * - ``cinder_admin_tenant_name`` = ``service`` - - (String) DEPRECATED: Cinder admin tenant name. This option isn't used any longer. Please use [cinder] tenant_name instead. - * - ``cinder_admin_username`` = ``cinder`` - - (String) DEPRECATED: Cinder admin username. This option isn't used any longer. Please use [cinder] username instead. - * - ``cinder_catalog_info`` = ``volume:cinder:publicURL`` - - (String) DEPRECATED: Info to match when looking for cinder in the service catalog. Format is separated values of the form: :: This option isn't used any longer. - * - ``cinder_volume_type`` = ``None`` - - (String) Name or id of cinder volume type which will be used for all volumes created by driver. * - ``connect_share_server_to_tenant_network`` = ``False`` - (Boolean) Attach share server directly to share network. Used only with Neutron and if driver_handles_share_servers=True. * - ``container_volume_group`` = ``manila_docker_volumes`` diff --git a/manila/common/client_auth.py b/manila/common/client_auth.py index 76f75be947..5c84ee1854 100644 --- a/manila/common/client_auth.py +++ b/manila/common/client_auth.py @@ -16,15 +16,12 @@ import copy from keystoneauth1 import loading as ks_loading -from keystoneauth1.loading._plugins.identity import v2 from oslo_config import cfg -from oslo_log import log from manila import exception from manila.i18n import _ CONF = cfg.CONF -LOG = log.getLogger(__name__) """Helper class to support keystone v2 and v3 for clients @@ -37,8 +34,7 @@ needed to load all needed parameters dynamically. class AuthClientLoader(object): - def __init__(self, client_class, exception_module, cfg_group, - deprecated_opts_for_v2=None): + def __init__(self, client_class, exception_module, cfg_group): self.client_class = client_class self.exception_module = exception_module self.group = cfg_group @@ -46,7 +42,6 @@ class AuthClientLoader(object): self.conf = CONF self.session = None self.auth_plugin = None - self.deprecated_opts_for_v2 = deprecated_opts_for_v2 @staticmethod def list_opts(group): @@ -77,11 +72,6 @@ class AuthClientLoader(object): self.auth_plugin = ks_loading.load_auth_from_conf_options( CONF, self.group) - if self.deprecated_opts_for_v2 and not self.auth_plugin: - LOG.warning("Not specifying auth options is deprecated") - self.auth_plugin = v2.Password().load_from_options( - **self.deprecated_opts_for_v2) - if self.auth_plugin: return self.auth_plugin diff --git a/manila/compute/nova.py b/manila/compute/nova.py index 7ea47d717c..8c47024680 100644 --- a/manila/compute/nova.py +++ b/manila/compute/nova.py @@ -32,49 +32,6 @@ from manila.i18n import _ NOVA_GROUP = 'nova' AUTH_OBJ = None -nova_deprecated_opts = [ - cfg.StrOpt('nova_admin_username', - default='nova', - help='Nova admin username.', - deprecated_group='DEFAULT', - deprecated_for_removal=True, - deprecated_reason="This option isn't used any longer. Please " - "use [nova] username instead."), - cfg.StrOpt('nova_admin_password', - help='Nova admin password.', - deprecated_group='DEFAULT', - deprecated_for_removal=True, - deprecated_reason="This option isn't used any longer. Please " - "use [nova] password instead."), - cfg.StrOpt('nova_admin_tenant_name', - default='service', - help='Nova admin tenant name.', - deprecated_group='DEFAULT', - deprecated_for_removal=True, - deprecated_reason="This option isn't used any longer. Please " - "use [nova] tenant instead."), - cfg.StrOpt('nova_admin_auth_url', - default='http://localhost:5000/v2.0', - help='Identity service URL.', - deprecated_group='DEFAULT', - deprecated_for_removal=True, - deprecated_reason="This option isn't used any longer. Please " - "use [nova] url instead."), - cfg.StrOpt('nova_catalog_info', - default='compute:nova:publicURL', - help='Info to match when looking for nova in the service ' - 'catalog. Format is separated values of the form: ' - '::', - deprecated_group='DEFAULT', - deprecated_for_removal=True, - deprecated_reason="This option isn't used any longer."), - cfg.StrOpt('nova_catalog_admin_info', - default='compute:nova:adminURL', - help='Same as nova_catalog_info, but for admin endpoint.', - deprecated_group='DEFAULT', - deprecated_for_removal=True, - deprecated_reason="This option isn't used any longer."), -] nova_opts = [ cfg.StrOpt('api_microversion', @@ -100,7 +57,6 @@ nova_opts = [ ] CONF = cfg.CONF -CONF.register_opts(nova_deprecated_opts) CONF.register_opts(core_opts) CONF.register_opts(nova_opts, NOVA_GROUP) ks_loading.register_session_conf_options(CONF, NOVA_GROUP) @@ -114,17 +70,10 @@ def list_opts(): def novaclient(context): global AUTH_OBJ if not AUTH_OBJ: - deprecated_opts_for_v2 = { - 'username': CONF.nova_admin_username, - 'password': CONF.nova_admin_password, - 'tenant_name': CONF.nova_admin_tenant_name, - 'auth_url': CONF.nova_admin_auth_url, - } AUTH_OBJ = client_auth.AuthClientLoader( client_class=nova_client.Client, exception_module=nova_exception, - cfg_group=NOVA_GROUP, - deprecated_opts_for_v2=deprecated_opts_for_v2) + cfg_group=NOVA_GROUP) return AUTH_OBJ.get_client(context, version=CONF[NOVA_GROUP].api_microversion, insecure=CONF[NOVA_GROUP].api_insecure, diff --git a/manila/network/neutron/api.py b/manila/network/neutron/api.py index 25b24687aa..2689c2e119 100644 --- a/manila/network/neutron/api.py +++ b/manila/network/neutron/api.py @@ -27,41 +27,6 @@ from manila.network.neutron import constants as neutron_constants NEUTRON_GROUP = 'neutron' -neutron_deprecated_opts = [ - cfg.StrOpt( - 'neutron_admin_username', - default='neutron', - deprecated_group='DEFAULT', - deprecated_for_removal=True, - deprecated_reason="This option isn't used any longer. Please use " - "[neutron] username instead.", - help='Username for connecting to neutron in admin context.'), - cfg.StrOpt( - 'neutron_admin_password', - help='Password for connecting to neutron in admin context.', - deprecated_group='DEFAULT', - deprecated_for_removal=True, - deprecated_reason="This option isn't used any longer. Please use " - "[neutron] password instead.", - secret=True), - cfg.StrOpt( - 'neutron_admin_project_name', - default='service', - deprecated_group='DEFAULT', - deprecated_name='neutron_admin_tenant_name', - deprecated_for_removal=True, - deprecated_reason="This option isn't used any longer. Please use " - "[neutron] project instead.", - help='Project name for connecting to Neutron in admin context.'), - cfg.StrOpt( - 'neutron_admin_auth_url', - default='http://localhost:5000/v2.0', - deprecated_group='DEFAULT', - deprecated_for_removal=True, - deprecated_reason="This option isn't used any longer. Please use " - "[neutron] auth_url instead.", - help='Auth URL for connecting to neutron in admin context.'), -] neutron_opts = [ cfg.StrOpt( @@ -121,8 +86,6 @@ class API(object): ks_loading.register_session_conf_options(CONF, NEUTRON_GROUP) ks_loading.register_auth_conf_options(CONF, NEUTRON_GROUP) CONF.register_opts(neutron_opts, NEUTRON_GROUP) - CONF.register_opts(neutron_deprecated_opts, - group=self.config_group_name) self.configuration = getattr(CONF, self.config_group_name, CONF) self.last_neutron_extension_sync = None @@ -135,18 +98,10 @@ class API(object): def get_client(self, context): if not self.auth_obj: - config = CONF[self.config_group_name] - v2_deprecated_opts = { - 'username': config.neutron_admin_username, - 'password': config.neutron_admin_password, - 'tenant_name': config.neutron_admin_project_name, - 'auth_url': config.neutron_admin_auth_url, - } self.auth_obj = client_auth.AuthClientLoader( client_class=clientv20.Client, exception_module=neutron_client_exc, - cfg_group=NEUTRON_GROUP, - deprecated_opts_for_v2=v2_deprecated_opts) + cfg_group=NEUTRON_GROUP) return self.auth_obj.get_client( self, diff --git a/manila/tests/common/test_client_auth.py b/manila/tests/common/test_client_auth.py index 4d2a0969a5..46f3875c0f 100644 --- a/manila/tests/common/test_client_auth.py +++ b/manila/tests/common/test_client_auth.py @@ -14,7 +14,6 @@ # under the License. from keystoneauth1 import loading as auth -from keystoneauth1.loading._plugins.identity import v2 from oslo_config import cfg import mock @@ -64,20 +63,6 @@ class ClientAuthTestCase(test.TestCase): self.assertRaises(fake_client_exception_class.Unauthorized, self.auth._load_auth_plugin) - def test_load_auth_plugin_no_auth_deprecated_opts(self): - auth.load_auth_from_conf_options.return_value = None - self.auth.deprecated_opts_for_v2 = {"username": "foo"} - pwd_mock = self.mock_object(v2, 'Password') - auth_result = mock.Mock() - auth_result.load_from_options = mock.Mock(return_value='foo_auth') - pwd_mock.return_value = auth_result - - result = self.auth._load_auth_plugin() - - pwd_mock.assert_called_once_with() - auth_result.load_from_options.assert_called_once_with(username='foo') - self.assertEqual(result, 'foo_auth') - @mock.patch.object(auth, 'register_session_conf_options') @mock.patch.object(auth, 'get_auth_common_conf_options') @mock.patch.object(auth, 'get_auth_plugin_conf_options') diff --git a/manila/tests/compute/test_nova.py b/manila/tests/compute/test_nova.py index f65436ea90..4b2e659d0c 100644 --- a/manila/tests/compute/test_nova.py +++ b/manila/tests/compute/test_nova.py @@ -133,12 +133,6 @@ class NovaclientTestCase(test.TestCase): nova.client_auth, 'AuthClientLoader') fake_context = 'fake_context' data = { - 'DEFAULT': { - 'nova_admin_username': 'foo_username', - 'nova_admin_password': 'foo_password', - 'nova_admin_tenant_name': 'foo_tenant_name', - 'nova_admin_auth_url': 'foo_auth_url', - }, 'nova': { 'api_microversion': 'foo_api_microversion', 'api_insecure': True, @@ -154,13 +148,7 @@ class NovaclientTestCase(test.TestCase): mock_client_loader.assert_called_once_with( client_class=nova.nova_client.Client, exception_module=nova.nova_exception, - cfg_group=nova.NOVA_GROUP, - deprecated_opts_for_v2={ - 'username': data['DEFAULT']['nova_admin_username'], - 'password': data['DEFAULT']['nova_admin_password'], - 'tenant_name': data['DEFAULT']['nova_admin_tenant_name'], - 'auth_url': data['DEFAULT']['nova_admin_auth_url'], - }, + cfg_group=nova.NOVA_GROUP ) mock_client_loader.return_value.get_client.assert_called_once_with( fake_context, diff --git a/manila/tests/network/neutron/test_neutron_api.py b/manila/tests/network/neutron/test_neutron_api.py index a6e59f83e3..5bbcb75af7 100644 --- a/manila/tests/network/neutron/test_neutron_api.py +++ b/manila/tests/network/neutron/test_neutron_api.py @@ -88,12 +88,6 @@ class NeutronclientTestCase(test.TestCase): neutron_api.client_auth, 'AuthClientLoader') fake_context = 'fake_context' data = { - 'DEFAULT': { - 'neutron_admin_username': 'foo_username', - 'neutron_admin_password': 'foo_password', - 'neutron_admin_tenant_name': 'foo_tenant_name', - 'neutron_admin_auth_url': 'foo_auth_url', - }, 'neutron': { 'endpoint_type': 'foo_endpoint_type', 'region_name': 'foo_region_name', @@ -108,13 +102,7 @@ class NeutronclientTestCase(test.TestCase): mock_client_loader.assert_called_once_with( client_class=neutron_api.clientv20.Client, exception_module=neutron_api.neutron_client_exc, - cfg_group=neutron_api.NEUTRON_GROUP, - deprecated_opts_for_v2={ - 'username': data['DEFAULT']['neutron_admin_username'], - 'password': data['DEFAULT']['neutron_admin_password'], - 'tenant_name': data['DEFAULT']['neutron_admin_tenant_name'], - 'auth_url': data['DEFAULT']['neutron_admin_auth_url'], - }, + cfg_group=neutron_api.NEUTRON_GROUP ) mock_client_loader.return_value.get_client.assert_called_once_with( self.client, @@ -165,21 +153,6 @@ class NeutronApiTest(test.TestCase): self.assertTrue(hasattr(neutron_api_instance, 'configuration')) self.assertEqual('DEFAULT', neutron_api_instance.config_group_name) - def test_create_api_object_custom_config_group(self): - # Set up test data - fake_config_group_name = 'fake_config_group_name' - - # instantiate Neutron API object - obj = neutron_api.API(fake_config_group_name) - obj.get_client(mock.Mock()) - - # Verify results - self.assertTrue(clientv20.Client.called) - self.assertTrue(hasattr(obj, 'client')) - self.assertTrue(hasattr(obj, 'configuration')) - self.assertEqual( - fake_config_group_name, obj.configuration._group.name) - def test_create_port_with_all_args(self): # Set up test data self.mock_object(self.neutron_api, '_has_port_binding_extension', diff --git a/releasenotes/notes/remove-depreciated-default-options-00fed1238fb6dca0.yaml b/releasenotes/notes/remove-depreciated-default-options-00fed1238fb6dca0.yaml new file mode 100644 index 0000000000..b506c9337e --- /dev/null +++ b/releasenotes/notes/remove-depreciated-default-options-00fed1238fb6dca0.yaml @@ -0,0 +1,4 @@ +--- +deprecations: + - | + Remove deprecated cinder, neutron, nova options in DEFAULT group.