cancel
Showing results for 
Search instead for 
Did you mean: 
cancel
1633
Views
0
Helpful
1
Replies

Installing Data Models on ASR

nonamer15
Level 1
Level 1

I've got a Cisco ASR running version 16.6. Currently, I've got RESTCONF working, but I'm unable to retrieve any interface information with a GET request. I'm guessing I need to install a data model, but I'm not really finding any detailed information online about where to get these files and where to install them.

 

For instance, I can do a GET request for https://hostname/restconf/ and receive the following response:

 

{
    "restconf": {
        "data": {},
        "operations": {},
        "yang-library-version": "2016-06-21"
    }
}

However, I receive a '404 Not Found' if I try something like https://hostname/restconf/data/openconfig-interfaces:interfaces/interface=GigabitEthernet0.

 

 

It seems strange to me, though, that if I try https://hostname/restconf/data/openconfig-interfaces:interfaces/, I get a '204 No Content'. To me, that means this path exists, so openconfig should be installed, but maybe not.

 

Thanks.

 

1 Accepted Solution

Accepted Solutions

nonamer15
Level 1
Level 1

So the issue here is that I was running RP3s and prior to 16.8.1, there's a bug that prevents RESTCONF from working.

 

Bug ID CSCvi75261 was filed for this, but ending up getting marked as a duplicate to CSCvg76091. The bug IDs aren't very descriptive, so let me provide a little more information based on what I know.

 

The underlying issue is with the ONEP process. This process is responsible for managing VTY sessions between the Linux processes and IOSd (IOS database file that is similar to the configuration file). When using RP3s, ONEP essentially doesn't work as expected.

 

There's another process under ONEP that's called NESD. NESD is the process that allows CLI access within the API. If it's not running or working as expected, you won't be able to make any API calls. Because ONEP wasn't working, this prevented NESD from working as well.

 

How to discover if this issue is occurring is to run "show platform software yang-management process". The only process that might not be running is "ncsshd" as this is the process for NETCONF. Every other process should be running at least that's what I have. If you see "nesd" not running, the issue is present.

 

Keep in mind that it may take up to 10 minutes for NESD to show as "Not Running" after configuring RESTCONF. The reason is because this is how long it will take the process to timeout.

 

You will most likely see some messages within the log that will lead you to believe this issue is present for you as well. Here are some of the log messages that were present for me:

*Mar 22 17:04:25.222: %DMI-3-CLI_ENGINE_CONNECT_FAIL:  R0/0: nesd:  Failed to connect to network element.
*Mar 22 17:04:25.234: %IOSXE-3-PLATFORM:  R0/0: Mar 22 17:04:25 pman.sh: %PMAN-3-PROCFAIL: The process nesd has failed (rc 1)
*Mar 22 17:14:26.474: %DMI-3-CLI_ENGINE_CONNECT_FAIL:  R0/0: nesd:  Failed to connect to network element.
*Mar 22 17:14:26.498: %IOSXE-3-PLATFORM:  R0/0: Mar 22 17:14:26 pman.sh: %PMAN-3-PROCHOLDDOWN: The process nesd has been helddown (rc 1)

 

You can see that NESD is failing. So if you're having this issue, the only solution is to upgrade to 16.8.1. In 16.8.1, Cisco moved away from relying on ONEP's ability to service the VTYs and instead built the functionality directly into DMI.

 

As for "installing data models", the answer is you don't. These are built-in to the IOS.

View solution in original post

1 Reply 1

nonamer15
Level 1
Level 1

So the issue here is that I was running RP3s and prior to 16.8.1, there's a bug that prevents RESTCONF from working.

 

Bug ID CSCvi75261 was filed for this, but ending up getting marked as a duplicate to CSCvg76091. The bug IDs aren't very descriptive, so let me provide a little more information based on what I know.

 

The underlying issue is with the ONEP process. This process is responsible for managing VTY sessions between the Linux processes and IOSd (IOS database file that is similar to the configuration file). When using RP3s, ONEP essentially doesn't work as expected.

 

There's another process under ONEP that's called NESD. NESD is the process that allows CLI access within the API. If it's not running or working as expected, you won't be able to make any API calls. Because ONEP wasn't working, this prevented NESD from working as well.

 

How to discover if this issue is occurring is to run "show platform software yang-management process". The only process that might not be running is "ncsshd" as this is the process for NETCONF. Every other process should be running at least that's what I have. If you see "nesd" not running, the issue is present.

 

Keep in mind that it may take up to 10 minutes for NESD to show as "Not Running" after configuring RESTCONF. The reason is because this is how long it will take the process to timeout.

 

You will most likely see some messages within the log that will lead you to believe this issue is present for you as well. Here are some of the log messages that were present for me:

*Mar 22 17:04:25.222: %DMI-3-CLI_ENGINE_CONNECT_FAIL:  R0/0: nesd:  Failed to connect to network element.
*Mar 22 17:04:25.234: %IOSXE-3-PLATFORM:  R0/0: Mar 22 17:04:25 pman.sh: %PMAN-3-PROCFAIL: The process nesd has failed (rc 1)
*Mar 22 17:14:26.474: %DMI-3-CLI_ENGINE_CONNECT_FAIL:  R0/0: nesd:  Failed to connect to network element.
*Mar 22 17:14:26.498: %IOSXE-3-PLATFORM:  R0/0: Mar 22 17:14:26 pman.sh: %PMAN-3-PROCHOLDDOWN: The process nesd has been helddown (rc 1)

 

You can see that NESD is failing. So if you're having this issue, the only solution is to upgrade to 16.8.1. In 16.8.1, Cisco moved away from relying on ONEP's ability to service the VTYs and instead built the functionality directly into DMI.

 

As for "installing data models", the answer is you don't. These are built-in to the IOS.