Showing results for 
Search instead for 
Did you mean: 

Mounting XR 6.0.x from OpenDaylight using NETCONF/YANG

Cisco Employee

for the basics of this please see my earlier blog post.

There are a couple of gotchas though mounting XR 6.0.x from ODL:

a) you need ODL Beryllium-SR2 or later as there was a bug in earlier versions where ODL would fail to handle the deviation that XR 6.0 and later announces against ietf-netconf-monitoring (because it's a basic NETCONF capability rather than a generic YANG model).

b) XR will initially fail to mount until you fix a YANG model issue in the cache.  There's a model (called Cisco-IOS-XR-wd-cfg.yang in XRv and ASR9K, and Cisco-IOS-XR-watchd-cfg.yang in XR9000v - and presumably other "Calvados"-based platforms) which imports Cisco-IOS-XR-config-mda-cfg.yang twice with 2 different prefixes.   That's not an error vs RFC6020 so I've raised a bug - 6249 - against ODL Yangtools to get it fixed.   At any rate the workaround for now is:

     (1) attempt to mount the device using RESTCONF.  This will fail.

     (2) go into the “cache/schema” directory under distribution-karaf-0.4.2-beryllium-SR2

     (3) edit the file “Cisco-IOS-XR-watchd-cfg@2015-11-09.yang” or "Cisco-IOS-XR-wd-cfg@2015-11-09.yang"

     (4) delete the line "  import Cisco-IOS-XR-config-mda-cfg { prefix "a1"; }” (be sure not to delete the line with a prefix of "node")

     (5) unmount the device using RESTCONF.

     (6) re-mount the device using RESTCONF.  This time it should succeed.

CreatePlease to create content
This widget could not be displayed.