cancel
Showing results for 
Search instead for 
Did you mean: 
cancel
655
Views
2
Helpful
6
Replies

How to get the startup config of the device from NSO 6.0

kikkirana
Level 1
Level 1

Seen below error when try to get startup configuration of the device

# netconf-console --get-data --db startup

<?xml version="1.0" encoding="UTF-8"?>

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

  <rpc-error>

    <error-type>protocol</error-type>

    <error-tag>invalid-value</error-tag>

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

    <error-message xml:lang="en">Unsupported capability :startup</error-message>

    <error-info>

      <bad-element>datastore</bad-element>

    </error-info>

rpc-error

rpc-reply

 

Is NSO supports startup/candidate configs?

Mentioned not being supported in the NSO document.


candidate

Not supported by NSO.

:confirmed-commit

Not supported by NSO.

:startup

Not supported by NSO.

 

 

 

6 Replies 6

cohult
Cisco Employee
Cisco Employee

Hi,

As you noticed in the documentation for the NSO NETCONF server, the candidate and startup datastores are not supported by the NSO NETCONF server for clients connecting with NSO. https://developer.cisco.com/docs/nso/guides/#!the-nso-netconf-server/protocol-capabilities
NSO does support managing NETCONF-enabled nodes/devices that announce support for the startup or candidate datastores (including confirmed-commit when the candidate is enabled). See, for example, https://developer.cisco.com/docs/nso/guides/#!the-nso-device-manager/configuration-datastore-support.

Regards

cohult
Cisco Employee
Cisco Employee

You cannot read the device's current startup datastore config using NSO. NSO will read from and write to the running datastore.
However, you can configure NSO to always copy the running datastore to the startup after a configuration change to persist the change by, in NSO, setting "/devices/device{my-device}/ned-settings/use-startup" to true.

You will then see something like this in the NETCONF trace log for the device:

<rpc xmlns="urn:ietf:params:xml:ns:netconf:base:1.0"
     message-id="42">
  <copy-config>
    <target>
      <startup/>
    </target>
    <source>
      <running/>
    </source>
  </copy-config>
</rpc>

 

kikkirana
Level 1
Level 1

With this NSO trail version 6.0, even when the device is enabled with running and startup capabilities and ned is operating in startup mode, but still it replies with Unsupported capability :startup
Here, using NSO as a client to manage netconf supporting other vender device.

admin@ncs
show devices device ms8024 state transaction-mode
state transaction-mode startup

 

 

 

If the device announces the `:startup:1.0` capability in the <hello> message but replies with `Unsupported capability :startup` when NSO tries to copy the running datastore to startup, it seems like the device does not support the startup capability even if announces it does. 
You can try to set "/devices/device{my-device}/ned-settings/use-startup" to false as a workaround.
You can set "/devices/device{my-device}/trace" to "pretty" to get the NETCONF communication between NSO and the device in a logs/netconf-my-device.trace log 

kikkirana
Level 1
Level 1

1) With use-startup true, startup capability is announced whenever edit-config is being executed on NSO side via netconf-console
"netconf-console --edit-config=31_CLI.xml"
we can see that rpc request for edit-config plus rpc request for copy-running-to-startup being sent out to device and it is successfull. 

2) when we try same --copy-running-to-startup from netconf-console we are seeing the issue Unsupported capability :startup

 netconf-console --rpc=rpc.xml
<?xml version="1.0" encoding="UTF-8"?>
<rpc-reply xmlns="urn:ietf:params:xml:ns:netconf:base:1.0" message-id="1">
<rpc-error>
<error-type>protocol</error-type>
<error-tag>invalid-value</error-tag>
<error-severity>error</error-severity>
<error-message xml:lang="en">Unsupported capability :startup</error-message>
<error-info>
<bad-element>startup</bad-element>
</error-info>
</rpc-error>
</rpc-reply>

 cat rpc.xml
<copy-config xmlns:nc="urn:ietf:params:xml:ns:netconf:base:1.0">
<target>
<startup/>
</target>
<source>
<running/>
</source>
</copy-config>

are we missing any setting on NSO side where to enable copy-config and execute successfully?

#ned-settings use-startup true


There is some confusion here. You are editing the device configuration representation in the NSO database (CDB). When the CDB config changes, NSO makes the configuration in the device.
Hence, you are not communicating with the device NETCONF interface when using the NSO NETCONF interface. You are setting a configuration in the NSO CDB that does not support the startup datastore. NSO will then communicate with the NETCONF-enabled device that, in this case, supports the startup datastore.