-
Bug
-
Resolution: Unresolved
-
Highest
-
None
-
Operating System: All
Platform: All
-
8088
We are using ODL Boron.
Mandatory attributes inside RPC input are not honoured , therefore RPC’s can be invoked without passing mandatory attributes.
rpc say-hello { input { leaf name { type string; mandatory true; } } }
Whereas with RESTCONF url’s the mandatory attributes validation is happening
RESTCONF ERROR:
There is no Error to the North Bound(In the APIDOCS page), but in the server side, below logs are printed, CDS is not updated with the values as the validation is failed.
Caused by: java.lang.IllegalArgumentException: Node (urn:opendaylight:params:xml:ns:yang:normalizednodedemo?revision=2015-01-05)emp-list[ {(urn:opendaylight:params:xml:ns:yang:normalizednodedemo?revision=2015-01-05)name=vikram} ] is missing mandatory descendant /(urn:opendaylight:params:xml:ns:yang:normalizednodedemo?revision=2015-01-05)age at com.google.common.base.Preconditions.checkArgument(Preconditions.java:145)[58:com.google.guava:18.0.0] at org.opendaylight.yangtools.yang.data.impl.schema.tree.MandatoryLeafEnforcer$Strict.enforceOnTreeNode(MandatoryLeafEnforcer.java:60)[74:org.opendaylight.yangtools.yang-data-impl:1.0.0.Boron] at org.opendaylight.yangtools.yang.data.impl.schema.tree.MandatoryLeafEnforcer$Strict.enforceOnTreeNode(MandatoryLeafEnforcer.java:53)[74:org.opendaylight.yangtools.yang-data-impl:1.0.0.Boron] at org.opendaylight.yangtools.yang.data.impl.schema.tree.ListEntryModificationStrategy.applyWrite(ListEntryModificationStrategy.java:41)[74:org.opendaylight.yangtools.yang-data-impl:1.0.0.Boron] at org.opendaylight.yangtools.yang.data.impl.schema.tree.SchemaAwareApplyOperation.apply(SchemaAwareApplyOperation.java:216)[74:org.opendaylight.yangtools.yang-data-impl:1.0.0.Boron] at org.opendaylight.yangtools.yang.data.impl.schema.tree.AbstractNodeContainerModificationStrategy.mutateChildren(AbstractNodeContainerModificationStrategy.java:139)[74:org.opendaylight.yangtools.yang-data-impl:1.0.0.Boron] at org.opendaylight.yangtools.yang.data.impl.schema.tree.AbstractNodeContainerModificationStrategy.applyTouch(AbstractNodeContainerModificationStrategy.java:252)[74:org.opendaylight.yangtools.yang-data-impl:1.0.0.Boron] at org.opendaylight.yangtools.yang.data.impl.schema.tree.AbstractNodeContainerModificationStrategy.applyMerge(AbstractNodeContainerModificationStrategy.java:170)[74:org.opendaylight.yangtools.yang-data-impl:1.0.0.Boron] at org.opendaylight.yangtools.yang.data.impl.schema.tree.SchemaAwareApplyOperation.apply(SchemaAwareApplyOperation.java:207)[74:org.opendaylight.yangtools.yang-data-impl:1.0.0.Boron] at org.opendaylight.yangtools.yang.data.impl.schema.tree.MinMaxElementsValidation.checkMinMaxElements(MinMaxElementsValidation.java:76)[74:org.opendaylight.yangtools.yang-data-impl:1.0.0.Boron] at org.opendaylight.yangtools.yang.data.impl.schema.tree.MinMaxElementsValidation.checkMergeApplicable(MinMaxElementsValidation.java:114)[74:org.opendaylight.yangtools.yang-data-impl:1.0.0.Boron] at org.opendaylight.yangtools.yang.data.impl.schema.tree.SchemaAwareApplyOperation.checkApplicable(SchemaAwareApplyOperation.java:131)[74:org.opendaylight.yangtools.yang-data-impl:1.0.0.Boron] at org.opendaylight.yangtools.yang.data.impl.schema.tree.AbstractNodeContainerModificationStrategy.checkChildPreconditions(AbstractNodeContainerModificationStrategy.java:305)[74:org.opendaylight.yangtools.yang-data-impl:1.0.0.Boron] at org.opendaylight.yangtools.yang.data.impl.schema.tree.AbstractNodeContainerModificationStrategy.checkMergeApplicable(AbstractNodeContainerModificationStrategy.java:313)[74:org.opendaylight.yangtools.yang-data-impl:1.0.0.Boron] at org.opendaylight.yangtools.yang.data.impl.schema.tree.SchemaAwareApplyOperation.checkApplicable(SchemaAwareApplyOperation.java:131)[74:org.opendaylight.yangtools.yang-data-impl:1.0.0.Boron] at org.opendaylight.yangtools.yang.data.impl.schema.tree.StructuralContainerModificationStrategy.checkApplicable(StructuralContainerModificationStrategy.java:99)[74:org.opendaylight.yangtools.yang-data-impl:1.0.0.Boron] at org.opendaylight.yangtools.yang.data.impl.schema.tree.AbstractNodeContainerModificationStrategy.checkChildPreconditions(AbstractNodeContainerModificationStrategy.java:305)[74:org.opendaylight.yangtools.yang-data-impl:1.0.0.Boron] at org.opendaylight.yangtools.yang.data.impl.schema.tree.AbstractNodeContainerModificationStrategy.checkTouchApplicable(AbstractNodeContainerModificationStrategy.java:288)[74:org.opendaylight.yangtools.yang-data-impl:1.0.0.Boron] at org.opendaylight.yangtools.yang.data.impl.schema.tree.SchemaAwareApplyOperation.checkApplicable(SchemaAwareApplyOperation.java:125)[74:org.opendaylight.yangtools.yang-data-impl:1.0.0.Boron] at org.opendaylight.yangtools.yang.data.impl.schema.tree.RootModificationApplyOperation.checkApplicable(RootModificationApplyOperation.java:72)[74:org.opendaylight.yangtools.yang-data-impl:1.0.0.Boron] at org.opendaylight.yangtools.yang.data.impl.schema.tree.AbstractDataTreeTip.validate(AbstractDataTreeTip.java:37)[74:org.opendaylight.yangtools.yang-data-impl:1.0.0.Boron]
RPC ERROR:
Since there is no validation, it is returning the SUCCESSFUL RPC result to the North Bound
- is blocked by
-
YANGTOOLS-1259 Split out immutable NormalizedNode implementations
- Resolved