Uploaded image for project: 'hc2vpp'
  1. hc2vpp
  2. HC2VPP-267

Adding route via HC BGP crases VPP

XMLWordPrintable

    • Icon: Bug Bug
    • Resolution: Done
    • Icon: High High
    • 18.01
    • 18.01
    • bgp
    • None

      Occurs in csit func test since:

      https://gerrit.fd.io/r/#/c/9568/

      or

      https://gerrit.fd.io/r/#/c/9569/

      Failed test:

      https://jenkins.fd.io/view/hc2vpp/job/hc2vpp-csit-integration-master-ubuntu1604/1237/

      Issue is reproducible locally. Looks like vpp bug or non documented behaviour change that HC needs to adapt to.

       

      Interesting log fragment:

      2017-11-29 04:54:15.766 PST [operational-DCL-9] WARN  i.f.h.b.t.impl.LocRibChangeListener - Route translation failed
      io.fd.honeycomb.translate.write.WriteFailedException$CreateFailedException: Failed to create data: Ipv4Route{getAttributes=Attributes{getAsPath=AsPath{getSegments=[], augmentations={}}, getCNextHop=Ipv4NextHopCase{getIpv4NextHop=Ipv4NextHop{getGlobal=Ipv4Address [_value=192.168.1.3], augmentations={}}, augmentations={}}, getLocalPref=LocalPref{getPref=100, augmentations={}}, getOrigin=Origin{getValue=Igp, augmentations={}}, getUnrecognizedAttributes=[], augmentations={}}, getPathId=PathId [_value=1], getPrefix=Ipv4Prefix [_value=192.168.0.5/32], augmentations={}} at: KeyedInstanceIdentifier{targetType=interface org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.bgp.inet.rev150305.ipv4.routes.ipv4.routes.Ipv4Route, path=[org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.bgp.rib.rev130925.BgpRib, org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.bgp.rib.rev130925.bgp.rib.Rib[key=RibKey [_id=Uri [_value=hc-bgp-instance]]], org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.bgp.rib.rev130925.bgp.rib.rib.LocRib, org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.bgp.rib.rev130925.rib.Tables[key=TablesKey [_afi=class org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.bgp.types.rev130919.Ipv4AddressFamily, _safi=class org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.bgp.types.rev130919.UnicastSubsequentAddressFamily]], org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.bgp.inet.rev150305.ipv4.routes.Ipv4Routes, org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.bgp.inet.rev150305.ipv4.routes.ipv4.routes.Ipv4Route[key=Ipv4RouteKey [_prefix=Ipv4Prefix [_value=192.168.0.5/32], _pathId=PathId [_value=1]]]]}
              at io.fd.hc2vpp.common.translate.util.JvppReplyConsumer.getReplyForCreate(JvppReplyConsumer.java:99) ~[vpp-translate-utils-1.18.01-SNAPSHOT.jar:na]
              at io.fd.hc2vpp.common.translate.util.JvppReplyConsumer.getReplyForCreate(JvppReplyConsumer.java:83) ~[vpp-translate-utils-1.18.01-SNAPSHOT.jar:na]
              at io.fd.hc2vpp.bgp.inet.Ipv4Writer.create(Ipv4Writer.java:65) ~[bgp-inet-1.18.01-SNAPSHOT.jar:na]
              at io.fd.hc2vpp.bgp.inet.Ipv4Writer.create(Ipv4Writer.java:44) ~[bgp-inet-1.18.01-SNAPSHOT.jar:na]
              at io.fd.honeycomb.bgp.translate.impl.LocRibChangeListener.processChange(LocRibChangeListener.java:63) ~[bgp-translate-impl-1.18.01-SNAPSHOT.jar:na]
              at io.fd.honeycomb.bgp.translate.impl.LocRibChangeListener.onDataTreeChanged(LocRibChangeListener.java:53) ~[bgp-translate-impl-1.18.01-SNAPSHOT.jar:na]
              at org.opendaylight.controller.md.sal.binding.impl.BindingDOMDataTreeChangeListenerAdapter.onDataTreeChanged(BindingDOMDataTreeChangeListenerAdapter.java:41) [sal-binding-broker-impl-1.6.0.jar:na]
              at org.opendaylight.controller.md.sal.dom.store.impl.InMemoryDOMStoreTreeChangePublisher.lambda$static$0(InMemoryDOMStoreTreeChangePublisher.java:36) [sal-inmemory-datastore-1.6.0.jar:na]
              at org.opendaylight.yangtools.util.concurrent.QueuedNotificationManager.lambda$null$0(QueuedNotificationManager.java:126) ~[util-1.2.0.jar:na]
              at com.google.common.collect.ImmutableList.forEach(ImmutableList.java:397) ~[guava-22.0.jar:na]
              at org.opendaylight.yangtools.util.concurrent.QueuedNotificationManager.lambda$new$1(QueuedNotificationManager.java:124) ~[util-1.2.0.jar:na]
              at org.opendaylight.yangtools.util.concurrent.QueuedNotificationManager$NotificationTask.invokeListener(QueuedNotificationManager.java:434) ~[util-1.2.0.jar:na]
              at org.opendaylight.yangtools.util.concurrent.QueuedNotificationManager$NotificationTask.run(QueuedNotificationManager.java:421) ~[util-1.2.0.jar:na]
              at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) ~[na:1.8.0_151]
              at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) ~[na:1.8.0_151]
              at java.lang.Thread.run(Thread.java:748) ~[na:1.8.0_151]
      Caused by: io.fd.hc2vpp.common.translate.util.WriteTimeoutException: java.util.concurrent.TimeoutException
              ... 16 common frames omitted
      Caused by: java.util.concurrent.TimeoutException: null
              at java.util.concurrent.CompletableFuture.timedGet(CompletableFuture.java:1771) ~[na:1.8.0_151]
              at java.util.concurrent.CompletableFuture.get(CompletableFuture.java:1915) ~[na:1.8.0_151]
              at io.fd.hc2vpp.common.translate.util.JvppReplyConsumer.getReply(JvppReplyConsumer.java:188) ~[vpp-translate-utils-1.18.01-SNAPSHOT.jar:na]
              at io.fd.hc2vpp.common.translate.util.JvppReplyConsumer.getReplyForCreate(JvppReplyConsumer.java:95) ~[vpp-translate-utils-1.18.01-SNAPSHOT.jar:na]
              ... 15 common frames omitted

       

      And api trace (full included):

      ip_add_del_route sw_if_index -1 192.168.0.5/32 via 192.168.1.3 weight 0

       

       

      REST request:

       

      PUT /restconf/config/bgp-rib:application-rib/192.168.0.4/tables/bgp-types:ipv4-address-family/bgp-types:unicast-subsequent-address-family/bgp-inet:ipv4-routes/ipv4-route/192.168.0.5%2F32/1

      {"bgp-inet:ipv4-route": [\{"attributes": \{"origin": \{"value": "igp"}, "ipv4-next-hop": \{"global": "192.168.1.3"}, "local-pref": \{"pref": 100}, "as-path": \{}}, "prefix": "192.168.0.5/32", "path-id": 1}]}

       

            mgradzki Marek Gradzki
            mgradzki Marek Gradzki
            Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

              Created:
              Updated:
              Resolved: