@ -3,33 +3,37 @@
- debug : msg="Using provider={{ connection.transport }}"
- debug : msg="Using provider={{ connection.transport }}"
when : ansible_connection == "local"
when : ansible_connection == "local"
- set_fact : global_ingress_replication_bgp="true"
- block:
when : platform is search('N9K$') and (major_version is version('9.2', 'ge'))
# N9K(v9.2+) specific attrs
- set_fact : global_mcast_group_L2="225.1.1.2"
- set_fact : def_global_ingress_replication_bgp="false"
- set_fact : def_global_mcast_group_L2="default"
when : platform is search('N9K$') and (major_version is version('9.2', 'ge'))
- set_fact : global_mcast_group_L3="225.1.1.1"
when : platform is search('N9K$') and (major_version is version('9.2', 'ge'))
- set_fact : def_global_mcast_group_L3="default"
when : platform is search('N9K$') and (major_version is version('9.2', 'ge'))
- set_fact : global_mcast_group_L2="225.1.1.2"
when : platform is search('N9K') and (major_version is version('9.2', 'ge'))
- set_fact : def_global_mcast_group_L2="default"
when : platform is search('N9K') and (major_version is version('9.2', 'ge'))
- set_fact : global_suppress_arp="true"
when : platform is search('N9K') and (major_version is version('9.2', 'ge'))
- set_fact : def_global_suppress_arp="false"
# Layer 3 Tenant Routed Multicast (TRM) dependency.
when : platform is search('N9K') and (major_version is version('9.2', 'ge'))
# global_mcast_group_l3 / global_ingress_replication_bgp have a dependency on TRM.
# TRM requires specific 92/93/95 chassis and -EX/-FX line cards.
- block:
- set_fact : global_mcast_group_L3="225.1.1.1"
- set_fact : def_global_mcast_group_L3="default"
- set_fact : global_ingress_replication_bgp="true"
- set_fact : def_global_ingress_replication_bgp="false"
when : false # Manually change this to true when correct h/w is present
- name : "TCAM resource check for global_suppress_arp"
# GSA requires tcam resources. Skip these attrs when arp-ether size is 0.
# Note: TCAM changes require a switch reload.
# Sample Input: "Ingress ARP-Ether ACL [arp-ether] size = 256"
nxos_command:
commands:
- command : show hardware access-list tcam region | incl arp-ether | sed 's/.*size = *//'
output : text
connection : network_cli
register : tcam_state
- block:
- set_fact : global_suppress_arp="true"
- set_fact : def_global_suppress_arp="false"
when : tcam_state.stdout[0] != 0
# This parameter requires a switch reload.
when : platform is search('N9K') and (major_version is version('9.2', 'ge'))
# The line below can be commented out if needed to verify the functionality.
- set_fact : global_suppress_arp="false"
- block:
- block:
- name : "Apply N7K specific setup config"
- name : "Apply N7K specific setup config"
@ -37,13 +41,22 @@
when : platform is match('N7K')
when : platform is match('N7K')
- name : "Enable feature nv overlay"
- name : "Enable feature nv overlay"
nxos_config :
nxos_config:
commands:
commands:
- feature nv overlay
- feature nv overlay
- nv overlay evpn
- nv overlay evpn
match : none
match : none
provider : "{{ connection }}"
provider : "{{ connection }}"
- block:
- name : "Enable feature ngmvpn"
nxos_config:
commands:
- feature ngmvpn
match : none
provider : "{{ connection }}"
when : global_mcast_group_L3 is defined
- block:
- block:
- name : configure vxlan_vtep
- name : configure vxlan_vtep
nxos_vxlan_vtep : &configure9
nxos_vxlan_vtep : &configure9
@ -58,11 +71,11 @@
shutdown : false
shutdown : false
provider : "{{ connection }}"
provider : "{{ connection }}"
register : result
register : result
- assert : &true
- assert : &true
that:
that:
- "result.changed == true"
- "result.changed == true"
- name : "Conf Idempotence"
- name : "Conf Idempotence"
nxos_vxlan_vtep : *configure9
nxos_vxlan_vtep : *configure9
register : result
register : result
@ -84,9 +97,9 @@
shutdown : true
shutdown : true
provider : "{{ connection }}"
provider : "{{ connection }}"
register : result
register : result
- assert : *true
- assert : *true
- name : "reset Idempotence"
- name : "reset Idempotence"
nxos_vxlan_vtep : *def9
nxos_vxlan_vtep : *def9
register : result
register : result
@ -100,9 +113,9 @@
global_mcast_group_L2 : "{{ global_mcast_group_L2|default(omit) }}"
global_mcast_group_L2 : "{{ global_mcast_group_L2|default(omit) }}"
provider : "{{ connection }}"
provider : "{{ connection }}"
register : result
register : result
- assert : *true
- assert : *true
- name : "Conf Idempotence"
- name : "Conf Idempotence"
nxos_vxlan_vtep : *gml2
nxos_vxlan_vtep : *gml2
register : result
register : result
@ -116,9 +129,9 @@
global_mcast_group_L2 : "{{ def_global_mcast_group_L2|default(omit) }}"
global_mcast_group_L2 : "{{ def_global_mcast_group_L2|default(omit) }}"
provider : "{{ connection }}"
provider : "{{ connection }}"
register : result
register : result
- assert : *true
- assert : *true
- name : "reset Idempotence"
- name : "reset Idempotence"
nxos_vxlan_vtep : *rgml2
nxos_vxlan_vtep : *rgml2
register : result
register : result
@ -137,11 +150,11 @@
shutdown : false
shutdown : false
provider : "{{ connection }}"
provider : "{{ connection }}"
register : result
register : result
- assert:
- assert:
that:
that:
- "result.changed == true"
- "result.changed == true"
- name : "Conf Idempotence"
- name : "Conf Idempotence"
nxos_vxlan_vtep : *configure7
nxos_vxlan_vtep : *configure7
register : result
register : result
@ -159,9 +172,9 @@
shutdown : true
shutdown : true
provider : "{{ connection }}"
provider : "{{ connection }}"
register : result
register : result
- assert : *true
- assert : *true
- name : "reset Idempotence"
- name : "reset Idempotence"
nxos_vxlan_vtep : *def7
nxos_vxlan_vtep : *def7
register : result
register : result
@ -202,7 +215,7 @@
when : platform is match('N7K')
when : platform is match('N7K')
- name : "Disable nv overlay evpn"
- name : "Disable nv overlay evpn"
nxos_config :
nxos_config:
commands:
commands:
- no nv overlay evpn
- no nv overlay evpn
match : none
match : none
@ -210,7 +223,7 @@
ignore_errors : yes
ignore_errors : yes
- name : "Disable feature nv overlay"
- name : "Disable feature nv overlay"
nxos_feature :
nxos_feature:
feature : nve
feature : nve
provider : "{{ connection }}"
provider : "{{ connection }}"
state : disabled
state : disabled