diff --git a/ansible/templates/minigraph_dpg.j2 b/ansible/templates/minigraph_dpg.j2 index f632de4c14d..a79027a9e85 100644 --- a/ansible/templates/minigraph_dpg.j2 +++ b/ansible/templates/minigraph_dpg.j2 @@ -265,6 +265,73 @@ +{% if mux_cable_facts is defined and mux_cable_facts %} +{% if dual_tor_facts is defined and 'cables' in dual_tor_facts %} +{% for cable in dual_tor_facts['cables'] %} +{% set intf_index = port_alias.index(cable['dut_intf'])|string %} + + + + + LoopbackInterface + HostIP + Loopback0 + + {{ mux_cable_facts[intf_index]['server_ipv4'] }} + + {{ mux_cable_facts[intf_index]['server_ipv4'] }} + + + LoopbackInterface + HostIP1 + Loopback0 + + {{ mux_cable_facts[intf_index]['server_ipv6'] }} + + {{ mux_cable_facts[intf_index]['server_ipv6'] }} + +{% if 'soc_ipv4' in mux_cable_facts[intf_index] %} + + LoopbackInterface + SoCHostIP0 + Servers{{ loop.index - 1 }}SOC + + {{ mux_cable_facts[intf_index]['soc_ipv4'] }} + + {{ mux_cable_facts[intf_index]['soc_ipv4'] }} + +{% endif %} +{% if 'soc_ipv6' in mux_cable_facts[intf_index] %} + + LoopbackInterface + SoCHostIP1 + Servers{{ loop.index - 1 }}SOC + + {{ mux_cable_facts[intf_index]['soc_ipv6'] }} + + {{ mux_cable_facts[intf_index]['soc_ipv6'] }} + +{% endif %} + + + + + + + Servers{{ loop.index - 1 }} + + + + + + + + + + +{% endfor %} +{% endif %} +{% endif %} {% include 'minigraph_dpg_asic.j2' %} diff --git a/ansible/templates/minigraph_meta.j2 b/ansible/templates/minigraph_meta.j2 index 3f459d61da8..3ad2c28d259 100644 --- a/ansible/templates/minigraph_meta.j2 +++ b/ansible/templates/minigraph_meta.j2 @@ -28,6 +28,19 @@ True {% endif %} +{% if 'dualtor-mixed' in topo %} + + RedundancyType + + Mixed + +{% elif 'dualtor' in topo %} + + RedundancyType + + Gemini + +{% endif %} {% if dhcp_servers %} DhcpResources diff --git a/ansible/templates/minigraph_png.j2 b/ansible/templates/minigraph_png.j2 index e93c40c83fa..430fc8e9d75 100644 --- a/ansible/templates/minigraph_png.j2 +++ b/ansible/templates/minigraph_png.j2 @@ -44,7 +44,10 @@ {% endfor %} {% if 'dualtor' in topo %} {% set cable_position = 'U' if inventory_hostname == dual_tor_facts['positions']['upper'] else 'L' %} +{% set mux_cable_facts = dual_tor_facts['mux_cable_facts'] if 'mux_cable_facts' in dual_tor_facts %} {% for cable in dual_tor_facts['cables'] %} +{% set intf_index = port_alias.index(cable['dut_intf'])|string %} +{% if mux_cable_facts is not defined or mux_cable_facts[intf_index]['cable_type'] == 'active-standby' %} LogicalLink {{ inventory_hostname }} @@ -52,6 +55,7 @@ {{ cable['hostname'] }} {{ cable_position }} +{% endif %} {% endfor %} {% endif %} {% endif %} @@ -139,21 +143,12 @@ {% set server_base_address_v6 = (vlan_configs.values() | list)[0]['prefix_v6'] %} {% set server_base_address_v6 = server_base_address_v6 | ipaddr('network') %} {% set server_base_address_v6 = ':'.join(server_base_address_v6.split(':')[:-1]) + ':{:x}' %} -{% set mux_cable_facts = dual_tor_facts['mux_cable_facts'] if 'mux_cable_facts' in dual_tor_facts %} {% for cable in dual_tor_facts['cables'] %} -{% set intf_index = port_alias.index(cable['dut_intf'])|string %} SmartCable -{% if mux_cable_facts is defined %} - {{ mux_cable_facts[intf_index]['cable_type'] }} -
- {{ mux_cable_facts[intf_index]['soc_ipv4'] if 'soc_ipv4' in mux_cable_facts[intf_index] else '0.0.0.0/0' }} -
-{% else %}
0.0.0.0/0
-{% endif %} ::/0 @@ -168,21 +163,12 @@
Server -{% if mux_cable_facts is defined %} -
- {{ mux_cable_facts[intf_index]['server_ipv4'] }} -
- - {{ mux_cable_facts[intf_index]['server_ipv6'] }} - -{% else %}
{{ server_base_address_v4.format(loop.index + 1) }}/26
{{ server_base_address_v6.format(loop.index + 1) }}/96 -{% endif %} 0.0.0.0/0