[NETVIRT-540] Data validation failed for path /(urn:opendaylight:inventory?revision=2013-08-19)nodes/node/node[{(urn:opendaylight:inventory?revision=2013-08-19)id=openflow:0}] Created: 16/Mar/17  Updated: 15/Dec/17  Resolved: 06/Jul/17

Status: Resolved
Project: netvirt
Component/s: General
Affects Version/s: Carbon
Fix Version/s: None

Type: Bug
Reporter: Janki Chhatbar Assignee: Vivekanandan Narasimhan
Resolution: Done Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified
Environment:

Operating System: All
Platform: All


External issue ID: 8001

 Description   

Found in CSIT:
https://logs.opendaylight.org/releng/jenkins092/netvirt-csit-1node-openstack-newton-nodl-v2-upstream-stateful-carbon/201/archives/odl1_karaf.log.gz

2017-03-16 06:18:42,053 | WARN | lt-dispatcher-19 | ShardDataTree | 218 - org.opendaylight.controller.sal-distributed-datastore - 1.5.0.SNAPSHOT | member-1-shard-inventory-config: Store Tx member-1-datastore-config-fe-0-txn-14592-0: Data validation failed for path /(urn:opendaylight:inventory?revision=2013-08-19)nodes/node/node[

{(urn:opendaylight:inventory?revision=2013-08-19)id=openflow:0}

].
org.opendaylight.yangtools.yang.data.api.schema.tree.ModifiedNodeDoesNotExistException: Node /(urn:opendaylight:inventory?revision=2013-08-19)nodes/node/node[

{(urn:opendaylight:inventory?revision=2013-08-19)id=openflow:0}

] does not exist. Cannot apply modification to its children.
at org.opendaylight.yangtools.yang.data.impl.schema.tree.AbstractNodeContainerModificationStrategy.checkTouchApplicable(AbstractNodeContainerModificationStrategy.java:281)[108:org.opendaylight.yangtools.yang-data-impl:1.1.0.SNAPSHOT]
at org.opendaylight.yangtools.yang.data.impl.schema.tree.SchemaAwareApplyOperation.checkApplicable(SchemaAwareApplyOperation.java:125)[108:org.opendaylight.yangtools.yang-data-impl:1.1.0.SNAPSHOT]
at org.opendaylight.yangtools.yang.data.impl.schema.tree.AbstractNodeContainerModificationStrategy.checkChildPreconditions(AbstractNodeContainerModificationStrategy.java:305)[108:org.opendaylight.yangtools.yang-data-impl:1.1.0.SNAPSHOT]
at org.opendaylight.yangtools.yang.data.impl.schema.tree.AbstractNodeContainerModificationStrategy.checkTouchApplicable(AbstractNodeContainerModificationStrategy.java:288)[108:org.opendaylight.yangtools.yang-data-impl:1.1.0.SNAPSHOT]
at org.opendaylight.yangtools.yang.data.impl.schema.tree.SchemaAwareApplyOperation.checkApplicable(SchemaAwareApplyOperation.java:125)[108:org.opendaylight.yangtools.yang-data-impl:1.1.0.SNAPSHOT]
at org.opendaylight.yangtools.yang.data.impl.schema.tree.AbstractNodeContainerModificationStrategy.checkChildPreconditions(AbstractNodeContainerModificationStrategy.java:305)[108:org.opendaylight.yangtools.yang-data-impl:1.1.0.SNAPSHOT]
at org.opendaylight.yangtools.yang.data.impl.schema.tree.AbstractNodeContainerModificationStrategy.checkTouchApplicable(AbstractNodeContainerModificationStrategy.java:288)[108:org.opendaylight.yangtools.yang-data-impl:1.1.0.SNAPSHOT]
at org.opendaylight.yangtools.yang.data.impl.schema.tree.SchemaAwareApplyOperation.checkApplicable(SchemaAwareApplyOperation.java:125)[108:org.opendaylight.yangtools.yang-data-impl:1.1.0.SNAPSHOT]
at org.opendaylight.yangtools.yang.data.impl.schema.tree.StructuralContainerModificationStrategy.checkApplicable(StructuralContainerModificationStrategy.java:99)[108:org.opendaylight.yangtools.yang-data-impl:1.1.0.SNAPSHOT]
at org.opendaylight.yangtools.yang.data.impl.schema.tree.AbstractNodeContainerModificationStrategy.checkChildPreconditions(AbstractNodeContainerModificationStrategy.java:305)[108:org.opendaylight.yangtools.yang-data-impl:1.1.0.SNAPSHOT]
at org.opendaylight.yangtools.yang.data.impl.schema.tree.AbstractNodeContainerModificationStrategy.checkTouchApplicable(AbstractNodeContainerModificationStrategy.java:288)[108:org.opendaylight.yangtools.yang-data-impl:1.1.0.SNAPSHOT]
at org.opendaylight.yangtools.yang.data.impl.schema.tree.SchemaAwareApplyOperation.checkApplicable(SchemaAwareApplyOperation.java:125)[108:org.opendaylight.yangtools.yang-data-impl:1.1.0.SNAPSHOT]
at org.opendaylight.yangtools.yang.data.impl.schema.tree.RootModificationApplyOperation.checkApplicable(RootModificationApplyOperation.java:72)[108:org.opendaylight.yangtools.yang-data-impl:1.1.0.SNAPSHOT]
at org.opendaylight.yangtools.yang.data.impl.schema.tree.AbstractDataTreeTip.validate(AbstractDataTreeTip.java:35)[108:org.opendaylight.yangtools.yang-data-impl:1.1.0.SNAPSHOT]
at org.opendaylight.controller.cluster.datastore.ShardDataTree.lambda$processNextPendingTransaction$0(ShardDataTree.java:674)[218:org.opendaylight.controller.sal-distributed-datastore:1.5.0.SNAPSHOT]
at org.opendaylight.controller.cluster.datastore.ShardDataTree.processNextPending(ShardDataTree.java:720)[218:org.opendaylight.controller.sal-distributed-datastore:1.5.0.SNAPSHOT]
at org.opendaylight.controller.cluster.datastore.ShardDataTree.processNextPendingTransaction(ShardDataTree.java:667)[218:org.opendaylight.controller.sal-distributed-datastore:1.5.0.SNAPSHOT]
at org.opendaylight.controller.cluster.datastore.ShardDataTree.startCanCommit(ShardDataTree.java:746)[218:org.opendaylight.controller.sal-distributed-datastore:1.5.0.SNAPSHOT]
at org.opendaylight.controller.cluster.datastore.SimpleShardDataTreeCohort.canCommit(SimpleShardDataTreeCohort.java:76)[218:org.opendaylight.controller.sal-distributed-datastore:1.5.0.SNAPSHOT]
at org.opendaylight.controller.cluster.datastore.CohortEntry.canCommit(CohortEntry.java:97)[218:org.opendaylight.controller.sal-distributed-datastore:1.5.0.SNAPSHOT]
at org.opendaylight.controller.cluster.datastore.ShardCommitCoordinator.handleCanCommit(ShardCommitCoordinator.java:236)[218:org.opendaylight.controller.sal-distributed-datastore:1.5.0.SNAPSHOT]
at org.opendaylight.controller.cluster.datastore.ShardCommitCoordinator.handleReadyLocalTransaction(ShardCommitCoordinator.java:200)[218:org.opendaylight.controller.sal-distributed-datastore:1.5.0.SNAPSHOT]
at org.opendaylight.controller.cluster.datastore.Shard.handleReadyLocalTransaction(Shard.java:573)[218:org.opendaylight.controller.sal-distributed-datastore:1.5.0.SNAPSHOT]
at org.opendaylight.controller.cluster.datastore.Shard.handleNonRaftCommand(Shard.java:296)[218:org.opendaylight.controller.sal-distributed-datastore:1.5.0.SNAPSHOT]
at org.opendaylight.controller.cluster.raft.RaftActor.handleCommand(RaftActor.java:268)[212:org.opendaylight.controller.sal-akka-raft:1.5.0.SNAPSHOT]
at org.opendaylight.controller.cluster.common.actor.AbstractUntypedPersistentActor.onReceiveCommand(AbstractUntypedPersistentActor.java:31)[211:org.opendaylight.controller.sal-clustering-commons:1.5.0.SNAPSHOT]
at akka.persistence.UntypedPersistentActor.onReceive(PersistentActor.scala:170)[192:com.typesafe.akka.persistence:2.4.17]
at org.opendaylight.controller.cluster.common.actor.MeteringBehavior.apply(MeteringBehavior.java:104)[211:org.opendaylight.controller.sal-clustering-commons:1.5.0.SNAPSHOT]
at akka.actor.ActorCell$$anonfun$become$1.applyOrElse(ActorCell.scala:544)[185:com.typesafe.akka.actor:2.4.17]
at akka.actor.Actor$class.aroundReceive(Actor.scala:497)[185:com.typesafe.akka.actor:2.4.17]
at akka.persistence.UntypedPersistentActor.akka$persistence$Eventsourced$$super$aroundReceive(PersistentActor.scala:168)[192:com.typesafe.akka.persistence:2.4.17]
at akka.persistence.Eventsourced$$anon$1.stateReceive(Eventsourced.scala:664)[192:com.typesafe.akka.persistence:2.4.17]
at akka.persistence.Eventsourced$class.aroundReceive(Eventsourced.scala:183)[192:com.typesafe.akka.persistence:2.4.17]
at akka.persistence.UntypedPersistentActor.aroundReceive(PersistentActor.scala:168)[192:com.typesafe.akka.persistence:2.4.17]
at akka.actor.ActorCell.receiveMessage(ActorCell.scala:526)[185:com.typesafe.akka.actor:2.4.17]
at akka.actor.ActorCell.invoke(ActorCell.scala:495)[185:com.typesafe.akka.actor:2.4.17]
at akka.dispatch.Mailbox.processMailbox(Mailbox.scala:257)[185:com.typesafe.akka.actor:2.4.17]
at akka.dispatch.Mailbox.run(Mailbox.scala:224)[185:com.typesafe.akka.actor:2.4.17]
at akka.dispatch.Mailbox.exec(Mailbox.scala:234)[185:com.typesafe.akka.actor:2.4.17]
at scala.concurrent.forkjoin.ForkJoinTask.doExec(ForkJoinTask.java:260)[181:org.scala-lang.scala-library:2.11.8.v20160304-115712-1706a37eb8]
at scala.concurrent.forkjoin.ForkJoinPool$WorkQueue.runTask(ForkJoinPool.java:1339)[181:org.scala-lang.scala-library:2.11.8.v20160304-115712-1706a37eb8]
at scala.concurrent.forkjoin.ForkJoinPool.runWorker(ForkJoinPool.java:1979)[181:org.scala-lang.scala-library:2.11.8.v20160304-115712-1706a37eb8]
at scala.concurrent.forkjoin.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:107)[181:org.scala-lang.scala-library:2.11.8.v20160304-115712-1706a37eb8]
2017-03-16 06:18:42,057 | ERROR | lt-dispatcher-21 | LocalThreePhaseCommitCohort | 218 - org.opendaylight.controller.sal-distributed-datastore - 1.5.0.SNAPSHOT | Failed to prepare transaction member-1-datastore-config-fe-0-txn-14592-0 on backend
TransactionCommitFailedException{message=Data did not pass validation., errorList=[RpcError [message=Data did not pass validation., severity=ERROR, errorType=APPLICATION, tag=operation-failed, applicationTag=null, info=null, cause=org.opendaylight.yangtools.yang.data.api.schema.tree.ModifiedNodeDoesNotExistException: Node /(urn:opendaylight:inventory?revision=2013-08-19)nodes/node/node[

{(urn:opendaylight:inventory?revision=2013-08-19)id=openflow:0}

] does not exist. Cannot apply modification to its children.]]}
at org.opendaylight.controller.cluster.datastore.ShardDataTree.lambda$processNextPendingTransaction$0(ShardDataTree.java:691)[218:org.opendaylight.controller.sal-distributed-datastore:1.5.0.SNAPSHOT]
at org.opendaylight.controller.cluster.datastore.ShardDataTree.processNextPending(ShardDataTree.java:720)[218:org.opendaylight.controller.sal-distributed-datastore:1.5.0.SNAPSHOT]
at org.opendaylight.controller.cluster.datastore.ShardDataTree.processNextPendingTransaction(ShardDataTree.java:667)[218:org.opendaylight.controller.sal-distributed-datastore:1.5.0.SNAPSHOT]
at org.opendaylight.controller.cluster.datastore.ShardDataTree.startCanCommit(ShardDataTree.java:746)[218:org.opendaylight.controller.sal-distributed-datastore:1.5.0.SNAPSHOT]
at org.opendaylight.controller.cluster.datastore.SimpleShardDataTreeCohort.canCommit(SimpleShardDataTreeCohort.java:76)[218:org.opendaylight.controller.sal-distributed-datastore:1.5.0.SNAPSHOT]
at org.opendaylight.controller.cluster.datastore.CohortEntry.canCommit(CohortEntry.java:97)[218:org.opendaylight.controller.sal-distributed-datastore:1.5.0.SNAPSHOT]
at org.opendaylight.controller.cluster.datastore.ShardCommitCoordinator.handleCanCommit(ShardCommitCoordinator.java:236)[218:org.opendaylight.controller.sal-distributed-datastore:1.5.0.SNAPSHOT]
at org.opendaylight.controller.cluster.datastore.ShardCommitCoordinator.handleReadyLocalTransaction(ShardCommitCoordinator.java:200)[218:org.opendaylight.controller.sal-distributed-datastore:1.5.0.SNAPSHOT]
at org.opendaylight.controller.cluster.datastore.Shard.handleReadyLocalTransaction(Shard.java:573)[218:org.opendaylight.controller.sal-distributed-datastore:1.5.0.SNAPSHOT]
at org.opendaylight.controller.cluster.datastore.Shard.handleNonRaftCommand(Shard.java:296)[218:org.opendaylight.controller.sal-distributed-datastore:1.5.0.SNAPSHOT]
at org.opendaylight.controller.cluster.raft.RaftActor.handleCommand(RaftActor.java:268)[212:org.opendaylight.controller.sal-akka-raft:1.5.0.SNAPSHOT]
at org.opendaylight.controller.cluster.common.actor.AbstractUntypedPersistentActor.onReceiveCommand(AbstractUntypedPersistentActor.java:31)[211:org.opendaylight.controller.sal-clustering-commons:1.5.0.SNAPSHOT]
at akka.persistence.UntypedPersistentActor.onReceive(PersistentActor.scala:170)[192:com.typesafe.akka.persistence:2.4.17]
at org.opendaylight.controller.cluster.common.actor.MeteringBehavior.apply(MeteringBehavior.java:104)[211:org.opendaylight.controller.sal-clustering-commons:1.5.0.SNAPSHOT]
at akka.actor.ActorCell$$anonfun$become$1.applyOrElse(ActorCell.scala:544)[185:com.typesafe.akka.actor:2.4.17]
at akka.actor.Actor$class.aroundReceive(Actor.scala:497)[185:com.typesafe.akka.actor:2.4.17]
at akka.persistence.UntypedPersistentActor.akka$persistence$Eventsourced$$super$aroundReceive(PersistentActor.scala:168)[192:com.typesafe.akka.persistence:2.4.17]
at akka.persistence.Eventsourced$$anon$1.stateReceive(Eventsourced.scala:664)[192:com.typesafe.akka.persistence:2.4.17]
at akka.persistence.Eventsourced$class.aroundReceive(Eventsourced.scala:183)[192:com.typesafe.akka.persistence:2.4.17]
at akka.persistence.UntypedPersistentActor.aroundReceive(PersistentActor.scala:168)[192:com.typesafe.akka.persistence:2.4.17]
at akka.actor.ActorCell.receiveMessage(ActorCell.scala:526)[185:com.typesafe.akka.actor:2.4.17]
at akka.actor.ActorCell.invoke(ActorCell.scala:495)[185:com.typesafe.akka.actor:2.4.17]
at akka.dispatch.Mailbox.processMailbox(Mailbox.scala:257)[185:com.typesafe.akka.actor:2.4.17]
at akka.dispatch.Mailbox.run(Mailbox.scala:224)[185:com.typesafe.akka.actor:2.4.17]
at akka.dispatch.Mailbox.exec(Mailbox.scala:234)[185:com.typesafe.akka.actor:2.4.17]
at scala.concurrent.forkjoin.ForkJoinTask.doExec(ForkJoinTask.java:260)[181:org.scala-lang.scala-library:2.11.8.v20160304-115712-1706a37eb8]
at scala.concurrent.forkjoin.ForkJoinPool$WorkQueue.runTask(ForkJoinPool.java:1339)[181:org.scala-lang.scala-library:2.11.8.v20160304-115712-1706a37eb8]
at scala.concurrent.forkjoin.ForkJoinPool.runWorker(ForkJoinPool.java:1979)[181:org.scala-lang.scala-library:2.11.8.v20160304-115712-1706a37eb8]
at scala.concurrent.forkjoin.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:107)[181:org.scala-lang.scala-library:2.11.8.v20160304-115712-1706a37eb8]
Caused by: org.opendaylight.yangtools.yang.data.api.schema.tree.ModifiedNodeDoesNotExistException: Node /(urn:opendaylight:inventory?revision=2013-08-19)nodes/node/node[

{(urn:opendaylight:inventory?revision=2013-08-19)id=openflow:0}

] does not exist. Cannot apply modification to its children.
at org.opendaylight.yangtools.yang.data.impl.schema.tree.AbstractNodeContainerModificationStrategy.checkTouchApplicable(AbstractNodeContainerModificationStrategy.java:281)[108:org.opendaylight.yangtools.yang-data-impl:1.1.0.SNAPSHOT]
at org.opendaylight.yangtools.yang.data.impl.schema.tree.SchemaAwareApplyOperation.checkApplicable(SchemaAwareApplyOperation.java:125)[108:org.opendaylight.yangtools.yang-data-impl:1.1.0.SNAPSHOT]
at org.opendaylight.yangtools.yang.data.impl.schema.tree.AbstractNodeContainerModificationStrategy.checkChildPreconditions(AbstractNodeContainerModificationStrategy.java:305)[108:org.opendaylight.yangtools.yang-data-impl:1.1.0.SNAPSHOT]
at org.opendaylight.yangtools.yang.data.impl.schema.tree.AbstractNodeContainerModificationStrategy.checkTouchApplicable(AbstractNodeContainerModificationStrategy.java:288)[108:org.opendaylight.yangtools.yang-data-impl:1.1.0.SNAPSHOT]
at org.opendaylight.yangtools.yang.data.impl.schema.tree.SchemaAwareApplyOperation.checkApplicable(SchemaAwareApplyOperation.java:125)[108:org.opendaylight.yangtools.yang-data-impl:1.1.0.SNAPSHOT]
at org.opendaylight.yangtools.yang.data.impl.schema.tree.AbstractNodeContainerModificationStrategy.checkChildPreconditions(AbstractNodeContainerModificationStrategy.java:305)[108:org.opendaylight.yangtools.yang-data-impl:1.1.0.SNAPSHOT]
at org.opendaylight.yangtools.yang.data.impl.schema.tree.AbstractNodeContainerModificationStrategy.checkTouchApplicable(AbstractNodeContainerModificationStrategy.java:288)[108:org.opendaylight.yangtools.yang-data-impl:1.1.0.SNAPSHOT]
at org.opendaylight.yangtools.yang.data.impl.schema.tree.SchemaAwareApplyOperation.checkApplicable(SchemaAwareApplyOperation.java:125)[108:org.opendaylight.yangtools.yang-data-impl:1.1.0.SNAPSHOT]
at org.opendaylight.yangtools.yang.data.impl.schema.tree.StructuralContainerModificationStrategy.checkApplicable(StructuralContainerModificationStrategy.java:99)[108:org.opendaylight.yangtools.yang-data-impl:1.1.0.SNAPSHOT]
at org.opendaylight.yangtools.yang.data.impl.schema.tree.AbstractNodeContainerModificationStrategy.checkChildPreconditions(AbstractNodeContainerModificationStrategy.java:305)[108:org.opendaylight.yangtools.yang-data-impl:1.1.0.SNAPSHOT]
at org.opendaylight.yangtools.yang.data.impl.schema.tree.AbstractNodeContainerModificationStrategy.checkTouchApplicable(AbstractNodeContainerModificationStrategy.java:288)[108:org.opendaylight.yangtools.yang-data-impl:1.1.0.SNAPSHOT]
at org.opendaylight.yangtools.yang.data.impl.schema.tree.SchemaAwareApplyOperation.checkApplicable(SchemaAwareApplyOperation.java:125)[108:org.opendaylight.yangtools.yang-data-impl:1.1.0.SNAPSHOT]
at org.opendaylight.yangtools.yang.data.impl.schema.tree.RootModificationApplyOperation.checkApplicable(RootModificationApplyOperation.java:72)[108:org.opendaylight.yangtools.yang-data-impl:1.1.0.SNAPSHOT]
at org.opendaylight.yangtools.yang.data.impl.schema.tree.AbstractDataTreeTip.validate(AbstractDataTreeTip.java:35)[108:org.opendaylight.yangtools.yang-data-impl:1.1.0.SNAPSHOT]
at org.opendaylight.controller.cluster.datastore.ShardDataTree.lambda$processNextPendingTransaction$0(ShardDataTree.java:674)[218:org.opendaylight.controller.sal-distributed-datastore:1.5.0.SNAPSHOT]
... 28 more

and hence subsequent exceptions for table-id not existing

017-03-16 06:26:49,424 | INFO | eChangeHandler-0 | FibRpcServiceImpl | 367 - org.opendaylight.netvirt.fibmanager-impl - 0.4.0.SNAPSHOT | REMOVE: Removing Custom Fib Entry rd 81ea7e19-fa58-45e0-b5a2-59a5ac70a664 prefix 10.10.10.11/32 label 100056
2017-03-16 06:26:49,425 | INFO | eChangeHandler-0 | FibRpcServiceImpl | 367 - org.opendaylight.netvirt.fibmanager-impl - 0.4.0.SNAPSHOT | REMOVE: Removed Custom Fib Entry rd 81ea7e19-fa58-45e0-b5a2-59a5ac70a664 prefix 10.10.10.11/32 label 100056
2017-03-16 06:26:49,425 | INFO | eChangeHandler-0 | ExternalRoutersListener | 374 - org.opendaylight.netvirt.natservice-impl - 0.4.0.SNAPSHOT | NAT Service : remove terminatingServiceActions called with DpnId = 0 and label = 100056
2017-03-16 06:26:49,425 | WARN | lt-dispatcher-17 | ShardDataTree | 218 - org.opendaylight.controller.sal-distributed-datastore - 1.5.0.SNAPSHOT | member-1-shard-inventory-config: Store Tx member-1-datastore-config-fe-0-txn-43486-0: Data validation failed for path /(urn:opendaylight:inventory?revision=2013-08-19)nodes/node/node[

{(urn:opendaylight:inventory?revision=2013-08-19)id=openflow:0}

]/AugmentationIdentifier

{childNames=[(urn:opendaylight:flow:inventory?revision=2013-08-19)port-number, (urn:opendaylight:flow:inventory?revision=2013-08-19)stale-group, (urn:opendaylight:flow:inventory?revision=2013-08-19)supported-match-types, (urn:opendaylight:flow:inventory?revision=2013-08-19)table, (urn:opendaylight:flow:inventory?revision=2013-08-19)group, (urn:opendaylight:flow:inventory?revision=2013-08-19)manufacturer, (urn:opendaylight:flow:inventory?revision=2013-08-19)software, (urn:opendaylight:flow:inventory?revision=2013-08-19)ip-address, (urn:opendaylight:flow:inventory?revision=2013-08-19)serial-number, (urn:opendaylight:flow:inventory?revision=2013-08-19)table-features, (urn:opendaylight:flow:inventory?revision=2013-08-19)supported-actions, (urn:opendaylight:flow:inventory?revision=2013-08-19)hardware, (urn:opendaylight:flow:inventory?revision=2013-08-19)description, (urn:opendaylight:flow:inventory?revision=2013-08-19)switch-features, (urn:opendaylight:flow:inventory?revision=2013-08-19)supported-instructions, (urn:opendaylight:flow:inventory?revision=2013-08-19)stale-meter, (urn:opendaylight:flow:inventory?revision=2013-08-19)meter]}

/(urn:opendaylight:flow:inventory?revision=2013-08-19)table/table[

{(urn:opendaylight:flow:inventory?revision=2013-08-19)id=21}

].
org.opendaylight.yangtools.yang.data.api.schema.tree.ModifiedNodeDoesNotExistException: Node /(urn:opendaylight:inventory?revision=2013-08-19)nodes/node/node[

{(urn:opendaylight:inventory?revision=2013-08-19)id=openflow:0}

]/AugmentationIdentifier

{childNames=[(urn:opendaylight:flow:inventory?revision=2013-08-19)port-number, (urn:opendaylight:flow:inventory?revision=2013-08-19)stale-group, (urn:opendaylight:flow:inventory?revision=2013-08-19)supported-match-types, (urn:opendaylight:flow:inventory?revision=2013-08-19)table, (urn:opendaylight:flow:inventory?revision=2013-08-19)group, (urn:opendaylight:flow:inventory?revision=2013-08-19)manufacturer, (urn:opendaylight:flow:inventory?revision=2013-08-19)software, (urn:opendaylight:flow:inventory?revision=2013-08-19)ip-address, (urn:opendaylight:flow:inventory?revision=2013-08-19)serial-number, (urn:opendaylight:flow:inventory?revision=2013-08-19)table-features, (urn:opendaylight:flow:inventory?revision=2013-08-19)supported-actions, (urn:opendaylight:flow:inventory?revision=2013-08-19)hardware, (urn:opendaylight:flow:inventory?revision=2013-08-19)description, (urn:opendaylight:flow:inventory?revision=2013-08-19)switch-features, (urn:opendaylight:flow:inventory?revision=2013-08-19)supported-instructions, (urn:opendaylight:flow:inventory?revision=2013-08-19)stale-meter, (urn:opendaylight:flow:inventory?revision=2013-08-19)meter]}

/(urn:opendaylight:flow:inventory?revision=2013-08-19)table/table[

{(urn:opendaylight:flow:inventory?revision=2013-08-19)id=21}

] does not exist. Cannot apply modification to its children.
at org.opendaylight.yangtools.yang.data.impl.schema.tree.AbstractNodeContainerModificationStrategy.checkTouchApplicable(AbstractNodeContainerModificationStrategy.java:281)[108:org.opendaylight.yangtools.yang-data-impl:1.1.0.SNAPSHOT]
at org.opendaylight.yangtools.yang.data.impl.schema.tree.SchemaAwareApplyOperation.checkApplicable(SchemaAwareApplyOperation.java:125)[108:org.opendaylight.yangtools.yang-data-impl:1.1.0.SNAPSHOT]
at org.opendaylight.yangtools.yang.data.impl.schema.tree.AbstractNodeContainerModificationStrategy.checkChildPreconditions(AbstractNodeContainerModificationStrategy.java:305)[108:org.opendaylight.yangtools.yang-data-impl:1.1.0.SNAPSHOT]
at org.opendaylight.yangtools.yang.data.impl.schema.tree.AbstractNodeContainerModificationStrategy.checkTouchApplicable(AbstractNodeContainerModificationStrategy.java:288)[108:org.opendaylight.yangtools.yang-data-impl:1.1.0.SNAPSHOT]
at org.opendaylight.yangtools.yang.data.impl.schema.tree.SchemaAwareApplyOperation.checkApplicable(SchemaAwareApplyOperation.java:125)[108:org.opendaylight.yangtools.yang-data-impl:1.1.0.SNAPSHOT]
at org.opendaylight.yangtools.yang.data.impl.schema.tree.AbstractNodeContainerModificationStrategy.checkChildPreconditions(AbstractNodeContainerModificationStrategy.java:305)[108:org.opendaylight.yangtools.yang-data-impl:1.1.0.SNAPSHOT]
at org.opendaylight.yangtools.yang.data.impl.schema.tree.AbstractNodeContainerModificationStrategy.checkTouchApplicable(AbstractNodeContainerModificationStrategy.java:288)[108:org.opendaylight.yangtools.yang-data-impl:1.1.0.SNAPSHOT]
at org.opendaylight.yangtools.yang.data.impl.schema.tree.SchemaAwareApplyOperation.checkApplicable(SchemaAwareApplyOperation.java:125)[108:org.opendaylight.yangtools.yang-data-impl:1.1.0.SNAPSHOT]
at org.opendaylight.yangtools.yang.data.impl.schema.tree.AbstractNodeContainerModificationStrategy.checkChildPreconditions(AbstractNodeContainerModificationStrategy.java:305)[108:org.opendaylight.yangtools.yang-data-impl:1.1.0.SNAPSHOT]
at org.opendaylight.yangtools.yang.data.impl.schema.tree.AbstractNodeContainerModificationStrategy.checkTouchApplicable(AbstractNodeContainerModificationStrategy.java:288)[108:org.opendaylight.yangtools.yang-data-impl:1.1.0.SNAPSHOT]
at org.opendaylight.yangtools.yang.data.impl.schema.tree.SchemaAwareApplyOperation.checkApplicable(SchemaAwareApplyOperation.java:125)[108:org.opendaylight.yangtools.yang-data-impl:1.1.0.SNAPSHOT]
at org.opendaylight.yangtools.yang.data.impl.schema.tree.AbstractNodeContainerModificationStrategy.checkChildPreconditions(AbstractNodeContainerModificationStrategy.java:305)[108:org.opendaylight.yangtools.yang-data-impl:1.1.0.SNAPSHOT]
at org.opendaylight.yangtools.yang.data.impl.schema.tree.AbstractNodeContainerModificationStrategy.checkTouchApplicable(AbstractNodeContainerModificationStrategy.java:288)[108:org.opendaylight.yangtools.yang-data-impl:1.1.0.SNAPSHOT]
at org.opendaylight.yangtools.yang.data.impl.schema.tree.SchemaAwareApplyOperation.checkApplicable(SchemaAwareApplyOperation.java:125)[108:org.opendaylight.yangtools.yang-data-impl:1.1.0.SNAPSHOT]
at org.opendaylight.yangtools.yang.data.impl.schema.tree.AbstractNodeContainerModificationStrategy.checkChildPreconditions(AbstractNodeContainerModificationStrategy.java:305)[108:org.opendaylight.yangtools.yang-data-impl:1.1.0.SNAPSHOT]
at org.opendaylight.yangtools.yang.data.impl.schema.tree.AbstractNodeContainerModificationStrategy.checkTouchApplicable(AbstractNodeContainerModificationStrategy.java:288)[108:org.opendaylight.yangtools.yang-data-impl:1.1.0.SNAPSHOT]
at org.opendaylight.yangtools.yang.data.impl.schema.tree.SchemaAwareApplyOperation.checkApplicable(SchemaAwareApplyOperation.java:125)[108:org.opendaylight.yangtools.yang-data-impl:1.1.0.SNAPSHOT]
at org.opendaylight.yangtools.yang.data.impl.schema.tree.StructuralContainerModificationStrategy.checkApplicable(StructuralContainerModificationStrategy.java:99)[108:org.opendaylight.yangtools.yang-data-impl:1.1.0.SNAPSHOT]
at org.opendaylight.yangtools.yang.data.impl.schema.tree.AbstractNodeContainerModificationStrategy.checkChildPreconditions(AbstractNodeContainerModificationStrategy.java:305)[108:org.opendaylight.yangtools.yang-data-impl:1.1.0.SNAPSHOT]
at org.opendaylight.yangtools.yang.data.impl.schema.tree.AbstractNodeContainerModificationStrategy.checkTouchApplicable(AbstractNodeContainerModificationStrategy.java:288)[108:org.opendaylight.yangtools.yang-data-impl:1.1.0.SNAPSHOT]
at org.opendaylight.yangtools.yang.data.impl.schema.tree.SchemaAwareApplyOperation.checkApplicable(SchemaAwareApplyOperation.java:125)[108:org.opendaylight.yangtools.yang-data-impl:1.1.0.SNAPSHOT]
at org.opendaylight.yangtools.yang.data.impl.schema.tree.RootModificationApplyOperation.checkApplicable(RootModificationApplyOperation.java:72)[108:org.opendaylight.yangtools.yang-data-impl:1.1.0.SNAPSHOT]



 Comments   
Comment by Karthikeyan Krishnan [ 07/Apr/17 ]

Working in Progress

Comment by Sam Hague [ 10/Apr/17 ]

https://git.opendaylight.org/gerrit/#/c/54513/

Still open items with this bug:

Hi All,

Update on NETVIRT-540:

Have observed the logic where removing tunnel table is called with DpnId as “0” from NAT Service. After fixing this issue, still observing “data validation failed” exception in the CSIT log. Not sure whether this exception is coming from NAT service. We still debugging the root cause of this issue.

Code review for fixing DpnId=0:

https://git.opendaylight.org/gerrit/#/c/54513/

CSIT Karaf log (100 % passed)

https://logs.opendaylight.org/releng/jenkins092/netvirt-csit-1node-openstack-newton-nodl-v2-gate-stateful-carbon/794/archives/odl1_karaf.log.gz

2017-04-08 14:15:50,872 | INFO | eChangeHandler-0 | FibRpcServiceImpl | 341 - org.opendaylight.netvirt.fibmanager-impl - 0.4.0.SNAPSHOT | REMOVE: Removed Custom Fib Entry rd 4440fed9-05a1-423a-902c-f88e8a21d5b6 prefix 10.10.10.4/32 label 100084

2017-04-08 14:15:50,872 | INFO | eChangeHandler-0 | ExternalRoutersListener | 348 - org.opendaylight.netvirt.natservice-impl - 0.4.0.SNAPSHOT | NAT Service : remove terminatingServiceActions called with DpnId = 168001393576248 and label = 100084

2017-04-08 14:15:50,872 | INFO | eChangeHandler-0 | IdManager | 325 - org.opendaylight.genius.idmanager-impl - 0.2.0.SNAPSHOT | Releasing ID 4440fed9-05a1-423a-902c-f88e8a21d5b6.10.10.10.4/32 from pool vpnservices

2017-04-08 14:15:50,872 | INFO | eChangeHandler-0 | LockManager | 324 - org.opendaylight.genius.lockmanager-impl - 0.2.0.SNAPSHOT | Locking vpnservices4440fed9-05a1-423a-902c-f88e8a21d5b6.10.10.10.4/32

2017-04-08 14:15:50,872 | INFO | eChangeHandler-0 | LockManager | 324 - org.opendaylight.genius.lockmanager-impl - 0.2.0.SNAPSHOT | Writing lock lockData Lock [_key=LockKey [_lockName=vpnservices4440fed9-05a1-423a-902c-f88e8a21d5b6.10.10.10.4/32], _lockName=vpnservices4440fed9-05a1-423a-902c-f88e8a21d5b6.10.10.10.4/32, _lockOwner=AsyncDataTreeChangeListenerBase-DataTreeChangeHandler-0, augmentation=[]]

2017-04-08 14:15:50,874 | WARN | ult-dispatcher-2 | ShardDataTree | 191 - org.opendaylight.controller.sal-distributed-datastore - 1.5.0.SNAPSHOT | member-1-shard-inventory-config: Store Tx member-1-datastore-config-fe-0-txn-70945-0: Data validation failed for path /(urn:opendaylight:inventory?revision=2013-08-19)nodes/node/node[

{(urn:opendaylight:inventory?revision=2013-08-19)id=openflow:168001393576248}

]/AugmentationIdentifier

{childNames=[(urn:opendaylight:flow:inventory?revision=2013-08-19)port-number, (urn:opendaylight:flow:inventory?revision=2013-08-19)stale-group, (urn:opendaylight:flow:inventory?revision=2013-08-19)supported-match-types, (urn:opendaylight:flow:inventory?revision=2013-08-19)table, (urn:opendaylight:flow:inventory?revision=2013-08-19)group, (urn:opendaylight:flow:inventory?revision=2013-08-19)manufacturer, (urn:opendaylight:flow:inventory?revision=2013-08-19)software, (urn:opendaylight:flow:inventory?revision=2013-08-19)ip-address, (urn:opendaylight:flow:inventory?revision=2013-08-19)serial-number, (urn:opendaylight:flow:inventory?revision=2013-08-19)table-features, (urn:opendaylight:flow:inventory?revision=2013-08-19)supported-actions, (urn:opendaylight:flow:inventory?revision=2013-08-19)hardware, (urn:opendaylight:flow:inventory?revision=2013-08-19)description, (urn:opendaylight:flow:inventory?revision=2013-08-19)switch-features, (urn:opendaylight:flow:inventory?revision=2013-08-19)supported-instructions, (urn:opendaylight:flow:inventory?revision=2013-08-19)stale-meter, (urn:opendaylight:flow:inventory?revision=2013-08-19)meter]}

/(urn:opendaylight:flow:inventory?revision=2013-08-19)table/table[

{(urn:opendaylight:flow:inventory?revision=2013-08-19)id=25}

].

Thanks & Regards,

Karthikeyan.

Comment by Janki Chhatbar [ 12/Apr/17 ]

(In reply to Sam Hague from comment #2)
> https://git.opendaylight.org/gerrit/#/c/54513/
>
> Still open items with this bug:
>
> Hi All,
>
>
>
> Update on NETVIRT-540:
>
>
>
> Have observed the logic where removing tunnel table is called with DpnId as
> “0” from NAT Service. After fixing this issue, still observing “data
> validation failed” exception in the CSIT log. Not sure whether this
> exception is coming from NAT service. We still debugging the root cause of
> this issue.
>
>
>
> Code review for fixing DpnId=0:
>
> https://git.opendaylight.org/gerrit/#/c/54513/
>
>
>
> CSIT Karaf log (100 % passed)
>
> https://logs.opendaylight.org/releng/jenkins092/netvirt-csit-1node-openstack-
> newton-nodl-v2-gate-stateful-carbon/794/archives/odl1_karaf.log.gz
>
>
>
> 2017-04-08 14:15:50,872 | INFO | eChangeHandler-0 | FibRpcServiceImpl
> | 341 - org.opendaylight.netvirt.fibmanager-impl - 0.4.0.SNAPSHOT | REMOVE:
> Removed Custom Fib Entry rd 4440fed9-05a1-423a-902c-f88e8a21d5b6 prefix
> 10.10.10.4/32 label 100084
>
> 2017-04-08 14:15:50,872 | INFO | eChangeHandler-0 | ExternalRoutersListener
> | 348 - org.opendaylight.netvirt.natservice-impl - 0.4.0.SNAPSHOT | NAT
> Service : remove terminatingServiceActions called with DpnId =
> 168001393576248 and label = 100084
>
> 2017-04-08 14:15:50,872 | INFO | eChangeHandler-0 | IdManager
> | 325 - org.opendaylight.genius.idmanager-impl - 0.2.0.SNAPSHOT | Releasing
> ID 4440fed9-05a1-423a-902c-f88e8a21d5b6.10.10.10.4/32 from pool vpnservices
>
> 2017-04-08 14:15:50,872 | INFO | eChangeHandler-0 | LockManager
> | 324 - org.opendaylight.genius.lockmanager-impl - 0.2.0.SNAPSHOT | Locking
> vpnservices4440fed9-05a1-423a-902c-f88e8a21d5b6.10.10.10.4/32
>
> 2017-04-08 14:15:50,872 | INFO | eChangeHandler-0 | LockManager
> | 324 - org.opendaylight.genius.lockmanager-impl - 0.2.0.SNAPSHOT | Writing
> lock lockData Lock [_key=LockKey
> [_lockName=vpnservices4440fed9-05a1-423a-902c-f88e8a21d5b6.10.10.10.4/32],
> _lockName=vpnservices4440fed9-05a1-423a-902c-f88e8a21d5b6.10.10.10.4/32,
> _lockOwner=AsyncDataTreeChangeListenerBase-DataTreeChangeHandler-0,
> augmentation=[]]
>
> 2017-04-08 14:15:50,874 | WARN | ult-dispatcher-2 | ShardDataTree
> | 191 - org.opendaylight.controller.sal-distributed-datastore -
> 1.5.0.SNAPSHOT | member-1-shard-inventory-config: Store Tx
> member-1-datastore-config-fe-0-txn-70945-0: Data validation failed for path
> /(urn:opendaylight:inventory?revision=2013-08-19)nodes/node/node[

{(urn: > opendaylight:inventory?revision=2013-08-19)id=openflow:168001393576248}

]/
> AugmentationIdentifier

{childNames=[(urn:opendaylight:flow: > inventory?revision=2013-08-19)port-number, > (urn:opendaylight:flow:inventory?revision=2013-08-19)stale-group, > (urn:opendaylight:flow:inventory?revision=2013-08-19)supported-match-types, > (urn:opendaylight:flow:inventory?revision=2013-08-19)table, > (urn:opendaylight:flow:inventory?revision=2013-08-19)group, > (urn:opendaylight:flow:inventory?revision=2013-08-19)manufacturer, > (urn:opendaylight:flow:inventory?revision=2013-08-19)software, > (urn:opendaylight:flow:inventory?revision=2013-08-19)ip-address, > (urn:opendaylight:flow:inventory?revision=2013-08-19)serial-number, > (urn:opendaylight:flow:inventory?revision=2013-08-19)table-features, > (urn:opendaylight:flow:inventory?revision=2013-08-19)supported-actions, > (urn:opendaylight:flow:inventory?revision=2013-08-19)hardware, > (urn:opendaylight:flow:inventory?revision=2013-08-19)description, > (urn:opendaylight:flow:inventory?revision=2013-08-19)switch-features, > (urn:opendaylight:flow:inventory?revision=2013-08-19)supported-instructions, > (urn:opendaylight:flow:inventory?revision=2013-08-19)stale-meter, > (urn:opendaylight:flow:inventory?revision=2013-08-19)meter]}

/(urn:
> opendaylight:flow:inventory?revision=2013-08-19)table/table[

{(urn: > opendaylight:flow:inventory?revision=2013-08-19)id=25}

].
>
Sam, this table id issue is captured in this bug

https://bugs.opendaylight.org/show_bug.cgi?id=8177.

Should status of this bug be changed to RESOLVED then?
>
>
>
>
> Thanks & Regards,
>
> Karthikeyan.

Comment by Karthikeyan Krishnan [ 28/Apr/17 ]

The table id issue is captured in below bug.
https://bugs.opendaylight.org/show_bug.cgi?id=8177

As part of this issue DpnId=0 issue has been fixed from NAT feature side.

Hence closing this issue.

Comment by Janki Chhatbar [ 02/May/17 ]

Still seen in https://logs.opendaylight.org/releng/jenkins092/netvirt-csit-1node-openstack-newton-nodl-v2-upstream-stateful-carbon/465/archives/odl1_karaf.log.gz.

Reopening.

Comment by Chetan Arakere Gowdru [ 09/May/17 ]

Hi Vivek,

I did some investigation on 8001 and found following observation.

1) The IPs 10.10.10.253 and 10.10.10.250 during which the dpnid=0 error are observed are not any floating-ips but are the external gateway-ips used during flat/vlan external-network/subnet creation.

neutron -v subnet-create external-net 10.10.10.0/24 --name external-subnet --gateway 10.10.10.250 --allocation-pool start=10.10.10.2,end=10.10.10.249

odl-fib – VrfEntry

{ "destPrefix": "10.10.10.250/32", "mac": "F6:00:00:FF:01:01", "origin": "l",  RouteOrigin.LOCAL "parent-vpn-rd": "cfcbf63a-bd16-4aa4-8e61-df5e0cb76a1f" }

2) The above vrfEntry is not getting added from the NAT side(as we always use RouteOrigin.STATIC), but looks like added VpnInterfaceManager(SubnetRoutePacketInHandler. onPacketReceived())

3) I tried to figure out how this gateway-ip VrfEntry getting removed(which is triggering remove->checkDeleteLocalFibEntry) but I suspect this error is triggered from VpnInterfaceManager->remove-> deleteFibEntryForRouterInterface

Request to let us know if this observation are correct and any inputs to further triage on this issue.

Thanks,
Chetan

Comment by Chetan Arakere Gowdru [ 09/May/17 ]

Hi Chetan,

Good analysis. Can you please add this investigation to the bug comment?

I see that the neutron external router-gateway-ip is learned by mistake as a physical-network-function ip address, which is the root cause of the problem of having a VRFEntry getting unnecessarily created:

2017-05-02 03:58:51,832 | INFO | eChangeHandler-0 | VpnInterfaceOpListener | 332 - org.opendaylight.netvirt.vpnmanager-impl - 0.4.0.SNAPSHOT | VpnInterfaceOpListener updated: original VpnInterface{getDpnId=220509335431863, getName=220509335431863:br-physnet1-pa:trunk, getVpnInstanceName=cfcbf63a-bd16-4aa4-8e61-df5e0cb76a1f, isScheduledForRemove=false, augmentations={}} updated VpnInterface{getDpnId=220509335431863, getName=220509335431863:br-physnet1-pa:trunk, getVpnInstanceName=cfcbf63a-bd16-4aa4-8e61-df5e0cb76a1f, isScheduledForRemove=false, augmentations={interface org.opendaylight.yang.gen.v1.urn.opendaylight.netvirt.l3vpn.rev130911.Adjacencies=Adjacencies{getAdjacency=[Adjacency{getIpAddress=10.10.10.250/32, getLabel=100019, getMacAddress=F6:00:00:FF:01:01, getNextHopIpList=[], getSubnetId=Uuid [_value=6923eb40-2c3d-477a-a097-cc50becefcc3], isPhysNetworkFunc=true, isPrimaryAdjacency=true, augmentations={}}]}}}

What has happened is the following check within the ArpNotificationHandler.java is not sourcing the Router-Gateway-IP as a valid Neutron-Port-Fixed-IP correctly. As a result, it is going as a learned-ip address incorrectly creating VPNInterfaces and VrfEntries.

VpnPortipToPort vpnPortipToPort =
VpnUtil.getNeutronPortFromVpnPortFixedIp(dataBroker, vpnName, ipToQuery);
if (vpnPortipToPort != null) {
/* This is a well known neutron port and so should be ignored

  • from being discovered
    */
    return;
    }

We need to have Achuth/Karthik Prasad to fix this up?

Thanks,
Vivek

Comment by Karthikeyan Krishnan [ 07/Jun/17 ]

Awaiting for the code review to complete the fix from NAT module.

https://git.opendaylight.org/gerrit/#/c/58317/

Comment by Karthikeyan Krishnan [ 07/Jun/17 ]

Please ignore comment#8

Comment by Karthikeyan Krishnan [ 15/Jun/17 ]

Re-assigned to Vivek for further investigation and closing the issue.

Comment by Sam Hague [ 06/Jul/17 ]

https://git.opendaylight.org/gerrit/54513

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