[NETCONF-349] Metadata not present for modification Created: 14/Feb/17 Updated: 15/Mar/19 Resolved: 20/Feb/17 |
|
| Status: | Resolved |
| Project: | netconf |
| Component/s: | netconf |
| Affects Version/s: | None |
| Fix Version/s: | None |
| Type: | Bug | ||
| Reporter: | Jan Srnicek | Assignee: | Miroslav Kovac |
| Resolution: | Done | Votes: | 0 |
| Labels: | None | ||
| Remaining Estimate: | Not Specified | ||
| Time Spent: | Not Specified | ||
| Original Estimate: | Not Specified | ||
| Environment: |
Operating System: Linux |
||
| Attachments: |
|
| External issue ID: | 7791 |
| Description |
|
While using folowing chain of messages <rpc xmlns="urn:ietf:params:xml:ns:netconf:base:1.0" message-id="m-2"> <rpc xmlns="urn:ietf:params:xml:ns:netconf:base:1.0" message-id="m-3"> <rpc xmlns="urn:ietf:params:xml:ns:netconf:base:1.0" message-id="m-4"> <rpc xmlns="urn:ietf:params:xml:ns:netconf:base:1.0" message-id="m-5"> <rpc xmlns="urn:ietf:params:xml:ns:netconf:base:1.0" message-id="m-6"> Exception is thrown java.lang.IllegalArgumentException: Metadata not available for modification NodeModification [identifier=(urn:opendaylight:params:xml:ns:yang:v3po?revision=2016-12-14)bridge-domain, modificationType=TOUCH, childModification={(urn:opendaylight:params:xml:ns:yang:v3po?revision=2016-12-14)bridge-domain[ {(urn:opendaylight:params:xml:ns:yang:v3po?revision=2016-12-14)name=testBD2}]=NodeModification [identifier=(urn:opendaylight:params:xml:ns:yang:v3po?revision=2016-12-14)bridge-domain[ {(urn:opendaylight:params:xml:ns:yang:v3po?revision=2016-12-14)name=testBD2}], modificationType=WRITE, childModification={}]}] This occurs on last(commit) message. From model perspective , the data is perfectly fine(passes trought restconf with no problem). Bug present in BORON-SR2 |
| Comments |
| Comment by Jan Srnicek [ 14/Feb/17 ] |
|
Attachment honeycomb-failed-debug.zip has been added with description: Full debug log |
| Comment by Vratko Polak [ 14/Feb/17 ] |
|
> io.fd.honeycomb.data.impl.ReadWriteTransaction.submit(ReadWriteTransaction.java:76) Can you add a LOG there and report the full content of delegateWriteTx (both from Netconf and Restconf call). |
| Comment by Jan Srnicek [ 16/Feb/17 ] |
|
Attachment extended-debug-logs.tar.gz has been added with description: Debug log with transaction data from netconf/restconf |
| Comment by Vratko Polak [ 16/Feb/17 ] |
|
> Created attachment 1591 [details] Looking at the log, I assume the Netconf request started to be processed at 2017-02-13 07:46:41.859. WARN o.o.n.n.h.NetconfXMLToMessageDecoder - XML message WARN o.o.n.i.u.DeserializerExceptionHandler - An excepti WARN o.o.n.i.u.DeserializerExceptionHandler - An exception occurred during message handling WARN o.o.n.i.u.DeserializerExceptionHandler - An exception occurred during message handling WARN o.o.n.n.h.NetconfXMLToMessageDecoder - XML message with unwanted leading bytes detected. Discarded the 32 leading byte(s): '6d733a786d6c3a6e733a6e6574636f6e663a626173653a312e3022206d657373' WARN o.o.n.n.h.NetconfXMLToMessageDecoder - XML message with unwanted leading bytes detected. Discarded the 64 leading byte(s): '6d733a786d6c3a6e733a6e6574636f6e663a626173653a312e3022206d6573736167652d69643d226d2d36223e0a3c636f6d6d69742f3e0a3c2f7270633e0a0a' WARN o.o.n.i.u.DeserializerExceptionHandler - An exception occurred during message handling By the way, '6d733a786d6c3a6e733a6e6574636f6e663a626173653a312e3022206d657373' is hex of 'ms:xml:ns:netconf:base:1.0" mess' and '6d733a786d6c3a6e733a6e6574636f6e663a626173653a312e3022206d6573736167652d69643d226d2d36223e0a3c636f6d6d69742f3e0a3c2f7270633e0a0a' is hex of 'ms:xml:ns:netconf:base:1.0" message-id="m-6">\n<commit/>\n</rpc>\n\n'. Netconf parsing errors may explain why netconf NodeModification has "bridge-domain" as an identifier (with name=testBD2 for ChildModification), instead of "data" (with "vpp" as ChildModification) as is Restconf log. That means this looks like a Netconf bug, not related to Yangtools, Mdsal, Clustering nor Honeycomb. |
| Comment by Vratko Polak [ 16/Feb/17 ] |
|
I can confirm that this Bug is present on Boron-SR2, but not in Carbon snapshot. |
| Comment by Vratko Polak [ 16/Feb/17 ] |
|
Updated suite: https://git.opendaylight.org/gerrit/51964 |
| Comment by Vratko Polak [ 17/Feb/17 ] |
|
I tried to use (Boron-SR2) netconf-connector to connect to ODL mdsal netconf northbound, just to see what the generated netconf message looks like. Steps to reproduce:
Here is what TRACE logs showed as the main message: The only relevant difference seem to be the placement of ' xmlns:a="urn:ietf:params:xml:ns:netconf:base:1.0" a:operation="replace"'. I am not sure what your use case is (who creates the original message). If Honeycomb gets messages from ODL, this Bug should not be visible. So lesser severity maybe? Of course, ODL should be able to parse the original message as well, so there is still a Bug to fix in Boron-SR3. I will try to replicate "a:operation" placement using car/people modes so that Netconf mdsal suite does not need VPP Yang models to detect this Bug. |
| Comment by Vratko Polak [ 17/Feb/17 ] |
|
> I will try to replicate "a:operation" placement |
| Comment by Vratko Polak [ 17/Feb/17 ] |
|
It seems this was already fixed in Boron snapshot. Will retest with the original VBD model. |
| Comment by Vratko Polak [ 17/Feb/17 ] |
|
> Will retest with the original VBD model. Yup, looks fixed to me (on current ODL Boron snapshot build). |
| Comment by Jan Srnicek [ 20/Feb/17 ] |
|
Verified, tested with SNAPSHOT versions, and error doesn't show |