[BGPCEP-600] C: updating example-bgp-rib via openconfig generates exceptions in the log Created: 21/Nov/16  Updated: 03/Mar/19  Resolved: 20/Dec/16

Status: Resolved
Project: bgpcep
Component/s: BGP
Affects Version/s: Bugzilla Migration
Fix Version/s: Bugzilla Migration

Type: Bug
Reporter: Peter Gubka Assignee: Claudio David Gasparini
Resolution: Done Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified
Environment:

Operating System: All
Platform: All


Attachments: File karaf.log.gz    
Issue Links:
Blocks
blocks BGPCEP-605 ConflictingModificationAppliedExcepti... Resolved
External issue ID: 7215

 Description   

updating the default rib with

PUT /restconf/config/openconfig-network-instance:network-instances/network-instance/global-bgp/openconfig-network-instance:protocols/protocol/openconfig-policy-types:BGP/example-bgp-rib
<protocol xmlns="http://openconfig.net/yang/network-instance">
<name>example-bgp-rib</name>
<identifier xmlns:x="http://openconfig.net/yang/policy-types">x:BGP</identifier>
<bgp xmlns="urn:opendaylight:params:xml:ns:yang:bgp:openconfig-extensions">
<global>
<config>
<router-id>192.0.2.2</router-id>
<as>64496</as>
</config>
<afi-safis>
<afi-safi>
<afi-safi-name xmlns:x="http://openconfig.net/yang/bgp-types">x:IPV4-UNICAST</afi-safi-name>
<receive>true</receive>
<send-max>0</send-max>
</afi-safi>
</afi-safis>
</global>
</bgp>
</protocol>

generates exceptions in the log.

In the https://logs.opendaylight.org/sandbox/jenkins091/bgpcep-csit-1node-userfeatures-only-carbon/2 there is a test case when application peer is configures with routes, bgp peer is configured, then is connected but no routes are advertised.

Robot log here (larger than 1MB, so cannot attach) https://logs.opendaylight.org/sandbox/jenkins091/bgpcep-csit-1node-userfeatures-only-carbon/2/archives/log.html.gz



 Comments   
Comment by Peter Gubka [ 21/Nov/16 ]

Attachment karaf.log.gz has been added with description: karaf log

Comment by Vratko Polak [ 22/Nov/16 ]

Looking at the karaf.log [0], it looks like the BGP code does not handle conflicting modifications:

2016-11-21 15:50:09,481 | WARN | lt-dispatcher-16 | ShardDataTree | 207 - org.opendaylight.controller.sal-distributed-datastore - 1.5.0.SNAPSHOT | member-1-shard-default-operational: Store Tx member-1-datastore-operational-fe-0-chn-85-txn-1: Conflicting modification for path /(urn:opendaylight:params:xml:ns:yang:bgp-rib?revision=2013-09-25)bgp-rib/rib/rib[

{(urn:opendaylight:params:xml:ns:yang:bgp-rib?revision=2013-09-25)id=example-bgp-rib}

]/peer/peer[

{(urn:opendaylight:params:xml:ns:yang:bgp-rib?revision=2013-09-25)peer-id=bgp://192.0.2.6}

].

Also, a stack trace gets printed to karaf console [1], but that looks like an unrelated Controller project issue.

[0] https://logs.opendaylight.org/sandbox/jenkins091/bgpcep-csit-1node-userfeatures-only-carbon/2/archives/karaf.log.gz
[1] https://logs.opendaylight.org/sandbox/jenkins091/bgpcep-csit-1node-userfeatures-only-carbon/2/archives/karaf_console.log.gz

Comment by Claudio David Gasparini [ 28/Nov/16 ]

TODO'S:

  • Test only specific test with is failing
  • Test failing test together with previous one.

Also I updated the guide so you could update the test. Instead of installing the whole rib and peers, you can reconfigure specific families. http://docs.opendaylight.org/en/stable-boron/user-guide/bgp-user-guide.html#additional-path
This changes shouldn't affect the replication of the bug. But just in case we can keep the changes until fix is implemented.

Thanks

Comment by Claudio David Gasparini [ 30/Nov/16 ]

DEBUG Logs

https://logs.opendaylight.org/sandbox/jenkins091/bgpcep-csit-1node-userfeatures-only-carbon/3/archives/karaf.log.gz

2016-11-30 11:32:19,307 | DEBUG | n-dispatcher-264 | ApplicationPeer | 315 - org.opendaylight.bgpcep.bgp-rib-impl - 0.7.0.SNAPSHOT | Modification Type WRITE
2016-11-30 11:32:19,309 | WARN | lt-dispatcher-20 | ShardDataTree | 208 - org.opendaylight.controller.sal-distributed-datastore - 1.5.0.SNAPSHOT | member-1-shard-default-operational: Store Tx member-1-datastore-operational-fe-0-chn-89-txn-0: Data validation failed for path /(urn:opendaylight:params:xml:ns:yang:bgp-rib?revision=2013-09-25)bgp-rib/rib/rib[

{(urn:opendaylight:params:xml:ns:yang:bgp-rib?revision=2013-09-25)id=example-bgp-rib}

]/peer/peer[

{(urn:opendaylight:params:xml:ns:yang:bgp-rib?revision=2013-09-25)peer-id=bgp://10.29.12.120}

]/adj-rib-in/tables/tables[

{(urn:opendaylight:params:xml:ns:yang:bgp-rib?revision=2013-09-25)afi=(urn:opendaylight:params:xml:ns:yang:bgp-evpn?revision=2016-03-21)l2vpn-address-family, (urn:opendaylight:params:xml:ns:yang:bgp-rib?revision=2013-09-25)safi=(urn:opendaylight:params:xml:ns:yang:bgp-evpn?revision=2016-03-21)evpn-subsequent-address-family}

].
org.opendaylight.yangtools.yang.data.api.schema.tree.ModifiedNodeDoesNotExistException: Node /(urn:opendaylight:params:xml:ns:yang:bgp-rib?revision=2013-09-25)bgp-rib/rib/rib[

{(urn:opendaylight:params:xml:ns:yang:bgp-rib?revision=2013-09-25)id=example-bgp-rib}

]/peer/peer[

{(urn:opendaylight:params:xml:ns:yang:bgp-rib?revision=2013-09-25)peer-id=bgp://10.29.12.120}

]/adj-rib-in/tables/tables[

{(urn:opendaylight:params:xml:ns:yang:bgp-rib?revision=2013-09-25)afi=(urn:opendaylight:params:xml:ns:yang:bgp-evpn?revision=2016-03-21)l2vpn-address-family, (urn:opendaylight:params:xml:ns:yang:bgp-rib?revision=2013-09-25)safi=(urn:opendaylight:params:xml:ns:yang:bgp-evpn?revision=2016-03-21)evpn-subsequent-address-family}

] does not exist. Cannot apply modification to its children.

logs show Data change of L2VPN Family, which is not supported by rib and therefore by application peer.
Make AdjRinIn Listener for application peer more defensiveness will solve the bug.
But the real issue is, from where we are receiving this L2VPN datachange since not route of this family is posted by test.

Comment by Claudio David Gasparini [ 07/Dec/16 ]

master
https://git.opendaylight.org/gerrit/#/c/48882/

Comment by Claudio David Gasparini [ 19/Dec/16 ]

boron
https://git.opendaylight.org/gerrit/#/c/49543/1

Generated at Wed Feb 07 19:13:33 UTC 2024 using Jira 8.20.10#820010-sha1:ace47f9899e9ee25d7157d59aa17ab06aee30d3d.