cancel
Showing results for 
Search instead for 
Did you mean: 
cancel
1127
Views
5
Helpful
4
Replies

Pioneer netconf namespaces for Cisco Nexus

bernd.gisy
Level 1
Level 1

Hi, I'm trying to build Netconf NEDs for Cisco Nexus N3k and N9k with Pioneer (NSO version: 4.6.1).

I followed the steps in README.md and I'm stuck doing 'pioneer netconf get[-config]'.

'netconf hello' works:

admin@ncs# devices device sw-nso-poc-n9k-b.nwlab.bs.kae.de-pioneer pioneer netconf hello   

hello-reply <?xml version="1.0" encoding="ISO-8859-1"?>

<hello xmlns="urn:ietf:params:xml:ns:netconf:base:1.0">

  <capabilities>

    <capability>urn:ietf:params:xml:ns:netconf:base:1.0</capability>

    <capability>urn:ietf:params:netconf:base:1.0</capability>

    <capability>urn:ietf:params:netconf:capability:validate:1.0</capability>

    <capability>urn:ietf:params:netconf:capability:writable-running:1.0</capability>

    <capability>urn:ietf:params:netconf:capability:url:1.0?scheme=file</capability>

    <capability>urn:ietf:params:netconf:capability:rollback-on-error:1.0</capability>

    <capability>urn:ietf:params:netconf:capability:candidate:1.0</capability>

    <capability>urn:ietf:params:netconf:capability:confirmed-commit:1.0</capability>

  </capabilities>

  <session-id>15164</session-id>

</hello>

'netconf get' returns the following:

admin@ncs# devices device sw-nso-poc-n9k-b.nwlab.bs.kae.de-pioneer pioneer netconf get     

get-reply <?xml version="1.0" encoding="ISO-8859-1"?>

<rpc-reply xmlns="urn:ietf:params:xml:ns:netconf:base:1.0" message-id="1">

  <rpc-error>

    <error-type>rpc</error-type>

    <error-tag>missing-attribute</error-tag>

    <error-severity>error</error-severity>

    <error-message>Wrong document: namespaces not specified</error-message>

    <error-info>

      <bad-element>rpc</bad-element>

    </error-info>

  </rpc-error>

</rpc-reply>

'netconf get-config':

admin@ncs# devices device sw-nso-poc-n9k-b.nwlab.bs.kae.de-pioneer pioneer netconf get-config

get-config-reply <?xml version="1.0" encoding="ISO-8859-1"?>

<rpc-reply xmlns="urn:ietf:params:xml:ns:netconf:base:1.0" message-id="1">

  <rpc-error>

    <error-type>rpc</error-type>

    <error-tag>missing-attribute</error-tag>

    <error-severity>error</error-severity>

    <error-message>Wrong document: namespaces not specified</error-message>

    <error-info>

      <bad-element>rpc</bad-element>

    </error-info>

  </rpc-error>

</rpc-reply>

This is my device config:

admin@ncs# show running-config devices device sw-nso-poc-n9k-b.nwlab.bs.kae.de-pioneer

devices device sw-nso-poc-n9k-b.nwlab.bs.kae.de-pioneer

address   $A.$B.$C.$D

port      22

ssh host-key ssh-rsa

  key-data "[snip]"

!

authgroup test

device-type netconf

trace     raw

state admin-state unlocked

...

How can I specify namespaces?

Regards,

Bernd

1 Accepted Solution

Accepted Solutions

Ah, sorry, I meant to write NX. But you are right that when I say XR I usually mean IOS-XR.

Sorry about the confusion.

NX does not support the (optional) <get-schema> operation, so Pioneer will not be able to download any YANG modules in this case. The NX team tells me it's on the roadmap, so hang in there. In the mean time you will have to build the NED the traditional way (using ncs-make-package --netconf-ned), based on YANG modules either provided by the NX team, or that you download yourself from github: https://github.com/YangModels/yang.git


When it comes to wrong defaults and other issues in the YANGs, I'd recommend taking the very latest code. There have been dramatic improvements in each release lately. When the YANGs are broken, you may need to edit them in order to work around issues.

View solution in original post

4 Replies 4

Jan Lindblad
Cisco Employee
Cisco Employee

This is a missing feature in the XR implementation. It does not support a <get> of everything (a mandatory to support operation, but very useful anyway). You could figure out how to use the subtree syntax to specify a more specific filter, but let me ask you what you want to achieve? Pioneer's get-functionality is a debugging tool, so have you encountered some problem you want to debug?

Hi Jan,

thanks for your response!

Jan Lindblad schrieb:

This is a missing feature in the XR implementation...

What is the "XR implementation". Is this related to IOS-XR? If yes, this is not the operating system that we're targeting right now.

We ran into several issues with the Cisco-NX (CLI) NED. These issues mainly deal with the NED not supporting configuration commands that we need.

We also saw problems with wrong default values. The NED then thinks a confguration item is set, but does not receive this item from the device.

Hence it assumes the device is out of sync.

What we want to do is to build a netconf NED for Cisco Nexus devices. We hope, that the device has a YANG model available so that the NED will know exactly what the device supports.

On the Pioneer GitHub page, it says

pioneer netconf get, get-config

If hello repsonds correctly, you may want to try a simple get and get-config before proceeding to build a NETCONF NED. Here are the commands:

devices device my-netconf-device pioneer netconf get

devices device my-netconf-device pioneer netconf get-config


This is why we used the get/getconfig functionality in the first place (as part of the setup process)

The next step on the GitHub page is a "yang fetch-list"

The result of that is:

Retrieving module list from device

Device does not report support for netconf-monitoring, trying anyway

Found out the names for a total of 0 modules

hello message: 0

netconf-monitoring subtree: 0

netconf-monitoring xpath: 0

message Marked 0 modules for download, skipped 0

yang-directory /tmp/download/sw-nso-poc-n3k.nwlab.bs.kae.de-pioneer

Can you provide an example regarding the subtree syntax? We have no idea, what paths the device supports.

We suspect that the above problems with the "yang fetch-list" are related to the missing namespace. Is there any way to verify this?

Ah, sorry, I meant to write NX. But you are right that when I say XR I usually mean IOS-XR.

Sorry about the confusion.

NX does not support the (optional) <get-schema> operation, so Pioneer will not be able to download any YANG modules in this case. The NX team tells me it's on the roadmap, so hang in there. In the mean time you will have to build the NED the traditional way (using ncs-make-package --netconf-ned), based on YANG modules either provided by the NX team, or that you download yourself from github: https://github.com/YangModels/yang.git


When it comes to wrong defaults and other issues in the YANGs, I'd recommend taking the very latest code. There have been dramatic improvements in each release lately. When the YANGs are broken, you may need to edit them in order to work around issues.

Hi has there been any update to this? I am running into the same issues with pioneer. The firmware version my company uses on the their nexus 3Ks doesn't match what is currently available hence why I am using pioneer.