Automation and programmability is not a new topic for me. Having studied Information Technology in High School I’ve always coded somehow, never making it my primary focus but always using it as a tool to make my life easier. I remember a script I did in Pascal to create a menu to load custom maps for Doom II instead of using the CLI. It would be great to find it again but it’s very unlikely because I trashed so many PCs and hard drives since, well, at least I hadn’t bitcoins stored there!


Quite often cable management is something that starts well when a new IDF is deployed and then gets messier over time. Cable p0rn channel on reddit shows plenty of example of how cabling should look like. I usually don’t do cabling and I’m not good at it either so I’ll not post my home lab setup ;-) Unpatchable? The real problem with poor cable management arises when a new box must be connected and all switch ports are already patched.

HP Procurve to Cisco switchport migration with Python and Netmiko

Summertime usually means a busy period for Network Engineers, customers are on holidays and we have the opportunity to performs all the changes that impact network connectivity. For me this usually means core switch replacement. Today I was moving a configuration from an HP8200 to a Cisco 4500, taking care of all the details of ports, trunks, vlans. From this: to this: When a task is manual, boring, repetitive and error-prone my automation skills came to help.

SecureCRT and Python

SecureCRT is one of my favourite tools, today I had a chance to use it in a way I didn’t expected. A customer called with a problem: he has a radio bridge that sometimes loses connection with the remote unit. The workaround is to reload the base unit. The process is manual, he monitors the radio bridge status and reload when required. Since the radio bridge is not business critical he doesn’t have budget to replace tha radio bridge or troubleshoot the problem, the request was to automate the check/reload process.

Cisco Nexus 9000 training DCINX9K

This week I attended a two days training of Cisco DCINX9K. The training is focused on Cisco Nexus 9000 switches in NX-OS mode. NX9K can run two different software images, the full ACI image with all the cool SDN stuff and the traditional NS-OX image with some cool features like Python, Rest API, VX-LAN and more. Now it’s time to improve my Python skills and borrow a couple of boxes to do some labs.

NeDi and Observium/LibreNMS

NeDi and Observium are two of my favourites network monitoring tools. I do like to deploy both, they complete each other and since they’re free there is no need to choose. The only problem with the use of two tools is the integration. Observium has a limitation with host discovery: a device can be discovered only by name and that name must be resolved to an IP via DNS or hosts file.

Let's Python!

Inspired by the CodeAcademy project, I’ve decided to learn a programming language this year. Back in high school I’ve learnt Pascal, Delphi, Assembly and C but many years passed so I forgot all the sintax but not the basics. What I need is some basic scripting, read and write on a DB, a web interface and integration with network protocols. After reading some websites, googling a lot, I choose Python that has a simple sintax, many libraries and is widely used so I think I could get support from many forums available.