gNMIc talks at DKNOG and NANOG

If you have never heard of gNMI and/or gNMIc project, you can start with my last week's talk DKNOG

Thirty minutes introduction to gNMI and gNMIc to get you started.

After this taster, you will likely want to know more, and Karim Radhouani has you covered. A 1-hour gNMIc tutorial has recently been published directly from NANOG 87 stage.

After this one you'll never wanna see OIDs again.

SR Linux logging with ELK

Implementing centralized logging using modern log collectors is an interesting task even before you start solving scaling problems.

My colleague and I opened up a series of posts dedicated to logging in the context of datacenter networks. We started with the basics of SR Linux logging and used the famous ELK stack as our log storage/processing solution.

Integrating SR Linux logging with ELK via Syslog was fun, and we tried to capture every step of the way. Plus, we create a containerlab-based lab that anyone can use to test the solution themselves.

Dig into "SR Linux logging with ELK" and open up the world of modern logging.

Creating a syntax highlighter for SR Linux CLI snippets

How to write a custom syntax highligher for your favorite Network OS CLI and integrate it the doc engine?

--{ * candidate shared default }--[ network-instance black ]--
A:leaf1# info static-routes
        static-routes {
            route 192.168.18.0/24 {
                admin-state enable
                metric 1
                preference 5
                next-hop-group static-ipv4-grp
            }
            route 2001:1::192:168:18:0/64 {
                admin-state enable
                metric 1
                preference 6
                next-hop-group static-ipv6-grp
            }
        }
--{ * candidate shared default }--[ network-instance black ]--
A:leaf1# info static-routes
        static-routes {
            route 192.168.18.0/24 {
                admin-state enable
                metric 1
                preference 5
                next-hop-group static-ipv4-grp
            }
            route 2001:1::192:168:18:0/64 {
                admin-state enable
                metric 1
                preference 6
                next-hop-group static-ipv6-grp
            }
        }

Read in my post "SR Linux Syntax Highlighting with Pygments" at learn.srlinux.dev portal.

SR Linux, JSON-RPC and Ansible

This week I have authored two tutorials for our https://learn.srlinux.dev portal.

The prime reason for this deep dive was to help our customers marry Ansible automation platform with network operations on SR Linux NOS. While I am personally not in the camp "Ansible for network automation" users, the reality is that it is still used by many small/mid teams who by now have large collections of playbooks and trained engineers.

gNMIc joins Openconfig 🚀

Two years ago, a dozen contributors less, 400 Pull Requests, and 2000 commits behind, another pet project appeared on a vast GitHub landscape. It was a learning exercise by Karim Radhouani to sharpen his skills in gNMI - a niche network management protocol promoted by the Openconfig group.

Initially named gnmi_client, it had a noble but narrow scope of providing a feature-rich, complete, yet intuitive CLI for gNMI-enabled routers. Fast forward two years, and we have the gNMIc software suite that is much more than just a CLI for gNMI.

Today, Nokia donates the gNMIc project to Openconfig, and with that move, we expect to see gNMIc adopted by even more companies and organizations 🥳

In this post I'd like to give you a brief overview of gNMIc's core features and share my thoughts on what we expect to happen with gNMIc moving under the Openconfig's wing.

Using guestfish container image

Once in a while, one still needs to get down to a VM-land and dust off some guestfish skills.

Like today I got the IPInfusion OcNOS qcow2 image whose devs decided it is best to use VNC console by default. VNC console for a text-based terminal...

So along come guestfish commands.

DIY YANG Browser

Here comes the second episode of the NetRel show: NetRel episode 002 - DIY YANG Browser. Be ready to dive into the paths we took to create a YANG Browser for Nokia SR Linux platform.

YANG data models are the map one should use when looking for their way to configure or retrieve any data on SR Linux system. A central role that is given to YANG in SR Linux demands a convenient interface to browse, search through, and process these data models.

To answer these demands, we created a web portal - https://yang.srlinux.dev - it offers:

  • Fast Path Browser to effectively search through thousands of available YANG paths
  • Beautiful Tree Browser to navigate the tree representation of the entire YANG data model of SR Linux
  • Source .yang files neatly stored in nokia/srlinux-yang-models repository for programmatic access and code generation

Decoding gNMI with Wireshark

Okay, here goes my first attempt fitting the shoes of a content creator.

Please welcome the NetRel episode 001 - Decoding gNMI with Wireshark, it is a 35min journey of using Wireshark to parse the gNMI traffic (both non-secured and secured).

I won't spend your time explaining the first episode; instead, let me tell you what I want the NetRel series to be about. I am interested in covering the aspects of network automation that are not widely covered.

Using scrapligo with kubectl exec

As the networking industry is (slowly) moving towards forklifting networking functions to the cloud-native space we often become the witnesses of mixing decade old tools with cloud-native approaches and architectures.

This post is about one such crazy mixture of using screen scraping library scrapligo with kubectl exec and docker exec commands.