Automation

Large-scale network simulations in Kubernetes, Part 2 - Network topology orchestration

Using k8s-topo - network topology orchestration tool for kubernetes

Large-scale network simulations in Kubernetes, Part 1 - Building a CNI plugin

Architecture and design of meshnet CNI - a plugin to create arbitrary virtual network topologies

The problem of unpredictable interface order in multi-network Docker containers

Exploring the problem of and solution to the random interface attachment order inside multi-network Docker containers

Network-CI Part 3 - OSPF to BGP Migration in Active/Standby DC

The final post in a series demonstrates how to use the network-ci tools to safely replace a core routing protocol inside a small Active/Standby Data Centre

Network-CI Part 2 - Small Network Demo

In this post I’ll demonstrate how to use the network-ci tools to automate the build, test and upgrade of a small 4-node network topology

Network-CI Part 1 - Automatically Building a VM With UNetLab and Jenkins

Traditionally, the first post in the series describes how to setup a development environment. This time I’ll do it DevOps-style. I’ll show how to use Packer to automatically create and configure a VM with UNetLab and Jenkins pre-installed.

Network Continuous Integration and Delivery

In this series of posts I’ll introduce the tools I’ve been using for network development and how they can be used with automation servers like Jenkins for network continuous integration and delivery

REST for Network Engineers Part 3 - Advanced Operations With UnetLab

In this post we’ll look at how to create arbitrary topologies and push configuration to Nodes in UNetlab via REST SDK. We’ll conclude by extending our sample application to create and configure a 3-node topology and enable full connectivity between all nodes

REST for Network Engineers Part 2 - Basic Operations With UnetLab

In this post I’ll show how to build REST SDK to authenticate, create labs and nodes in UnetLab. I’ll briefly cover the difference between composition and inheritance design patterns and demonstrate how to use test-driven development

REST for Network Engineers Part 1 - Development Environment Setup

In this post I’ll show how to setup environment for UnetLabREST SDK development on Windows. I’ll be running UNL inside a VM and using PyCharm as Python IDE on the host OS