Going with the same diagram i’ve been using. I’m going to configure an ansible playbook to push out new VNIs to my VXLAN lab
You can see i only have L2 VNIs 100 and 200, and L3 VNI 1000 configured.
LEAF-1# sh nve vni
Codes: CP - Control Plane DP - Data Plane
UC - Unconfigured SA - Suppress ARP
Interface VNI Multicast-group State Mode Type [BD/VRF] Flags
--------- -------- ----------------- ----- ---- ------------------ -----
nve1 100 239.1.1.1 Up CP L2 [100] SA
nve1 200 239.1.1.1 Up CP L2 [200] SA
nve1 1000 n/a Up CP L3 [HQ]
I’ve added my leafs to my /etc/ansible/hosts file under “LAB_LEAFS”. Below is the contents of my template file
vlan {{ item.vlan }}
vn-segment {{ item.vni }}
!
int vlan {{ item.vlan }}
vrf member HQ
ip address {{ item.ip_address }}
fabric forwarding mode anycast-gateway
no shut
!
int nve1
member vni {{ item.vni }}
suppress-arp
mcast-group 239.1.1.1
exit
exit
!
evpn
vni {{ item.vni }} l2
rd auto
route-target import auto
route-target export auto
And here is the playbook which I call with arguments for vni, vlan, and ip_address
- name: BUILDING CONFIG
hosts: localhost
connection: local
gather_facts: false
vars:
VNI:
- {
ip_address : "{{ ip_address }}",
vni : "{{ vni }}",
vlan : "{{ vlan }}"
}
tasks:
- name: Building Config for leafs
template: src=TEMPLATES/leaf_add_vni.j2 dest=CONFIG/ADD_VNI.cfg
with_items: "{{ VNI }}"
- name: PUSHING CONFIG
hosts: LAB_LEAFS
connection: local
gather_facts: false
tasks:
- name: Pushing Config to leafs
nxos_config:
src=CONFIG/ADD_VNI.cfg
Running the playbook
BOX$ ansible-playbook playbook.yml -e "ip_address=192.168.30.1/30 vlan=300 vni=300" --ask-pass
SSH password:
PLAY [BUILDING CONFIG] ************************************************************************************************************************************************************************************************
TASK [Building Config for leafs] **************************************************************************************************************************************************************************************
ok: [localhost] => (item={u'vlan': u'300', u'ip_address': u'192.168.30.1/30', u'vni': u'300'})
PLAY [PUSHING CONFIG] *************************************************************************************************************************************************************************************************
TASK [Pushing Config to leafs] ****************************************************************************************************************************************************************************************
changed: [LEAF-2]
changed: [LEAF-1]
PLAY RECAP ************************************************************************************************************************************************************************************************************
LEAF-1 : ok=1 changed=1 unreachable=0 failed=0
LEAF-2 : ok=1 changed=1 unreachable=0 failed=0
localhost : ok=1 changed=0 unreachable=0 failed=0
We now have VNI 300 deployed
LEAF-1# sh nve vni
Codes: CP - Control Plane DP - Data Plane
UC - Unconfigured SA - Suppress ARP
Interface VNI Multicast-group State Mode Type [BD/VRF] Flags
--------- -------- ----------------- ----- ---- ------------------ -----
nve1 100 239.1.1.1 Up CP L2 [100] SA
nve1 200 239.1.1.1 Up CP L2 [200] SA
nve1 300 239.1.1.1 Up CP L2 [300] SA
nve1 1000 n/a Up CP L3 [HQ]
!
LEAF-1# sh run int vlan 300
interface Vlan300
no shutdown
vrf member HQ
ip address 192.168.30.1/30
fabric forwarding mode anycast-gateway

Be First to Comment