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

Mandatory attributes in RPC input are not honoured

    XMLWordPrintable

Details

    • Bug
    • Status: Confirmed
    • Highest
    • Resolution: Unresolved
    • None
    • 7.0.0
    • restconf-nb
    • Operating System: All
      Platform: All

    • 8088

    Description

      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

      Attachments

        Issue Links

          No reviews matched the request. Check your Options in the drop-down menu of this sections header.

          Activity

            People

              Unassigned Unassigned
              vdarsi@advaoptical.com Vikram Darsi
              Votes:
              0 Vote for this issue
              Watchers:
              1 Start watching this issue

              Dates

                Created:
                Updated: