Hello my friend,
Have we thought 5 years ago that we would manage to keep the blog running for such a long period of time and would create such a huge amount of useful information for the community? Definitely not. And that’s why it is even important we managed to achieve such a milestone. Thank a lot each of you for your support, ideas, feedbacks, shared on social medias and likes! That means a lot for us. Please, continue doing so 😉
The last 12 month were absolutely incredible. The COVID-19 pandemic struck word so much that noone could ever believe. As a result, we, pretty much as a whole work, worked from home all past 12 moths… Which was an unusual experience. However, we used this time (in fact, due to no necessity to spend time on commute, we have more time to work) productively working on various projects for you, our dear readers. So, what have we managed to achieve?
Network Automation and Programmability Fundamentals with Cisco Press
One of the massive achievements was to complete the book Network Automation and Programmability Fundamentals, which was published by Cisco Press in May 2021. The journey for us started back in 2018 since the offer by Khaled Abuelenain to join him and the team of the amazing authors (the Jeff Doyle and then time Ahmed El Bornou, who was due to some private circumstances replaced by Vinit Jain) in this project. This was the first time we ever took part in writing a book, and we must admit that the efforts were tremendous: writing, re-writing, technical reviewing (thanks to Jeff Tantsura and Viktor Osipchuk), and copywriting (thanks to whole CiscoPress team); all those stages were nervous and dense. But what matters is result: the book is published and we believe you already have purchased your copy!
Open Source Python Library for Network Management with GNMI
Back in 2020 there were no Python library, which allows you to easily manage your network with GNMI. There is an official Python bindings created by OpenConfig community, but it is impossible to use them without a solid software development background. Therefore, we decided to create a library, which can help us, our students, and the whole networking community to easily interact with network devices over GNMI withy Python. It is called pygnmi, which stands for Py(thon) GNMI. We are very happy that right after creating that we started receiving questions, comments and contributions from the community. That was an absolutely new and unusual experience to review the code created by others, and definitely an interesting learning curve.
Try GNMI in your network with Python
Network Automation Training Revised and New Nornir Training
In the last summer we significantly increased the amount of materials we provide in our network automation training:
- GNMI and Protocol buffers
- Python performance with asyncio
- Parsing the semi-formatted text with Ansible
- … and many others
We are very proud that one of the top networking vendor chosen us as their learning partner for automation and trained their personal with us!
Besides that we, launched a new training focused only on Nornir, one of the most popular Python automation frameworks. In this training we cover the principles of the high-scale network automation with Python for the variety of the vendors (Cisco, Nokia, Arista, Cumulus) with all meaningful protocols and interfaces (SSH/CLI, text templates, NETCONF and GNMI). Don’t miss opportunity to bring your knowledge to a new level.
Data Centre Network Analysis
Our passion and dedication to deliver a useful content and tools for you, dear reader, pushed us to create one more useful tool for you, which we called HAWK (Highly-efficient Automated Weapon Kit). It allows to collect the real-time information from network devices, such as LLDP or BGP topology, MAC/IPv4/IPv6 tables and build a network graph. The network graph serves two purposes:
- Visualise the network (create a responsive topology in an HTML file, which you can work with)
- Perform what-if analyse (e.g., analyse the impact on the network connectivity outage of certain node or node types).
As such, this tool allows you to easily figure out the state of the network now and how it could look under certain circumstances, so that you can plan the maintenance activity or development based on facts.
Videos
This year the videos are supporting our products and are acting as the video guides.
pygnmi
- pygnmi. Demo of gNMI Capabilities request
- pygnmi. Demo of gNMI Get request
- pygnmi. Demo of gNMI Set request
- pygnmi. Demo of gNMI streaming telemetry with Protobuf encoding
- pygnmi. Demo of gNMI streaming telemetry with JSON encoding
- pygnmi. Demo of pygnmi usage with Nornir
- pygnmi. Usage of the debug mode to see the Protobuf messages
- pygnmi. Demo of using self-signed certificates
- pygnmi. Demo of using environment variables to store credentials
HAWK
- HAWK. Data Centre Analyzer. Part #1: Visualisation
- HAWK. Data Centre Analyzer. Part #2: What-if Analysis
Besides taht
Subscribe to our channel to be updated with the latest videos!
Blogposts
Finally we got to the blogposts we managed to write to keep you up to speed with the latest tendencies or just useful network technologies, development, troubleshooting and automation
Nokia SR Linux and SR OS
- HS. Part 6. First impression from Nokia SRLinux.
- HS. Part 7. Interoperability of Nokia SRLinux and Microsoft Azure SONiC
- SP. Part 9. Health check of Segment Routing Traffic Engineering (SR-TE) with Seamless BFD
pygnmi
- pygnmi 1. Intro to pure Python gNMI module by karneliuk.com.
- pygnmi 2. How to use pyGNMI?
- pygnmi 7. Integration of pygnmi with Nornir
- pygnmi 8. Securing the gNMI connectivity with self-signed certificates.
- pygnmi 9. The safest way to store credentials for network devices.
Troubleshooting tools
- Tools 1. Top 5 tools for network performance troubleshooting
- Tools 2. How to learn your public IP? Programatically?
- Tools 3. Checking your connectivity bandwidth with Speedtest
- Tools 4. Checking bandwidth between your servers, VMs, containers or even phone with iperf
- Tools 5. Searching for live hosts with fping. IPv4 and IPv6 version.
- Tools 6. Where are my packets lost? MTR edition.
- Tools 7. Show me your packets … with TCP dump
- Tools 8. Visual Analysis of the Network Path with Open Source Databases and Python
Security
- SEC 3. Building your own containerised PKI (root CA) with Linux and Docker
- SEC 4. Complete guide for integrating Nokia, Arista, Cumulus, as well as Centos and Raspberry PI with PKI
Free Python lessons
- CEX (Code EXpress) 11. Working with files and parsing CSV.
- CEX (Code EXpress) 12. Using Python modules.
- CEX (Code EXpress) 13. Creating your own Python modules.
Others
- Ansible 2.10 introduction
- Installing FTP client (or any other Linux tool) on Cumulus Linux
- DC. Part 17. High-available server cluster connected to DC fabric.
- Visualise and Analyse Your Data Centre Fabric with HAWK
Thank you for being with us all the time!
We are looking in the new year with the optimism and looking to have more engagement with you, dear reader.
All the best,
Team Karneliuk.com