From the perspective of a network engineer who has just started out on their journey to learn python and network automation, one of the first intimidating concepts that they are likely to come across is the list comprehensions. In this post we will try and cover the basics of python list comprehensions If you have…
Author: Gurpreet Kochar
Netbox Docker Installation [Quick and Easy]
There are a couple of ways you can install Netbox. The first one is a little time-consuming bare-bones method while the second one leverages docker and is just plug and play method. Let’s take a look at Netbox Docker installation method but If you aren’t familiar with Docker, here is a 5 part series that…
Cisco SDWAN Vulnerability Scanner using Python
Cisco does have a bug toolkit to programmatically fetch the vulnerability information but it doesn’t have any such API for SDWAN vulnerability information yet. So I had the option to create a web scraper to fetch that information into an excel sheet and update it automatically at a click of a button. Let’s take a…
What is YAML For Network Engineers
YAML Ain’t Markup Language. From official documentation, YAML is a data serialization standard for all programming languages. Let’s break it down to understand what does MarkUp and data serialization standard really means and the relevance of YAML for network engineers. Q1:- What is a Markup Language? Ans:- A Markup Language is not really a language…
[Advanced] Jinja2 Template Inheritance
Jinja2 template inheritance is probably the most powerful feature of the Jinja2 templating library that makes it super easy to scale in large projects and at the same time making it modular and easy to maintain. Most of the time you will find the concept of inheritance explained in the context of web development as…
Basics of Python Jinja2 Templating Library.
In the previous Jinja2 post, we have seen a basic use case for network configuration automation. In this post, let’s dive into the basics of Python Jinja2 templating library. The intent is to cover fundaments of jinja2 that most of the time are overlooked because tend to dive directly into the “how to use jinja2”…
Git for Network Engineers
As more and more network engineers shift towards the world of network automation, GIT is increasingly becoming a more and more important skill set on your resume. While is it not necessary to understand behind the scenes of git for a network engineer or the implementation details of the framework but it indeed is important…
Docker for Network Engineers Part V – Docker Compose
In the previous post about Dockerfiles, we saw how to use a YAML file to define the template of the docker containers/images and use those set of instructions to build and distribute your containers. However, what if the application that you are writing has multiple components to it. For example:- You wrote a device monitoring…
Docker for Network Engineers Part IV – What is a Dockerfile
We have seen the manual method of creating a container from an image and an image back from a container after you have done all the customizations. What if there is a more automated way of doing this. We can achieve the same end goal by using a DockerFile. What is DockerFile? Dockerfile is nothing…
Docker for Network Engineers Part III – Creating a custom docker image/container
In this post on Docker for Network Engineers, From the ubuntu container that we created in the last post, we will now customize the container to install all the base dependencies that we need for our project. apt upgrade apt update apt install software-properties-common add-apt-repository ppa:deadsnakes/ppa apt install python3.9 apt install python3-pip apt install nano…