From de5fa0dd327b1a81cb980d7553001dca244ae7a2 Mon Sep 17 00:00:00 2001 From: YAMAMOTO Takashi Date: Mon, 28 Jul 2014 16:20:40 +0900 Subject: [PATCH] ofagent: Add a missing normalized_port_name Otherwise port_unbound can not find Port for non "tap" prefixed ports. Closes-Bug: #1349898 Change-Id: I9ac7cc1e35205bddc64e7865c45e801df8cd6b33 --- neutron/plugins/ofagent/agent/ofa_neutron_agent.py | 2 +- neutron/tests/unit/ofagent/test_ofa_neutron_agent.py | 5 ++++- 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/neutron/plugins/ofagent/agent/ofa_neutron_agent.py b/neutron/plugins/ofagent/agent/ofa_neutron_agent.py index 4e09075af..dc74f5f48 100644 --- a/neutron/plugins/ofagent/agent/ofa_neutron_agent.py +++ b/neutron/plugins/ofagent/agent/ofa_neutron_agent.py @@ -695,7 +695,7 @@ class OFANeutronAgent(n_rpc.RpcCallback, self.provision_local_vlan(net_uuid, network_type, physical_network, segmentation_id) lvm = self.local_vlan_map[net_uuid] - lvm.vif_ports[port.port_name] = port + lvm.vif_ports[port.normalized_port_name()] = port # Do not bind a port if it's already bound cur_tag = self.int_br.db_get_val("Port", port.port_name, "tag") if cur_tag != str(lvm.vlan): diff --git a/neutron/tests/unit/ofagent/test_ofa_neutron_agent.py b/neutron/tests/unit/ofagent/test_ofa_neutron_agent.py index 99892b11a..18e10dda1 100644 --- a/neutron/tests/unit/ofagent/test_ofa_neutron_agent.py +++ b/neutron/tests/unit/ofagent/test_ofa_neutron_agent.py @@ -234,7 +234,8 @@ class TestOFANeutronAgent(ofa_test_base.OFAAgentTestBase): def _mock_port_bound(self, ofport=None, new_local_vlan=None, old_local_vlan=None): - port = mock.Mock() + port_name = 'tap96408df7-16' + port = _mock_port(True, port_name) port.ofport = ofport net_uuid = 'my-net-uuid' ofp = self.agent.int_br.datapath.ofproto @@ -270,6 +271,8 @@ class TestOFANeutronAgent(ofa_test_base.OFAAgentTestBase): else: self.assertFalse(set_ovs_db_func.called) self.assertFalse(ryu_send_msg_func.called) + self.assertTrue(self.agent.local_vlan_map[net_uuid]. + vif_ports[port_name] is port) def test_port_bound_deletes_flows_for_valid_ofport(self): self._mock_port_bound(ofport=1, new_local_vlan=1) -- 2.45.2