I often get the question how much effort would it be to port existing service XYZ from using a CLI NED to a NETCONF NED? And if the effort is reasonable (=tiny), what would be the steps to do this?
The short answer is that it depends a little. Both on the service and the device, but in my experience it's typically not that much work. In some cases I have been able to do this without actually changing any code, just updating XML templates and NSO configuration. For the long answer, read on. The answer is so long in fact, that I'm going to split it up into a few blog posts. Note that far from all devices that boast a NETCONF/YANG interface are mature enough for this to be a good idea.
As service to be ported, I selected our "standard demo", the L3VPN example system that ships with NSO. This service uses CLI NEDs for IOS, IOS XR and a NETCONF NED for JunOS devices. In this effort, I decided to make the system allow some (or all) of the IOS devices to be managed over NETCONF. Basically, the service will support a new device type, IOS over NETCONF, in addition to all existing device types.
The overall process is this:
1) Establish NETCONF communications
- Set up device, NSO and service meta data
- Update NSO configuration to plug in the new NETCONF device(s)
- Build a NETCONF NED for the device
- Adjust NEDs to co-exist (should ideally not be needed, but currently it is)
- Ensure sync-from works
2) Extend service with (additional) support for the NETCONF variant of the device
- Switch NSO to talk to the device over CLI
- Configure a service instance, commit
- Switch NSO to talk to the device over NETCONF
- View the configuration changes in XML
- Take this XML as input to new sections in the service templates
- Fill in variables as given by the CLI version of the template
3) Verify the service mapping
- Re-deploy dry-run to see that nothing is forgotten
- Un-deploy the service
- Re-deploy the service
- Compare the configuration
4) Extend the service
- Repeat steps 2 and 3 until all aspects of the service has been covered
Here are the posts with the details for each of the steps above:
Guys,Hope I won't be banned for spamming the forum with so much questions ;-)While creating a service that includes enabling features on Cisco NX-OS, I've just found that when I destroy the service instance, the configuration applied by the NED, first rem...
Guys,I've searched this forum for config differences between Cisco NX-OS device and what NED thinks about it, especially regarding default commands, and most of the replies were around "you have to live with it". But any chances to get the problem below s...
Hi team, i am new to NSO and im trying to follow labs and noticed that the cisco-ios package was not in my ncs-run directory... I found the packages in my install directory as below...cisco-ios-cli-3.0cisco-ios-cli-3.8 these are the two packages...