From Web development

Automate SSH connections with netmiko

Today, I like to show you an example how to automate SSH connections with netmiko. To demonstrate it, I decide to create a simple CDP information crawler. The result should be a basic network diagram based on HTML and Javascript. As you might know, this involve more components than just netmiko. It is used to collect the information from the device using SSH. To parse the output from the device, we will use TextFSM. For the visualization, we will use some HTML, Javascript and CSS.

Read more

Using a Raspberry PI as a Configuration Generator

This post discuss the first use case, where we provide the generated configurations "to the outside world". I’ll like to show you today, how the Network Configuration Generator can be used on an "appliance" to provide configurations using FTP and TFTP.

Read more

Deploy the Network Configuration Generator on a Server

In the last posts, I described how the Web service is created and how it works. Now it is time to deploy it on a server. This post contains some background information about server-side python, the deployment of such applications and the automation of the deployment process itself. After reading this post, you’ll know how server-side python works and how to deploy the Network Configuration Generator on a server or within a VM.

Read more

Web application styling using UIkit

I like to show you today, how I update the style of the Network Configuration Generator using the UIkit CSS framework. As mentioned in my last post, the (most) functional requirements are already satisfied, but plain HTML is not the best look and feel for a Web service.

Read more

Overview about the Flask web framework

I’ll like to provide a quick overview about the Flask microframework and the associated modules and libraries that I used during the development of the Network Configuration Generator. There are many tutorials out there on “how to develop a Flask application”, therefore I will limit the code examples to a minimum in this post. I’ll focus on the resources that I’ve used for learning.

Read more