main.yml 3.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135
  1. ---
  2. - name: Add VLAN definition
  3. nxos_vlan:
  4. admin_state: up
  5. name: "{{ vlan_name }}"
  6. vlan_id: "{{ vlan_id }}"
  7. tags: vlan
  8. - name: Associate interfaces to VLAN
  9. nxos_config:
  10. lines:
  11. - switchport trunk allowed vlan add {{ vlan_id }}
  12. parents: interface {{ item }}
  13. with_items: "{{ iflist }}"
  14. when: iflist is defined
  15. - name: Add SVI definition
  16. nxos_interface:
  17. admin_state: up
  18. name: Vlan{{ vlan_id }}
  19. mode: layer3
  20. mtu: "{{ svi_mtu }}"
  21. description: "{{ svi_descr }}"
  22. when: svi_v4_prefix is defined or svi_v6_network is defined or svi_v6_link_local is defined
  23. tags: vlan
  24. - name: Add SVI v4 L3 parameters
  25. nxos_l3_interface:
  26. name: Vlan{{ vlan_id }}
  27. ipv4: "{{ svi_v4_prefix }}.{{ core_svi_v4_suffix }}/{{ svi_subnet_len }}"
  28. when: svi_v4_prefix is defined
  29. tags: vlan
  30. - name: Add SVI v6 L3 parameters
  31. nxos_l3_interface:
  32. name: Vlan{{ vlan_id }}
  33. ipv6: "{{ svi_v6_network }}{{ core_svi_v6_suffix }}/64"
  34. when: svi_v6_network is defined
  35. tags: vlan
  36. - name: Add SVI v6 L3 parameters
  37. nxos_config:
  38. lines:
  39. - ipv6 address use-link-local-only
  40. parents: interface Vlan{{ vlan_id }}
  41. when: svi_v6_link_local is defined
  42. tags: vlan
  43. - name: Add SVI OSPFv2 parameters
  44. nxos_interface_ospf:
  45. area: 0.0.0.0
  46. ospf: 1
  47. interface: Vlan{{ vlan_id }}
  48. when: svi_v4_prefix is defined
  49. tags: vlan
  50. - name: Add additional SVI OSPFv2 parameters
  51. nxos_config:
  52. lines:
  53. - ip ospf network {{ ospf_type }}
  54. parents: interface Vlan{{ vlan_id }}
  55. when: svi_v4_prefix is defined
  56. tags: vlan
  57. - name: Disable SVI OSPFv2 passive interface
  58. nxos_config:
  59. lines:
  60. - no ip ospf passive-interface
  61. parents: interface Vlan{{ vlan_id }}
  62. when: svi_v4_prefix is defined and not passive_interface is defined
  63. tags: vlan
  64. - name: Add SVI OSPFv3 parameters
  65. nxos_config:
  66. lines:
  67. - ipv6 router ospfv3 1 area 0.0.0.0
  68. - ospfv3 network {{ ospf_type }}
  69. parents: interface Vlan{{ vlan_id }}
  70. when: svi_v6_network is defined or svi_v6_link_local is defined
  71. tags: vlan
  72. - name: Disable SVI OSPFv3 passive interface
  73. nxos_config:
  74. lines:
  75. - no ospfv3 passive-interface
  76. parents: interface Vlan{{ vlan_id }}
  77. when: (svi_v6_network is defined or svi_v6_link_local is defined) and not passive_interface is defined
  78. tags: vlan
  79. - name: Add addition SVI parameters
  80. nxos_config:
  81. lines:
  82. - no ip redirects
  83. - no ipv6 redirects
  84. parents: interface Vlan{{ vlan_id }}
  85. when: svi_v4_prefix is defined or svi_v6_network is defined
  86. tags: vlan
  87. - name: Enable HSRP
  88. nxos_config:
  89. lines:
  90. - hsrp version 2
  91. parents: interface Vlan{{ vlan_id }}
  92. when: (svi_v4_prefix is defined or svi_v6_network is defined) and use_hsrp is defined
  93. tags: vlan
  94. - name: Add HSRP v4 configuration
  95. nxos_config:
  96. lines:
  97. - authentication md5 key-chain HSRP_KEY
  98. - preempt
  99. - priority {{ core_hsrp_priority }}
  100. - timers 1 3
  101. - ip {{ svi_v4_prefix }}.{{ core_hsrp_vip_v4_suffix }}
  102. - track {{ core_hsrp_v4_track }} decrement 20
  103. parents:
  104. - interface Vlan{{ vlan_id }}
  105. - hsrp 1
  106. when: svi_v4_prefix is defined and use_hsrp is defined
  107. tags: vlan
  108. - name: Add HSRP v6 configuration
  109. nxos_config:
  110. lines:
  111. - authentication md5 key-chain HSRP_KEY
  112. - preempt
  113. - priority {{ core_hsrp_priority }}
  114. - timers 1 3
  115. - ip {{ svi_v6_network }}{{ core_hsrp_vip_v6_suffix }}
  116. - track {{ core_hsrp_v6_track }} decrement 20
  117. parents:
  118. - interface Vlan{{ vlan_id }}
  119. - hsrp 2 ipv6
  120. when: svi_v6_network is defined and use_hsrp is defined
  121. tags: vlan