Hi,

I have created a project using boron-SR3 archetype. In one of the yang I have 
augmented a container. In the code (File3.java) 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. So is this a bug in the boron-SR3 ?

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";

    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; }

    revision "2016-09-28" {
        description "Initial revision of connector configuration model";
    }

    grouping controller-common-group {
        container version-info {
            leaf version {
                type string;
                mandatory true;
                description
                    "Controller version.";
            }
        }

    }

    /*
    * Augumented
    */
    augment "/testconfig:controller" {
        ext:augment-identifier ControllerMgmtAugmentation;
        container controller-common-mgmt {
            config false;
            description
           "Controller version";
            uses controller-common-group;
        }
    }

}


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


Regards
-Satish


_______________________________________________
controller-dev mailing list
controller-dev@lists.opendaylight.org
https://lists.opendaylight.org/mailman/listinfo/controller-dev

Reply via email to