Uploaded image for project: 'netvirt'
  1. netvirt
  2. NETVIRT-418

No connectivity between sites L3 in one VM

    XMLWordPrintable

Details

    • Bug
    • Status: Resolved
    • Resolution: Done
    • Boron
    • None
    • General
    • None
    • Operating System: All
      Platform: All

    • 7516

    Description

      We have a 1 node setup (non-cluster) with Openstack (RedHat - 9 ) with 2 computes.

      vpn-interface (1.1.1.38, 8dc04953-fa4e-4c12-b2ac-7f27148050c7) (add dump models):
      {
      "name": "8dc04953-fa4e-4c12-b2ac-7f27148050c7",
      "netvirt-plugin-common:generation-number": 2,
      "netvirt-plugin-common:shadow": true,
      "netvirt-plugin-common:remote-ip": "10.80.2.11",
      "odl-l3vpn:adjacency": [

      { "ip_address": "1.1.1.38/32", "subnet_id": "a884f466-f819-40de-bac7-c23275a675f9", "primary-adjacency": true, "mac_address": "fa:16:3e:4f:2f:be" }

      ],
      "vpn-instance-name": "893814b1-44ef-4fdd-8b60-8adf8f8f704c",
      "is-router-interface": false
      },

      It was unable to install the flow on one of the computes (the flow was installed on the other compute)

      We see in the ODL log the following error :

      2017-01-10 15:43:22,204 | WARN | lt-dispatcher-40 | ShardDataTree | 172 - org.opendaylight.controller.sal-distributed-datastore - 1.4.2.R1_0-GA | member-1-shard-inventory-config: Store Tx member-1-datastore-config
      -fe-1-txn-6708: Conflicting modification for path /(urn:opendaylight:inventory?revision=2013-08-19)nodes/node/node[

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

      ]/AugmentationIdentifier

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

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

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

      ]/flow/flow[

      {(urn:opendaylight:flow:inventory?revision=2013-08-19)id=L3.26393364882547.21.893814b1-44ef-4fdd-8b60-8adf8f8f704c.42.1.1.1.38}

      ].
      2017-01-10 15:43:22,204 | ERROR | lt-dispatcher-45 | LocalThreePhaseCommitCohort | 172 - org.opendaylight.controller.sal-distributed-datastore - 1.4.2.R1_0-GA | Failed to prepare transaction member-1-datastore-config-fe-1-txn-67
      08 on backend
      OptimisticLockFailedException

      {message=Optimistic lock failed., errorList=[RpcError [message=Optimistic lock failed., severity=ERROR, errorType=APPLICATION, tag=resource-denied, applicationTag=null, info=null, cause=org.opendaylight.y angtools.yang.data.api.schema.tree.ConflictingModificationAppliedException: Node was created by other transaction.]]}

      at org.opendaylight.controller.cluster.datastore.ShardDataTree.processNextTransaction(ShardDataTree.java:532)[172:org.opendaylight.controller.sal-distributed-datastore:1.4.2.R1_0-GA]
      at org.opendaylight.controller.cluster.datastore.ShardDataTree.finishCommit(ShardDataTree.java:623)[172:org.opendaylight.controller.sal-distributed-datastore:1.4.2.R1_0-GA]
      at org.opendaylight.controller.cluster.datastore.ShardDataTree.payloadReplicationComplete(ShardDataTree.java:358)[172:org.opendaylight.controller.sal-distributed-datastore:1.4.2.R1_0-GA]
      at org.opendaylight.controller.cluster.datastore.ShardDataTree.applyReplicatedPayload(ShardDataTree.java:338)[172:org.opendaylight.controller.sal-distributed-datastore:1.4.2.R1_0-GA]
      at org.opendaylight.controller.cluster.datastore.Shard.applyState(Shard.java:571)[172:org.opendaylight.controller.sal-distributed-datastore:1.4.2.R1_0-GA]
      at org.opendaylight.controller.cluster.raft.RaftActor.handleCommand(RaftActor.java:240)[167:org.opendaylight.controller.sal-akka-raft:1.4.2.R1_0-GA]
      at org.opendaylight.controller.cluster.common.actor.AbstractUntypedPersistentActor.onReceiveCommand(AbstractUntypedPersistentActor.java:29)[166:org.opendaylight.controller.sal-clustering-commons:1.4.2.R1_0-GA]
      at akka.persistence.UntypedPersistentActor.onReceive(PersistentActor.scala:170)[160:com.typesafe.akka.persistence:2.4.7]
      at org.opendaylight.controller.cluster.common.actor.MeteringBehavior.apply(MeteringBehavior.java:97)[166:org.opendaylight.controller.sal-clustering-commons:1.4.2.R1_0-GA]
      at akka.actor.ActorCell$$anonfun$become$1.applyOrElse(ActorCell.scala:544)[154:com.typesafe.akka.actor:2.4.7]
      at akka.actor.Actor$class.aroundReceive(Actor.scala:484)[154:com.typesafe.akka.actor:2.4.7]
      at akka.persistence.UntypedPersistentActor.akka$persistence$Eventsourced$$super$aroundReceive(PersistentActor.scala:168)[160:com.typesafe.akka.persistence:2.4.7]
      at akka.persistence.Eventsourced$$anon$1.stateReceive(Eventsourced.scala:633)[160:com.typesafe.akka.persistence:2.4.7]
      at akka.persistence.Eventsourced$class.aroundReceive(Eventsourced.scala:179)[160:com.typesafe.akka.persistence:2.4.7]
      at akka.persistence.UntypedPersistentActor.aroundReceive(PersistentActor.scala:168)[160:com.typesafe.akka.persistence:2.4.7]
      at akka.actor.ActorCell.receiveMessage(ActorCell.scala:526)[154:com.typesafe.akka.actor:2.4.7]
      at akka.actor.ActorCell.invoke(ActorCell.scala:495)[154:com.typesafe.akka.actor:2.4.7]
      at akka.dispatch.Mailbox.processMailbox(Mailbox.scala:257)[154:com.typesafe.akka.actor:2.4.7]
      at akka.dispatch.Mailbox.run(Mailbox.scala:224)[154:com.typesafe.akka.actor:2.4.7]

      2017-01-10 15:43:22,205 | WARN | lt-dispatcher-50 | ConcurrentDOMDataBroker | 172 - org.opendaylight.controller.sal-distributed-datastore - 1.4.2.R1_0-GA | Tx: DOM-54222 Error during phase CAN_COMMIT, starting Abort
      OptimisticLockFailedException

      {message=Optimistic lock failed., errorList=[RpcError [message=Optimistic lock failed., severity=ERROR, errorType=APPLICATION, tag=resource-denied, applicationTag=null, info=null, cause=org.opendaylight.yangtools.yang.data.api.schema.tree.ConflictingModificationAppliedException: Node was created by other transaction.]]}

      at org.opendaylight.controller.cluster.datastore.ShardDataTree.processNextTransaction(ShardDataTree.java:532)[172:org.opendaylight.controller.sal-distributed-datastore:1.4.2.R1_0-GA]
      at org.opendaylight.controller.cluster.datastore.ShardDataTree.finishCommit(ShardDataTree.java:623)[172:org.opendaylight.controller.sal-distributed-datastore:1.4.2.R1_0-GA]
      at org.opendaylight.controller.cluster.datastore.ShardDataTree.payloadReplicationComplete(ShardDataTree.java:358)[172:org.opendaylight.controller.sal-distributed-datastore:1.4.2.R1_0-GA]
      at org.opendaylight.controller.cluster.datastore.ShardDataTree.applyReplicatedPayload(ShardDataTree.java:338)[172:org.opendaylight.controller.sal-distributed-datastore:1.4.2.R1_0-GA]
      at org.opendaylight.controller.cluster.datastore.Shard.applyState(Shard.java:571)[172:org.opendaylight.controller.sal-distributed-datastore:1.4.2.R1_0-GA]
      at org.opendaylight.controller.cluster.raft.RaftActor.handleCommand(RaftActor.java:240)[167:org.opendaylight.controller.sal-akka-raft:1.4.2.R1_0-GA]
      at org.opendaylight.controller.cluster.common.actor.AbstractUntypedPersistentActor.onReceiveCommand(AbstractUntypedPersistentActor.java:29)[166:org.opendaylight.controller.sal-clustering-commons:1.4.2.R1_0-GA]
      at akka.persistence.UntypedPersistentActor.onReceive(PersistentActor.scala:170)[160:com.typesafe.akka.persistence:2.4.7]
      at org.opendaylight.controller.cluster.common.actor.MeteringBehavior.apply(MeteringBehavior.java:97)[166:org.opendaylight.controller.sal-clustering-commons:1.4.2.R1_0-GA]
      at akka.actor.ActorCell$$anonfun$become$1.applyOrElse(ActorCell.scala:544)[154:com.typesafe.akka.actor:2.4.7]
      at akka.actor.Actor$class.aroundReceive(Actor.scala:484)[154:com.typesafe.akka.actor:2.4.7]

      2017-01-10 15:43:22,206 | WARN | CommitFutures-0 | DataStoreJobCoordinator | 303 - org.opendaylight.genius.mdsalutil-api - 0.1.2.R1_0-GA | Job: JobEntry

      {key='FIB-893814b1-44ef-4fdd-8b60-8adf8f8f704c-1.1.1.38/32', mainWorker=org.opendaylight.netvirt.fibmanager.VrfEntryListener$2@4bfda218, rollbackWorker=null, retryCount=0, futures=[org.opendaylight.controller.cluster.databroker.ConcurrentDOMDataBroker$AsyncNotifyingSettableFuture@7c33ab47]}

      failed with exception: OptimisticLockFailedException [org.opendaylight.controller.cluster.datastore.ShardDataTree.processNextTransaction(ShardDataTree.java:532), org.opendaylight.controller.cluster.datastore.ShardDataTree.finishCommit(ShardDataTree.java:623), org.opendaylight.controller.cluster.datastore.ShardDataTree.payloadReplicationComplete(ShardDataTree.java:358), org.opendaylight.controller.cluster.datastore.ShardDataTree.applyReplicatedPayload(ShardDataTree.java:338), org.opendaylight.controller.cluster.datastore.Shard.applyState(Shard.java:571), org.opendaylight.controller.cluster.raft.RaftActor.handleCommand(RaftActor.java:240), org.opendaylight.controller.cluster.common.actor.AbstractUntypedPersistentActor.onReceiveCommand(AbstractUntypedPersistentActor.java:29), akka.persistence.UntypedPersistentActor.onReceive(PersistentActor.scala:170), org.opendaylight.controller.cluster.common.actor.MeteringBehavior.apply(MeteringBehavior.java:97), akka.actor.ActorCell$$anonfun$become$1.applyOrElse(ActorCell.scala:544), akka.actor.Actor$class.aroundReceive(Actor.scala:484), akka.persistence.UntypedPersistentActor.akka$persistence$Eventsourced$$super$aroundReceive(PersistentActor.scala:168), akka.persistence.Eventsourced$$anon$1.stateReceive(Eventsourced.scala:633), akka.persistence.Eventsourced$class.aroundReceive(Eventsourced.scala:179), akka.persistence.UntypedPersistentActor.aroundReceive(PersistentActor.scala:168), akka.actor.ActorCell.receiveMessage(ActorCell.scala:526), akka.actor.ActorCell.invoke(ActorCell.scala:495), akka.dispatch.Mailbox.processMailbox(Mailbox.scala:257), akka.dispatch.Mailbox.run(Mailbox.scala:224), akka.dispatch.Mailbox.exec(Mailbox.scala:234), scala.concurrent.forkjoin.ForkJoinTask.doExec(ForkJoinTask.java:260), scala.concurrent.forkjoin.ForkJoinPool$WorkQueue.runTask(ForkJoinPool.java:1339), scala.concurrent.forkjoin.ForkJoinPool.runWorker(ForkJoinPool.java:1979), scala.concurrent.forkjoin.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:107)]

      Attachments

        1. dump-flows_compute-dl-360-93
          33 kB
          Amit Cohen
        2. dump-groups_compute-dl-360-93
          2 kB
          Amit Cohen
        3. dump-flows_compute-dl-360-92
          33 kB
          Amit Cohen
        4. dump-groups_compute-dl-360-92
          2 kB
          Amit Cohen
        5. karaf-models-dump.tar.gz
          20 kB
          Amit Cohen
        No reviews matched the request. Check your Options in the drop-down menu of this sections header.

        Activity

          People

            koby.aizer@hpe.com Koby Aizer
            amit.cohen2@hpe.com Amit Cohen
            Votes:
            0 Vote for this issue
            Watchers:
            0 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: