Ask Your Question
0

Connecting to legacy devices via NETCONF connector

asked 2016-12-02 07:29:21 -0700

Paulius gravatar image

Hello,

I'm new to the controller so I'm sorry in advance for any silly questions :)

I have managed to mount Cisco 1841 router to the connector using Lithium release, but I am not able to do so using the Boron release. I think I know where the problem is, but I have almost no clue how to solve it, here it goes: I have pushed the config to the controller successfully, so it tries to mount my router, but there is an error while exchanging capabilities:

java.lang.IllegalArgumentException: Device PAULIUS_RT has advertised neither :writable-running nor :candidate capability. At least one of these should be advertised. Failed to establish a session. at com.google.common.base.Preconditions.checkArgument(Preconditions.java:145)[65:com.google.guava:18.0.0]

I know that this is a false alarm and a very silly one - my router advertises capability: <capability>urn:ietf:params:netconf:capability:writeable-running:1.0</capability>, the difference being ":writable-running" on the controller versus ":writeable-running" on the router.

How could I change the code for the connector to understand ":writeable-running" instead of ":writable-running"? Or maybe it is possible to install an earlier release of org.opendaylight.netconf.sal-netconf-connector to the current Boron ODL release? The current release has this version of the connector: org.opendaylight.netconf.sal-netconf-connector - 1.4.1.Boron-SR1, the version that works the way I want it to work is this: 244 - org.opendaylight.controller.sal-netconf-connector - 1.2.0.Lithium.

Do you have any ideas? Thanks in advance, Paulius

edit retag flag offensive close merge delete

1 answer

Sort by ยป oldest newest most voted
0

answered 2016-12-17 02:24:18 -0700

giles gravatar image

updated 2016-12-17 02:25:29 -0700

you may find there's newer software out there for the 1841 that fixes the mis-spelling of the capability.

if there isn't then i suspect you can hack NetconfMessageTransformUtil.java to change the spelling of "writable-running" to "writeable-running" in NETCONF_RUNNING_WRITABLE_URI. Or you could add a new NETCONF_RUNNING_WRITEABLE_URI - and also edit NetconfSessionPreferences.java and NetconfDeviceDataBroker.java to reference that (that way you'd support both "writable-running" and "writeable-running").

at any rate i'm surprised that Lithium mounted the device ok. IIRC the 1841 supports NETCONF but has no YANG support. Support for "schemaless mount points" (i.e. devices that don't support YANG) was only added in Boron.

edit flag offensive delete publish link more

Comments

Thanks for your help, Giles. I ended up dropping this issue. Is there a way to perform any kind of NETCONF operations on these schemaless mount points? Specifically for the cisco IOS devices, as you mentioned they do not support yang modules but instead use xml-pi.

Paulius ( 2017-03-12 07:55:40 -0700 )edit

Or maybe there is some way to convert xml-pi schemas into yang modules?

Paulius ( 2017-03-12 07:56:04 -0700 )edit
Login/Signup to Answer

Stats

Asked: 2016-12-02 07:29:21 -0700

Seen: 114 times

Last updated: Dec 17 '16