Uploaded image for project: 'netconf'
  1. netconf
  2. NETCONF-845

Support of namespace for referred yang-identity values

XMLWordPrintable

    • Icon: Task Task
    • Resolution: Duplicate
    • Icon: Medium Medium
    • None
    • None
    • restconf-nb
    • None

      Greetings from O-RAN-SC

      Story:
      We use OpenDaylight as O-RAN O1-Controller for RESTCONF to NETCONF translation and vice versa within ONAP/CCSDK.

      For O-RAN Architecture and Specification validation a yang module for Performance Monitoring Job management was developed:

      Please see https://gerrit.o-ran-sc.org/r/gitweb?p=scp/oam/modeling.git;a=blob;f=data-model/yang/working/o-ran-sc/o-ran-du/o-ran-sc-du-hello-world.yang;h=74351c8b6a58e817f90694fc874ead39f304ea74;hb=HEAD#l775 the list of measurement counters which should be reported.

      Each counter is identified withing the yang module as yang-identity.  

      Finding:
      When sending a PM-Job creation for a certain monitoring point (resource, object class) for the counter 'user-equipment-average-throughput-uplink' via RESTCONF ...

      ### @name setPerformanceMeasurementJobs
      PUT {{baseUrl}}/rests/data/network-topology:network-topology/topology=topology-netconf/node={{node}}/yang-ext:mount/o-ran-sc-du-hello-world:network-function/performance-measurement-jobs=pm-1
      Authorization: Basic {{username}} {{password}}
      Accept: {{accept}}Content-Type: {{accept}}
      
      
      { "performance-measurement-jobs": { "id": "pm-1", "administrative-state": "unlocked", "user-label": "pm", "job-tag": "my-job-tag", "performance-metrics": [ "/o-ran-sc-du-hello-world:network-function/o-ran-sc-du-hello-world:distributed-unit-functions[o-ran-sc-du-hello-world:id='O-DU-1211']/o-ran-sc-du-hello-world:cell[o-ran-sc-du-hello-world:id='cell-1']/o-ran-sc-du-hello-world:supported-measurements[o-ran-sc-du-hello-world:performance-measurement-type='user-equipment-average-throughput-uplink']/o-ran-sc-du-hello-world:supported-snssai-subcounter-instances[o-ran-sc-du-hello-world:slice-differentiator='1'][o-ran-sc-du-hello-world:slice-service-type='1']" ], "granularity-period": 30, "stream-target": "stream-1" } }
      

      see [o-ran-sc-du-hello-world:performance-measurement-type='user-equipment-average-throughput-uplink']

       

      ... the converted namespace of the counter is not according to RFC7950.

      299208-2021-12-19T13:02:09,912 | TRACE | globalWorkerGroup-3-1 | NetconfDeviceCommunicator        | 281 - org.opendaylight.netconf.sal-netconf-connector - 2.0.11 | Finished sending request <rpc message-id="m-30" xmlns="urn:ietf:params:xml:ns:netconf:base:1.0">
      299209-    <edit-config>
      299210-        <target>
      299211-            <candidate/>
      299212-        </target>
      299213-        <error-option>rollback-on-error</error-option>
      299214-        <config>
      299215-            <network-function xmlns="urn:o-ran-sc:yang:o-ran-sc-du-hello-world">
      299216-                <performance-measurement-jobs xmlns:op="urn:ietf:params:xml:ns:netconf:base:1.0" op:operation="replace">
      299217-                    <id>pm-1</id>
      299218-                    <user-label>pm</user-label>
      299219-                    <stream-target>stream-1</stream-target>
      299220-                    <administrative-state>unlocked</administrative-state>
      299221-                    <job-tag>my-job-tag</job-tag>
      299222-                    <granularity-period>30</granularity-period>
      299223:                    <performance-metrics xmlns:a="urn:o-ran-sc:yang:o-ran-sc-du-hello-world">/a:network-function/a:distributed-unit-functions[a:id='O-DU-1211']/a:cell[a:id='cell-1']/a:supported-measurements[a:performance-measurement-type='(urn:o-ran-sc:yang:o-ran-sc-du-hello-world?revision=2021-11-23)user-equipment-average-throughput-uplink']/a:supported-snssai-subcounter-instances[a:slice-differentiator='1'][a:slice-service-type='1']</performance-metrics>
      299224-                </performance-measurement-jobs>
      299225-            </network-function>
      299226-        </config>
      299227-    </edit-config>
      299228-</rpc>
      

      Instead of  ...

      [a:performance-measurement-type*='(urn:o-ran-sc:yang:o-ran-sc-du-hello-world?revision=2021-11-23)user*-equipment-average-throughput-uplink'] 

      the expectation is ...

       [a:performance-measurement-type*='a:user*-equipment-average-throughput-uplink']

      Attached the karaf.log file - command:

      grep -arni -A5 -B15 metrics karaf.log

       

      Opendaylight 
      https://nexus.opendaylight.org/content/repositories/opendaylight.release/org/opendaylight/integration/opendaylight/15.1.0/opendaylight-15.1.0.tar.gz
       
      Karaf features:

      opendaylight-user@root>feature:list -i | grep conf
      odl-netconf-util                                                │ 2.0.11           │          │ Started │ odl-netconf-2.0.11                                              │ odl-netconf-util
      odl-netconf-netty-util                                          │ 2.0.11           │          │ Started │ odl-netconf-netty-util-2.0.11                                   │ OpenDaylight :: Netconf :: Netty Util
      odl-netconf-client                                              │ 2.0.11           │          │ Started │ odl-netconf-client-2.0.11                                       │ odl-netconf-client
      odl-netconf-callhome-ssh                                        │ 2.0.11           │          │ Started │ odl-netconf-callhome-ssh                                        │ OpenDaylight :: Netconf Connector :: Netconf Call
      odl-netconf-connector                                           │ 2.0.11           │          │ Started │ odl-netconf-2.0.11                                              │ OpenDaylight :: Netconf Connector :: Netconf Conn
      odl-netconf-connector-all                                       │ 2.0.11           │ x        │ Started │ odl-netconf-connector-all                                       │ OpenDaylight :: Netconf Connector :: All
      config                                                          │ 4.3.3            │          │ Started │ standard-4.3.3                                                  │ Provide OSGi ConfigAdmin support
      pax-jdbc-config                                                 │ 1.5.0            │          │ Started │ org.ops4j.pax.jdbc-1.5.0                                        │ Provides JDBC Config support
      odl-netconf-ssh                                                 │ 2.0.11           │          │ Started │ odl-netconf-ssh                                                 │ OpenDaylight :: Netconf Connector :: SSH
      odl-aaa-netconf-plugin                                          │ 2.0.11           │          │ Started │ odl-aaa-netconf-plugin                                          │ OpenDaylight :: AAA :: ODL NETCONF Plugin
      odl-netconf-tcp                                                 │ 2.0.11           │          │ Started │ odl-netconf-tcp                                                 │ OpenDaylight :: Netconf Connector :: TCP
      odl-restconf-common                                             │ 2.0.11           │          │ Started │ odl-netconf-2.0.11                                              │ OpenDaylight :: Restconf :: Common
      odl-netconf-impl                                                │ 2.0.11           │          │ Started │ odl-netconf-impl-2.0.11                                         │ OpenDaylight :: Netconf :: Impl
      odl-netconf-notifications-api                                   │ 2.0.11           │          │ Started │ odl-netconf-notifications-api                                   │ OpenDaylight :: Netconf :: Notification :: Api
      odl-netconf-api                                                 │ 2.0.11           │          │ Started │ odl-netconf-2.0.11                                              │ OpenDaylight :: Netconf :: API
      odl-restconf-nb-rfc8040                                         │ 2.0.11           │ x        │ Started │ odl-restconf-nb-rfc8040-2.0.11                                  │ OpenDaylight :: Restconf :: NB :: RFC8040
      odl-netconf-topology                                            │ 2.0.11           │          │ Started │ odl-netconf-topology                                            │ OpenDaylight :: Netconf Topology :: Netconf Conne
      odl-netconf-notifications-impl                                  │ 2.0.11           │          │ Started │ odl-netconf-notifications-impl-2.0.11                           │ OpenDaylight :: Netconf :: Monitoring :: Impl
      odl-controller-exp-netty-config                                 │ 4.0.7            │          │ Started │ odl-controller-exp-netty-config                                 │ OpenDaylight :: Controller :: Experimental :: Net
      odl-netconf-mapping-api                                         │ 2.0.11           │          │ Started │ odl-netconf-mapping-api                                         │ OpenDaylight :: Netconf :: Mapping API
      
      

        1. foo-retest.yang
          3 kB
        2. karaf.log
          41.41 MB

            Unassigned Unassigned
            demx8as6 Martin Skorupski
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

              Created:
              Updated:
              Resolved: