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.
Hello developers, I'm coming back with the old problem of referencing different types of interfaces (ex. 'Ethernet' and 'GigabitEthernet' on devices. However in my current deployment I have the same interface type ('Ethernet') on different device typ...
Hi guys, I'm migrating REST API calls to RESTCONF calls, but RESTCONF is underperforming at any request. For example:http://127.0.0.1:8080/restconf/data/devices/device=OriHuaDemoresponse time is 22 secondsBut the same query with REST API:http://127.0...
Hi guys,Inside Python callback call (ex. post_modification), I've always been using MAAPI read transactions (with maapi.single_read_trans) or sessions (maapi.Session). However I have recently discovered that we can get the same object definition by just c...
I am curious to understand that when I see configuration of a device that is set by some NSO service in xml format, I see the refcount and backpointers by default in the output of "show running-config" or show full-configuration, I was th...