OpenDaylight: Mounting XR 6.0.x from OpenDaylight


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 “[email protected]” or “[email protected]

(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.


<< This article was originally published on blog here. >>