This project is leveraging roles to build the configuration.
Each role will generate a part of the configuration.
At the end all parts will be merged into a single file and eventually push to the device.
- Customize the inventory file device.ini
- Customize variables files in host_vars and group_vars
- Run playbooks to generate and eventually deploy configuration
Roles can be found here
Junos-system will generate the main part of the configuration it will include all information needed to access the device (mgmt interface, password, account etc ...)
Most variables are coming from the inventory or the file group_vars/all/common.yaml
junos-ebgp will generate all configuration to enable EBGP inside an IP Fabric.
Most variables are specific to each device and need to be provided per device, You can find an example inside the role
To generate configuration for all leaf or spine (configuration are not push to device)
ansible-playbook -i devices.ini pb.config.all.yaml
All configurations will be available under the directory config at the root of the project.
To generate configuration for all devices and push them on devices
ansible-playbook -i devices.ini pb.config.all.commit.yaml