diff --git a/ansible/templates/minigraph_link_meta.j2 b/ansible/templates/minigraph_link_meta.j2 index 695d7cc7cf..51dd83c2e7 100644 --- a/ansible/templates/minigraph_link_meta.j2 +++ b/ansible/templates/minigraph_link_meta.j2 @@ -1,24 +1,18 @@ -{% set link_metadata_defined = False %} +{%- set ns = namespace(link_metadata_defined=False) -%} -{% if 'dualtor' in topo or - (macsec_card is defined and macsec_card == True and 't2' in topo) %} - {% set link_metadata_defined = True %} -{% endif %} +{%- if 'dualtor' in topo or (macsec_card is defined and macsec_card == True and 't2' in topo) -%} + {% set ns.link_metadata_defined = True %} +{%- endif -%} -{% if device_conn is defined and inventory_hostname in device_conn %} - {% for iface in device_conn[inventory_hostname] %} - {% if 'autoneg' in device_conn[inventory_hostname][iface] and - 'on' in device_conn[inventory_hostname][iface]['autoneg'] %} - {% set link_metadata_defined = True %} - {% endif %} - {% endfor %} -{% endif %} +{%- if device_conn is defined and inventory_hostname in device_conn and + device_conn[inventory_hostname].values() | selectattr('autoneg', 'defined') | selectattr('autoneg', 'equalto', 'on') | list | length > 0 -%} + {% set ns.link_metadata_defined = True %} +{%- endif -%} +{% if ns.link_metadata_defined %} -{% if link_metadata_defined %} {% endif %} - {% if 'dualtor' in topo %} {% for tunnel in tunnel_configs %} @@ -44,7 +38,6 @@ {% endfor %} {% endif %} - {% if macsec_card is defined and macsec_card == True and 't2' in topo %} {% for index in range(vms_number) %} {% set vm_intfs=vm_topo_config['vm'][vms[index]]['intfs'][dut_index|int]|sort %} @@ -65,11 +58,10 @@ {% endfor %} {% endfor %} {% endif %} - {% if device_conn is defined and inventory_hostname in device_conn %} {% for iface_name in device_conn[inventory_hostname].keys() %} - {% if iface_name in device_conn[inventory_hostname] and 'autoneg' in device_conn[inventory_hostname][iface_name] %} - {% if 'on' in device_conn[inventory_hostname][iface_name]['autoneg'] %} +{% if iface_name in device_conn[inventory_hostname] and 'autoneg' in device_conn[inventory_hostname][iface_name] %} +{% if 'on' in device_conn[inventory_hostname][iface_name]['autoneg'] %} @@ -77,22 +69,21 @@ AutoNegotiation True - {% if msft_an_enabled is defined %} +{% if msft_an_enabled is defined %} FECDisabled True - {% endif %} +{% endif %} {{ device_conn[inventory_hostname][iface_name]['peerdevice'] }}:{{ device_conn[inventory_hostname][iface_name]['peerport'] }};{{ inventory_hostname }}:{{ port_name_map[iface_name] }} - {% endif %} - {% endif %} +{% endif %} +{% endif %} {% endfor %} {% endif %} - -{% if link_metadata_defined %} - - +{% if ns.link_metadata_defined %} + + {% endif %}