Merge "Remove deprecated DEFAULT options"
This commit is contained in:
commit
77fdd65bad
|
@ -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: <service_type>:<service_name>:<endpoint_type> 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``
|
||||
|
|
|
@ -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
|
||||
|
||||
|
|
|
@ -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: '
|
||||
'<service_type>:<service_name>:<endpoint_type>',
|
||||
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,
|
||||
|
|
|
@ -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,
|
||||
|
|
|
@ -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')
|
||||
|
|
|
@ -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,
|
||||
|
|
|
@ -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',
|
||||
|
|
|
@ -0,0 +1,4 @@
|
|||
---
|
||||
deprecations:
|
||||
- |
|
||||
Remove deprecated cinder, neutron, nova options in DEFAULT group.
|
Loading…
Reference in New Issue