Merge "Fix VMM domain EPG assignment"
This commit is contained in:
commit
fcbc73605f
|
@ -2349,7 +2349,7 @@ class ApicMechanismDriver(api_plus.MechanismDriver,
|
|||
def get_aim_domains(self, aim_ctx):
|
||||
vmms = [{'name': x.name, 'type': x.type}
|
||||
for x in self.aim.find(aim_ctx, aim_resource.VMMDomain)
|
||||
if x.type in utils.KNOWN_VMM_TYPES.values()]
|
||||
if x.type == utils.OPENSTACK_VMM_TYPE]
|
||||
phys = [{'name': x.name}
|
||||
for x in self.aim.find(aim_ctx, aim_resource.PhysicalDomain)]
|
||||
return vmms, phys
|
||||
|
|
|
@ -6094,6 +6094,45 @@ class TestPortOnPhysicalNode(TestPortVlanNetwork):
|
|||
set(self._doms(epg1.physical_domains,
|
||||
with_type=False)))
|
||||
|
||||
def test_no_host_domain_mappings(self):
|
||||
aim_ctx = aim_context.AimContext(self.db_session)
|
||||
self.aim_mgr.create(aim_ctx,
|
||||
aim_resource.VMMDomain(type='OpenStack',
|
||||
name='ostack1'),
|
||||
overwrite=True)
|
||||
self.aim_mgr.create(aim_ctx,
|
||||
aim_resource.VMMDomain(type='VMware',
|
||||
name='vmware1'),
|
||||
overwrite=True)
|
||||
self._register_agent('opflex-1', AGENT_CONF_OPFLEX)
|
||||
self._register_agent('opflex-2', AGENT_CONF_OPFLEX)
|
||||
net1 = self._make_network(
|
||||
self.fmt, 'net1', True,
|
||||
arg_list=('provider:physical_network', 'provider:network_type'),
|
||||
**{'provider:physical_network': 'physnet3',
|
||||
'provider:network_type': 'opflex'})['network']
|
||||
epg1 = self._net_2_epg(net1)
|
||||
|
||||
with self.subnet(network={'network': net1}) as sub1:
|
||||
|
||||
# "normal" port on opflex host
|
||||
with self.port(subnet=sub1) as p1:
|
||||
p1 = self._bind_port_to_host(p1['port']['id'], 'opflex-1')
|
||||
epg1 = self.aim_mgr.get(aim_ctx, epg1)
|
||||
self.assertEqual(set([('ostack1', 'OpenStack')]),
|
||||
set(self._doms(epg1.vmm_domains)))
|
||||
self.assertEqual(set([]),
|
||||
set(self._doms(epg1.physical_domains,
|
||||
with_type=False)))
|
||||
# move port to another host
|
||||
p1 = self._bind_port_to_host(p1['port']['id'], 'opflex-2')
|
||||
epg1 = self.aim_mgr.get(aim_ctx, epg1)
|
||||
self.assertEqual(set([('ostack1', 'OpenStack')]),
|
||||
set(self._doms(epg1.vmm_domains)))
|
||||
self.assertEqual(set([]),
|
||||
set(self._doms(epg1.physical_domains,
|
||||
with_type=False)))
|
||||
|
||||
|
||||
class TestPortOnPhysicalNodeSingleDriver(TestPortOnPhysicalNode):
|
||||
# Tests for binding port on physical node where no other ML2 mechanism
|
||||
|
|
|
@ -2159,6 +2159,10 @@ class TestPolicyTargetGroupVmmDomains(AIMBaseTestCase):
|
|||
aim_resource.VMMDomain(type='OpenStack',
|
||||
name='vm2'),
|
||||
overwrite=True)
|
||||
self.aim_mgr.create(self._aim_context,
|
||||
aim_resource.VMMDomain(type='VMware',
|
||||
name='vm3'),
|
||||
overwrite=True)
|
||||
self.aim_mgr.create(self._aim_context,
|
||||
aim_resource.PhysicalDomain(name='ph1'),
|
||||
overwrite=True)
|
||||
|
@ -2671,6 +2675,10 @@ class TestPolicyTarget(AIMBaseTestCase):
|
|||
aim_resource.VMMDomain(type='OpenStack',
|
||||
name='vm2'),
|
||||
overwrite=True)
|
||||
self.aim_mgr.create(aim_ctx,
|
||||
aim_resource.VMMDomain(type='VMware',
|
||||
name='vm3'),
|
||||
overwrite=True)
|
||||
ptg = self.create_policy_target_group(
|
||||
name="ptg1")['policy_target_group']
|
||||
pt = self.create_policy_target(
|
||||
|
@ -2721,6 +2729,10 @@ class TestPolicyTarget(AIMBaseTestCase):
|
|||
aim_resource.VMMDomain(type='OpenStack',
|
||||
name='vm2'),
|
||||
overwrite=True)
|
||||
self.aim_mgr.create(aim_ctx,
|
||||
aim_resource.VMMDomain(type='VMware',
|
||||
name='vm3'),
|
||||
overwrite=True)
|
||||
with self.port() as port:
|
||||
port_id = port['port']['id']
|
||||
self._bind_port_to_host(port_id, 'h1')
|
||||
|
|
Loading…
Reference in New Issue