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

  1. Install the ravello-ansible roles
  2. Make sure you have the right images in your Ravello library
  3. 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

generate_vlans

Indices and tables