From e09051b31fb33707bebf88e4577dcda06f6eeffb Mon Sep 17 00:00:00 2001 From: Akihiro MOTOKI Date: Tue, 13 Nov 2012 20:36:09 +0900 Subject: [PATCH] Ensure that mac address is set to namespace side veth end. Fixes bug 1073350 Change-Id: I4c0e85b500ac966a4250e2b6df634aab812f67e9 --- quantum/agent/linux/interface.py | 10 +++++----- quantum/tests/unit/test_linux_interface.py | 10 +++------- 2 files changed, 8 insertions(+), 12 deletions(-) diff --git a/quantum/agent/linux/interface.py b/quantum/agent/linux/interface.py index a8e9dd738..bbf373807 100644 --- a/quantum/agent/linux/interface.py +++ b/quantum/agent/linux/interface.py @@ -216,19 +216,19 @@ class BridgeInterfaceDriver(LinuxInterfaceDriver): tap_name = device_name.replace(prefix, 'tap') else: tap_name = device_name.replace(self.DEV_NAME_PREFIX, 'tap') - root_veth, dhcp_veth = ip.add_veth(tap_name, device_name) - root_veth.link.set_address(mac_address) + root_veth, ns_veth = ip.add_veth(tap_name, device_name) + ns_veth.link.set_address(mac_address) if self.conf.network_device_mtu: root_veth.link.set_mtu(self.conf.network_device_mtu) - dhcp_veth.link.set_mtu(self.conf.network_device_mtu) + ns_veth.link.set_mtu(self.conf.network_device_mtu) if namespace: namespace_obj = ip.ensure_namespace(namespace) - namespace_obj.add_device_to_namespace(dhcp_veth) + namespace_obj.add_device_to_namespace(ns_veth) root_veth.link.set_up() - dhcp_veth.link.set_up() + ns_veth.link.set_up() else: LOG.warn(_("Device %s already exists") % device_name) diff --git a/quantum/tests/unit/test_linux_interface.py b/quantum/tests/unit/test_linux_interface.py index 93256f60e..6c07025e7 100644 --- a/quantum/tests/unit/test_linux_interface.py +++ b/quantum/tests/unit/test_linux_interface.py @@ -281,21 +281,17 @@ class TestBridgeInterfaceDriver(TestBase): self.ip().add_veth = mock.Mock(return_value=(root_veth, ns_veth)) - expected = [mock.call(c, 'sudo') for c in [ - ['ip', 'tuntap', 'add', 'tap0', 'mode', 'tap'], - ['ip', 'link', 'set', 'tap0', 'address', 'aa:bb:cc:dd:ee:ff'], - ['ip', 'link', 'set', 'tap0', 'up']] - ] - self.device_exists.side_effect = device_exists br = interface.BridgeInterfaceDriver(self.conf) + mac_address = 'aa:bb:cc:dd:ee:ff' br.plug('01234567-1234-1234-99', 'port-1234', 'ns-0', - 'aa:bb:cc:dd:ee:ff', + mac_address, namespace=namespace) ip_calls = [mock.call('sudo'), mock.call().add_veth('tap0', 'ns-0')] + ns_veth.assert_has_calls([mock.call.link.set_address(mac_address)]) if namespace: ip_calls.extend([ mock.call().ensure_namespace('01234567-1234-1234-99'), -- 2.45.2