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

Issue with live-status and instance-identifier type

macauley
Level 1
Level 1

Hello,

I have been building a new version of our Infinera G30 NETCONF NED and struggling through a whole new set of issues, but would like help on one specific to a get of "live-status" and instance-identifier types.  We are using NSO version 5.7.2.1.

 

Here is an example of discovered performance configuration with the “pm-entity” being and instance-identifier type:
 
      <performance>
        <pmdaystart>0</pmdaystart>
        <statistics-enable>enabled</statistics-enable>
        <pm-point>
          <pm-entity xmlns:ne="http://coriant.com/yang/os/ne">/ne:ne/ne:shelf[ne:shelf-id='1']</pm-entity>
          <pmp-type>shelf-temperature</pmp-type>
          <pm-time-period>15min</pm-time-period>
          <supervision-switch>enabled</supervision-switch>
          <thresholding-switch>enabled</thresholding-switch>
          <history-recording>enabled</history-recording>
          <pm-thresholds/>
        </pm-point>
        <pm-point>
          <pm-entity xmlns:ne="http://coriant.com/yang/os/ne">/ne:ne/ne:shelf[ne:shelf-id='1']</pm-entity>
          <pmp-type>shelf-temperature</pmp-type>
          <pm-time-period>24h</pm-time-period>
          <supervision-switch>enabled</supervision-switch>
          <thresholding-switch>enabled</thresholding-switch>
          <history-recording>enabled</history-recording>
          <pm-thresholds/>
        </pm-point>
 
I do an NSO retrieval of the performance config subtree using the following curl command:
 
% curl -is -u admin:admin -H "Accept: application/yang-data+xml" 'http://localhost:8080/restconf/data/tailf-ncs:devices/device=sacr-tpdr5/config/ne:ne/performance'
HTTP/1.1 200 OK
Date: Tue, 02 Aug 2022 21:40:48 GMT
Last-Modified: Tue, 02 Aug 2022 21:35:21 GMT
Cache-Control: private, no-cache, must-revalidate, proxy-revalidate
Etag: "1659-476121-891503"
Content-Type: application/yang-data+xml
Transfer-Encoding: chunked
Pragma: no-cache
Content-Security-Policy: default-src 'self'; block-all-mixed-content; base-uri 'self'; frame-ancestors 'none';
Strict-Transport-Security: max-age=15552000; includeSubDomains
X-Content-Type-Options: nosniff
X-Frame-Options: DENY
X-XSS-Protection: 1; mode=block

<performance xmlns="http://coriant.com/yang/os/ne"  xmlns:ne="http://coriant.com/yang/os/ne"  xmlns:ncs="http://tail-f.com/ns/ncs">
  <pmdaystart>0</pmdaystart>
  <statistics-enable>enabled</statistics-enable>
  <pm-point>
    <pm-entity xmlns:ne="http://coriant.com/yang/os/ne" xmlns:ncs="http://tail-f.com/ns/ncs">/ncs:devices/ncs:device[ncs:name='sacr-tpdr5']/ncs:config/ne:ne/ne:shelf[ne:shelf-id='1']</pm-entity>
    <pmp-type>shelf-temperature</pmp-type>
    <pm-time-period>15min</pm-time-period>
    <supervision-switch>enabled</supervision-switch>
    <thresholding-switch>enabled</thresholding-switch>
    <history-recording>enabled</history-recording>
  </pm-point>
  <pm-point>
    <pm-entity xmlns:ne="http://coriant.com/yang/os/ne" xmlns:ncs="http://tail-f.com/ns/ncs">/ncs:devices/ncs:device[ncs:name='sacr-tpdr5']/ncs:config/ne:ne/ne:shelf[ne:shelf-id='1']</pm-entity>
    <pmp-type>shelf-temperature</pmp-type>
    <pm-time-period>24h</pm-time-period>
    <supervision-switch>enabled</supervision-switch>
    <thresholding-switch>enabled</thresholding-switch>
    <history-recording>enabled</history-recording>
  </pm-point>

I see the “pm-entity” instance-identifier has been parsed and modified from the original to be the NCS path. I assume all is good.  Now I want to test the live-status by doing the following curl command:

 

% curl -is -u admin:admin -H "Accept: application/yang-data+xml" 'http://localhost:8080/restconf/data/tailf-ncs:devices/device=sacr-tpdr5/live-status/ne:ne/performance'
HTTP/1.1 200 OK
Date: Tue, 02 Aug 2022 21:43:37 GMT
Last-Modified: Tue, 02 Aug 2022 21:35:21 GMT
Cache-Control: private, no-cache, must-revalidate, proxy-revalidate
Etag: "1659-476121-891503"
Content-Type: application/yang-data+xml
Transfer-Encoding: chunked
Pragma: no-cache
Content-Security-Policy: default-src 'self'; block-all-mixed-content; base-uri 'self'; frame-ancestors 'none';
Strict-Transport-Security: max-age=15552000; includeSubDomains
X-Content-Type-Options: nosniff
X-Frame-Options: DENY
X-XSS-Protection: 1; mode=block

<performance xmlns="http://coriant.com/yang/os/ne"  xmlns:ne="http://coriant.com/yang/os/ne"  xmlns:ncs="http://tail-f.com/ns/ncs">
  <pmdaystart>0</pmdaystart>
  <statistics-enable>enabled</statistics-enable>%    

 

Looking in the “netconf.log” I see the following error:
 
<INFO> 2-Aug-2022::17:43:41.080 Heimdall ncs[49449]: netconf error from netconf agent 2001:400:e600:4500::6:830: /ncs:devices/device{sacr-tpdr5}/live-status/ne:ne/performance/pm-point: 'http://coriant.com/yang/os/ne' is an unknown namespace.
 
This seems to be happening for multiple instance-identifier when I do a live-status.  Changing them all to strings gets me past the issue, but then I lose the NSO context of the instance-identifier.  Here is the message that is failing to parse from the netconf trace file.  Notice the "<pm-entity>" element is the same as the one retrieved from the "<get-config>" operation.
 
<?xml version="1.0" encoding="UTF-8"?>
<rpc-reply xmlns="urn:ietf:params:xml:ns:netconf:base:1.0" message-id="2">
  <data>
    <ne xmlns="http://coriant.com/yang/os/ne">
      <performance>
        <pm-point>
          <pm-entity xmlns:ne="http://coriant.com/yang/os/ne">/ne:ne/ne:shelf[ne:shelf-id='1']</pm-entity>
          <pmp-type>shelf-temperature</pmp-type>
          <pm-time-period>15min</pm-time-period>
        </pm-point>
        <pm-point>
          <pm-entity xmlns:ne="http://coriant.com/yang/os/ne">/ne:ne/ne:shelf[ne:shelf-id='1']</pm-entity>
          <pmp-type>shelf-temperature</pmp-type>
          <pm-time-period>24h</pm-time-period>
        </pm-point>
        <pm-point>

 Any thoughts on this issue?  Here is the YANG snippet.  I can't include everything do to size.

  grouping "pm-point" {
    description
      "Grouping of pm point";
    list "pm-point" {
      key "pm-entity pmp-type pm-time-period";
      description
        "The list of performance monitoring points associated with the monitored management object.";
      leaf "pm-entity" {
        type "instance-identifier" {
        }
        description
          "Specifies the management object instance the performance monitoring data are collected for.";
      }

      leaf "pmp-type" {
        type "pmtypes:pmp-type";
        description
          "Specifies the type of performance monitoring point.";
      }

      leaf "pm-time-period" {
        type "types:management-time-period";
        description
          "Specifies the time-period increments during which PM data are collected.";
      }

      leaf "supervision-switch" {
        type "types:enable-switch";
        default "disabled";
        description
          "Enable/disable counting for all performance monitoring parameters of the given PMP.";
      }

      leaf "thresholding-switch" {
        type "types:enable-switch";
        default "disabled";
        description
          "Enable/disable the TCA processing and reporting for all performance monitoring parameters of the given PM point.";
      }

      leaf "history-recording" {
        type "types:enable-switch";
        default "enabled";
        description
          "Enable/disable the history data storage for all performance monitoring parameters of the given PM point.";
      }

      uses "pmthresholds:pm-thresholds";
    }
  }

  Thank you for any help you could provide!

 

 

1 Reply 1

rogaglia
Cisco Employee
Cisco Employee

I will recommend you to issue a support ticket, it may well be a problem here.