Populate network mtu for erspan
Change-Id: Ic4753ba768080149b54f391c44185ec27e006044
(cherry picked from commit f26eed9182
)
This commit is contained in:
parent
440d226b09
commit
4635b00590
|
@ -1283,6 +1283,8 @@ class ApicMechanismDriver(api_plus.MechanismDriver,
|
|||
cep_dn = self._map_port(session, port_db)
|
||||
resources = self._get_erspan_aim_resources_list(port_db, cep_dn)
|
||||
if resources:
|
||||
self.update_summary_resource(session, resources,
|
||||
port_db['network_id'])
|
||||
aim_resources.extend(resources)
|
||||
binding = (port_db.port_binding
|
||||
if port_db.port_binding else None)
|
||||
|
@ -2777,6 +2779,18 @@ class ApicMechanismDriver(api_plus.MechanismDriver,
|
|||
port['id'], cep_dn, erspan_config))
|
||||
return resources
|
||||
|
||||
def update_summary_resource(self, session, resources, network_id):
|
||||
for resource in resources:
|
||||
if type(resource) == aim_resource.SpanVepgSummary:
|
||||
with session.begin(subtransactions=True):
|
||||
query = BAKERY(lambda s: s.query(
|
||||
models_v2.Network))
|
||||
query += lambda q: q.filter_by(
|
||||
id=network_id)
|
||||
net = query(session).params().first()
|
||||
if net:
|
||||
resource.mtu = net.mtu
|
||||
|
||||
def _get_acc_bundle_for_host(self, aim_ctx, host_name):
|
||||
if not host_name:
|
||||
return None
|
||||
|
@ -2821,6 +2835,9 @@ class ApicMechanismDriver(api_plus.MechanismDriver,
|
|||
for erspan_config in port.get(cisco_apic.ERSPAN_CONFIG, []):
|
||||
resources = self._get_erspan_aim_resources(port['id'], cep_dn,
|
||||
erspan_config)
|
||||
if resources:
|
||||
self.update_summary_resource(session, resources,
|
||||
port['network_id'])
|
||||
# Create ERSPAN source group and source
|
||||
if not self.aim.get(aim_ctx, resources[0]):
|
||||
self.aim.create(aim_ctx, resources[0])
|
||||
|
@ -7135,6 +7152,8 @@ class ApicMechanismDriver(api_plus.MechanismDriver,
|
|||
cep_dn = self._map_port(mgr.actual_session, port_db)
|
||||
resources = self._get_erspan_aim_resources_list(port_db,
|
||||
cep_dn)
|
||||
self.update_summary_resource(mgr.actual_session, resources,
|
||||
port_db['network_id'])
|
||||
# Copy the bundle group pre-existing resources, if they
|
||||
# are monitored, from the actual AIM store to the validation
|
||||
# AIM store, so that the resource behaves as expected
|
||||
|
|
|
@ -7665,7 +7665,7 @@ class TestExtensionAttributes(ApicAimTestCase):
|
|||
name=dest_name)],
|
||||
[aim_resource.SpanVepgSummary(vdg_name=dest_name,
|
||||
vd_name=dest_name, dst_ip='192.168.0.10',
|
||||
flow_id='1023')]]
|
||||
flow_id='1023', mtu=str(net['network']['mtu']))]]
|
||||
dest_resources.append([
|
||||
aim_resource.InfraAccBundleGroup(name=host1_pg,
|
||||
span_vsource_group_names=[source_resources[0][0].name],
|
||||
|
@ -7697,7 +7697,7 @@ class TestExtensionAttributes(ApicAimTestCase):
|
|||
name=dest_name))
|
||||
dest_resources[2].append(aim_resource.SpanVepgSummary(
|
||||
vdg_name=dest_name, vd_name=dest_name, dst_ip='192.168.0.11',
|
||||
flow_id='1022'))
|
||||
flow_id='1022', mtu=str(net['network']['mtu'])))
|
||||
dest_resources[3] = [aim_resource.InfraAccBundleGroup(
|
||||
name=host1_pg,
|
||||
span_vsource_group_names=[res.name for res in source_resources[0]],
|
||||
|
@ -7753,8 +7753,8 @@ class TestExtensionAttributes(ApicAimTestCase):
|
|||
[aim_resource.SpanVdest(vdg_name=dest_name,
|
||||
name=dest_name)],
|
||||
[aim_resource.SpanVepgSummary(vdg_name=dest_name,
|
||||
vd_name=dest_name, dst_ip='192.168.0.10',
|
||||
flow_id='1023')]]
|
||||
vd_name=dest_name, dst_ip='192.168.0.10', flow_id='1023',
|
||||
mtu=str(net['network']['mtu']))]]
|
||||
dest_resources.append([aim_resource.InfraAccBundleGroup(
|
||||
name=host1_pg,
|
||||
span_vsource_group_names=[res.name for res in source_resources[0]],
|
||||
|
|
Loading…
Reference in New Issue