Uploaded image for project: 'yangtools'
  1. yangtools
  2. YANGTOOLS-771

IncorrectNestingException when writing to an augmented data-tree (BORON-SR3)

    XMLWordPrintable

Details

    • Improvement
    • Status: Confirmed
    • Resolution: Unresolved
    • 1.0.3
    • None
    • None
    • None
    • Operating System: All
      Platform: All

    Description

      I have created a project using boron-SR3 archetype. In one of the yang I have augmented a container. In the code I am trying to write the data to that container to the DataStore, but I am getting IncorrectNestingException exception. The same code is working fine in the boron stable project. Below are the yang and code snippets.

      File1.yang :

      module test-controller {
       yang-version 1;
       namespace "http://www.test.com/controllerconfiguration/core";
       prefix "testconfig";
       description "";
       revision "2016-09-22" { description "Initial revision of model"; }
      
       container controller {
       }
      }
      

       

      File2.yang :

      module device-config {
       yang-version 1;
       namespace "urn:opendaylight:params:xml:ns:yang:controller:config:sal-clustering-it:device-config";
       prefix "deviceconfig";
       revision "2016-09-28" { description "Initial revision of connector configuration model"; }
       
       import test-controller { prefix testconfig; revision-date 2016-09-22; }
      
       import yang-ext { prefix ext; }
      
       import ietf-inet-types { prefix "inet-types"; revision-date 2013-07-15; }
      
      grouping controller-common-group {
       container version-info {
       leaf version
      { type string; mandatory true; description "Controller version."; }
      }
      }
       
      

       

      /*
      
      Augumented
       */
       augment "/testconfig:controller"
       Unknown macro: { ext}
      }
      

       

      File3.java :

      VersionInfoBuilder versionInfoBuilder = new VersionInfoBuilder();
       versionInfoBuilder.setVersion("17.1.1.1");
       InstanceIdentifier<VersionInfo> in = InstanceIdentifier.create(Controller.class)
       .augmentation(ControllerMgmtAugmentation.class).child(ControllerCommonMgmt.class)
       .child(VersionInfo.class);
       WriteTransaction writeTranaction = dataBroker.newWriteOnlyTransaction();
       writeTranaction.merge(LogicalDatastoreType.OPERATIONAL, in, versionInfoBuilder.build(), true);
       writeTranaction.submit();

      File4.java :

       

      public interface ControllerMgmtAugmentation
       extends
       DataObject,
       Augmentation<Controller>
      { /** * Controller version and backup details. * * * * @return <code>org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.controller.config.sal.clustering.it.device.config.rev160928.controller.ControllerCommonMgmt</code> <code>controllerCommonMgmt</code>, or <code>null</code> if not present */ ControllerCommonMgmt getControllerCommonMgmt(); }
      

       

      LOG Traces :

      2017-04-14 17:33:17,565 | ERROR | on-dispatcher-34 | DataTreeChangeListenerActor | 176 - org.opendaylight.controller.sal-distributed-datastore - 1.4.3.Boron-SR3 | Error notify
       ing listener org.opendaylight.controller.md.sal.binding.impl.BindingDOMDataTreeChangeListenerAdapter@85aac52
       org.opendaylight.yangtools.binding.data.codec.impl.IncorrectNestingException: Class interface org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.controller.config.sal
       .clustering.it.device.config.rev160928.ControllerMgmtAugmentation is not valid child of interface org.opendaylight.yang.gen.v1.http.www.test.com.controllerconfiguration.core.rev160
       922.Controller
       at org.opendaylight.yangtools.binding.data.codec.impl.IncorrectNestingException.create(IncorrectNestingException.java:28)[74:org.opendaylight.mdsal.binding-dom-codec:0.9.3.
       Boron-SR3]
       at org.opendaylight.yangtools.binding.data.codec.impl.DataContainerCodecContext.childNonNull(DataContainerCodecContext.java:180)[74:org.opendaylight.mdsal.binding-dom-codec
       :0.9.3.Boron-SR3]
       at org.opendaylight.yangtools.binding.data.codec.impl.DataObjectCodecContext.bindingPathArgumentChild(DataObjectCodecContext.java:184)[74:org.opendaylight.mdsal.binding-dom
       -codec:0.9.3.Boron-SR3]
       at org.opendaylight.yangtools.binding.data.codec.impl.BindingCodecContext.getCodecContextNode(BindingCodecContext.java:127)[74:org.opendaylight.mdsal.binding-dom-codec:0.9.
       3.Boron-SR3]
       at org.opendaylight.yangtools.binding.data.codec.impl.BindingCodecContext.newWriter(BindingCodecContext.java:104)[74:org.opendaylight.mdsal.binding-dom-codec:0.9.3.Boron-SR
       3]
       at org.opendaylight.yangtools.binding.data.codec.impl.BindingNormalizedNodeCodecRegistry.toNormalizedNode(BindingNormalizedNodeCodecRegistry.java:102)[74:org.opendaylight.m
       dsal.binding-dom-codec:0.9.3.Boron-SR3]
       at org.opendaylight.controller.md.sal.binding.impl.BindingToNormalizedNodeCodec.toNormalizedNode(BindingToNormalizedNodeCodec.java:135)[146:org.opendaylight.controller.sal-
       binding-broker-impl:1.4.3.Boron-SR3]
       at org.opendaylight.controller.md.sal.binding.impl.AbstractWriteTransaction.merge(AbstractWriteTransaction.java:53)[146:org.opendaylight.controller.sal-binding-broker-impl:
       1.4.3.Boron-SR3]
       at org.opendaylight.controller.impl.ConnectorDTCL.onDataTreeChanged(ConnectorDTCL.java:41)[179:org.opendaylight.controller.test-impl:0.1.0.SNAPSHOT]
       at org.opendaylight.controller.md.sal.binding.impl.BindingDOMDataTreeChangeListenerAdapter.onDataTreeChanged(BindingDOMDataTreeChangeListenerAdapter.java:41)[146:org.openda
       ylight.controller.sal-binding-broker-impl:1.4.3.Boron-SR3]
       at org.opendaylight.controller.cluster.datastore.DataTreeChangeListenerActor.dataChanged(DataTreeChangeListenerActor.java:58)[176:org.opendaylight.controller.sal-distribute
       d-datastore:1.4.3.Boron-SR3]
       at org.opendaylight.controller.cluster.datastore.DataTreeChangeListenerActor.handleReceive(DataTreeChangeListenerActor.java:40)[176:org.opendaylight.controller.sal-distribu
       ted-datastore:1.4.3.Boron-SR3]
       at org.opendaylight.controller.cluster.common.actor.AbstractUntypedActor.onReceive(AbstractUntypedActor.java:26)[170:org.opendaylight.controller.sal-clustering-commons:1.4.
       3.Boron-SR3]
       at akka.actor.UntypedActor$$anonfun$receive$1.applyOrElse(UntypedActor.scala:165)[158:com.typesafe.akka.actor:2.4.7]
       at akka.actor.Actor$class.aroundReceive(Actor.scala:484)[158:com.typesafe.akka.actor:2.4.7]
       at akka.actor.UntypedActor.aroundReceive(UntypedActor.scala:95)[158:com.typesafe.akka.actor:2.4.7]
       at akka.actor.ActorCell.receiveMessage(ActorCell.scala:526)[158:com.typesafe.akka.actor:2.4.7]
       at akka.actor.ActorCell.invoke(ActorCell.scala:495)[158:com.typesafe.akka.actor:2.4.7]
       at akka.dispatch.Mailbox.processMailbox(Mailbox.scala:257)[158:com.typesafe.akka.actor:2.4.7]
       at akka.dispatch.Mailbox.run(Mailbox.scala:224)[158:com.typesafe.akka.actor:2.4.7]
       at akka.dispatch.Mailbox.exec(Mailbox.scala:234)[158:com.typesafe.akka.actor:2.4.7]
       at scala.concurrent.forkjoin.ForkJoinTask.doExec(ForkJoinTask.java:260)[154:org.scala-lang.scala-library:2.11.8.v20160304-115712-1706a37eb8]
       at scala.concurrent.forkjoin.ForkJoinPool$WorkQueue.runTask(ForkJoinPool.java:1339)[154:org.scala-lang.scala-library:2.11.8.v20160304-115712-1706a37eb8]
       at scala.concurrent.forkjoin.ForkJoinPool.runWorker(ForkJoinPool.java:1979)[154:org.scala-lang.scala-library:2.11.8.v20160304-115712-1706a37eb8]
       at scala.concurrent.forkjoin.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:107)[154:org.scala-lang.scala-library:2.11.8.v20160304-115712-1706a37eb8]
       2017-04-14 17:36:43,318 | WARN | ssionScavenger-4 | teInvalidatingHashSessionManager | 199 - org.ops4j.pax.web.pax-web-jetty - 3.2.9 | Timing out for 1 session(s) with id 1hhckm7x
       1lje1zujilxde8pq1
       2017-04-14 17:36:43,320 | WARN | ssionScavenger-4 | teInvalidatingHashSessionManager | 199 - org.ops4j.pax.web.pax-web-jetty - 3.2.9 | Timing out for 1 session(s) with id 1eo5yv73
       psibrvwqf3rjsmepy

      Attachments

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

        Activity

          People

            Unassigned Unassigned
            sdutt@advaoptical.com Satish Dutt
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

            Dates

              Created:
              Updated: