Anton Karneliuk

Author Archives: Anton Karneliuk

CEX (Code EXpress) 12. Using Python modules.

Hello my friend,

In the previous blogpost we have shared how some thoughts how you can parse the CSV file and how in general to work with external files. But the beauty of the programming languages including Python, is that there are always more than one way of doing things. And with learning it more, you are opening new ways.

Automate all the things

Raise of the 5G in the Service Provider world, micro services in Data Centres and mobility in Enterprise networks significantly changes the expectations about the way the network operate and the pace the changes are implemented. It is impossible to meet those expectation without automation.

At our network automation training, either self-paced or instructor lead, you will learn the leading technologies, protocols, and tools used to manage the networks in the busiest networks worldwide, such as Google data centres. However, once you master all the skills, you will be able to automate the network of any scale. You will see the opportunities and you will exploit them.

Secret words: NETCONF, REST API, gRPC, JSON , XML, Protocol buffers, SSH, OpenConfig, Python, Ansible, Linux, Docker; and many other wonderful tools and techniques are waiting for you Continue reading

HS. Part 6. First impression from Nokia SRLinux.

Hello my friend,

In this HS blog series we have covered so far the automated build of the network topology for hyper scale data centre using Microsoft Azure SONiC. Today Nokia has announced a new product for data centre, which is called SRLinux. In the next couple of articles we’ll review it from the architectural and automation standpoint.


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.

Thanks

We want to thank Nokia team for providing us the details and assisting in creating these materials. It won’t be possible without your help, dear partners.

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 Continue reading

CEX (Code EXpress) 11. Working with files and parsing CSV.

Hello my friend,

With this post we start the second series of the Code EXpress (CEX) blogposts covering Python (namely, Python 3.8) basics for the network engineers. Previously we have covered the most simple elements and heading now to more complex scenarios.

Automation for networks and not only

Knowing how to improve the efficiency of your network or IT operation via applying some of the automation techniques with Ansible or Python is getting more and more important.

Boost up your skills with the industry best network automation training covering the details of the NETCONF/YANG, REST API with Bash, Ansible and Python for managing network devices from Cisco, Nokia, Arista and Cumulus. Besides you get the Linux management skills, as well as network virtualisation (KVM) and containerisation (Docker).

Don’t waste your time. Start your training today!

What are we going to do today?

In today’s blogpost we are going to cover the basics of the working with file in Python. Despite there are multiple ways how you can do, we will share, we believe, one of the most popular and convenient way:

  • Using context manager with … as … you will open the CSV file in your Python script.
  • Using Continue reading

4 years on air.

Hello my friend,

Traditionally in the beginning of June (5th of June to be accurate), we celebrate the anniversary of our blogging. And in this year it is already 4 years, since we started in 2016!

In terms of the absolute numbers, we have crossed the mark in 100 posted blogs! Hurray! And we were marked as Cisco Champion 2020 one more time! Also Hurray!

Let’s reflect what has happened global as well…

Live automation training

The biggest new introduction is the live online network automation training. Years of real practical experience of implementing and automating network solutions for service provider and data centres across Europe and North America are now available for you. Just join our network automation training in this run or in any next and learn:

  • Why to automate?
  • How to automate?
  • What is the toolkit (YANG, XML, YAML, JSON, Protobuf, NETCONF, RESTCONF, gNMI/gRPC, VS Code, Atom, POSTman, Python, Ansible, Linux, Docker and many others)?
  • How do different vendors behave (Cisco, Nokia, Arista, Cumulus)?

GitHub projects

There were multiple mini-series of the blogposts supported by the code at the GitHub:

GNMI. Part 4. Configuring Arista EOS and Nokia SR OS with gRPC/gNMI and OpenConfig/YANG.

Hello my friend,

We have received a lot of positive feedbacks in the social media regarding our previous post about collecting info from Nokia SR OS and Arista EOS using gRPC/gNMI. Thank you! Today we will cover the configuration part; hence, you will learn how to configure Arista EOS and Nokia SR OS using the gRPC transport with gNMI specification and 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.

Start your network automation journey

Just in two weeks we start the new network automation training! This time we have ever biggest agenda with all the cutting edge technologies (NETCONF, REST API, gNMI), data models (YANG, Protobuf, JSON, XML, YAML), vendors (Cisco, Nokia, Arista, Cumulus) and a lot of programming (Ansible, Python, Bash) salted with Linux administration, virtualisation, containerisation and many more

Join the industry-best network automation training.

In one place you will learn all the technologies and tolls you need to start or improve your career in the world of the Continue reading

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