Skip to content

srl-labs/MultiCLI

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

97 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

MultiCLI

Welcome to the MultiCLI project for Nokia SR Linux.

SR Linux is the industry's most modern Network Operating System (NOS) enabling unmatched automation and programmability features.

One of its capabilities is the ability to customize the CLI on SR Linux.

All SR Linux CLI show commands shipped with the software are written in executable python scripts leveraging the state yang models.

Users are allowed to take those python scripts, modify them to fit their use case or build a brand new CLI command leveraging the same state models.

These customized CLI scripts are called Custom CLI plugins in SR Linux.

Since everything is modeled in yang from the ground up, this allows the user to use CLI to access any state object or attribute in the system and display it in the format they are familiar with.

Custom CLI commands also provide the same auto-completion and help features that come with native SR Linux commands.

So how does this benefit the user? There are few use cases that we could think of like:

  • Use the same MOP and command set that you previously used for another vendor
  • Use the same automation or monitoring scripts that was written for another vendor
  • allow users to start using SR Linux using the same commands they used for another vendor

All these are CLI heavy use cases. You may have more use cases in your mind.

This is awesome! But how do i put this into action?

What is MultiCLI about?

The mission of MultiCLI is to get you started with SR Linux CLI customization feature for your environment.

As part of this project, we are publishing custom CLI plugins for show commands that will match the command and output of our friends in the industry.

The user community is free to take these scripts, use them as is or modify them based on their end goal. We will also be happy to accept new contributions from the community.

MultiCLI Plugins

This repo is structured based on the vendor that we try to match in SR Linux CLI.

In this initial release, we have scripts for:

Learn how to customize SR Linux CLI

For those intereted in learning the process of customizing the SR Linux CLI, refer to the official SR Linux CLI plug-in guide.

For practical experience, start by using the beginner SReXperts hackathon use case here following by an intermediate use case here.

Also, check out these blogs on SR Linux CLI customization:

Learn SRLinux

Blog by Alperen

Test Lab

With the power of Containerlab and the free SR Linux docker image, testing these custom CLI commands is a simple process. This repo contains a lab topology with startup configs where these custom commands can be tested.

To test these scripts:

  • Clone this repo to your host or use codespaces
  • Deploy the EVPN lab or MPLS lab (coming soon)
  • All custom CLI plugin files are bound to the nodes using the bind function in the topology file
  • Each node is configured with 4 custom users:
User Password NOS
auser auser Arista EOS commands
cnxuser cnxuser Cisco NX-OS commands
juser juser Juniper JUNOS commands
nokuser nokuser Nokia SR OS commands
  • Each of the above user's directory is loaded with the custom cli plugin files for that NOS.
  • Login to any leaf or spine node using any of the 4 usernames to try these commands.

For example, to try NX-OS plugins, login to any leaf or spine nodes using cnxuser/cnxuser and try the supported NX-OS commands.


Run this lab in GitHub Codespaces for free.
Learn more about Containerlab for Codespaces.


To deploy evpn lab:

Clone this repo:

git clone https://github.com/srl-labs/multicli.git

Change to the repo directory:

cd multicli

Deploy the lab:

sudo clab dep -t srl-evpn-mh.clab.yml

All non-MPLS commands are tested on Nokia 7220 IXR-D2L on SR Linux release 25.3.1.

This is great, but i want more commands supported for my network

We are inviting contributions from the open source community towards this project.

Or contact your Nokia Account team to engage Nokia Professional Services.

Resources for further learning

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages