Anton Karneliuk

Author Archives: Anton Karneliuk

Automation 12. Automated EVPN Customer Deployment with Ansible, NETCONF, and NetBox. 6WIND version.

Hello my friend,

We’ve been preparing this blogpost for quite a while, but for various reasons it was put on the back burner. Now we finally are bringing this back to light. We’ll go over a practical use case of automation of 6WIND configuration with Ansible and NetBox relying NETCONF.


1
2
3
4
5
No part of this blogpost could be reproduced, stored in a
retrieval system, or transmitted in any form or by any
means, electronic, mechanical or photocopying, recording,
or otherwise, for commercial purposes without the
prior permission of the author.

Do I Need to Automate Everything?

The answer is, as usual: it depends. With our passion to automation, we would say: yes, definitely you should automate everything. But this is possible, only if you have unlimited resources (time, money, people). In reality, all the resources are limited and, moreover, may be even scarce. In such a case you would need to choose, where would you obtain the biggest leverage from automation. For example, some tasks are more frequent or time consuming than others. Clearly they are to be automated.

How to find them? Join our automation training and you will find that out!

We offer the Continue reading

Events. My experience from taking part in NANOG #84 Hackathon

Hello my friend,

collaboration, team work, team spirit… These and other similar words we are using quite often to show the importance of working together to achieve something big. Especially, if you have very limited time. This is a good description of the hackathon – the team effort to achieve something big (i.e., MVP of working product) in a short term (i.e., in 24 hours). Let’s see what’s that all about.


1
2
3
4
5
No part of this blogpost could be reproduced, stored in a
retrieval system, or transmitted in any form or by any
means, electronic, mechanical or photocopying, recording,
or otherwise, for commercial purposes without the
prior permission of the author.

What Was the Hackathon?

There are many hackathons worldwide. The trend we observe now is that many technical events have hackathon as a warm-up event or a part of the main program. In this case, the event was NANOG 84, which is one of the biggest gatherings for all Service Providers, Telco equipment vendors, and system integrators in North America. It is a massive opportunity to learn some interesting things from some leading companies, like their experience and lessons learned Continue reading

Automaton 11. Data Models for NVIDIA Cumulus 5.0. Collecting Config and Operational Data via REST API with Ansible.

Hello my friend,

Right before the New Year we have posted an article, where we introduced a new approach to manage Cumulus Linux, which became available in the latest release to the date Cumulus Linux 5.0. This approach relies on REST API, which makes the automation of this platform very comfortable. Today we’ll cover how to collect the configuration and ope data with the most popular network and infrastructure automation tools these days: Ansible and Python.


1
2
3
4
5
No part of this blogpost could be reproduced, stored in a
retrieval system, or transmitted in any form or by any
means, electronic, mechanical or photocopying, recording,
or otherwise, for commercial purposes without the
prior permission of the author.

Ansible or Python? Python or Ansible?

To be absolutely frank, there is no “or”. There is only “and” in such a question. Both Ansible and Python play crucial role in network and infrastructure automation. Both of them are widely used in various companies from small enterprise to gigantic tier-1 web companies (e.g., Google, Amazon, etc). We see different usage patterns, such as Ansible + AWX being a main toolkit, or Python + Stackstorm or Apache Airflow Continue reading

Automation 10. Installing NAPALM Community Driver for Nokia SRO OS and comparing NAPALM and OpenConfig/YANG.

Hello my friend,

In the previous blogpost we have compared the usage of NAPALM and OpenConfig YANG modules with NETCONF transport for Cisco IOS XR and Arista EOS. Those two operation systems are so called core operating systems for NAPALM and are included in its standard distribution. Besides them, other three (there are five core network operating systems in NAPALM) are Cisco IOS, Cisco Nexus, and Juniper Junos. You though can use NAPALM with other operating systems, if there are community drivers available. In today’s blogpost we cover installation and usage of NAPALM Community Driver for Nokia SR OS and its comparison against OpenConfig/YANG with NETCONF.


1
2
3
4
5
No part of this blogpost could be reproduced, stored in a
retrieval system, or transmitted in any form or by any
means, electronic, mechanical or photocopying, recording,
or otherwise, for commercial purposes without the
prior permission of the author.

How Is It Important to Know Python?

Recently we were engaged with one of our customers to help with OpenStack deployment. The first step for us was to build the lab, which could replicate the desired setup. The installation of OpenStack manually (there are means to automate that as Continue reading

Automation 9. Comparing data collection with NAPALM and OpenConfig/YANG over NETCONF in Python for Cisco IOS XR and Arista EOS

Hello my friend,

We hope you have aa good festive period, celebrated Christmas and New Year with your family and friends, and started the new year. Some time ago we’ve discussed a comparison of NAPALM and OpenConfig at a high level and promised to share some details. Today you will see the details of data collection with NAPALM and NETCONF with OpenConfig YANG modules.


1
2
3
4
5
No part of this blogpost could be reproduced, stored in a
retrieval system, or transmitted in any form or by any
means, electronic, mechanical or photocopying, recording,
or otherwise, for commercial purposes without the
prior permission of the author.

Where to Start with Automation?

Recently we have had an interesting webinar together with Rick Donato, my colleague from a Network Automation Industry. During the webinar we mapped various products existing in the automation (not only network, but in general) space and, you know what, there is indeed a huge amount of products. Therefore, when you are already a savvy in the automation world, you can benefit from them a lot. However, if you are just making first steps, you will be totally lost.

We want you to be a beneficiary Continue reading

Automation 8. Overview and Getting Started with Model-Driven Automation in Cumulus Linux 5.0

Hello my friend,

yes, we are nerds. Despite the Christmas holidays we continue working and delivering value. After all, Guido von Rossum has created Python over Christmas holidays. We find that very inspiring to be honest and, therefore, decided to look into something appealing as well.


1
2
3
4
5
No part of this blogpost could be reproduced, stored in a
retrieval system, or transmitted in any form or by any
means, electronic, mechanical or photocopying, recording,
or otherwise, for commercial purposes without the
prior permission of the author.

How to automate the automation?

Is that even a right term “automating the automation”? It is quite right, yes. It ultimately means the capability to be able to invoke automation workflows not only manually by the automation operator, but also in an automated way: via API request (e.g., called from a customer self-service portal or web hook from some other application) or certain event or condition (e.g., based on syslog, SNMP streaming telemetry). For various types of the application (Ansible or Python) there are different automation platforms (AWX, Apache Airflow, StackStorm) existing, which ultimately fulfil that task.

And in our trainings you will get an exposure Continue reading

Merry Christmas and Happy New Year 2022

Hello dear friend,

Another year is ending. It was not easy for many of us neither in professional nor in personal matters. Despite that, we still hope it was successful for you, as much as the year, when we spend a lot of time in lockdown and insolation, can be successful.

We sincerely wish you all the best in thew New 2022 Year!
– There will be challenges, but you are strong enough to overcome them.
– There will be storms, but you have your goals and you won’t get lost.
– There will be issues, but you have network automation to solve routine and leave your time for what matters.

Be healthy. Be lucky. Be happy.

Stay connected, we appreciate it a lot, dear friend.

Merry Christmas and Happy New Year!

And if you need any help, always feel free to reach us.

Your Team Karneliuk

Automation 7. Running and Parsing MD-CLI Commands with pySROS Directly on Nokia Router or Remotely.

Hello my friend,

We are continuing studying the Python library pySROS, which Nokia recently published. With all our passion for the Model-Driven Automation, we know that still a lot of people use the CLI daily. As such, today we’ll take a look on how we can automate execution and processing of the output of CLI commands in Nokia SR OS devices.

I See 10 Years Old Kids Creating Tools in Python… Is That Late to Start?

It is not. In fact, it shows that the there are no barriers to start learning and using Python. People come to a programming and software development with different backgrounds and for different purposes. However, all of them are united by a single goal: how to do something more efficient. This something is in fact can be anything: starting from a simple data analysis to a complex web application to games and, of course, to a network automation. At our trainings we use Python a lot; however, we know that network engineers may have no background in software development, and, therefore, we teach you basics of Python syntax, semantic and architecture, so that you can use it for network automaton (and other purposes) Continue reading

Automation 6. Multi vendor Network Automation in 2021/2022: NAPALM vs OpenConfig

Hello my friend,

Recently I was talking to a colleague from the network automation area, and during the discussion we touched a topic of NAPALM, and which role it plays today, and what may be its future. This discussion triggered me to think more about this topic and I decided to share thoughts with you.


1
2
3
4
5
No part of this blogpost could be reproduced, stored in a
retrieval system, or transmitted in any form or by any
means, electronic, mechanical or photocopying, recording,
or otherwise, for commercial purposes without the
prior permission of the author.

Will Network Automation Become Less Popular?

No, it won’t. Actually, it is quite opposite. It will be becoming even more important and it will be taking even more complicated forms, such as integration with Artificial Intelligence and Machine Learning (AI/ML) to help companies to reduce amounts and durations of downtimes. It doesn’t mean that traditional network technology knowledge are less important: they absolutely are. However, the automation is unavoidable and you have to know it in order to stay in the profession. And pretty much, like with network technology you start with fundamentals of protocols before starting configuring them, in the Continue reading

pygnmi 13. Easy and Reliable Change Validation with pyGNMI and dictdiffer by CERN

Hello my friend,

One of the import aspects of the reliable change management is to know for sure, which operational impact has the change of the network configuration. In this blogpost you will learn, how it is easy to build such a robust framework for the network management with pyGNMI, our Open Source Python library for network management with gNMI, and DeepDiff, quite cool Open Source library for a comparison of two elements.


1
2
3
4
5
No part of this blogpost could be reproduced, stored in a
retrieval system, or transmitted in any form or by any
means, electronic, mechanical or photocopying, recording,
or otherwise, for commercial purposes without the
prior permission of the author.

Won’t Network Automation Let Me Know Which Impact Did the Change Make?

It absolutely will, if you create your automation tool in such a way. The development and implementation of network automation is always tailored to the company processes. Therefore, if you validate the status of the network before and after the change right now in a manual way, you can implement the same logic in the automated way as well. At our network automation trainings we teach you about the Continue reading

Exams 1. Cisco Certified DevNet Expert Lab Exam Overview

Hello my friend,

Recently Cisco has finally announced the expert level certification in their automation and software development track named DevNet. The idea behind this certification track is to promote the DevOps mindset and culture in the traditional network engineering and to give the necessary theoretical knowledge and practical skills for engineers to start developing, maintaining and supporting network automation in Cisco Networks.


1
2
3
4
5
No part of this blogpost could be reproduced, stored in a
retrieval system, or transmitted in any form or by any
means, electronic, mechanical or photocopying, recording,
or otherwise, for commercial purposes without the
prior permission of the author.

Brief Description

This Lab exam allows the one to earn the Expert level certification, provided the individual has already passed the theoretical exam DevCore (350-901 Developing Applications using Cisco Core Platforms and APIs). The expert level certification from Cisco is often very attractive for networking engineers as it generally well-respected across the industry and acts as a guideline of what engineer at a certain level is expected to know. The DevNet certification is yet relatively young and finding its path, as it steps in the area where it is competing with some Continue reading

Automation 5. Running Python (MicroPython) Scripts with pySROS Directly on Nokia SR OS Network Devices

Hello my friend,

We have already reviewed how to collect the operational and configuration data from Nokia SR OS devices, and even how to structure it in YANG trees, as well as how to configure network devices with Python and pySROS. You may think, that all the interesting things about Nokia pySROS are already covered. Well, we have some more aces in the pocket for you. Today you will learn some new things, such as MicroPython and how to run the pySROS code directly on Nokia SR OS based network functions.


1
2
3
4
5
No part of this blogpost could be reproduced, stored in a
retrieval system, or transmitted in any form or by any
means, electronic, mechanical or photocopying, recording,
or otherwise, for commercial purposes without the
prior permission of the author.

Network Automation Is So Popular These Days… Shall I Do Something Different?

Network Automaton is indeed getting more and more popular. There are a few reasons for that: one the one hand, networks getting more complex with all fancy SDx technologies (SDN, SD-WAN, SDA, etc); on the other hand, it is required to deliver new services quicker and quicker. Doing the things manually Continue reading

pygnmi 12. pyGNMI CLI to Explore GNMI Capabilities of the Network Devices

Hello my friend,

For a a while we were silent about pyGNMI; however, it doesn’t mean that the project is abandoned. Actually, it is quite opposite: we are very delighted and thankful for the community that we have a number of contributors from the whole world, who is taking part in the pyGNMI project and committing new code. Thanks to the community, a few new features were added as well as a number of bugs fixed. And today we will take a look one of such community-added features, which is called pygnmcli.


1
2
3
4
5
No part of this blogpost could be reproduced, stored in a
retrieval system, or transmitted in any form or by any
means, electronic, mechanical or photocopying, recording,
or otherwise, for commercial purposes without the
prior permission of the author.

Is GNMI a Good Interface for Network Automation?

Yes, it is. GNMI is one of the most recent interfaces created for the management plane, which allows you to manage the network devices (i.e., retrieve configuration and operational data, modify configuration) and collect the streaming or event-driven telemetry. Sounds like one-size-fits-all, isn’t it? On top of that, GNMI supports also different transport Continue reading

Automation 4. Extracting and Exploring 6WING YANG Modules with NETCONF, Pyang and Ansible

Hello my friend,

Some time ago we’ve explained how to deploy a 6WING vRouter in a Linux environmennt, such as our Open Source Virtualised cloud with Debian Linux and ProxMox. One of the good things about 6WIND is that its configuration is entirely based on YANG modules and is exposable via NETCONF. Today you will learn how to get 6WIND YANG modules, how are they structured with Pyang and how to automate its extraction with Ansible.


1
2
3
4
5
No part of this blogpost could be reproduced, stored in a
retrieval system, or transmitted in any form or by any
means, electronic, mechanical or photocopying, recording,
or otherwise, for commercial purposes without the
prior permission of the author.

Why Is Everyone so Passionate about Model-Driven Automation and YANG?

All we love nice configuration files made in easy readable YANG or JSON, isn’t it? The beauty of working with them is that you don’t need to create a text string parsers, which is always a difficult task. One of the reasons, why it is so difficult to create parsers, is because of ever changing CLI structures and also values in the semi-formatted text, our ascii tables we see Continue reading

Automation 3. Configuring of Nokia SROS via NETCONF/YANG with pySROS and Python

Hello my friend,

we continue the review and tutorial of pySROS, the Nokia Python library to manage the Nokia SR OS based routers via NETCONF/YANG. In previous blogposts we’ve covered how to poll the configuration and operational data and how to structure the received data and explore its YANG modules. Today we’ll take a look how to configure Nokia SR OS based devices.


1
2
3
4
5
No part of this blogpost could be reproduced, stored in a
retrieval system, or transmitted in any form or by any
means, electronic, mechanical or photocopying, recording,
or otherwise, for commercial purposes without the
prior permission of the author.

I Have Software Developers in My Company. Why Should I Do Automation?

This is one of the trickiest questions, which doesn’t have a simple answer. Really, why should you, network or security engineer, bother yourself and step into completely new and unknown world of automation and development? The reason for that very simple: network and security automation (and infrastructure automation in general) requires detailed knowledge of the network and security infrastructure first of all. We always say at our trainings: automation is automation of your knowledge and skills. So

On top of that, Continue reading

Infrastructure 3. Deploying High Performance Pure Virtual Linux Router – 6WIND

Hello my friend,

Network Function Virtualisation (NFV) is not a new topic. There are numerous blogpost and articles, even in our blog, which review this topic. Yet, there is much more we can cover. Today we’ll share some insights on one of the very interesting products existing on the market today: 6WIND vRouter Turbo Router. We have a limited amount of days to write a few articles under our evaluation license. Hence, we’ll focus only on the most critical elements.


1
2
3
4
5
No part of this blogpost could be reproduced, stored in a
retrieval system, or transmitted in any form or by any
means, electronic, mechanical or photocopying, recording,
or otherwise, for commercial purposes without the
prior permission of the author.

Is Linux Suitable for Automation?

It absolutely is. In fact, Linux is the real home for automation systems, as in many cases it hosts the tools you create in Ansible, Python, Bash, Go or any other language. At the same time, in order to effectively work with Linux, you need to know how to automate management and operation of Linux operating system itself. And you will be absolutely capable to do that, once you attend our Continue reading

Automation 2. Exploring Nokia SR OS configuration in a programmable way with pySROS

Hello my friend,

Thanks a lot for all your interactions over our last post, it was very good feeling. As it attracted your attention, we decided to explore this topic further. Today we’ll focus on two main aspects: how you can figure out from Nokia SR OS CLI, what is your path to use in pySROS and how you visualise a configuration tree following YANG module.


1
2
3
4
5
No part of this blogpost could be reproduced, stored in a
retrieval system, or transmitted in any form or by any
means, electronic, mechanical or photocopying, recording,
or otherwise, for commercial purposes without the
prior permission of the author.

I Have Heard, Facebook Automation Caught It, Isn’t It?

Facebook outage happened the last week caused a lot of discussions, how reliable automation is in general and if there are too much automatons these days already in the infrastructure systems. Really, if Facebook with their smartest network and automation engineers failed, should I stay far away from automation? We believe, everyone will find his or her answer. From our perspective, we know that Facebook will make their systems after failure more robust and working. By the way, in our training Continue reading

Automation 1. First impression from pySROS – new Python library for automation of Nokia SR OS devices

Hello my friend,

For quite a while we were silent (literally, the last post was month ago), as we were busy with extremely busy with completion of an important customer engagement. It was successfully completed and we are back on track with writing new interesting and useful (we hope so :-)) materials for you! And today we talk about our favourite topic – automation. To be precise, automation of Nokia SR OS devices with a new Python library called pySROS created by Nokia folks.


1
2
3
4
5
No part of this blogpost could be reproduced, stored in a
retrieval system, or transmitted in any form or by any
means, electronic, mechanical or photocopying, recording,
or otherwise, for commercial purposes without the
prior permission of the author.

Why Is That Useful for Me?

If you have ever been in a situation, when there are much more work than hours in a day, then you know how important is to be able to do the job quickly and accurately. It is even better, if such job is done not by yourself, but rather by someone else or something else. This is exactly, where the automation of network and Continue reading

pygnmi 11. Measuring Automated Testing with Coverage.py and Pytest

Hello my friend,

It is been a while since we posted our last blogpost, which was touching Infrastructure aspects of building Multi Server Cloud with ProxMox. After summer break we continue our blogging and developing activities at Karneliuk.com. Today we’ll show some backstage of the software development of the pygnmi.


1
2
3
4
5
No part of this blogpost could be reproduced, stored in a
retrieval system, or transmitted in any form or by any
means, electronic, mechanical or photocopying, recording,
or otherwise, for commercial purposes without the
prior permission of the author.

What is Automation? Network Automation?

In a nutshell, Automation and Network Automation are just subset of tasks from a broader topic called Software Development. With the move of the world towards Industry 4.0, the digital economy growth and others, all sort of applications are becoming more widely used. In order you create a history, and not being a part of that in the past, you shall know the principles of software development and be able to create applications yourselves. Sounds complicated? It may be, indeed. However, with our Network Automation Training you definitely will have a break-through in the software development world.

At our Continue reading