[NETCONF-845] Support of namespace for referred yang-identity values Created: 20/Dec/21 Updated: 30/Jun/23 Resolved: 11/Jan/23 |
|
| Status: | Resolved |
| Project: | netconf |
| Component/s: | restconf-nb |
| Affects Version/s: | None |
| Fix Version/s: | None |
| Type: | Task | Priority: | Medium |
| Reporter: | Martin Skorupski | Assignee: | Unassigned |
| Resolution: | Duplicate | Votes: | 0 |
| Labels: | None | ||
| Remaining Estimate: | Not Specified | ||
| Time Spent: | Not Specified | ||
| Original Estimate: | Not Specified | ||
| Attachments: |
|
||||||||||||||||
| Issue Links: |
|
||||||||||||||||
| Description |
|
Greetings from O-RAN-SC Story: 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:
### @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 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 |
| Comments |
| Comment by Martin Skorupski [ 20/Dec/21 ] |
|
Sorry, I have trouble to set the "affected version field" -> Phosphorus-SR1 |
| Comment by Robert Varga [ 12/Jul/22 ] |
|
So "(urn:o-ran-sc:yang:o-ran-sc-du-hello-world?revision=2021-11-23)user" is the result of yang.common.QName.toString(). This is not appropriate encoding, but I suspect that somewhere in the pipeline we are just giving up and using toString() to encode the identity. |
| Comment by Martin Skorupski [ 13/Jul/22 ] |
|
Hi Robert, as a starting point I retested with ODL 16.0.0 from The result is the same as above.
<network-function xmlns="urn:o-ran-sc:yang:o-ran-sc-du-hello-world">
<performance-measurement-jobs xmlns:op="urn:ietf:params:xml:ns:netconf:base:1.0" op:operation="replace">
<id>pm-1</id>
<user-label>pm</user-label>
<stream-target>stream-1</stream-target>
<administrative-state>unlocked</administrative-state>
<job-tag>my-job-tag</job-tag>
<granularity-period>30</granularity-period>
<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>
</performance-measurement-jobs>
</network-function>
- ... measurement-type='(urn:o-ran-sc:yang:o-ran-sc-du-hello-world?revision=2021-11-23)user-equipment-average-throughput-uplink'] ... Could you please give me some instructions which Patches I should inject and also a bit how? Thanks! |
| Comment by Martin Skorupski [ 13/Jul/22 ] |
|
For debugging and module test - I simplified the original yang. |
| Comment by Robert Varga [ 11/Jan/23 ] |
|
This is a manifestation of |
| Comment by Martin Skorupski [ 30/Jun/23 ] |
|
Many thanks works like a charm! 2023-06-30T14:37:19,417 | TRACE | globalWorkerGroup-3-12 | NetconfDeviceCommunicator | 358 - org.opendaylight.netconf.sal-netconf-connector - 5.0.6 | RemoteDeviceId[name=O-DU-1122, address=/10.20.11.118:830]: Matched request: <rpc xmlns="urn:ietf:params:xml:ns:netconf:base:1.0" message-id="m-34"> |