Chatops with Python & FastAPI

By now, many of us are familiar with using REST APIs to accomplish network automation tasks. But some may have wondered what the effort involved in providing one.

A fun way to explore ‘the other side’ is to write a useful little chatbot to integrate with your collaboration tool of choice. This blog shows how to connect Slack with Cisco ACI using Python and FastAPI.

Continue reading “Chatops with Python & FastAPI”

Working With Static Inventories

The most important part of any network automation solution is a reliable inventory. In large and complex network environments, a central DCIM like Netbox or Nautobot with dynamically generated inventories seems to be the gold standard.

But many of us start their automation journey with simple text files, following the idea of infrastructure as code. However, even this approach is suitable as a comprehensive device asset management and can even replace existing tooling. Here is the why and how.

Continue reading “Working With Static Inventories”

DevNet Associate – Travel Report

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”

Network InfrastructureAsCode with Ansible & Git – Part 3

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”

Network Infrastructure As Code With Ansible & Git – Part 2

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”

Network Infrastructure As Code With Ansible – Part 1

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”

Telegraf/InfluxDB/Grafana Dashboard @home

It seems that the TIG-Stack not only excels in the data center, but as a home automation UI as well – thanks to the versatile Telegraf input agent. Stock OEM display solutions often cost an arm and a leg, so I decided to build my own over a year ago. This post is about the hard- and software in use, as well as the necessary configuration to realize a useful dashboard system for your precious home.

Continue reading “Telegraf/InfluxDB/Grafana Dashboard @home”

Fix Your Interface Description with Ansible and CDP/LLDP

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”