From 4dd9841186ca258249f111bd68f4abbf748718e8 Mon Sep 17 00:00:00 2001 From: Ihar Hrachyshka Date: Fri, 7 Aug 2015 08:15:17 +0200 Subject: [PATCH] Moved extensions/qos_agent.py into extensions/qos.py This file does not contain any separate QoS agent but just an extension for existing l2 agents to reuse. Change-Id: I0587d89b0e841e5fd19b91157602efb5aa97513e Partially-Implements: blueprint quantum-qos-api --- doc/source/devref/quality_of_service.rst | 2 +- .../l2/extensions/{qos_agent.py => qos.py} | 0 .../agent/extension_drivers/qos_driver.py | 4 +- .../{test_qos_agent.py => test_qos.py} | 38 +++++++++---------- .../agent/l2/test_agent_extensions_manager.py | 2 +- setup.cfg | 2 +- 6 files changed, 24 insertions(+), 24 deletions(-) rename neutron/agent/l2/extensions/{qos_agent.py => qos.py} (100%) rename neutron/tests/unit/agent/l2/extensions/{test_qos_agent.py => test_qos.py} (69%) diff --git a/doc/source/devref/quality_of_service.rst b/doc/source/devref/quality_of_service.rst index 5895122f7..01cf26406 100644 --- a/doc/source/devref/quality_of_service.rst +++ b/doc/source/devref/quality_of_service.rst @@ -208,7 +208,7 @@ with them. This module contains a manager that allows to register multiple extensions, and passes handle_port events down to all enabled extensions. -* neutron.agent.l2.extensions.qos_agent: +* neutron.agent.l2.extensions.qos defines QoS L2 agent extension. It receives handle_port events and passes them into QoS agent backend driver (see below). The file also defines the QosAgentDriver interface for backend QoS drivers. diff --git a/neutron/agent/l2/extensions/qos_agent.py b/neutron/agent/l2/extensions/qos.py similarity index 100% rename from neutron/agent/l2/extensions/qos_agent.py rename to neutron/agent/l2/extensions/qos.py diff --git a/neutron/plugins/ml2/drivers/openvswitch/agent/extension_drivers/qos_driver.py b/neutron/plugins/ml2/drivers/openvswitch/agent/extension_drivers/qos_driver.py index 0ef312077..c94774811 100644 --- a/neutron/plugins/ml2/drivers/openvswitch/agent/extension_drivers/qos_driver.py +++ b/neutron/plugins/ml2/drivers/openvswitch/agent/extension_drivers/qos_driver.py @@ -16,7 +16,7 @@ from oslo_config import cfg from oslo_log import log as logging from neutron.agent.common import ovs_lib -from neutron.agent.l2.extensions import qos_agent +from neutron.agent.l2.extensions import qos from neutron.i18n import _LW from neutron.plugins.ml2.drivers.openvswitch.mech_driver import ( mech_openvswitch) @@ -24,7 +24,7 @@ from neutron.plugins.ml2.drivers.openvswitch.mech_driver import ( LOG = logging.getLogger(__name__) -class QosOVSAgentDriver(qos_agent.QosAgentDriver): +class QosOVSAgentDriver(qos.QosAgentDriver): _SUPPORTED_RULES = ( mech_openvswitch.OpenvswitchMechanismDriver.supported_qos_rule_types) diff --git a/neutron/tests/unit/agent/l2/extensions/test_qos_agent.py b/neutron/tests/unit/agent/l2/extensions/test_qos.py similarity index 69% rename from neutron/tests/unit/agent/l2/extensions/test_qos_agent.py rename to neutron/tests/unit/agent/l2/extensions/test_qos.py index 36098caf4..8772394bd 100755 --- a/neutron/tests/unit/agent/l2/extensions/test_qos_agent.py +++ b/neutron/tests/unit/agent/l2/extensions/test_qos.py @@ -16,7 +16,7 @@ import mock from oslo_utils import uuidutils -from neutron.agent.l2.extensions import qos_agent +from neutron.agent.l2.extensions import qos from neutron.api.rpc.callbacks import resources from neutron import context from neutron.tests import base @@ -30,21 +30,21 @@ class QosAgentExtensionTestCase(base.BaseTestCase): def setUp(self): super(QosAgentExtensionTestCase, self).setUp() - self.qos_agent = qos_agent.QosAgentExtension() + self.qos_ext = qos.QosAgentExtension() self.context = context.get_admin_context() # Don't rely on used driver mock.patch( 'neutron.manager.NeutronManager.load_class_for_provider', - return_value=lambda: mock.Mock(spec=qos_agent.QosAgentDriver) + return_value=lambda: mock.Mock(spec=qos.QosAgentDriver) ).start() - self.qos_agent.initialize() + self.qos_ext.initialize() self._create_fake_resource_rpc() def _create_fake_resource_rpc(self): self.get_info_mock = mock.Mock(return_value=TEST_GET_INFO_RULES) - self.qos_agent.resource_rpc.get_info = self.get_info_mock + self.qos_ext.resource_rpc.get_info = self.get_info_mock def _create_test_port_dict(self): return {'port_id': uuidutils.generate_uuid(), @@ -53,37 +53,37 @@ class QosAgentExtensionTestCase(base.BaseTestCase): def test_handle_port_with_no_policy(self): port = self._create_test_port_dict() del port['qos_policy_id'] - self.qos_agent._process_rules_updates = mock.Mock() - self.qos_agent.handle_port(self.context, port) - self.assertFalse(self.qos_agent._process_rules_updates.called) + self.qos_ext._process_rules_updates = mock.Mock() + self.qos_ext.handle_port(self.context, port) + self.assertFalse(self.qos_ext._process_rules_updates.called) def test_handle_unknown_port(self): port = self._create_test_port_dict() qos_policy_id = port['qos_policy_id'] port_id = port['port_id'] - self.qos_agent.handle_port(self.context, port) + self.qos_ext.handle_port(self.context, port) # we make sure the underlaying qos driver is called with the # right parameters - self.qos_agent.qos_driver.create.assert_called_once_with( + self.qos_ext.qos_driver.create.assert_called_once_with( port, TEST_GET_INFO_RULES) self.assertEqual(port, - self.qos_agent.qos_policy_ports[qos_policy_id][port_id]) - self.assertTrue(port_id in self.qos_agent.known_ports) + self.qos_ext.qos_policy_ports[qos_policy_id][port_id]) + self.assertTrue(port_id in self.qos_ext.known_ports) def test_handle_known_port(self): port_obj1 = self._create_test_port_dict() port_obj2 = dict(port_obj1) - self.qos_agent.handle_port(self.context, port_obj1) - self.qos_agent.qos_driver.reset_mock() - self.qos_agent.handle_port(self.context, port_obj2) - self.assertFalse(self.qos_agent.qos_driver.create.called) + self.qos_ext.handle_port(self.context, port_obj1) + self.qos_ext.qos_driver.reset_mock() + self.qos_ext.handle_port(self.context, port_obj2) + self.assertFalse(self.qos_ext.qos_driver.create.called) def test_handle_known_port_change_policy_id(self): port = self._create_test_port_dict() - self.qos_agent.handle_port(self.context, port) - self.qos_agent.resource_rpc.get_info.reset_mock() + self.qos_ext.handle_port(self.context, port) + self.qos_ext.resource_rpc.get_info.reset_mock() port['qos_policy_id'] = uuidutils.generate_uuid() - self.qos_agent.handle_port(self.context, port) + self.qos_ext.handle_port(self.context, port) self.get_info_mock.assert_called_once_with( self.context, resources.QOS_POLICY, port['qos_policy_id']) diff --git a/neutron/tests/unit/agent/l2/test_agent_extensions_manager.py b/neutron/tests/unit/agent/l2/test_agent_extensions_manager.py index d453cfbab..9005aed22 100644 --- a/neutron/tests/unit/agent/l2/test_agent_extensions_manager.py +++ b/neutron/tests/unit/agent/l2/test_agent_extensions_manager.py @@ -21,7 +21,7 @@ class TestAgentExtensionsManager(base.BaseTestCase): def setUp(self): super(TestAgentExtensionsManager, self).setUp() - mock.patch('neutron.agent.l2.extensions.qos_agent.QosAgentExtension', + mock.patch('neutron.agent.l2.extensions.qos.QosAgentExtension', autospec=True).start() conf = cfg.CONF agent_extensions_manager.register_opts(conf) diff --git a/setup.cfg b/setup.cfg index 739063a63..c9ff7b7c0 100644 --- a/setup.cfg +++ b/setup.cfg @@ -197,7 +197,7 @@ neutron.ipam_drivers = fake = neutron.tests.unit.ipam.fake_driver:FakeDriver internal = neutron.ipam.drivers.neutrondb_ipam.driver:NeutronDbPool neutron.agent.l2.extensions = - qos = neutron.agent.l2.extensions.qos_agent:QosAgentExtension + qos = neutron.agent.l2.extensions.qos:QosAgentExtension neutron.qos.agent_drivers = ovs = neutron.plugins.ml2.drivers.openvswitch.agent.extension_drivers.qos_driver:QosOVSAgentDriver # These are for backwards compat with Icehouse notification_driver configuration values -- 2.45.2