Welcome to Ansible Roles for MCLAG on Junos’s documentation!¶
Contents:
Generate and Deploy Configuration¶
Multiple topologies are available as part of this project. - Sample Topology - Vagrant - Ravello (in progress)
Sample Topology¶
The main benefit of the sample-topology is that you can generate configuration even without devices. The generate configuration, you need to excute the following command
ansible-playbook -i sample-topology.yaml pb.conf.all.yaml
Vagrant¶
To be able to generate and deploy all configurations on Vagrant, you need first to start all VMs in vagrant.
vagrant up
Once all VMs are up and running, it’s possible to use ansible directly without vagrant.
ansible-playbook -i .vagrant/provisioners/ansible/inventory/vagrant_ansible_inventory pb.conf.all.commit.yaml
Ravello¶
- Install the ravello-ansible roles
- Make sure you have the right images in your Ravello library
- Create a local credential file for Ravello.
Create the tolopogy on Ravello
ansible-playbook -i ravello-inventory.ini pb.rav.create.yaml --forks=1
Deploy the application and start VMs
ansible-playbook -i ravello-inventory.ini pb.rav.deplay.yaml --forks=1
Auto-generate Vlans and IRB Ip addresses¶
ansible-playbook pb.gen.vlans.yaml
Ansible Roles¶
There are severals roles provided as part of this project. Most are used to generate configurations.
config template - junos-mclag-icl¶
Generate the configuration for the ICL/ICCP link.
Default variables¶
# Automatically calculate an ID (0 or 1) for each device based on the variable "ID"
mclag_id: "{{ id - ((id//2)*2) }}"
mclag:
mode: active-active
iccp_interface: ae1
icl_interface: ae0
chassis_id: "{{ mclag_id }}"
status_control: "{{ 'active' if mclag_id == '0' else 'standby' }}"
iccp:
local_ip: "{{ '1.1.1.2' if mclag_id == '0' else '1.1.1.1' }}"
peer_ip: "{{ '1.1.1.1' if mclag_id == '0' else '1.1.1.2' }}"
icl:
description: ICL interface
config template - junos-mclag-qfx10k¶
Generate configuration for all MC-AE interfaces.
Default variables¶
mclag:
has_l3: false
iccp:
minimum_receive_interval: 1000
minimum_transmit_interval: 1000
session_hold_time: 50
config template - junos-mclag-qfx5k (deprecated for now)¶
config template - junos-system¶
Generate configuration for all base junos configuration: - ntp - dns - login - etc