This repo contains the set of ansible playbooks and roles for managing the Redcables network, at the University of Waikato.
It was originally based on a deployment at wifi for the NZNOG17 conference. You can find out more about that deployment at conference-sdn-nfv-network repo.
To learn how ansible works the Ansible Getting Started guide is a good place to start.
The structure of this repo is based on the Ansible Best Practices documentation, they explain how each file is used and how inventory and roles work.
To customise how the network is deployed you can modify the roles assigned to each VM in the site.yaml file, you will also want to modify the user-customisable configurations in the files directory.
The production file is your inventory file that tells ansible how to login to each machine via SSH for deploys.
First you will need a host machine to run the ALLBIRDS network, this machine will have your DPDK NICs to provide an interface to the outside world. On this host deploy 2 VMs (FAUCET and NAT64) for providing the various network services. I've tested against ubuntu 16.10 (but other versions should also work). These machines need to have python installed and you need to be able to SSH to them so that ansible can work its magic.
These playbooks make use of features only available in Ansible 2.2 so make sure you are using an up to date version installed from pip.
Run this command to deploy all the various network roles:
ansible-playbook -i production site.yaml
You can also provide the -l option to ansible-playbook to filter which machines are deployed.