devops

Automating New Network Build - Part 1

This post will demonstrate how to automate the build of a typical enterprise branch network consisting of a pair of WAN routers, a core switch and 3 access layer switches. I will show how to create the initial bootstrap configuration and enable basic routing with OSPF

Automating Legacy Network Configuration

In this post I’ll show how to take an already established network, pull out some of the common configuration pieces and put them all into a standard Ansible environment

Network Configuration Automation

This post will give a brief overview of network configuration automation, describe its challenges and benefits and will set off a series of posts showing how to automate a configuration of a typical enterprise network

Network TDD Quickstart Guide

This post gives a quick overview of how to use network Test Driven Development framework. As an example I’ll use a simplified version of a typical enterprise network with a Data Centre/HQ and a Branch office. A new branch is being added and the task is to configure routing for that branch using a TDD approach. First we’ll devise a set of TDD scenarios to be tested and then, going through each one of them, modify routing to make sure those scenarios don’t fail (a so-called red-green-refactor approach)

Verifying TDD Scenarios

Writing a custom Ansible module to verify TDD scenarios

Developing Custom Ansible Modules

IP Address Information Collection With Custom Ansible Modules

Getting Started With Ansible for Cisco IOS

Ansible quickstart guide for Cisco IOS

Windows-Linux File Synchronisation

Synchorinizing files between Windows and Linux

Development Environment Setup

Setting up development and test environments

Building a Simple Network TDD Framework

In the following series of posts I will show how to build a simple Test-Driven Development framework for Cisco devices. This framework will allow a network engineer to define traffic patterns in a human-readable format and automatically check if those assumption hold. It will be built as a series of Ansible modules and playbooks. The idea is to show an example of how programming can be used by network engineers even now, before all devices acquire their own APIs as well as introduce some well-known programming paradigms and best practices to network engineers thereby making a small step towards networking nirvana a.k.a. SDN. The reader is assumed to have only a basic networking, linux and python programming skills