cancel
Showing results for 
Search instead for 
Did you mean: 
cancel
931
Views
5
Helpful
2
Replies

Device CLI vs NSO CLI

danieles
Beginner
Beginner

Hello,

 

This question is out of my curiosity. Any reply is appreciated. My background is not IP Networking, so may be answer is obvious and i cannot see it.

 

While onboarding a new device with a Cisco like CLI, 80%-90% of the work is to prepare the Device NED. At least it is explained in NED Development doc in this way.

 

On the other hand, it is also said that , we can use NSO CLI for all different Device types. That means, we use same set of NSO CLI commands for all the different type of devices.

 

My question is : How is the conversion handled from NSO CLI to Device CLI. Is it automatically converted, does NSO have this logic already. 

 

Thanks in advance. 

 

1 Accepted Solution

Accepted Solutions

vleijon
Cisco Employee
Cisco Employee

This is a really interesting question and the issue is often glossed over when talking about NSO. Largely because it seems so obvious when you understand it so tricky when you do not I think.

 

What NSO does it abstract away the technicalities of device communication.  That is, we abstract away the ordering requirements on statements, the need to be in certain configuration modes, the need to handle deletion in special ways for special pieces of configuration et.c. This gives a single model-driven API, a single model-driven CLI, that works towards every device.

 

What NSO does not do is abstract away the device model.  That is, in general your template will look different for different devices. One device might have say /interfaces/ip/arp, some might have /ip/arp in the model to control the same thing.

 

There is some movement in the industry towards common models - some IETF work (such as RFC7223) and quite a lot of work in OpenConfig (http://www.openconfig.net/) as that gets more traction, NSO can leverage that to also get the same model towards many devices. Especially with the transition towards NETCONF.

 

I hope that helps you.

View solution in original post

2 Replies 2

vleijon
Cisco Employee
Cisco Employee

This is a really interesting question and the issue is often glossed over when talking about NSO. Largely because it seems so obvious when you understand it so tricky when you do not I think.

 

What NSO does it abstract away the technicalities of device communication.  That is, we abstract away the ordering requirements on statements, the need to be in certain configuration modes, the need to handle deletion in special ways for special pieces of configuration et.c. This gives a single model-driven API, a single model-driven CLI, that works towards every device.

 

What NSO does not do is abstract away the device model.  That is, in general your template will look different for different devices. One device might have say /interfaces/ip/arp, some might have /ip/arp in the model to control the same thing.

 

There is some movement in the industry towards common models - some IETF work (such as RFC7223) and quite a lot of work in OpenConfig (http://www.openconfig.net/) as that gets more traction, NSO can leverage that to also get the same model towards many devices. Especially with the transition towards NETCONF.

 

I hope that helps you.

Thank you very much for quick response..

 

I understand now. When we start typing config commands for different type of devices from NSO CLI, they are all different. There is no such thing as common NSO CLI for all type of devices. But, service level NSO CLI is same for all type of devices, as it goes through templates.

 

Thanks and regards.

 

Getting Started

Find answers to your questions by entering keywords or phrases in the Search bar above. New here? Use these resources to familiarize yourself with the NSO Developer community:

Recognize Your Peers