[NETCONF-936] Netconf testtool fails to find credentials node in SchemaTree Created: 03/Jan/23  Updated: 04/Jan/23  Resolved: 04/Jan/23

Status: Resolved
Project: netconf
Component/s: netconf
Affects Version/s: 5.0.0
Fix Version/s: 5.0.0

Type: Bug Priority: Medium
Reporter: Peter Suna Assignee: Robert Varga
Resolution: Done Votes: 0
Labels: pt
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified


 Description   

After creating odl-netconf-device.yang netconf-testtool stopped working.

https://git.opendaylight.org/gerrit/c/netconf/+/103746

netconf-testtool initialization fails with error message:

13:47:56.830 [pool-4-thread-1] DEBUG o.o.yangtools.util.MapAdaptor - Configured HashMap/TrieMap cutoff at 50/100 entries
13:47:56.831 [pool-4-thread-1] DEBUG o.o.y.y.d.i.s.b.i.ImmutableMapEntryNodeBuilder - Adding leaf ImmutableLeafNode{identifier=(urn:TBD:params:xml:ns:yang:network-topology?revision=2013-10-21)topology-id, body=topology-netconf} implied by key (urn:TBD:params:xml:ns:yang:network-topology?revision=2013-10-21)topology-id=topology-netconf
13:47:56.858 [pool-4-thread-1] DEBUG o.o.y.y.d.a.s.s.NormalizedNodeWriter$OrderedNormalizedNodeWriter - Skipping key child ImmutableLeafNode{identifier=(urn:TBD:params:xml:ns:yang:network-topology?revision=2013-10-21)topology-id, body=topology-netconf}
13:47:56.859 [pool-4-thread-1] DEBUG o.o.y.y.d.u.NormalizedNodeStreamWriterStack - Enter choice (urn:opendaylight:netconf:device?revision=2022-12-25)credentials
13:47:56.861 [main] INFO  o.o.netconf.test.tool.Main - 1. thread failed.
java.util.concurrent.ExecutionException: java.lang.IllegalArgumentException: Schema tree child  (urn:opendaylight:netconf:device?revision=2022-12-25)credentials not present in schema parent (urn:TBD:params:xml:ns:yang:network-topology?revision=2013-10-21)node
        at java.base/java.util.concurrent.FutureTask.report(FutureTask.java:122)
        at java.base/java.util.concurrent.FutureTask.get(FutureTask.java:191)
        at org.opendaylight.netconf.test.tool.Main.main(Main.java:68)
Caused by: java.lang.IllegalArgumentException: Schema tree child  (urn:opendaylight:netconf:device?revision=2022-12-25)credentials not present in schema parent (urn:TBD:params:xml:ns:yang:network-topology?revision=2013-10-21)node
        at org.opendaylight.yangtools.yang.model.util.SchemaInferenceStack.notPresent(SchemaInferenceStack.java:965)
        at org.opendaylight.yangtools.yang.model.util.SchemaInferenceStack.lambda$pushSchema$5(SchemaInferenceStack.java:745)
        at java.base/java.util.Optional.orElseThrow(Optional.java:403)
        at org.opendaylight.yangtools.yang.model.util.SchemaInferenceStack.pushSchema(SchemaInferenceStack.java:745)
        at org.opendaylight.yangtools.yang.model.util.SchemaInferenceStack.pushSchema(SchemaInferenceStack.java:739)
        at org.opendaylight.yangtools.yang.model.util.SchemaInferenceStack.pushSchema(SchemaInferenceStack.java:733)
        at org.opendaylight.yangtools.yang.model.util.SchemaInferenceStack.enterSchemaTree(SchemaInferenceStack.java:439)
        at org.opendaylight.yangtools.yang.model.util.SchemaInferenceStack.enterChoice(SchemaInferenceStack.java:387)
        at org.opendaylight.yangtools.yang.data.util.NormalizedNodeStreamWriterStack.startChoiceNode(NormalizedNodeStreamWriterStack.java:242)
        at org.opendaylight.yangtools.yang.data.codec.gson.JSONNormalizedNodeStreamWriter.startChoiceNode(JSONNormalizedNodeStreamWriter.java:387)
        at org.opendaylight.yangtools.yang.data.api.schema.stream.NormalizedNodeWriter.wasProcessedAsCompositeNode(NormalizedNodeWriter.java:207)
        at org.opendaylight.yangtools.yang.data.api.schema.stream.NormalizedNodeWriter.write(NormalizedNodeWriter.java:102)
        at org.opendaylight.yangtools.yang.data.api.schema.stream.NormalizedNodeWriter.writeChildren(NormalizedNodeWriter.java:185)
        at org.opendaylight.yangtools.yang.data.api.schema.stream.NormalizedNodeWriter$OrderedNormalizedNodeWriter.writeMapEntryNode(NormalizedNodeWriter.java:255)
        at org.opendaylight.yangtools.yang.data.api.schema.stream.NormalizedNodeWriter.wasProcessedAsCompositeNode(NormalizedNodeWriter.java:202)
        at org.opendaylight.yangtools.yang.data.api.schema.stream.NormalizedNodeWriter.write(NormalizedNodeWriter.java:102)
        at org.opendaylight.yangtools.yang.data.api.schema.stream.NormalizedNodeWriter.writeChildren(NormalizedNodeWriter.java:185)
        at org.opendaylight.yangtools.yang.data.api.schema.stream.NormalizedNodeWriter.wasProcessedAsCompositeNode(NormalizedNodeWriter.java:220)
        at org.opendaylight.yangtools.yang.data.api.schema.stream.NormalizedNodeWriter.write(NormalizedNodeWriter.java:102)
        at org.opendaylight.yangtools.yang.data.api.schema.stream.NormalizedNodeWriter.writeChildren(NormalizedNodeWriter.java:185)
        at org.opendaylight.yangtools.yang.data.api.schema.stream.NormalizedNodeWriter$OrderedNormalizedNodeWriter.writeMapEntryNode(NormalizedNodeWriter.java:255)
        at org.opendaylight.yangtools.yang.data.api.schema.stream.NormalizedNodeWriter.wasProcessedAsCompositeNode(NormalizedNodeWriter.java:202)
        at org.opendaylight.yangtools.yang.data.api.schema.stream.NormalizedNodeWriter.write(NormalizedNodeWriter.java:102)
        at org.opendaylight.yangtools.yang.data.api.schema.stream.NormalizedNodeWriter.writeChildren(NormalizedNodeWriter.java:185)
        at org.opendaylight.yangtools.yang.data.api.schema.stream.NormalizedNodeWriter.wasProcessedAsCompositeNode(NormalizedNodeWriter.java:220)
        at org.opendaylight.yangtools.yang.data.api.schema.stream.NormalizedNodeWriter.write(NormalizedNodeWriter.java:102)
        at org.opendaylight.netconf.test.tool.PayloadCreator.normalizedNodeToString(PayloadCreator.java:87)
        at org.opendaylight.netconf.test.tool.PayloadCreator.createStringPayload(PayloadCreator.java:78)
        at org.opendaylight.netconf.test.tool.Execution.lambda$prepareRequests$0(Execution.java:81)
        at java.base/java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:197)
        at java.base/java.util.AbstractList$RandomAccessSpliterator.forEachRemaining(AbstractList.java:720)
        at java.base/java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:509)
        at java.base/java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:499)
        at java.base/java.util.stream.ReduceOps$ReduceOp.evaluateSequential(ReduceOps.java:921)
        at java.base/java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234)
        at java.base/java.util.stream.ReferencePipeline.collect(ReferencePipeline.java:682)
        at org.opendaylight.netconf.test.tool.Execution.prepareRequests(Execution.java:83)
        at org.opendaylight.netconf.test.tool.Execution.call(Execution.java:69)
        at org.opendaylight.netconf.test.tool.Execution.call(Execution.java:29)
        at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)
        at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136)
        at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635)
        at java.base/java.lang.Thread.run(Thread.java:833)
        Suppressed: java.io.IOException: Unexpected root context JSONStreamWriterObjectContext{}
                at org.opendaylight.yangtools.yang.data.codec.gson.JSONNormalizedNodeStreamWriter.closeWriter(JSONNormalizedNodeStreamWriter.java:441)
                at org.opendaylight.yangtools.yang.data.codec.gson.JSONNormalizedNodeStreamWriter$Exclusive.close(JSONNormalizedNodeStreamWriter.java:66)
                at org.opendaylight.yangtools.yang.data.api.schema.stream.NormalizedNodeWriter.close(NormalizedNodeWriter.java:121)
                at org.opendaylight.netconf.test.tool.PayloadCreator.normalizedNodeToString(PayloadCreator.java:86)
                ... 16 common frames omitted
13:47:56.862 [main] INFO  o.o.netconf.test.tool.Main - Time spent with configuration of devices: 517.3 ms.
 


 Comments   
Comment by Robert Varga [ 03/Jan/23 ]

Ah, right, with that refactor we cannot use QNAME constants to query/create NodeIdentifiers – we need to bind them to netconf-node's namespace (as per the use in augment).

Generated at Wed Feb 07 20:16:17 UTC 2024 using Jira 8.20.10#820010-sha1:ace47f9899e9ee25d7157d59aa17ab06aee30d3d.