Anton Karneliuk

Author Archives: Anton Karneliuk

GNMI. Part 3. Using gRPC to collect data in OpenConfig/YANG from Arista EOS and Nokia SR OS.

Hello my friend,

finally after some time we are writing again about the OpenConfig, Nokia SR OS and Arista EOS. This time we do that in the context of gNMI (gRPC network management interface). So, today you will learn how to collect the configuration and operational data from the network functions using gNMI. As usual, there will be a lot of Python, and a lot of fun.

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.

Start your network automation journey

Network automation is a must-have technology set in all the industries these days. A lot of companies are talking about it, some of them are practising NetDevOps and automation approached. And latter one create a huge positive difference in their business.

Join the industry-best network automation training.

At this training we teach you all the necessary concepts such as YANG data modelling, working with all the most relevant data formats JSON/YAML/XML/Protobuf, Linux administration basics, programming in Bash/Ansible/Python for multiple network operation systems including Cisco Continue reading

GNMI. Part 2. Decoding Protobuf messages with Python.

Hello my friend,

In the previous blogpost we started the discussion about the gNMI/Protobof approach to network automation by creating the Protobuf message. Today we continue it showing read the Protobuf messages.

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 training – self-paced and live online

Network automation is a must-have technology set in all the industries these days. It is no more the matter of innovation, it is a matter of normal business operation. And we are happy to help you and your company with automation by providing the necessary holistic knowledge, skills and tools to make your automation journey successful:

At this training we teach you all the necessary concepts such as YANG data modelling, working with JSON/YAML/XML/Protobuf data formats, Linux administration basics, programming in Bash/Ansible/Python for multiple network operation systems including Cisco IOS XR, Nokia SR OS, Arista EOS and Cumulus Linux. All the most useful things such as NETCONF/RESTCONF, REST API, gNMI, OpenConfig and many others. Don’t miss Continue reading

GNMI. Part 1. Intro to Protobuf.

Hello my friend,

Some time ago we have covered in-depth OpenConfig with NETCONF configuration as well as the OpenConfig telemetry with NETCONF. Today we want to make a next step and start discussion about another approach to manage the network elements in a programmatic way, which is gNMI.

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 training – self-paced and live online

Following your asks we open a new format for the network automation training – self-paced format:

  • It doesn’t matter what your timezone is.
  • It doesn’t matter how much hours weekly do you have to study.
  • It doesn’t matter how solid is your current background in automation, scripting and software development.

You decide on your own when, how often and how quickly you can learn.

However, if you want to join groups, that is something we are happy to offer you as well.

At this training we teach you all the necessary concepts such as YANG data modelling, working with JSON/YAML/XML Continue reading

HS. Part 5. Automation at high-scale: Bringing network up (Docker SONIC-P4 and Linux bridges) based on the network graph.

Hello my friend,

Finally we approached the point where we start dealing with the network functions again, now at a high scale. After we have successfully generated the configuration files for our Microsoft Azure SONiC network functions, it is a time to boot them, span them and get the emulated data centre up and running.

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 training – now as a self-paced course as well

Following your asks we open a new format for the network automation training – self-paced format:

  • It doesn’t matter what your timezone is.
  • It doesn’t matter how much hours weekly do you have to study.
  • It doesn’t matter how solid is your current background in automation, scripting and software development.

Because you decide on your own when, how often and how quickly you can learn.

At this training we teach you all the necessary concepts such as YANG data modelling, working with JSON/YAML/XML data formats, Linux administration basics, programming in Continue reading

HS. Part 4. Forging Microsoft SONiC configuration out of the network graph.

Hello my friend,

The visualisation of the network graph is an important part of the network development and management, but we need to move on. Today we will focus on the configuration for Microsoft SONiC running as Docker containers.

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 training – boost your career

To be able to understand and, more important, to create such a solutions, you need to have a holistic knowledge about the network automation. Come to our network automation training to get this knowledge and skills.

At this training we teach you all the necessary concepts such as YANG data modelling, working with JSON/YAML/XML data formats, Linux administration basics, programming in Bash/Ansible/Python for multiple network operation systems including Cisco IOS XR, Nokia SR OS, Arista EOS and Cumulus Linux. All the most useful things such as NETCONF, REST API, OpenConfig and many others are there. Don’t miss the opportunity to improve your career.

Brief description

As we pointed out Continue reading

HS. Part 3. Working out graphs capabilities for the network modelling.

Hello my friend,

There was quite a considerable amount of the feedbacks on the previous post about the data centre network visualisation with graphs. Originally we planned to cover the topology generation today. However, we changed the plan to improve the math model of our graph to make it more flexible and useful from modelling perspective.

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 training – boost your career

To be able to understand and, more important, to create such a solutions, you need to have a holistic knowledge about the network automation. Come to our network automation training to get this knowledge and skills.

At this training we teach you all the necessary concepts such as YANG data modelling, working with JSON/YAML/XML data formats, Linux administration basics, programming in Bash/Ansible/Python for multiple network operation systems including Cisco IOS XR, Nokia SR OS, Arista EOS and Cumulus Linux. All the most useful things such as NETCONF, REST API, OpenConfig and many Continue reading

HS. Part 2. Automatic generation and visualisation of the network topology.

Hello my friend,

Surprisingly for myself in the previous post about networking I’ve started completely new topic. It was about the Microsoft Azure SONIC running inside the Docker container and network between those containers. Why is that new? Why does it matter? What is in it for 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.

Network automation training – boost your career

To be able to understand and, more important, to create such a solutions, you need to have a holistic knowledge about the network automation. Come to our network automation training to get this knowledge and skills.

At this training we teach you all the necessary concepts such as YANG data modelling, working with JSON/YAML/XML data formats, Linux administration basics, programming in Bash/Ansible/Python for multiple network operation systems including Cisco IOS XR, Nokia SR OS, Arista EOS and Cumulus Linux. All the most useful things such as NETCONF, REST API, OpenConfig and many others are there. Don’t miss the opportunity to improve Continue reading

CEX (Code EXpress) 10. Creating user functions.

Hello my friend,

So far you have learned the most vital tools to start writing your code in Python such as Python’s variables, lists, dictionary data constructions and code flow control for, while and if. Today you will see how to join them all together to create a user defined functions to make your Python’s code cleaner and less error-prone.

Network automation training – boost your career

Don’t wait to be kicked out of IT business. Join our network automation training to secure your job in future. Come to NetDevOps side.

How does the training differ from this blog post series? Here you get the basics and learn some programming concepts in general, whereas in the training you get comprehensive set of knowledge with the detailed examples how to use Python for the network and IT automation. You need both.

What are we going to do today?

User-defined functions is a reusable parts of the Python’s code, which allow you create some processing once in your code and then call it multiple types anywhere you need. So you will learn:

  • Why it is useful to create user-defined functions
  • How to create the user-defined functions and use them Continue reading

DC. Part 17. Emulating a hyper-scale datacentre with Microsoft Azure SONiC as Docker containers (SONiC-P4).

Hello my friend,

In the previous article from the networking series we have started the discussion about SONiC (Software for Open Networking in Clouds), which is a network infrastructure behind Microsoft Azure cloud. Today we continue this discussion from slightly different angle: we will emulate the whole data centre infrastructure end-to-end with leafs, spines and servers.

Network automation training – boost your career

Don’t wait to be kicked out of IT business. Join our network automation training to secure your job in future. Come to NetDevOps side.

How does the training differ from this blog post series? Here you get the basics and learn some programming concepts in general, whereas in the training you get comprehensive set of knowledge with the detailed examples how to use Python for the network and IT automation. You need both.

Thanks

Big thanks to a colleague of mine, Michael Salo, who shared with me useful insights on namespaces networking in Linux.

Brief description

Previously we’ve run the SONiC on the Mellanox SN2010 switch, which was provided to me by the Mellanox team to do some reviews. I’ve returned it back, so I started looking for the opportunities to run the Microsoft Azure Continue reading

CEX (Code EXpress) 09. For loop + if conditional = while loop. And the most popular math functions.

Hello my friend,

So far you have learned about the for loop and if conditional. Both of these tools are very useful and have a wide area of the applicability inside the network automation filed. But what if we need to do some activities in your Python code continuously until a certain condition becomes False? The answer you will find in this blogpost.

Network automation training – boost your career

Don’t wait to be kicked out of IT business. Join our network automation training to secure your job in future. Come to NetDevOps side.

How does the training differ from this blog post series? Here you get the basics and learn some programming concepts in general, whereas in the training you get comprehensive set of knowledge with the detailed examples how to use Python for the network and IT automation. You need both.

What are we going to do today?

While loop is a specific type of the loop in Python, which is being executed infinitely while the associated condition is True. All the knowledge you got about the if conditionals are applicable here as well.

Read the if conditional blogpost for more details.

Therefore, while instruction requires careful planing Continue reading

CEX (Code EXpress) 08. Conditionals and wishes.

Hello my friend,

In the previous blogpost we’ve started the discussion about the instructions, which yo need to know in order to create a Python’s code. Namely, we you have learned how to create and use for loops for the Python’s lists and dictionaries. Today you will learn how to create conditionals.

Network automation training – boost your career

Don’t wait to be kicked out of IT business. Join our network automation training to secure your job in future. Come to NetDevOps side.

How does the training differ from this blog post series? Here you get the basics and learn some programming concepts in general, whereas in the training you get comprehensive set of knowledge with the detailed examples how to use Python for the network and IT automation. You need both.

What are we going to do today?

Together with the the loops, the conditionals create a basis of almost each and every script. You would use them, when you need to make a decision about an action you code should execute, when there are multiple actions available and they are dependent in some facts. Therefore, you will learn:

  • How to create a conditional instruction using if .. elif .. else .. Continue reading

vlog. Episode 8. History and future of the networking.

Hello my friend,

Today I have a unique opportunity to talk to one of the most well-known authors in the networking industry. Especially if you ever studied for CCIE (link). This is a legendary person, which put his hands on the implementation of many technologies in the service providers, data centres and enterprises.

In this episode, together with Jeff Doyle (yes, this particular Jeff Doyle) we discuss his experience as an author of the networking books, and as a network engineer and architect. We discuss the major steps in the telecommunication’s development over a couple of past decades and what we should expect.

On top of that, Jeff shares his opinion on the skills necessary for the network engineers now and in the future.

Don’t forget to subscribe for the channel, put likes and repost the video if you like that! ?

Support us





P.S.

If you have further questions or you need help with Continue reading

CEX (Code EXpress) 07. Loops are bad in the networks, but not in code.

Hello my friend,

We have covered all the necessary types of the Python’s variables (ordinary, lists and dictionaries) and now we can move on with further concepts. And the first immediate pit stop is the question “how can we work with the Python’s lists and dictionaries efficiently?” The answer wold be “just loop them”!

Network automation training – boost your career

Don’t wait to be kicked out of IT business. Join our network automation training to secure your job in future. Come to NetDevOps side.

How does the training differ from this blog post series? Here you get the basics and learn some programming concepts in general, whereas in the training you get comprehensive set of knowledge with the detailed examples how to use Python for the network and IT automation. You need both.

What are we going to do today?

The looping of the sibling’s element out of any data structure, such as a Python’s list or a dictionary, is one of the essential building blocks of any programming code, including the simplest ones. Therefore, today you will learn:

  • How to create loop over Python’s lists using for instruction.
  • How to create loop over Continue reading

vlog. Episode 7. Open Networking and white boxes

Hello my friend,

after short pause caused by the launch of the Network Automation Training we continue our video blog series. We’ve written a lot about open networking so far and today we talk about it.

CY2019 Episode 7 // Open Networking with Avi Alkobi

In this episode, together with Avi Alkobi from Mellanox we explore the Open Networking world from the Data Centres perspective. On a side note, we discuss the new paradigm for networking: open-source vs. traditional vendor lock-in.

Don’t forget to subscribe for the channel, put likes and repost the video if you like that! ?

Support us





P.S.

If you have further questions or you need help with your networks, I’m happy to assist you, just send me message. Also don’t forget to share the article on your social media, if you like it.

BR,
Anton Karneliuk

CEX (Code EXpress) 06. Look into your dictionary.

Hello my friend,

We have discussed so far ordinary variables in string, numeric and Boolean formats and list variables. Today we’ll close the review of the variables by covering the last, and definitely not least, type of variables called Python dictionary. In fact, this one of the most useful for us from the network automation perspective.

Network automation training – boost your career

Don’t wait to be kicked out of IT business. Join our network automation training to secure your job in future. Come to NetDevOps side.

How does the training differ from this blog post series? Here you get the basics and learn some programming concepts in general, whereas in the training you get comprehensive set of knowledge with the detailed examples how to use Python for the network and IT automation. You need both.

What are we going to do today?

The Python dictionary is a structured data. At a glance it might be similar to the list from the syntax prospective. However, it has a significant difference: in the list each element has an index (numerical value starting from 0), whereas in the dictionary each element has a key (string value you define based on your logic). Continue reading

CEX (Code EXpress) 05. From lists to separate variables and back.

Hello my friend,

So far, we have covered the separate variables and the list variables in the Python 3.8. Before we go further, it makes sense how you can convert one type of the variables to another. Therefore, we discuss this topic today.  

Network automation training – boost your career

Don’t wait to be kicked out of IT business. Join our network automation training to secure your job in future. Come to NetDevOps side.

How does the training differ from this blog post series? Here you get the basics and learn some programming concepts in general, whereas in the training you get comprehensive set of knowledge with the detailed examples how to use Python for the network and IT automation. You need both.

What are we going to do today?

Working with variables is an essential part of any programming language including Python. Part of such a work is a conversion of a variable of one type to another and back. That’s why we will explore today the following functions:

  • split() function, which transforms a string value into a list of variables based on a defined separator;
  • join() function, which transforms a list into a string value using Continue reading

CEX (Code EXpress) 04. List what you need.

Hello my friend,

We continue discussion about the variable in the Python, which we have started in the previous article. Today we cover new type, which is very useful and, therefore, widely used. In various programming languages, this type is known under various names. So, who is here? 

Network automation training – boost your career

Don’t wait to be kicked out of IT business. Join our network automation training to secure your job in future. Come to NetDevOps side.

How does the training differ from this blog post series? Here you get the basics and learn some programming concepts in general, whereas in the training you get comprehensive set of knowledge with the detailed examples how to use Python for the network and IT automation. You need both.

What are we going to do today?

Answering to the question in the end of the preamble, here is the list. It is also known under the name array; however, in the Python’s terminology list is the correct term. The list variable contains any amount of the elements (starting from zero), which are siblings to each other, and they can be of any type as described in the previous article. Continue reading

CEX (Code EXpress) 03. Variable is better than fixed.

Hello my friend,

We are slowly but surely start talking about more and more useful and interesting topics staying yet at a basic level. Today you will learn about variables in Python, as variables are obviously the basic building block of any tool.

Network automation training – boost your career

Don’t wait to be kicked out of IT business. Join our network automation training to secure your job in future. Come to NetDevOps side.

How does the training differ from this blog post series? Here you get the basics and learn some programming concepts in general, whereas in the training you get comprehensive set of knowledge with the detailed examples how to use Python for the network and IT automation. You need both.

What are we going to do today?

We will learn how to create and use in Python 3.8 several types of the variables such as:

  1. Numbers
  2. Strings
  3. Boolean

The different types of variables are used for the different purposes, that’s why the more variables’ type you know, the better code you can write. We must admit that this list of the variables isn’t complete. That is why in the next couple of blogposts you will see Continue reading

CEX (Code EXpress) 02. Your first Python code.

Hello my friend,

I was thinking what the next thing shall be right after you have installed the Python. Initially I was thinking about another topic, but decided to get some fun for you, as doing something is definitely fun.

Network automation training – boost your career

Don’t wait to be kicked out of IT business. Join our network automation training to secure your job in future. Come to NetDevOps side.

How is the training different from this blog post series? Here you get the basics and learn some programming concepts in general, whereas in the training you get comprehensive set of knowledge with the detailed examples how to use Python for the network and IT automation. You need both.

What are we going to do today?

Today is a big day in your Python journey, mate. Today you will create and execute your first Python code. It will be simple and will do only one task: it will print fixed text. However, it has an enormous value for your learning curve in programming.

Why does it matter?

Despite it looks very easy, there are a couple of aspects, which are important for your further progress:

  1. Knowing how to create Continue reading

CEX (Code EXpress) 01. It starts with… the installation.

Hello my friend,

Time to time we are getting the messages from you that it is getting tougher to find a proper job in the pure networking world. Success of self-service models coming from the clouds and hyperscalers creates the push on the traditional networking business. In its turn, this transformation requires network engineers to gain new skills such as programming and data analytics.

Network automation training – boost your career

Don’t wait to be kicked out of IT business. Join our network automation training to secure your job in future. Come to NetDevOps side.

If you still don’t feel it is necessary, take a look at skills needed for network engineer role these days at open job positions.

Introduction to the Code EXpress (CEX) format

To avoid any confusions, we continue writing about multivendor network development and automation. However, we feel it is necessary to start talking also about the software development and programming at a basic level. The network engineers in a vast majority aren’t very familiar with the Python, Ansible and even Bash, so we want to cover this gap.

The best way to get comprehensive skills in this area is to get to our network automation Continue reading