From 9fbc124f7f20dba8e4dc40b8098d89b9a32f0a52 Mon Sep 17 00:00:00 2001 From: Rodolfo Alonso Hernandez Date: Fri, 1 Sep 2017 11:25:50 +0100 Subject: [PATCH] Add plugin names as constants. HostPluginInfo plugin_name field is the name of the possible different plugins that could be used, defined in-tree or out-of-tree this project. To avoid typing errors, PLUGIN_NAME constant is added to each project. Closes-Bug: #1714472 Change-Id: Ibb3b65314958ae56a2389704903c04dc985114d7 --- os_vif/common/__init__.py | 0 os_vif/tests/unit/test_host_info.py | 23 +++++++++------ os_vif/tests/unit/test_os_vif.py | 5 +++- vif_plug_linux_bridge/constants.py | 13 +++++++++ vif_plug_linux_bridge/linux_bridge.py | 3 +- .../tests/unit/test_plugin.py | 7 +++-- vif_plug_ovs/constants.py | 2 ++ vif_plug_ovs/ovs.py | 2 +- vif_plug_ovs/tests/unit/test_plugin.py | 28 +++++++++---------- 9 files changed, 54 insertions(+), 29 deletions(-) create mode 100644 os_vif/common/__init__.py create mode 100644 vif_plug_linux_bridge/constants.py diff --git a/os_vif/common/__init__.py b/os_vif/common/__init__.py new file mode 100644 index 00000000..e69de29b diff --git a/os_vif/tests/unit/test_host_info.py b/os_vif/tests/unit/test_host_info.py index 2ed3722d..b6aa7b0c 100644 --- a/os_vif/tests/unit/test_host_info.py +++ b/os_vif/tests/unit/test_host_info.py @@ -10,6 +10,9 @@ # License for the specific language governing permissions and limitations # under the License. +from vif_plug_linux_bridge import constants as lb_constants +from vif_plug_ovs import constants as ovs_constants + from os_vif import exception from os_vif import objects from os_vif.tests.unit import base @@ -20,10 +23,12 @@ class TestHostInfo(base.TestCase): def setUp(self): super(TestHostInfo, self).setUp() + objects.register_all() + self.host_info = objects.host_info.HostInfo( plugin_info=[ objects.host_info.HostPluginInfo( - plugin_name="linux_brige", + plugin_name=lb_constants.PLUGIN_NAME, vif_info=[ objects.host_info.HostVIFInfo( vif_object_name="VIFBridge", @@ -32,7 +37,7 @@ class TestHostInfo(base.TestCase): ), ]), objects.host_info.HostPluginInfo( - plugin_name="ovs", + plugin_name=ovs_constants.PLUGIN_NAME, vif_info=[ objects.host_info.HostVIFInfo( vif_object_name="VIFBridge", @@ -60,24 +65,24 @@ class TestHostInfo(base.TestCase): self.assertEqual(self.host_info, host_info) def test_plugin_existance(self): - self.assertTrue(self.host_info.has_plugin("ovs")) + self.assertTrue(self.host_info.has_plugin(ovs_constants.PLUGIN_NAME)) self.assertFalse(self.host_info.has_plugin("fishfood")) def test_plugin_fetch(self): - plugin = self.host_info.get_plugin("ovs") - self.assertEqual("ovs", plugin.plugin_name) + plugin = self.host_info.get_plugin(ovs_constants.PLUGIN_NAME) + self.assertEqual(ovs_constants.PLUGIN_NAME, plugin.plugin_name) self.assertRaises(exception.NoMatchingPlugin, self.host_info.get_plugin, "fishfood") def test_vif_existance(self): - plugin = self.host_info.get_plugin("ovs") + plugin = self.host_info.get_plugin(ovs_constants.PLUGIN_NAME) self.assertTrue(plugin.has_vif("VIFOpenVSwitch")) self.assertFalse(plugin.has_vif("VIFFishFood")) def test_vif_fetch(self): - plugin = self.host_info.get_plugin("ovs") + plugin = self.host_info.get_plugin(ovs_constants.PLUGIN_NAME) vif = plugin.get_vif("VIFOpenVSwitch") self.assertEqual("VIFOpenVSwitch", vif.vif_object_name) @@ -118,7 +123,7 @@ class TestHostInfo(base.TestCase): host_info = objects.host_info.HostInfo( plugin_info=[ objects.host_info.HostPluginInfo( - plugin_name="linux_brige", + plugin_name=lb_constants.PLUGIN_NAME, vif_info=[ objects.host_info.HostVIFInfo( vif_object_name="VIFBridge", @@ -127,7 +132,7 @@ class TestHostInfo(base.TestCase): ), ]), objects.host_info.HostPluginInfo( - plugin_name="ovs", + plugin_name=ovs_constants.PLUGIN_NAME, vif_info=[ objects.host_info.HostVIFInfo( vif_object_name="VIFBridge", diff --git a/os_vif/tests/unit/test_os_vif.py b/os_vif/tests/unit/test_os_vif.py index f7b34ec8..5b347c62 100644 --- a/os_vif/tests/unit/test_os_vif.py +++ b/os_vif/tests/unit/test_os_vif.py @@ -14,6 +14,8 @@ import mock from oslo_config import cfg from stevedore import extension +from vif_plug_linux_bridge import constants as lb_constants + import os_vif from os_vif import exception from os_vif import objects @@ -139,7 +141,8 @@ class TestOSVIF(base.TestCase): self.assertEqual(len(info.plugin_info), 2) - self.assertEqual(info.plugin_info[0].plugin_name, "linux_bridge") + self.assertEqual(info.plugin_info[0].plugin_name, + lb_constants.PLUGIN_NAME) vif_info = info.plugin_info[0].vif_info self.assertEqual(len(vif_info), 1) self.assertEqual(vif_info[0].vif_object_name, "VIFBridge") diff --git a/vif_plug_linux_bridge/constants.py b/vif_plug_linux_bridge/constants.py new file mode 100644 index 00000000..36f091bb --- /dev/null +++ b/vif_plug_linux_bridge/constants.py @@ -0,0 +1,13 @@ +# Licensed under the Apache License, Version 2.0 (the "License"); you may +# not use this file except in compliance with the License. You may obtain +# a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT +# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the +# License for the specific language governing permissions and limitations +# under the License. + +PLUGIN_NAME = 'linux_bridge' diff --git a/vif_plug_linux_bridge/linux_bridge.py b/vif_plug_linux_bridge/linux_bridge.py index 4a2f7733..9cce210b 100644 --- a/vif_plug_linux_bridge/linux_bridge.py +++ b/vif_plug_linux_bridge/linux_bridge.py @@ -21,6 +21,7 @@ from os_vif import objects from os_vif import plugin from oslo_config import cfg +from vif_plug_linux_bridge import constants from vif_plug_linux_bridge import iptables from vif_plug_linux_bridge import linux_net @@ -82,7 +83,7 @@ class LinuxBridgePlugin(plugin.PluginBase): def describe(self): return objects.host_info.HostPluginInfo( - plugin_name="linux_bridge", + plugin_name=constants.PLUGIN_NAME, vif_info=[ objects.host_info.HostVIFInfo( vif_object_name=objects.vif.VIFBridge.__name__, diff --git a/vif_plug_linux_bridge/tests/unit/test_plugin.py b/vif_plug_linux_bridge/tests/unit/test_plugin.py index 8a975d9d..f3db356d 100644 --- a/vif_plug_linux_bridge/tests/unit/test_plugin.py +++ b/vif_plug_linux_bridge/tests/unit/test_plugin.py @@ -15,6 +15,7 @@ import testtools from os_vif import objects +from vif_plug_linux_bridge import constants from vif_plug_linux_bridge import linux_bridge from vif_plug_linux_bridge import linux_net @@ -45,7 +46,7 @@ class PluginTest(testtools.TestCase): dev_name='tap-xxx-yyy-zzz', bridge_name="br0") - plugin = linux_bridge.LinuxBridgePlugin.load("linux_bridge") + plugin = linux_bridge.LinuxBridgePlugin.load(constants.PLUGIN_NAME) plugin.plug(vif, self.instance) mock_ensure_bridge.assert_not_called() @@ -77,7 +78,7 @@ class PluginTest(testtools.TestCase): has_traffic_filtering=True, bridge_name="br0") - plugin = linux_bridge.LinuxBridgePlugin.load("linux_bridge") + plugin = linux_bridge.LinuxBridgePlugin.load(constants.PLUGIN_NAME) plugin.plug(vif, self.instance) mock_ensure_bridge.assert_called_with("br0", "eth0", @@ -119,7 +120,7 @@ class PluginTest(testtools.TestCase): dev_name='tap-xxx-yyy-zzz', bridge_name="br0") - plugin = linux_bridge.LinuxBridgePlugin.load("linux_bridge") + plugin = linux_bridge.LinuxBridgePlugin.load(constants.PLUGIN_NAME) plugin.plug(vif, self.instance) mock_ensure_bridge.assert_not_called() diff --git a/vif_plug_ovs/constants.py b/vif_plug_ovs/constants.py index 0908980f..f288e294 100644 --- a/vif_plug_ovs/constants.py +++ b/vif_plug_ovs/constants.py @@ -10,6 +10,8 @@ # License for the specific language governing permissions and limitations # under the License. +PLUGIN_NAME = 'ovs' + OVS_VHOSTUSER_INTERFACE_TYPE = 'dpdkvhostuser' OVS_VHOSTUSER_CLIENT_INTERFACE_TYPE = 'dpdkvhostuserclient' OVS_VHOSTUSER_PREFIX = 'vhu' diff --git a/vif_plug_ovs/ovs.py b/vif_plug_ovs/ovs.py index 48febd2f..9dc87e5d 100644 --- a/vif_plug_ovs/ovs.py +++ b/vif_plug_ovs/ovs.py @@ -66,7 +66,7 @@ class OvsPlugin(plugin.PluginBase): def describe(self): return objects.host_info.HostPluginInfo( - plugin_name="ovs", + plugin_name=constants.PLUGIN_NAME, vif_info=[ objects.host_info.HostVIFInfo( vif_object_name=objects.vif.VIFBridge.__name__, diff --git a/vif_plug_ovs/tests/unit/test_plugin.py b/vif_plug_ovs/tests/unit/test_plugin.py index f48f46d4..875d91b2 100644 --- a/vif_plug_ovs/tests/unit/test_plugin.py +++ b/vif_plug_ovs/tests/unit/test_plugin.py @@ -108,7 +108,7 @@ class PluginTest(testtools.TestCase): uuid='f0000000-0000-0000-0000-000000000001') def test__get_vif_datapath_type(self): - plugin = ovs.OvsPlugin.load('ovs') + plugin = ovs.OvsPlugin.load(constants.PLUGIN_NAME) dp_type = plugin._get_vif_datapath_type( self.vif_ovs, datapath=constants.OVS_DATAPATH_SYSTEM) self.assertEqual(self.profile_ovs.datapath_type, dp_type) @@ -119,7 +119,7 @@ class PluginTest(testtools.TestCase): @mock.patch.object(linux_net, 'create_ovs_vif_port') def test_create_vif_port(self, mock_create_ovs_vif_port): - plugin = ovs.OvsPlugin.load('ovs') + plugin = ovs.OvsPlugin.load(constants.PLUGIN_NAME) plugin._create_vif_port( self.vif_ovs, mock.sentinel.vif_name, self.instance, interface_type=constants.OVS_VHOSTUSER_INTERFACE_TYPE) @@ -134,7 +134,7 @@ class PluginTest(testtools.TestCase): @mock.patch.object(linux_net, 'create_ovs_vif_port') def test_create_vif_port_mtu_in_model(self, mock_create_ovs_vif_port): self.vif_ovs.network = self.network_ovs_mtu - plugin = ovs.OvsPlugin.load('ovs') + plugin = ovs.OvsPlugin.load(constants.PLUGIN_NAME) plugin._create_vif_port( self.vif_ovs, mock.sentinel.vif_name, self.instance, interface_type=constants.OVS_VHOSTUSER_INTERFACE_TYPE) @@ -151,7 +151,7 @@ class PluginTest(testtools.TestCase): def test_plug_ovs(self, ensure_ovs_bridge, mock_sys): mock_sys.platform = 'linux' plug_bridge_mock = mock.Mock() - plugin = ovs.OvsPlugin.load("ovs") + plugin = ovs.OvsPlugin.load(constants.PLUGIN_NAME) plugin._plug_bridge = plug_bridge_mock plugin.plug(self.vif_ovs, self.instance) dp_type = ovs.OvsPlugin._get_vif_datapath_type(self.vif_ovs) @@ -199,7 +199,7 @@ class PluginTest(testtools.TestCase): device_exists.return_value = False mock_sys.platform = 'linux' - plugin = ovs.OvsPlugin.load('ovs') + plugin = ovs.OvsPlugin.load(constants.PLUGIN_NAME) plugin.plug(self.vif_ovs_hybrid, self.instance) ensure_bridge.assert_has_calls(calls['ensure_bridge']) device_exists.assert_has_calls(calls['device_exists']) @@ -239,7 +239,7 @@ class PluginTest(testtools.TestCase): } mock_sys.platform = constants.PLATFORM_WIN32 - plugin = ovs.OvsPlugin.load("ovs") + plugin = ovs.OvsPlugin.load(constants.PLUGIN_NAME) plugin.plug(vif, self.instance) device_exists.assert_has_calls(calls['device_exists']) _create_vif_port.assert_has_calls(calls['_create_vif_port']) @@ -253,7 +253,7 @@ class PluginTest(testtools.TestCase): def test_unplug_ovs(self): unplug_bridge_mock = mock.Mock() - plugin = ovs.OvsPlugin.load("ovs") + plugin = ovs.OvsPlugin.load(constants.PLUGIN_NAME) plugin._unplug_bridge = unplug_bridge_mock plugin.unplug(self.vif_ovs, self.instance) unplug_bridge_mock.assert_not_called() @@ -269,7 +269,7 @@ class PluginTest(testtools.TestCase): timeout=120)] } mock_sys.platform = 'linux' - plugin = ovs.OvsPlugin.load("ovs") + plugin = ovs.OvsPlugin.load(constants.PLUGIN_NAME) plugin.unplug(self.vif_ovs_hybrid, self.instance) delete_bridge.assert_has_calls(calls['delete_bridge']) delete_ovs_vif_port.assert_has_calls(calls['delete_ovs_vif_port']) @@ -278,7 +278,7 @@ class PluginTest(testtools.TestCase): @mock.patch.object(ovs, 'sys') def _check_unplug_ovs_windows(self, vif, mock_sys, delete_ovs_vif_port): mock_sys.platform = constants.PLATFORM_WIN32 - plugin = ovs.OvsPlugin.load("ovs") + plugin = ovs.OvsPlugin.load(constants.PLUGIN_NAME) plugin.unplug(vif, self.instance) delete_ovs_vif_port.assert_called_once_with('br0', vif.id, timeout=120) @@ -301,7 +301,7 @@ class PluginTest(testtools.TestCase): 'ensure_ovs_bridge': [mock.call('br0', dp_type)] } - plugin = ovs.OvsPlugin.load("ovs") + plugin = ovs.OvsPlugin.load(constants.PLUGIN_NAME) plugin.plug(self.vif_vhostuser, self.instance) _create_vif_port.assert_has_calls(calls['_create_vif_port']) ensure_ovs_bridge.assert_has_calls(calls['ensure_ovs_bridge']) @@ -325,7 +325,7 @@ class PluginTest(testtools.TestCase): 'ensure_ovs_bridge': [mock.call('br0', dp_type)] } - plugin = ovs.OvsPlugin.load("ovs") + plugin = ovs.OvsPlugin.load(constants.PLUGIN_NAME) plugin.plug(self.vif_vhostuser_client, self.instance) create_ovs_vif_port.assert_has_calls(calls['create_ovs_vif_port']) ensure_ovs_bridge.assert_has_calls(calls['ensure_ovs_bridge']) @@ -336,7 +336,7 @@ class PluginTest(testtools.TestCase): 'delete_ovs_vif_port': [mock.call('br0', 'vhub679325f-ca', timeout=120)] } - plugin = ovs.OvsPlugin.load("ovs") + plugin = ovs.OvsPlugin.load(constants.PLUGIN_NAME) plugin.unplug(self.vif_vhostuser, self.instance) delete_ovs_vif_port.assert_has_calls(calls['delete_ovs_vif_port']) @@ -371,7 +371,7 @@ class PluginTest(testtools.TestCase): self.instance)] } - plugin = ovs.OvsPlugin.load("ovs") + plugin = ovs.OvsPlugin.load(constants.PLUGIN_NAME) plugin.plug(self.vif_ovs_vf_passthrough, self.instance) ensure_ovs_bridge.assert_has_calls(calls['ensure_ovs_bridge']) get_ifname_by_pci_address.assert_has_calls( @@ -408,7 +408,7 @@ class PluginTest(testtools.TestCase): get_ifname_by_pci_address.return_value = 'eth0' get_vf_num_by_pci_address.return_value = '2' get_representor_port.return_value = 'eth0_2' - plugin = ovs.OvsPlugin.load("ovs") + plugin = ovs.OvsPlugin.load(constants.PLUGIN_NAME) plugin.unplug(self.vif_ovs_vf_passthrough, self.instance) get_ifname_by_pci_address.assert_has_calls( calls['get_ifname_by_pci_address'])