Hello my friend,
Typically on this date, June the 5th we celebrate the birthday of our company, Karneliuk.com. It started with a blog back in 2016 and since then we are constantly creating, what we believe is, interesting and useful educational content in the area of network technologies and network automation. We thank you a lot for being with us all this time!
Technically, we started blog earlier than June the 5th, but on that date we published our first blogpost about interconnecting Cisco IOS XR and Nokia SR OS VMs, which defined the course of the blog and the direction for the company – multivendorness. We breath multivendor network technologies every day in heterogeneous networks, which our team support for our companies and customers daily. And we build multivendor network automation to unleash the true potential of networks and IT systems being an enabler for applications and user services, rather than an obstacle draining time and money of organizations.
So, what have we done in the past twelve months? Let’s take a look.
Our Own Prometheus Exporter
One of the interesting experiences we’ve obtained in the software development was the development of Prometheus exporter to report trace routes. It was quite surprisingly to find out that there was no exporter on the market which could collect traceroute information, despite Prometheus exists for quite a while already.
So, we accepted the challenge and created our own Prometheus in Python leveraging Python libraries without any nasty CLI wrappers. Moreover, we took it even further by creating a version which can run on ARM32 (e.g., Raspberry PI) platform.
Automation Open Source Tools and Pygnmi
Next important piece we’ve done is a development of various automation tools or MVPs of user scenarios, showing how Python and/or Ansible can help you to improve you network operations. The following items were very important, as they created a difference for us and helped to deliver a few projects (the list is not exhaustive, though):
- Pygnmi – leading Open Source Python library for network management with gNMI. There were a few additions, which improved both a user experience and functionality. Thanks a lot to everyone, who has contributed to that.
- Cumulus-5.0-api – collection of Ansible roles to manage the new generation of NVIDIA Cumulus 5.0 via REST API.
- NAPALM vs OpenConfig – collection of Python scripts comparing the similarities and differences in operation between NAPALM and OpenConfig/YANG over NETCONF for multivendor network automation.
- Host Connectivity Auditor – Python tool, which leverages Nornir, was created to help us auditing a customer network running mixed Cisco/Arista setup, so that we can get the list of hosts (servers) based on interfaces descriptions mapped to MAC and IP addresses.
We had a chance to be engaged in a few OpenStack projects, and I even became Certified OpenStack Administrator. Exploration of the OpenStack space showed us that it is a brilliant system; however, it is very complicated to set it up properly. Moreover, there are big promotional campaigns from all public cloud providers about their products, which also creates a big community of bloggers around them. This means that OpenStack stays quite alone and only big companies, such Ebay, PayPal or Deutsche Telecom, are using it. We decided to kick off new video series, which will give people a practical overview of what OpenStack is and how to get an OpenStack clustomer up and running relatively easy this days taking advantage of the automation tools created by OpenStack community.
Automation Orchestration with AWX
We created a new network automation training which aims to teach you how to use AWX (Open Source free version of Ansible Automation Controller (aka Ansible Tower)). AWX/Ansible Tower allows you to introduce an order and control in a usage of Ansible for Network an Infrastructure automation by creating a centralized execution environment, with centralized logging, Role-based access, inventory and credentials storage, and workflow managers.
New Format – Self-paced Trainings with Lab Access
We also built our own online platforms for labs, which is called Karneliuk Lab Cloud (KLC). This platform allows our students to conduct all the labs from our trainings (Zero-to-hero Network Automation Training, Network Automation with Nornir, Automation Orchestration with AWX) in a pre-built environment, where they can focus solely on training and learning, rather than on fixing underlying infrastructure problems in Linux, what boosts the speed and quality of your study significantly.
Finally, we wrote a number of articles and recorded a few videos for you. We tried to organize them in categories; though, you may find a better way to classify them.
- Network Analysis 1. Setting up and Getting Started with Batfish in Multivendor Network with Cisco, Arista, and Cumulus.
- Network Analysis 2. Analysing Network Configuration Consistency (Sanity check, BGP, Routes) with Batfish for Cisco, Arista, and Cumulus.
Automation of Nokia
- Automation 1. First impression from pySROS – new Python library for automation of Nokia SR OS devices
- Automation 2. Exploring Nokia SR OS configuration in a programmable way with pySROS
- Automation 3. Configuring of Nokia SROS via NETCONF/YANG with pySROS and Python
- Automation 5. Running Python (MicroPython) Scripts with pySROS Directly on Nokia SR OS Network Devices
- Automation 7. Running and Parsing MD-CLI Commands with pySROS Directly on Nokia Router or Remotely.
Other Types of Automation
- Automation 6. Multi vendor Network Automation in 2021/2022: NAPALM vs OpenConfig
- Automation 8. Overview and Getting Started with Model-Driven Automation in Cumulus Linux 5.0
- Automation 9. Comparing data collection with NAPALM and OpenConfig/YANG over NETCONF in Python for Cisco IOS XR and Arista EOS
- Automation 10. Installing NAPALM Community Driver for Nokia SRO OS and comparing NAPALM and OpenConfig/YANG.
- Automaton 11. Data Models for NVIDIA Cumulus 5.0. Collecting Config and Operational Data via REST API with Ansible.
- Automation 13. Real-life Example of a Python Automation for a Network Audit with Nornir and Scrapli
- Infrastructure 3. Deploying High Performance Pure Virtual Linux Router – 6WIND
- Automation 4. Extracting and Exploring 6WING YANG Modules with NETCONF, Pyang and Ansible
- Automation 12. Automated EVPN Customer Deployment with Ansible, NETCONF, and NetBox. 6WIND version.
- Infrastructure 1. Building Virtualized Environment with Debian Linux and Proxmox on HP and Supermicro
- Infrastructure 2. Building Multi Server Cloud with Proxmox (Debian Linux) and Local Storage
- pygnmi 10. Rapid and Reliable Network Testing with Pytest, Pygnmi, and OpenConfig
- pygnmi 11. Measuring Automated Testing with Coverage.py and Pytest
- pygnmi 12. pyGNMI CLI to Explore GNMI Capabilities of the Network Devices
- pygnmi 13. Easy and Reliable Change Validation with pyGNMI and dictdiffer by CERN
- Tools 8. Monitoring Network Performance with Dockerised Prometheus, Iperf3 and Speedtest
- Tools 9. Monitoring Availability of Customers via HTTP GET, ICMP, and DNS via Dockerised Prometheus
- Tools 10. Developing Our Own Cross-platform (AMD64/ARM32) Traceroute Prometheus Exporter for Network Monitoring using Python
- #000. Introduction to Pratical OpenStack Series
- #001. What is cloud computing?
- #002. Why OpenStack?
- #003. Why did we decide to create these series?
- #004. How to build real world OpenStack cloud?
- #005. What are Microservices and why they matter for OpenStack?
All Other Blogs
- Bash #1. Automating Troubleshooting (Cumulus) Linux Networking
- Exams 1. Cisco Certified DevNet Expert Lab Exam Overview
- Events. My experience from taking part in NANOG #84 Hackathon
- Events. My first MPLS World Congress: Impressions, Feelings, and Raise of AI.
- Infrastructure 4. How to Run Cisco Nexus 9000v in Proxmox to Lab Cisco Data
Thank you for being with us, my friend! Thanks for your questions and interactions in blog and social networks. Thanks for attending our live events and our trainings. Thanks for using out open source tools and contributing back. As Sir Elton John sings in his amazing song, “I’m still standing!” So do we.