[GENIUS-25] no Access to external network Created: 01/Oct/16  Updated: 31/Oct/16  Resolved: 31/Oct/16

Status: Resolved
Project: genius
Component/s: General
Affects Version/s: (unspecified)
Fix Version/s: None

Type: Bug
Reporter: zan cohen Assignee: Tali Ben-Meir
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: Zip Archive karaf.zip     Zip Archive missing-ietf-state.zip    
Issue Links:
Duplicate
is duplicated by NETVIRT-182 no Access to external network Resolved
External issue ID: 6836

 Description   

It seems that when the external elan interface is configured, it creates ietf-interfaces configuration for the ext:vlanid and ext:trunk
This should trigger creation of matching interfaces-state for these interfaces, and for some reason this didn’t happen.



 Comments   
Comment by Tali Ben-Meir [ 09/Oct/16 ]

Attachment missing-ietf-state.zip has been added with description: MDSAL models

Comment by Tali Ben-Meir [ 09/Oct/16 ]

Sporadic issue

out of 5 interfaces 2 were configured correctly and 3 didn't

interface state for 93406638623456:br-dpdk0-patch:825 wasn't created
interface state for 176625346910170:br-dpdk0-patch:825 was created

Comment by Tali Ben-Meir [ 09/Oct/16 ]

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

Comment by Tali Ben-Meir [ 27/Oct/16 ]

Upon first neutron network VLAN provider creation with a defined physnet
both VLAN trunk VLAN member are created for each compute node in the ietf-interface config DS.
As a result ietf-interface state for the VLAN member is attampted to be created simultaneously by

1) InterfaceConfigListener - triggered as a result of VLAN trunk creation in the config DS
2) VlanMemberConfigListener - triggered as a result of VLAN member creation in the config DS

Due to race condition in ietf-interface state for the VLAN memeber creation,
OptimisticLockFailedException can be sporadically get thrown and ietf-interface state
will not be added to the oper DS.

Suggested solution:
All renderers triggered by InterfaceConfigListener and VlanMemberConfigListener will be scheduled
with the same key to the DjC to prevent concurrent write of VLAN member ietf-interface state.
The key will be the primordial interface of the VLAN member.

E.g. for the following interface hierarchy

246909248837100:br-dpdk0-patch

----> 246909248837100:br-dpdk0-patch:trunk (type=trunk, parent-interface=246909248837100:br-dpdk0-patch)

----> 246909248837100:br-dpdk0-patch:825 (type=trunk-member, vlan-id=825, parent-interface=246909248837100:br-dpdk0-patch:trunk)

br-dpdk0-patch is the primordial parent

Comment by Tali Ben-Meir [ 27/Oct/16 ]

Review https://git.opendaylight.org/gerrit/#/c/47667/

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