Showing results for 
Search instead for 
Did you mean: 

Going Junos Native with NSO

Jan Lindblad
Cisco Employee

NSO has had support for Junos devices pretty much since day one. The classical Junos NED is NETCONF based, but Juniper did not originally provide any YANG files, so the Tail-f team built a complex machinery to translate Juniper’s XML Schema Description (XSD) files into YANGs for the Juniper-Junos NED.


Some time ago, Juniper started to provide native YANG files for Junos, and a few NSO users experimented with using them instead. Unfortunately, the Junos NETCONF hello message didn’t match the Junos YANG files, so things did not work out.

In NSO 5.3, after a thorough discussion with Juniper engineering about how Junos devices behave, new device manager code in NSO works around the hello issue. Finally, the native Junos YANG files can be used directly in NSO.


This article describes how to make an existing NSO application work against a native Junos NETCONF NED. For application, I took the NSO mpls-vpn example from the NSO examples collection. Here are the high level steps:

1. Make the MPLS example run on a real Junos device with a classic NED

2. Build a Junos native NETCONF NED and configure NSO to use it

3. Update the service package to also work with the new NED

4. Reconcile service instances using new service


Much of this article may also be relevant if you’re thinking about how to port a service package from using one NED to another.


Sounds interesting? Just follow along. Both hands-on and high level readers are welcome. In order to get reasonable formatting, I wrote the actual article in word. Have a look at the attached pdf file.

Cisco Employee

Great Article Jan! Keep them coming!


Hello Jan,

I like the idea to use the router Yang models to build NEDs in NSO. Reading your article was a lot of fun for me.

Your description works for Junos (at least newer versions) and we are using it in the lab.

But with a "commit synchronize" configuration in a redundant RE environment, NSO runs into an error. My assumption is, that the device manager code doesn't handle this situation.

Any schedule to fix this? Or is my assumption wrong?





Shashank Srivastava
Cisco Employee

Hi Jan,


I went through the document shared by you. I was able to build the NED successfully but while connecting I am getting error:

result false
info Device ZTP6RPAJ01-Netconf does not advertise any known YANG modules

I checked my junos device is JUNOS 18.3R1.9. Is there a way to build netconf ned for these devices through NSO NETCONF ned builder feature?



Shashank Srivastava

Cisco Employee