Three years ago, we showed you how sipgate leverages Ansible to configure our Juniper network devices. This setup has helped us alot in the past years with the deployment of new servers to our datacenters, migrating sites faster to new network gear and of course standardized configurations. However, automation is more than processing jinja templates and deploying configuration snippets to your network infrastructure. How do you make sure a small change in your templates does not break existing functionality? How and where do you validate your generated configurations? How do you test firmware updates (especially major releases)? How do you document and/or validate the YAML schema of your Ansible host and group variables? This talk will provide you with insights how we improved our initial setup to address these problems.
Extensive and automated testing has been around in the world of software engineering for quite a while now. Systems and networks administration are usually a bit off here and leave room for improvement. In this talk we would like to show you how we make use of YAML schema validation, automated jinja template tests using pytest and junoser and finally how we validate configuration deployments to our lab and our production systems. Of course this talk will also include a small portion of Docker.