DevAsc has been a dream of mine since the beginning, but I never really found the time during this crazy year. When Cisco extended the deadline for the DevNetClassof2020 though, I took that as a sign and started my journey at short notice towards the end of 2020. Now you can learn what I think about the exam and the way I prepared.Continue reading “DevNet Associate – Travel Report”
So far this little InfraAsCode series was all about declarative Ansible playbooks and Git version control. In this last post we go full circle and discover how CI/CD pipelines helps with automation workflows, taking full advantage of good software development practices.Continue reading “Network InfrastructureAsCode with Ansible & Git – Part 3”
In part one we learned how to use Ansible and a data model to represent infrastructure as code. Now it’s time to introduce Git as the central network automation tool to use the advantages that result from working with text files.
I cannot emphasize enough how important this step is to long-term success with an automation initiative. Unversioned files with funny names in a random directory are not the solution.Continue reading “Network Infrastructure As Code With Ansible & Git – Part 2”
Infrastructure as code is all the rage, but sounds hypercomplex. How should it be possible to represent a router or even a whole network as code? We definitely need deep software development skills and an extensive version control plus CI/CD pipeline, right? Well, no! Actually, it’s pretty darn simple and by the end of this blog post you might wonder what took you so long to get started.Continue reading “Network Infrastructure As Code With Ansible – Part 1”
This topic came up via Twitter recently and I heard this use case before but wasn’t aware how easy it could be solved with Ansible, until I started thinking about it. The little playbook in this blogpost fetches all discovered neighbors per device and sets the interface description according to the remote host and port. It supports the two platforms Cisco IOS XE and NX-OS to demonstrate the path to a multivendor solution for the common brownfield networks out there.Continue reading “Fix Your Interface Description with Ansible and CDP/LLDP”
I know, even Cisco NX-OS has a REST-API and Streaming Telemetry these days.
But you, or established processes in your organisation, might find it helpful to handle all switch ‘Telemetry’ in the same way using good old per device SNMP polling. A quick poll* on the Twitters seems to validate that ~80% of production network metrics are still SNMP anyway.
*See what I did there?Continue reading “Monitor Cisco NX-OS/ACI via SNMP and the TIG-Stack”
This blog post from the folks at NetworkToCode about the DRY principle (Don’t Repeat Yourself) reminded me of our early network automation days. There were playbooks involved, external variable definition files as a first step to source of truth and, well, lot’s of redundant data …Continue reading “Working with ipaddr in Ansible”
Managing hundreds of devices with your monitoring system might be a tedious task, especially when using GUI based device onboarding. But why not let your config management tool of choice take care of it? This blog post is about a declarative Ansible playbook to generate Telegraf configuration files leveraging the inputs.ping plugin and populate a Grafana World Map.Continue reading “Automate your NOC World Map at scale”
Tired of scrolling through massive directories on a file server, flooded with config files? Easy to implement ‘backup’ solution at day one (IOS archive?), but often based on debatable, unreliable protocols like TFTP, combined with great challenges in tracking changes on day two.Continue reading “Configbackup with Ansible + Git”
So, your lab is set up and waiting for something meaningful to do?
This post introduces the two probably most commonly used networking modules in the Cisco IOS world – it’s no rocket science to use other vendors’ modules in the same way, by the way. IOS_command executes, well, commands at the privileged level, while IOS_config is used in config mode – no surprise there, right?