netblow v0.1.2 has been released!

Introduction

Hi guys! I just wanted to announce this quick update regarding a new network testing framework tool that I’ve just released. It’s called netblow.

Architecture

This figure illustrates netlow architecture. As you can see, netblow leverages napalm to manage the control plane of several networking devices in an agnostic manner. Plus, in an upcoming release, salt will be used to enhance the framework with data plane tests in conjunction with stress tests in the control plane.

netblow arch

Why?

Why would you ever need netblow in the first place? Here are a few use cases:

  • You want to stress network failures to validate if the network control plane is converging as expected.
  • Maybe you’ve just got a bleeding-edge control plane software update that hasn’t been extensively tested yet :)
  • You’d like to make sure that control plane changes are first validated in a CI/CD testing environment for a couple of hours or even days, before pushing to production.

Features

  • netblow exposes functions to stress the control plane and network failures, such as interfaces_down, interfaces_up, interfaces_flap, reboot, and config_rollback.
  • These functions have a common set of arguments, which simplifies the business logic of your tests.
  • You can either write your tests directly in Python or in a yml file.
  • Tests can be run either asynchronously or synchronously in multiple devices.
  • Devices re-connections are handled automatically.
  • Data plane validation with salt minions (next release).
  • Memory leak detection (next release).

Installation

1
pip3 install netblow --user

Docs

Visit ReadTheDocs, knock yourself out.

Roadmap

Upcoming features and enhancements.

Contributing

I am looking for users and contributors, reach me out if you’re interested.

Enjoy!