[NETVIRT-391] VPN-Interfaces not handled due to VPN-Instance data not ready Created: 22/Dec/16  Updated: 13/Mar/17  Resolved: 13/Mar/17

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

Type: Bug
Reporter: Tomer Pearl Assignee: Tomer Pearl
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: 7436

 Description   

In a setup with more compute nodes than CPU cores for the ODL, there is a problem in the way VpnOpDataSyncer class in used with DataStoreJobCoordinator jobs.

In such setup, when creating an external network, it immediately creates a VPN interface on each compute. All those interfaces are running as DjC jobs.

Those jobs, are using VpnOpDataSyncer:waitForVpnDataReady() method to wait for VPN-Instance data to be ready.
VPN-Instance data is handled in AddVpnInstanceWorker which is also a DjC job.

An issue rises because the VPN-interfaces jobs are running on all the threads available in the fork-join pool, and there are no available threads to run AddVpnInstanceWorker job.
This causes some of the VPN-Interface jobs to give up after 90 seconds, with the following print to the log:

2016-12-21 11:37:04,298 | INFO | Pool-1-worker-52 | VpnOpDataSyncer | 360 - org.opendaylight.netvirt.vpnmanager-impl - 0.3.2.SNAPSHOT | Vpn 1a32e5f0-f2a2-4636-a907-13c741e336ca OpData not ready after 90000ms



 Comments   
Comment by Koby Aizer [ 02/Jan/17 ]

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

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