Conditionally add nested-host-vlan

The nested_host_vlan attribute should be added to the
get_gbp_details only for networks which are meant to be
used for nesting other domains. Currently its being
incorrectly added to every network's details.

Change-Id: I0b198ff714a122f6fc697eac809523ec5c195629
This commit is contained in:
Sumit Naiksatam 2018-07-25 23:07:10 -07:00
parent 558cb3edec
commit 38fd336c67
2 changed files with 21 additions and 1 deletions

View File

@ -2430,7 +2430,8 @@ class AIMMappingDriver(nrd.CommonNeutronBase, aim_rpc.AIMMappingRPCMixin):
network.get('apic:nested_domain_service_vlan'),
network.get('apic:nested_domain_node_network_vlan'),
network.get('apic:nested_domain_allowed_vlans'),
self._nested_host_vlan)
self._nested_host_vlan if network.get(
'apic:nested_domain_infra_vlan') else None)
def _create_per_l3p_implicit_contracts(self):
admin_context = n_context.get_admin_context()

View File

@ -5320,6 +5320,25 @@ class TestNestedDomain(AIMBaseTestCase):
"{'start': '11', 'end': '14'}]}")
self._test_get_nested_domain_details(vlan_str)
def test_no_nested_domain_details_for_regular_network(self):
self._register_agent('host1', test_aim_md.AGENT_CONF_OPFLEX)
net = self._make_network(self.fmt, 'net1', True)
self._make_subnet(self.fmt, net, '10.0.1.1', '10.0.1.0/24')
p1 = self._make_port(self.fmt, net['network']['id'],
device_owner='compute:')['port']
p1 = self._bind_port_to_host(p1['id'], 'host1')['port']
details = self.driver.get_gbp_details(
self._neutron_admin_context, device='tap%s' % p1['id'],
host='h1')
self.assertEqual('', details['nested_domain_name'])
self.assertEqual('', details['nested_domain_type'])
self.assertIsNone(details['nested_domain_infra_vlan'])
self.assertIsNone(details['nested_domain_service_vlan'])
self.assertIsNone(details['nested_domain_node_network_vlan'])
self.assertItemsEqual([], details['nested_domain_allowed_vlans'])
self.assertIsNone(details['nested_host_vlan'])
class TestNeutronPortOperation(AIMBaseTestCase):