deprecate security_group_api config option
This deprecates the security_group_api config option and makes it respect the new ``use_neutron`` option. This provides a much simpler and consistent interface for enabling Neutron support in Nova. Change-Id: I1c2eb51d10ba6370492a911f59370b9870646a38
This commit is contained in:
parent
600e86c456
commit
ef957eedde
@ -16,10 +16,14 @@
|
|||||||
from oslo_config import cfg
|
from oslo_config import cfg
|
||||||
from oslo_utils import importutils
|
from oslo_utils import importutils
|
||||||
|
|
||||||
|
import nova.network
|
||||||
|
|
||||||
security_group_opts = [
|
security_group_opts = [
|
||||||
cfg.StrOpt('security_group_api',
|
cfg.StrOpt(
|
||||||
|
'security_group_api',
|
||||||
default='nova',
|
default='nova',
|
||||||
help='The full class name of the security API class'),
|
help='DEPRECATED: The full class name of the security API class',
|
||||||
|
deprecated_for_removal=True),
|
||||||
]
|
]
|
||||||
|
|
||||||
CONF = cfg.CONF
|
CONF = cfg.CONF
|
||||||
@ -32,12 +36,12 @@ DRIVER_CACHE = {}
|
|||||||
|
|
||||||
|
|
||||||
def _get_openstack_security_group_driver(skip_policy_check=False):
|
def _get_openstack_security_group_driver(skip_policy_check=False):
|
||||||
if CONF.security_group_api.lower() == 'nova':
|
if is_neutron_security_groups():
|
||||||
return importutils.import_object(NOVA_DRIVER,
|
|
||||||
skip_policy_check=skip_policy_check)
|
|
||||||
elif is_neutron_security_groups():
|
|
||||||
return importutils.import_object(NEUTRON_DRIVER,
|
return importutils.import_object(NEUTRON_DRIVER,
|
||||||
skip_policy_check=skip_policy_check)
|
skip_policy_check=skip_policy_check)
|
||||||
|
elif CONF.security_group_api.lower() == 'nova':
|
||||||
|
return importutils.import_object(NOVA_DRIVER,
|
||||||
|
skip_policy_check=skip_policy_check)
|
||||||
else:
|
else:
|
||||||
return importutils.import_object(CONF.security_group_api,
|
return importutils.import_object(CONF.security_group_api,
|
||||||
skip_policy_check=skip_policy_check)
|
skip_policy_check=skip_policy_check)
|
||||||
@ -51,4 +55,5 @@ def get_openstack_security_group_driver(skip_policy_check=False):
|
|||||||
|
|
||||||
|
|
||||||
def is_neutron_security_groups():
|
def is_neutron_security_groups():
|
||||||
return CONF.security_group_api.lower() == 'neutron'
|
return (CONF.security_group_api.lower() == 'neutron'
|
||||||
|
or nova.network.is_neutron())
|
||||||
|
@ -13,6 +13,8 @@
|
|||||||
# under the License.
|
# under the License.
|
||||||
|
|
||||||
import nova.network
|
import nova.network
|
||||||
|
import nova.network.security_group.neutron_driver
|
||||||
|
import nova.network.security_group.openstack_driver as sgapi
|
||||||
import nova.test
|
import nova.test
|
||||||
|
|
||||||
|
|
||||||
@ -51,3 +53,33 @@ class NetworkAPIConfigTest(nova.test.NoDBTestCase):
|
|||||||
'nova.tests.unit.network.test_config.FileATicket')
|
'nova.tests.unit.network.test_config.FileATicket')
|
||||||
netapi = nova.network.API()
|
netapi = nova.network.API()
|
||||||
self.assertIsInstance(netapi, FileATicket)
|
self.assertIsInstance(netapi, FileATicket)
|
||||||
|
|
||||||
|
|
||||||
|
class SecurityGroupAPIConfigTest(nova.test.NoDBTestCase):
|
||||||
|
|
||||||
|
def test_use_neutron(self):
|
||||||
|
self.flags(use_neutron=True)
|
||||||
|
driver = sgapi.get_openstack_security_group_driver()
|
||||||
|
self.assertIsInstance(
|
||||||
|
driver,
|
||||||
|
nova.network.security_group.neutron_driver.SecurityGroupAPI)
|
||||||
|
|
||||||
|
def test_sg_nova(self):
|
||||||
|
self.flags(security_group_api='nova')
|
||||||
|
driver = sgapi.get_openstack_security_group_driver()
|
||||||
|
self.assertIsInstance(
|
||||||
|
driver,
|
||||||
|
nova.compute.api.SecurityGroupAPI)
|
||||||
|
|
||||||
|
def test_sg_neutron(self):
|
||||||
|
self.flags(security_group_api='neutron')
|
||||||
|
driver = sgapi.get_openstack_security_group_driver()
|
||||||
|
self.assertIsInstance(
|
||||||
|
driver,
|
||||||
|
nova.network.security_group.neutron_driver.SecurityGroupAPI)
|
||||||
|
|
||||||
|
def test_sg_custom(self):
|
||||||
|
self.flags(security_group_api=
|
||||||
|
'nova.tests.unit.network.test_config.FileATicket')
|
||||||
|
driver = sgapi.get_openstack_security_group_driver()
|
||||||
|
self.assertIsInstance(driver, FileATicket)
|
||||||
|
@ -0,0 +1,7 @@
|
|||||||
|
---
|
||||||
|
deprecations:
|
||||||
|
|
||||||
|
- Deprecate ``security_group_api`` configuration option. The current
|
||||||
|
values are ``nova`` and ``neutron``. In future the correct
|
||||||
|
security_group_api option will be chosen based on the value of
|
||||||
|
``use_neutron`` which provides a more coherent user experience.
|
Loading…
Reference in New Issue
Block a user