netvirt.git
4 years agoRelease Sodium release/sodium-sr1
jenkins-releng [Thu, 17 Oct 2019 00:40:34 +0000 (00:40 +0000)]
Release Sodium

4 years agoBump mdsal to 4.0.6 60/84660/4
Robert Varga [Sat, 14 Sep 2019 18:03:31 +0000 (20:03 +0200)]
Bump mdsal to 4.0.6

This picks up the latest fixes.

Change-Id: I8ec178ca726c1df504efc4f19d2c9c80965d93be
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
(cherry picked from commit ed5f0b80ab823b0b3b835b8f0807196c80eff95d)

4 years agoBump odlparent to 5.0.2 59/84659/2
Robert Varga [Sat, 14 Sep 2019 18:03:11 +0000 (20:03 +0200)]
Bump odlparent to 5.0.2

This bumps odlparent to pick up latest references.

Change-Id: Ica16c98bd6eeeb2530bdc9cee4bb7f198e4a6ab0
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
(cherry picked from commit d1c1f4db366b0336eafb5dfe564f18e4df76cfdc)

4 years agoFix checkstyle 80/84680/1
Robert Varga [Sat, 14 Sep 2019 18:27:37 +0000 (20:27 +0200)]
Fix checkstyle

Updated checkstyle finds these violations, fix them up.

Change-Id: Iae840afdec62e85b1552b4d79406473a84b01144
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
(cherry picked from commit d69c57c2ce0cd103b5bc73a5d3e37bab06ea26d4)

4 years agoBump versions by x.y.(z+1) 25/84525/1
jenkins-releng [Wed, 18 Sep 2019 09:13:26 +0000 (09:13 +0000)]
Bump versions by x.y.(z+1)

Signed-off-by: jenkins-releng <jenkins-releng@opendaylight.org>
Change-Id: I0f439165e4cb2540cd94e3698606d5c0cb361f0d

4 years agoBump mdsal to 4.0.4 54/83654/2
Robert Varga [Thu, 15 Aug 2019 08:43:24 +0000 (10:43 +0200)]
Bump mdsal to 4.0.4

This brings in latest fixes.

Change-Id: I59f89ef4fe76ef16fcdc9b59f8d9b50aa0849847
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
4 years agoChange in the version name 78/83778/1
Anushka Bhandari [Mon, 19 Aug 2019 19:38:11 +0000 (01:08 +0530)]
Change in the version name

Signed-off-by: Anushka Bhandari <anushka16134@iiitd.ac.in>
Change-Id: I25f428283839f3348e7c42c4cb1e26aa5398b35c

4 years agoUpdate .gitreview to stable/sodium 71/83571/1
jenkins-releng [Tue, 13 Aug 2019 02:47:26 +0000 (02:47 +0000)]
Update .gitreview to stable/sodium

Signed-off-by: jenkins-releng <jenkins-releng@opendaylight.org>
Change-Id: I2f00e2ef8229f2ed4a50c170c80a4ce757591020

4 years agoElan interface add throwing NPE 99/83499/3
zhangninglc [Wed, 7 Aug 2019 08:28:04 +0000 (16:28 +0800)]
Elan interface add throwing NPE

Issue Description:
=================
Elan instance name may be null, add to ConcurrentHashMap must throw NPE

ERROR | opendaylight-cluster-data-notification-dispatcher-40 |
DataTreeChangeListenerActor      | 235 -
org.opendaylight.controller.sal-clustering-commons - 1.9.1 |
member-2-shard-default-config: Error notifying listener
org.opendaylight.genius.mdsalutil.cache.DataObjectCache$$Lambda$1291/872119028@32410eae
java.lang.NullPointerException: null
    at org.opendaylight.netvirt.elan.cache.ElanInterfaceCache.added(ElanInterfaceCache.java:75)
    at org.opendaylight.netvirt.elan.cache.ElanInterfaceCache.added(ElanInterfaceCache.java:37)

Solution:
=========
Determine that the Elan instance name cannot be null before adding

Change-Id: I21f2f93427aec92b708725dd41aa37cd37e7dcac
Signed-off-by: zhangninglc <zhangninglc@inspur.com>
4 years agoEnable troubleshooting for fib and subnetroute 14/83014/5
Surendar Raju [Thu, 11 Jul 2019 05:26:12 +0000 (10:56 +0530)]
Enable troubleshooting for fib and subnetroute

Enables few logs to help in troubleshooting fib/subnetroute
issues in fields.

Change-Id: I1688931743916d30ec2079a95661cf16813d2314
Signed-off-by: Surendar Raju <surendar.raju@ericsson.com>
4 years agoACL: NullPointerException in AclEventListener 79/82979/4
Shashidhar Raja [Tue, 9 Jul 2019 13:17:23 +0000 (18:47 +0530)]
ACL: NullPointerException in AclEventListener

Added validations to check getAccessListEntries() before
using it to access getAce() in AclEventListener

Change-Id: I5d7ddac957111bfcc2b5fee2d91bb8e56f925982
Signed-off-by: Shashidhar Raja <shashidharr@altencalsoftlabs.com>
4 years agoStale table=44 flows remains on VM deletion 86/82986/7
Chetan Arakere Gowdru [Wed, 10 Jul 2019 08:30:34 +0000 (14:00 +0530)]
Stale table=44 flows remains on VM deletion

Issue: When VM having multiple both TCP and UDP sessions are established, when
such VM is deleted, we were only taking care of deleting flows either
related to TCP or UDP session which is incorrect. This been resulting in
huge number of table=44 flows left over after deletion of VM.

Changes done.
1) Changes done to take care of cleaning of both TCP and UDP session and
it's respective flows(table 44/46) on deletion of VM.
2) Changes done to change the key on the table=44 flow to have internal
ip/port instead of external ip/port. As a result, when table=46 flow
expiry, we can still go ahead construct table=44 flow key to delete
without refering the intext-ip-port-map DS.
3) Changes done to address deletion of table 44 and table 46 flows
whenever the subnet is removed from the Router.

JIRA : NETVIRT-1611

Change-Id: I4c8502832fd64368af1d630d1fb41e89e2cb1512
Signed-off-by: Chetan Arakere Gowdru <chetan.arakere@altencalsoftlabs.com>
4 years agoClose All MDSAL read transcations 89/83189/4
Surendar Raju [Mon, 22 Jul 2019 07:20:44 +0000 (12:50 +0530)]
Close All MDSAL read transcations

Always Close all the MDSAL
Read Transactions after use Transaction has not been
closed for ReadOnlyTransaction which leads to
unnecessary delay in destroying the shard
traction actors (in case of remote reads). This would
lead to memory leak and can also cause delay in creating
data tree snapshots for reads/writes. As a solution
tx.close() is been added to all ReadOnlyTransaction.

Change-Id: I3977f708ae3427d2f371c228d6ba4d773e9d74cd
Signed-off-by: Surendar Raju <surendar.raju@ericsson.com>
4 years agoBump mdsal to 4.0.3 52/83152/5
Robert Varga [Thu, 18 Jul 2019 16:19:37 +0000 (18:19 +0200)]
Bump mdsal to 4.0.3

This bumps mdsal to 4.0.3, bringing in latest fixes and improvements.

Change-Id: Ie8e03aab1f31edf80bc9f1d7896c334c9d83be8d
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
4 years agoBump odlparent to 5.0.1 51/83151/4
Robert Varga [Thu, 18 Jul 2019 16:14:32 +0000 (18:14 +0200)]
Bump odlparent to 5.0.1

This picks up the latest upgrades.

Change-Id: If6006a94197839a9718cd5eae16b0a025913af93
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
4 years agoFixing CSIT Failure issue due to existing merge[0] 45/83345/1
Karthikeyan Krishnan [Thu, 1 Aug 2019 07:06:42 +0000 (12:36 +0530)]
Fixing CSIT Failure issue due to existing merge[0]

[0] https://git.opendaylight.org/gerrit/#/c/netvirt/+/83027

Change-Id: Ie7b5fac7a7a0ec7269069270c2ff6c36aa5757a7
Signed-off-by: Karthikeyan Krishnan <karthikeyangceb007@gmail.com>
4 years agoNAT not working after Replay-Based-Upgrade 26/83226/2
Chetan Arakere Gowdru [Wed, 24 Jul 2019 09:06:28 +0000 (14:36 +0530)]
NAT not working after Replay-Based-Upgrade

Description: we noticed that the SNAT flows 26->46, 36->46
flows are missing when RBU is perfomed.

Root cause : The flows are actually installed by iterating over the
DPNs retrieved from router-dpn-list, but as this is an operational
DS and is empty initially while doing RBU, the flows installation code is not hit

Solution: As we already have the NAPT switch ID, install the flows
without interating over the router-dpn-list.

Issue: NETVIRT-1617

Change-Id: Ie3b027356f754830e1cfd37d6c2daffdbf9bfa94
Signed-off-by: Chetan Arakere Gowdru <chetan.arakere@altencalsoftlabs.com>
4 years agoMPLS label for the def GW missing in the of-flows 27/83027/5
Karthikeyan Krishnan [Fri, 12 Jul 2019 08:01:07 +0000 (13:31 +0530)]
MPLS label for the def GW missing in the of-flows

Issue:
=======
MPLS label for the default GW missing in the of-flows.

RCA:
====
populateFibOnNewDpn failing due to ITM failures as a result of
this ITM failure FIB Manager is unable to write the
default GW flow entry in the FRM DS.

Solution:
=========
Safeguarding populateFibOnDpn from other module failures.
Also a logger statement in FibUtil rethrows exceptions and
that could create issues for VPNEngine.

Enhanced existing logs inside nexthopmanager, so we know
for which vrfentry we flopped to add flows.

Change-Id: Ic1ee05111a84a34ce0fad237b08b8b091ca43f1e
Signed-off-by: Karthikeyan Krishnan <karthikeyangceb007@gmail.com>
4 years agoTSC-181 : ITM Yang Models Cleanup 36/83236/1
Faseela K [Wed, 24 Jul 2019 11:33:03 +0000 (11:33 +0000)]
TSC-181 : ITM Yang Models Cleanup

Restoring the original patch, as merge issues are fixed now.

Change-Id: Ie96687d6c0e320c41fb63ec9235c99f59f643091
Signed-off-by: Faseela K <faseela.k@ericsson.com>
4 years agoRevert "TSC-181 : ITM Yang Models Cleanup" 06/83206/1
Faseela K [Tue, 23 Jul 2019 09:52:23 +0000 (09:52 +0000)]
Revert "TSC-181 : ITM Yang Models Cleanup"

This reverts commit e21274dbeb7bcad709a9ca438f8c1a968d053707.
Genius merge jobs are failing for some other reason, due to which the required artifacts for this change are not published. This is blocking everyone else, as builds are failing now, and hence reverting till the merge job issues are fixed

Change-Id: Ie9e0945d19d4a039c530fef0511c4a414750d944
Signed-off-by: Faseela K <faseela.k@ericsson.com>
4 years agoTSC-181 : ITM Yang Models Cleanup 01/81901/8
Apurba Mukherjee [Mon, 6 May 2019 05:20:50 +0000 (10:50 +0530)]
TSC-181 : ITM Yang Models Cleanup

Change-Id: Ic6330cb9b5521c4df04713b01e89f13e906c9d9f
Signed-off-by: Apurba Mukherjee <apurba.mukherjee@ericsson.com>
4 years agoPin detox 99/83199/1
Anil Belur [Mon, 22 Jul 2019 22:30:38 +0000 (08:30 +1000)]
Pin detox

detox 0.19 is not compatible with the version of tox we are
getting from upstream

Signed-off-by: Anil Belur <abelur@linuxfoundation.org>
Change-Id: I1e4284709702d99125927d945af4c4ee90f0dd96

4 years agoUpdate netvirt-openstack verified combinations 25/83025/2
Faseela K [Fri, 12 Jul 2019 07:20:53 +0000 (12:50 +0530)]
Update netvirt-openstack verified combinations

Change-Id: Ie718e73770cda089639db5d847f3c065179f74c2
Signed-off-by: Faseela K <faseela.k@ericsson.com>
4 years agoECMP-fib entry not populated correctly 37/82937/3
Amitesh Soni [Fri, 5 Jul 2019 06:48:59 +0000 (12:18 +0530)]
ECMP-fib entry not populated correctly

1. File: NeutronRouterChangeListener
- During Router Update, consolidating the original and updated routes,
the logics for calculation of the Routes to be added and routes to be
deleted were incorrect. It was deleting everything from the list
containing Routes to be deleted.

2. File: VpnInterfaceManager
- While deletion of adjacencies from odl-l3vpn:vpn-interface-op-data
datastore,  merge call was not removing it. Now using delete instead,
which is working.

3. File: VpnUtil
- Added InstanceIdentifier builder for reaching the correct adjacency
which would be deleted after merge.

Change-Id: I7299e642484c97dada3f966153b88d64c0cabf20
Signed-off-by: Amitesh Soni <amitesh.soni@ericsson.com>
4 years agoSimplify getInvolvedL2GwDevices() 02/82802/4
Robert Varga [Sat, 29 Jun 2019 11:20:33 +0000 (13:20 +0200)]
Simplify getInvolvedL2GwDevices()

The result of this method is always used to acquire values stored,
hence update the implementation to report a Collection of values.

Change-Id: I82859ee6ce6ecf6f17a8d06a8375f1f44c2800ff
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
4 years agoRemove use of org.opendaylight.genius.utils.cache.CacheUtil 01/82801/3
Robert Varga [Sat, 29 Jun 2019 11:07:27 +0000 (13:07 +0200)]
Remove use of org.opendaylight.genius.utils.cache.CacheUtil

This class has been deprecated, this patch updates ElanL2GwCacheUtils
to work with a LoadingCache and ConcurrentHashMap, updating CLI access
to match.

Change-Id: I448b0d8445ded9c466a38ba56f846413b7bd48af
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
4 years agoACL: VM IP address failures and ID Pool issues 08/82908/2
Shashidhar Raja [Wed, 20 Feb 2019 15:21:01 +0000 (20:51 +0530)]
ACL: VM IP address failures and ID Pool issues

Below ACL issues are fixed:

(a) Issue: Tenant VM IP address failures

    Fix: Cache was not updated properly in AclInterfaceStateListener. This was
           resulting in wrong lport and dpnid in cache. Updated to rectify this
           problem in AclInterfaceStateListener.

(b) Issue: Ids exhausted for pool : ACL-TAG-POOL

    Fix: In Event listener there was wrong check for SecurityRule in
         add(), remove() and update() methods. The check in remove() some times
         was resulting in releaseId of ACL-TAG-POOL not being called. This was
         resulting in Ids exhausted when large number of ACLs were created and
         deleted. Check for SecurityRule in add(), remove() and update() is
         removed to fix the problem.

(b) Issue: ACL-TAG-POOL error with releaseId

    Fix: In the current code, releaseId of ACL-TAG-POOL is called on all
         the nodes of cluster. On one node releaseId would have succeeded and
         on other two nodes, error reported would be observed. Code is updated
         now to invoke releaseId with Entirty check so that it gets executed on
         only one node instead of all the nodes.

Change-Id: Iba0e6486795cfd867db03487b24c069ac06f35eb
Signed-off-by: Shashidhar Raja <shashidharr@altencalsoftlabs.com>
4 years agoLarge READ by Netvirt ELAN 27/82827/3
Paul Joseph [Tue, 4 Jun 2019 07:00:47 +0000 (12:30 +0530)]
Large READ by Netvirt ELAN

Removed a redundant READ of Operational datastore.

Change-Id: Ib2f1e6a83f38605f22cf9aabf847d0ab2bbacdfc
Signed-off-by: Paul Joseph <paul.joseph@ericsson.com>
4 years agoACL: Multicast Aap Port and Recover acl-interface 26/82826/2
kiranvasudeva [Wed, 27 Feb 2019 14:40:38 +0000 (20:10 +0530)]
ACL: Multicast Aap Port and Recover acl-interface

Below ACL issues are fixed:

(a) Issue: Port having Multicast AllowedAddressPair-Mac same as other
           AAP-mac was filtered out from being added for DHCP client traffic flows.

    Fix: Filtering of AAPs required only in case of Port-Update.
         added checks to remove Multicast AAPs before finding the duplicate mac.

(b) Issue: srm:recover-instance-ACL-INTERFACE removes the flows when the
           command is executed again`

    Fix : Removing redundant interface remove during recovery. Remove
          method is redundant, since we only need to add flows for AclInterface.
          Having remove is causing cache update issue, where-in object in
          AclInterfaceCache is getting removed after first add is successful. loss
          of interfaceState information from cache causing add to fail subsequent
          invocations.`

Change-Id: Ib966034fc395b3b501e1756fa6fbade0be9f0f13
Signed-off-by: kiranvasudeva <kirankumar.v@altencalsoftlabs.com>
4 years agoRemove powermock version overrides 95/82795/1
Robert Varga [Sat, 29 Jun 2019 08:52:18 +0000 (10:52 +0200)]
Remove powermock version overrides

odlparent is shipping version 2.0.0, there is no point in overriding
its versions.

Change-Id: I372ef185bbd00807d73904cb0bbacdd3341c4614
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
4 years agoMigrate ElanUtils to use NamedLocks 07/82607/2
Robert Varga [Thu, 20 Jun 2019 17:59:40 +0000 (19:59 +0200)]
Migrate ElanUtils to use NamedLocks

This use was missed by previous translation due to indirection
created by utility methods.

getElanMacDPNKey() is serving two purposes, really, which is as
a job key for JobCoordinator and also as the locking object.

This patch moves the first use to ElanPacketInHandler, which is
the sole user and removes the intern() call, as JobCoordinator
works on equality.

Second use case is locking of elans, which is migrated to NamedLocks,
as there do not seem to be any other callers who would be using
magic strings involved there. Rather than using strings, we expose
a lockElanMacDPN() method, which looks up and acquires the specific
lock, returning the handle back to caller. Callers are converted
to use normal try-with-resources to ensure the lock is released when
no longer needed.

JIRA: NETVIRT-1510
Change-Id: I0292e0e9a4e51ab98e62be5f01d59cb337ff1421
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
4 years agoRemove use of StringBuffer 42/82642/2
Robert Varga [Fri, 21 Jun 2019 05:58:26 +0000 (07:58 +0200)]
Remove use of StringBuffer

StringBuilder is a faster replacement of StringBuffer, use that
instead.

Change-Id: I68fddef4afb04b0b7fbcd895625abbb7a9133a77
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
4 years agoDo not intern strings passed to JobCoordinator 08/82608/2
Robert Varga [Thu, 20 Jun 2019 18:06:55 +0000 (20:06 +0200)]
Do not intern strings passed to JobCoordinator

JobCoordinator is using key equality, not identity, to determine
where to put a particular job -- which means String.intern() is
completely unnecessary.

Change-Id: I29c805608a731f2775c06c661084f64c6e1847ee
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
4 years agoMove ElanUtils.getElanMacKey() 06/82606/1
Robert Varga [Thu, 20 Jun 2019 17:41:28 +0000 (19:41 +0200)]
Move ElanUtils.getElanMacKey()

This method is not use for synchronization, but only in a single
place to form a JobCoordinator key. Move it ElanPacketInHandler
and stop doing String.intern(), as that is completely unnecessary.

JIRA: NETVIRT-1510
Change-Id: I2357c1e0255198d8a0285a56395aa97f57f16cf3
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
4 years agoUse JvmGlobalLocks in vpnmanager 15/77915/12
Robert Varga [Sun, 18 Nov 2018 16:17:11 +0000 (17:17 +0100)]
Use JvmGlobalLocks in vpnmanager

JvmGlobalLocks is giving us all we need to replace String.intern(),
user that.

JIRA: NETVIRT-1510
Change-Id: I34ebaf2460f051b8bd8e728730d51a54c2f39afd
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
4 years agoUpdate openstack-with-netvirt.rst to reflect current status 03/82403/3
Yi Yang [Wed, 5 Jun 2019 01:32:53 +0000 (21:32 -0400)]
Update openstack-with-netvirt.rst to reflect current status

- Remove docs/openstack-guide/dlux-login.png
- Remove docs/openstack-guide/dlux-with-switches.png
- Remove odl-dlux-core because they are not available any more

JIRA: NETVIRT-1603

Change-Id: I1c2a914807f78d714b35717e477a7bd6dc014adc
Signed-off-by: Yi Yang <yangyi01@inspur.com>
4 years agoSwitch to using pre-commit instead of coala 27/82427/3
Thanh Ha [Thu, 6 Jun 2019 21:18:55 +0000 (17:18 -0400)]
Switch to using pre-commit instead of coala

The Coala linter for GitCommit Hooks requires the Python NLTK
library which in the past couple of days started depending on
numpy. Let's switch to pre-commit so that we don't have to pull
in numpy.

Change-Id: Ic13381bccaf6e113f9e617b8ed840624b769e47b
Signed-off-by: Thanh Ha <zxiiro@gmail.com>
4 years agoCleanup trailing whitespace 28/82428/1
Thanh Ha [Thu, 6 Jun 2019 21:27:20 +0000 (17:27 -0400)]
Cleanup trailing whitespace

Change-Id: I27242089fa611cd4e85895c16e15f2fc3a10a9d7
Signed-off-by: Thanh Ha <zxiiro@gmail.com>
4 years agoUpdate resources/README to reflect current status 05/82405/1
Yi Yang [Wed, 5 Jun 2019 02:50:17 +0000 (22:50 -0400)]
Update resources/README to reflect current status

odl-ovsdb-openstack is one feature in old ovsdb, it is now
odl-netvirt-openstack.

JIRA: NETVIRT-1604

Change-Id: I2372a321fb88c5fc2309cc5e51c2daf686bbb268
Signed-off-by: Yi Yang <yangyi01@inspur.com>
4 years agoBump mdsal to 4.0.2 71/82371/2
Robert Varga [Fri, 31 May 2019 14:47:18 +0000 (16:47 +0200)]
Bump mdsal to 4.0.2

This picks up latest fixes.

Change-Id: I97d000c92ca6660477465ec86d7e957b03a9638e
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
4 years agoSNAT External Fixed IPs flow missing 26/81926/6
Chetan Arakere Gowdru [Wed, 24 Apr 2019 05:57:49 +0000 (11:27 +0530)]
SNAT External Fixed IPs flow missing

Issue : NETVIRT-1591

This Patch addresses the update of external-ips(change of external ip as
part of update request) to advertize and program all SNAT related flows
for the new external Ips.

Change-Id: I875b0db52e08fd4d55155d9eab51ffbdaf588cec
Signed-off-by: Chetan Arakere Gowdru <chetan.arakere@altencalsoftlabs.com>
4 years agoPin requests<2.22.0 73/82173/1
Robert Varga [Mon, 20 May 2019 07:03:49 +0000 (09:03 +0200)]
Pin requests<2.22.0

request-2.22.0 does not work with python-3.4.9, pin to a lower
version.

Change-Id: I6b20f53e77a419fb34eb87dad00f521a57204e36
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
4 years agoDo not install/deploy karaf distro 23/82123/2
Robert Varga [Wed, 15 May 2019 14:19:37 +0000 (16:19 +0200)]
Do not install/deploy karaf distro

The distribution should not be hitting artifact repositories,
make sure that does not happen.

Change-Id: I4cea07b3b1c5bdc78b35a1cd43ba7986057e4ba3
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
4 years agoMigrate NeutronvpnManager to NamedLocks 32/81632/7
Robert Varga [Sat, 13 Apr 2019 11:03:10 +0000 (13:03 +0200)]
Migrate NeutronvpnManager to NamedLocks

NamedLocks are providing a faster, more safe alternative to
KeyedLocks (and those are deprecated).

This patch migrates NeutronvpnManager to NamedLocks and adds
a bunch of FIXMEs in places where we ignore a failure to lock.

Change-Id: Ia96c0048264a038d157458ac56476054feb6f6bc
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
4 years agoFix verifyL2gwPreProvisioning() test 70/82070/1
Robert Varga [Wed, 15 May 2019 07:36:59 +0000 (09:36 +0200)]
Fix verifyL2gwPreProvisioning() test

This test was not synchronizing on ELAN creation, leading to OLFE.
Add a proper sync point.

Change-Id: I6dd82203f408a9061bacf3a885746ce2a2cfd7b1
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
4 years agoBump mdsal to 4.0.1 40/81840/5
Robert Varga [Wed, 1 May 2019 11:43:10 +0000 (13:43 +0200)]
Bump mdsal to 4.0.1

This bumps mdsal to 4.0.1.

Change-Id: Ib1fafb3ddd086b39d949545247ed791aa6d734ec
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
4 years agoMigrate NtrnFltngToFxdIpMppngChLstnr to NamedLocks 33/81633/7
Robert Varga [Sat, 13 Apr 2019 11:23:22 +0000 (13:23 +0200)]
Migrate NtrnFltngToFxdIpMppngChLstnr to NamedLocks

NamedLocks are providing a faster, more safe alternative to
KeyedLocks (and those are deprecated).

This patch migrates NeutronFloatingToFixedIpMappingChangeListener to
NamedLocks and adds a bunch of FIXMEs in places where we ignore
a failure to lock.

Change-Id: I1095188355828527cefe056172742b8e792d9a6e
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
Signed-off-by: Stephen Kitt <skitt@redhat.com>
4 years agoSwitch to using spotbugs 97/81997/6
Robert Varga [Sat, 11 May 2019 07:20:34 +0000 (09:20 +0200)]
Switch to using spotbugs

findbugs is no longer declared in odlparent, resulting in a bunch
of maven warnings. Switch to using spotbugs instead, fixing up
violations it is detecting.

Change-Id: I99de6fe4609310bd444930ed919f3b6a0adc41f3
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
4 years agoRemove duplicate dependencies 96/81996/3
Robert Varga [Sat, 11 May 2019 07:23:48 +0000 (09:23 +0200)]
Remove duplicate dependencies

This patch fixes maven warnings around duplicate dependency
declarations.

Change-Id: Ic25270d8f37f96f115212c0489cce7a9f8fc7c40
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
4 years agoMake private methods static 95/81995/3
Robert Varga [Sat, 11 May 2019 06:53:56 +0000 (08:53 +0200)]
Make private methods static

A bunch of methods can be made static, making it easier to understand
they do not modify object state.

Change-Id: Ib692fd7d0c03143ec9dcea01e7a49ab65e176b35
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
4 years agoMigrate elanmanager to use LoggingFutures 94/81994/3
Robert Varga [Sat, 11 May 2019 06:35:56 +0000 (08:35 +0200)]
Migrate elanmanager to use LoggingFutures

{Jdk,Listenable}Futures.addErrorLogging() has been long deprecated,
migrate to its replacement.

Change-Id: I8b23430f4c177bd256d4899565103d7a7eca9f72
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
5 years agoPin pygments to 2.3.x 00/82000/1
Faseela K [Sat, 11 May 2019 10:34:31 +0000 (16:04 +0530)]
Pin pygments to 2.3.x

Pygments released 2.4.0 which added a python requires that excludes all
versions of Python < 3.5. The LFCI's default Python 3 version is 3.4 so
causes build failure.

Change-Id: I6bb645b8597b942e7c55ce41d12982076e6f5897
Signed-off-by: Faseela K <faseela.k@ericsson.com>
5 years agoStale flows in ECMP 35/80535/6
ezjospa [Fri, 22 Feb 2019 10:08:46 +0000 (15:38 +0530)]
Stale flows in ECMP

Description: Extra route stale flows are still present in table 21
after updating router with no-route.
updateUsedRdAndVpnToExtraRoute() does not finish executing
before deleteLocalFibEntry().

Solution: Using MDSALUtil.syncDelete() instead of
writeConfigTxn.delete().

Change-Id: If2fd2201539468cce92b1e3863ce1565a4219757
Signed-off-by: ezjospa <paul.joseph@ericsson.com>
5 years agoBump mdsal version to 4.0.0 34/81534/11
Faseela K [Wed, 10 Apr 2019 11:09:27 +0000 (16:39 +0530)]
Bump mdsal version to 4.0.0

Change-Id: I54bba6b02dc673a5069d1baae7de9f9b7bb335a1
Signed-off-by: Faseela K <faseela.k@ericsson.com>
5 years agoBump odlparent version to 5.0.0 62/81462/3
Faseela K [Tue, 9 Apr 2019 06:23:17 +0000 (11:53 +0530)]
Bump odlparent version to 5.0.0

Change-Id: Ia89ed50f4a223f7b71bb6fd6a2914a2a10b372fb
Signed-off-by: Faseela K <faseela.k@ericsson.com>
5 years agoSwitch from javax.annotations.CheckReturnValue 36/81536/2
Faseela K [Wed, 10 Apr 2019 11:13:28 +0000 (16:43 +0530)]
Switch from javax.annotations.CheckReturnValue

Change-Id: I3ebb1f967d7b6871ddc073c9ee72bd181eab7daf
Signed-off-by: Faseela K <faseela.k@ericsson.com>
5 years agoRemove dependency of apache.felix.configadmin 63/81463/2
Somashekhar Javalagi [Tue, 9 Apr 2019 06:48:18 +0000 (12:18 +0530)]
Remove dependency of apache.felix.configadmin

Removing configadmin dependency as it is not used by anybody and
creating problem in persisting runtime config file changes

Change-Id: Icb0cf3cbfff207c9d54fddbab99f87f1aa731796
Signed-off-by: Somashekhar Javalagi <somashekhar.manohara.javalagi@ericsson.com>
5 years agoAdjust Checkstyle DTD URIs 48/81348/1
Stephen Kitt [Tue, 2 Apr 2019 14:05:11 +0000 (16:05 +0200)]
Adjust Checkstyle DTD URIs

The DTDs have moved from checkstyle.sourceforge.net to checkstyle.org,
using secure URLs.

Change-Id: I6e1462de44c7c0487a5a55c930024a66c539cd86
Signed-off-by: Stephen Kitt <skitt@redhat.com>
5 years agoNot generating extra-route config fault alarm 05/81305/2
eswanit [Fri, 29 Mar 2019 03:36:26 +0000 (09:06 +0530)]
Not generating extra-route config fault alarm

Number of nexthops are not calculated properly
(were being calculated x-1 always) because of
wrong initial value resulting in alarm not getting
generated for the check when number of RDs are
less than number of nexthops.

Change-Id: Ie6875c95c42ab285fde765bae50b8f0e62a604a4
Signed-off-by: eswanit <swati.udhavrao.niture@ericsson.com>
5 years agoIssue: Longer time transactions with QOS 15/81215/2
A Vamsikrishna [Wed, 27 Mar 2019 07:00:09 +0000 (12:30 +0530)]
Issue: Longer time transactions with QOS

Root cause: In interface delete event, DSCP flow is deleted
            even if QoS is not configured

Fix: Remove flow only if QoS DSCP config applied on the port

Change-Id: Ifd51e2ac4224a36834bca4f80e0834ad19ea65bb
Signed-off-by: A Vamsikrishna <a.vamsikrishna@ericsson.com>
5 years agoneutronvpn dead code removal 92/81092/4
Stephen Kitt [Thu, 21 Mar 2019 14:05:57 +0000 (15:05 +0100)]
neutronvpn dead code removal

This patch removes unused methods, classes and fields.

Change-Id: I3241d203ac11f02dc9ab17209a624eb8ddbcdfd1
Signed-off-by: Stephen Kitt <skitt@redhat.com>
5 years agonatservice dead code removal 91/81091/4
Stephen Kitt [Thu, 21 Mar 2019 13:23:06 +0000 (14:23 +0100)]
natservice dead code removal

This patch removes unused methods, classes and fields.

Change-Id: I8fcca759a7b6320ca0c1816e0ca535d130fbc00a
Signed-off-by: Stephen Kitt <skitt@redhat.com>
5 years agoStale flows in ELAN tables 55/80055/10
eswanit [Thu, 31 Jan 2019 06:00:03 +0000 (11:30 +0530)]
Stale flows in ELAN tables

removeElanInterface method was getting called
after interface removal (from ElanInterfaceStateChangeListener)
and elan instance removal (from ElanInstanceManager).

So there was a case when elan instance removal gets called
first, wherein it won't delete the elan flows because interfaceInfo
(interface is deleted from interface config DS) is null.

The fix is to avoid not calling removeElanInterface when
elan instance remove event comes since openstack doesn't
allow deletion of network unless all ports are deleted.

Change-Id: Id80b779316b1f9fe3cf72145fc8991d590ec9d97
Signed-off-by: eswanit <swati.udhavrao.niture@ericsson.com>
5 years agoAdd missing initialisation in UpgradeStateListener 90/81090/2
Stephen Kitt [Thu, 21 Mar 2019 13:24:21 +0000 (14:24 +0100)]
Add missing initialisation in UpgradeStateListener

UpgradeStateListener depends on IMdsalApiManager and IdManagerService,
has corresponding fields, uses them, but never initialises them.
While this indicates that the corresponding code is probably never
used, it seems better for the time being to add the missing
initialisation.

Change-Id: Ia986d104bba7dcde1e93d696d8c7f522b138f6e6
Signed-off-by: Stephen Kitt <skitt@redhat.com>
5 years agoSwitch to JDT annotations for Nullable and NonNull 33/80333/6
Stephen Kitt [Thu, 14 Feb 2019 14:34:12 +0000 (15:34 +0100)]
Switch to JDT annotations for Nullable and NonNull

This reduces our dependency on JSR-305 which causes a number of issues
(e.g. with javax.annotation resolution in OSGi bundles).

Annotations on local variables are removed because they trigger a
Javac bug which crashes ASM and then FindBugs, SpotBugs and JaCoCo.

Change-Id: I8c7736fe57e1e953dfa8e7dcf46d89d2166c892e
Signed-off-by: Stephen Kitt <skitt@redhat.com>
5 years agoMdsalApiManager cleanup - neutronvpn 67/76167/3
Stephen Kitt [Mon, 17 Sep 2018 13:24:11 +0000 (15:24 +0200)]
MdsalApiManager cleanup - neutronvpn

This removes all calls to deprecated methods in MdsalManager, so that
they can be removed in the near future.

Change-Id: Ifb524445efc0bc324e7ea42fb404acedae98f5da
Signed-off-by: Stephen Kitt <skitt@redhat.com>
5 years agofibmanager dead code removal 49/81049/2
Stephen Kitt [Wed, 20 Mar 2019 16:31:19 +0000 (17:31 +0100)]
fibmanager dead code removal

This patch removes unused methods, classes and fields.

Change-Id: I03e98891e0a0a5be6a88c2132c97935aeb31f4bc
Signed-off-by: Stephen Kitt <skitt@redhat.com>
5 years agodhcpservice dead code removal 48/81048/2
Stephen Kitt [Wed, 20 Mar 2019 16:30:44 +0000 (17:30 +0100)]
dhcpservice dead code removal

This patch removes unused methods, classes and fields.

Change-Id: I732e7c93f760fb66006e60a0a50b08eabc4c9457
Signed-off-by: Stephen Kitt <skitt@redhat.com>
5 years agoelanmanager dead code removal 27/75427/6
Stephen Kitt [Tue, 19 Mar 2019 08:35:57 +0000 (09:35 +0100)]
elanmanager dead code removal

This patch removes unused methods, classes and fields.

Change-Id: Ia14e3ff0a304ca9c9db16562c1c766f07f98b9f2
Signed-off-by: Stephen Kitt <skitt@redhat.com>
5 years agoAvoid comparing objects using == 95/81095/1
Stephen Kitt [Thu, 21 Mar 2019 15:00:22 +0000 (16:00 +0100)]
Avoid comparing objects using ==

A number of BigInteger instances are compared using == or !=; this
patch uses .equals() or variants thereof instead.

Change-Id: I3ac654b0dd5d255304bca93d6fbc4cdbfec05514
Signed-off-by: Stephen Kitt <skitt@redhat.com>
5 years agoBGP function calls logging 50/80350/7
Loshmitha [Fri, 15 Feb 2019 11:19:32 +0000 (16:49 +0530)]
BGP function calls logging
The logs have been added for the bgp calls with timestamp

JIRA: NETVIRT-1564

Change-Id: I4f7c253c2df2e1e20a2a031b563ede37495ac094
Signed-off-by: Loshmitha <loshmitha@ericsson.com>
5 years agoMigrate to serviceutils upgrade 61/80361/1
Faseela K [Mon, 18 Feb 2019 05:14:04 +0000 (10:44 +0530)]
Migrate to serviceutils upgrade

JIRA: GENIUS-190

Change-Id: If9057f7b57a175054cec7e4e83c2723b588c97ca
Signed-off-by: Faseela K <faseela.k@ericsson.com>
5 years agoUpgrade to PowerMock 2 16/80316/2
Stephen Kitt [Wed, 13 Feb 2019 15:36:38 +0000 (16:36 +0100)]
Upgrade to PowerMock 2

This fixes the build in Java 11. A number of ignored tests are removed
in the process.

Change-Id: If6b8f42aeb8d42631df16bd3d22953720e0cc05d
Signed-off-by: Stephen Kitt <skitt@redhat.com>
5 years agoAdd missing annotation dependencies for Java 11 16/80016/9
Stephen Kitt [Wed, 30 Jan 2019 09:41:14 +0000 (10:41 +0100)]
Add missing annotation dependencies for Java 11

... and drop an extraneous CORBA import!

Change-Id: I9062d07f9b9af3eb35c99bb0c4697b8e6fac33eb
Signed-off-by: Stephen Kitt <skitt@redhat.com>
5 years agoMaster build failing - dependency missing in pom 53/80253/1
shaik [Mon, 11 Feb 2019 10:37:26 +0000 (16:07 +0530)]
Master build failing - dependency missing in pom

Description: master build failing at natservice, looks like
dependecy is missing in natservice/impl pom.xml

JIRA: NETVIRT-1562

Solution : added the missing dependencies, build is passing
with this change

Change-Id: I7e98f3e230edc5cd47a0dec47b274f5468154b9e
Signed-off-by: shaik <shaik.b@altencalsoftlabs.com>
5 years agoL3 handling for COE services. 79/80079/4
Faseela K [Fri, 1 Feb 2019 10:20:51 +0000 (15:50 +0530)]
L3 handling for COE services.

Current implementation of services is handled
via ELAN pipeline, which is not an efficient solution.
The proposal here makes each service IP an extraroute
on the service-gateway port.

Change-Id: I3f8d022124e118cf08eb13ccac19185f81a6736e
Signed-off-by: Faseela K <faseela.k@ericsson.com>
5 years agoBump versions by x.y.(z+1) 91/80091/2
jenkins-releng [Fri, 1 Feb 2019 13:06:30 +0000 (13:06 +0000)]
Bump versions by x.y.(z+1)

Change-Id: I05b0ce7157565941ee715e9f34ddc61d5a0edc5e
Signed-off-by: jenkins-releng <jenkins-releng@opendaylight.org>
5 years agoSelect groups without any buckets for remote MIPs 04/79504/5
Somashekar Byrappa [Mon, 14 Jan 2019 09:38:49 +0000 (15:08 +0530)]
Select groups without any buckets for remote MIPs

Issue-1:
--------
Inconsistency observed in table-21 flows. For remote IPv4/IPv6 MIPs,
traffic for fixed IPs are sent directly to table-220. But
traffic for remote learnt/MIPs are sent to groups.

Issue-2:
--------
Sporadic issue wherein when MIPs are learnt, perform delete and add
Transport zone (ITM). The corresponding groups referred in table-21
flows for remote MIPs have Select Groups without any buckets in one
of the DPN.

Solution for both 1 and 2:
--------------------------
+ Remote learnt/MIPs were treated as extra routes, hence were sent to
  load-balancing groups (Select). With this fix now, even for remote
  learnt/MIPs, traffic is directly sent to table-220 from table-21.

+ Refactored code to minimize datastore reads.

JIRA: NETVIRT-1553

Change-Id: Idb71cc6e5e2ce3eb812e36e51a0987a204d778dc
Signed-off-by: Somashekar Byrappa <somashekar.b@altencalsoftlabs.com>
5 years agoUpdate broadcast rules for subnet addtion/deletion 85/79985/6
Shashidhar Raja [Tue, 29 Jan 2019 07:48:55 +0000 (13:18 +0530)]
Update broadcast rules for subnet addtion/deletion

Change-Id: I2e2deb51683ca95446677ff9490ab1f605b400cb
Signed-off-by: Shashidhar Raja <shashidharr@altencalsoftlabs.com>
5 years agoMark BluePrint annotations optional 24/80024/1
Stephen Kitt [Wed, 30 Jan 2019 14:17:53 +0000 (15:17 +0100)]
Mark BluePrint annotations optional

Change-Id: Ia1cccc840679b821163bceb995212786bc25056b
Signed-off-by: Stephen Kitt <skitt@redhat.com>
5 years agoAdjust to the ovsdb MdsalUtils change 19/80019/1
Stephen Kitt [Wed, 30 Jan 2019 11:03:25 +0000 (12:03 +0100)]
Adjust to the ovsdb MdsalUtils change

ovsdb’s MdsalUtils switched to the mdsal DataBroker, to continue using
the controller DataBroker we need to switch to ControllerMdsalUtils.

Change-Id: If644b85d4bb1af8194b9143196050e1c194798c9
Signed-off-by: Stephen Kitt <skitt@redhat.com>
5 years agocreate vpninstance for kubernetes cluster bring up 33/79833/12
Vyshakh Krishnan CH [Tue, 29 Jan 2019 06:24:14 +0000 (11:54 +0530)]
create vpninstance for kubernetes cluster bring up

JIRA: NETVIRT-1556

create vpn instance with auto allocated RD while cluster bring up

Change-Id: I5fce5abdfbca8dc07fb322a8c8ad97c71f415b9e
Signed-off-by: Vyshakh Krishnan CH <vyshakh.krishnan.c.h@ericsson.com>
5 years agoDuplicate list in resolveAdjacency 92/79992/1
Stephen Kitt [Tue, 29 Jan 2019 15:05:36 +0000 (16:05 +0100)]
Duplicate list in resolveAdjacency

BaseVrfEntryHandler::resolveAdjacency sorts the list of route paths,
so we need to ensure that the list is modifiable. This patch does so
by creating a new ArrayList with the list of route paths.

Change-Id: I8612d94e3061f4f3f18a07ebb8e18d954de1cb65
Signed-off-by: Stephen Kitt <skitt@redhat.com>
5 years agoelanmanager: drop nullToEmpty and reqNonNullOrElse 16/79916/4
Stephen Kitt [Fri, 25 Jan 2019 08:53:22 +0000 (09:53 +0100)]
elanmanager: drop nullToEmpty and reqNonNullOrElse

Change-Id: Ibef665d4f6701219282a4b30533b03a72b376d05
Signed-off-by: Stephen Kitt <skitt@redhat.com>
5 years agofibmanager: drop nullToEmpty and reqNonNullOrElse 17/79917/4
Stephen Kitt [Fri, 25 Jan 2019 08:53:23 +0000 (09:53 +0100)]
fibmanager: drop nullToEmpty and reqNonNullOrElse

Change-Id: I00072529caa24f6a1c75507b5fdd2d71e6eb461e
Signed-off-by: Stephen Kitt <skitt@redhat.com>
5 years agonatservice: drop nullToEmpty and reqNonNullOrElse 19/79919/4
Stephen Kitt [Fri, 25 Jan 2019 08:53:23 +0000 (09:53 +0100)]
natservice: drop nullToEmpty and reqNonNullOrElse

Change-Id: Ie2cce99b07dd4ad5ed5b25450838ae6e9d89bdb0
Signed-off-by: Stephen Kitt <skitt@redhat.com>
5 years agoipv6service: drop nullToEmpty and reqNonNullOrElse 18/79918/4
Stephen Kitt [Fri, 25 Jan 2019 08:53:23 +0000 (09:53 +0100)]
ipv6service: drop nullToEmpty and reqNonNullOrElse

Change-Id: I7796fd461a13f76a62320586fcb194bcc314dbb6
Signed-off-by: Stephen Kitt <skitt@redhat.com>
5 years agoNETVIRT-1545: MDSAL transactions optimizations 15/79615/8
kiranvasudeva [Thu, 27 Dec 2018 15:01:31 +0000 (20:31 +0530)]
NETVIRT-1545: MDSAL transactions optimizations

MDSAL transactions optimizations for Aclservice.
1. Security-Group is created as part of first SG rule creation, which
might lead to tx.merge, could cause delayed transactions.
2. Aclservice uses syncWrite and syncUpdate in neutronvpn module, which
could cause delayed transactions.

fix:
1. Added SecurityGroup Listener, which would create SG/Access-lists,
hopefully before SG rule. There-by tx would not get delayed.
2. Replace sync calls with Async using JobCoordinator.

Change-Id: I01318ea3ae1edcd5e25ad7aaf2a80b532777a028
Signed-off-by: kiranvasudeva <kirankumar.v@altencalsoftlabs.com>
5 years agoDual Stack feature support for router interface 40/79940/1
Karthikeyan Krishnan [Mon, 28 Jan 2019 06:24:51 +0000 (11:54 +0530)]
Dual Stack feature support for router interface

This is second patch to support dual stack
router interface

We create a dual-stack neutron port and attach this
port to the router.
This single neutron port is then responsible for
handling both IPv4 and IPv6 subnets in that network.
The advantage of this approach is that it reduces
the number of Neutron router ports.

Issue: NETVIRT-1543

Change-Id: Iabd96ec2ad60ee8e5a3078f25304c175117830d0
Signed-off-by: Karthikeyan Krishnan <karthikeyangceb007@gmail.com>
5 years agoCOE: elan-interface creation exception 89/78789/6
Faseela K [Fri, 14 Dec 2018 09:37:01 +0000 (15:07 +0530)]
COE: elan-interface creation exception

JIRA: NETVIRT-1533

Change-Id: Ieb8e914a950c39b9e436ba2a6c744a9329c4bfb5
Signed-off-by: Faseela K <faseela.k@ericsson.com>
Signed-off-by: Sam Hague <shague@redhat.com>
5 years agodhcpservice: drop nullToEmpty and reqNonNullOrElse 15/79915/4
Stephen Kitt [Fri, 25 Jan 2019 08:53:22 +0000 (09:53 +0100)]
dhcpservice: drop nullToEmpty and reqNonNullOrElse

Change-Id: I5c303e30f697ffeff0759a93c943bb5264114cf9
Signed-off-by: Stephen Kitt <skitt@redhat.com>
5 years agovpnmanager: drop nullToEmpty and reqNonNullOrElse 23/79923/3
Stephen Kitt [Fri, 25 Jan 2019 08:53:24 +0000 (09:53 +0100)]
vpnmanager: drop nullToEmpty and reqNonNullOrElse

Change-Id: I411e862b386ed14d759a2ab7cff089ce8f16a64f
Signed-off-by: Stephen Kitt <skitt@redhat.com>
5 years agoMerge SubnetInfo in AclInterface 27/79927/4
Shashidhar Raja [Fri, 25 Jan 2019 14:18:46 +0000 (19:48 +0530)]
Merge SubnetInfo in AclInterface

Change-Id: I8d2960605b84c3d53eed3d327730931a2995301a
Signed-off-by: Shashidhar Raja <shashidharr@altencalsoftlabs.com>
5 years agoqosservice: drop nullToEmpty and reqNonNullOrElse 21/79921/4
Stephen Kitt [Fri, 25 Jan 2019 08:53:24 +0000 (09:53 +0100)]
qosservice: drop nullToEmpty and reqNonNullOrElse

Change-Id: I65eb7a162a2d8cdcc16654945259e111bc4c7c1f
Signed-off-by: Stephen Kitt <skitt@redhat.com>
5 years agoneutronvpn: drop nullToEmpty and reqNonNullOrElse 20/79920/3
Stephen Kitt [Fri, 25 Jan 2019 08:53:23 +0000 (09:53 +0100)]
neutronvpn: drop nullToEmpty and reqNonNullOrElse

Change-Id: I99c05dfaca1012e87fcdd03e6c5db4e8c44b0674
Signed-off-by: Stephen Kitt <skitt@redhat.com>
5 years agosfc: drop nullToEmpty and requireNonNullOrElse 22/79922/3
Stephen Kitt [Fri, 25 Jan 2019 08:53:24 +0000 (09:53 +0100)]
sfc: drop nullToEmpty and requireNonNullOrElse

Change-Id: I1256c7df73351d8d93f5ee73c20dd9c319859026
Signed-off-by: Stephen Kitt <skitt@redhat.com>
5 years agoaclservice: drop nullToEmpty and reqNonNullOrElse 14/79914/3
Stephen Kitt [Fri, 25 Jan 2019 08:49:12 +0000 (09:49 +0100)]
aclservice: drop nullToEmpty and reqNonNullOrElse

Change-Id: Ie843944d23f8ebb5b8be09852ac43a503afb97b3
Signed-off-by: Stephen Kitt <skitt@redhat.com>
5 years agoUse LabelRouteInfoKey for locking label list 18/77918/10
Robert Varga [Sun, 18 Nov 2018 19:26:29 +0000 (20:26 +0100)]
Use LabelRouteInfoKey for locking label list

Once concentrated into a single call site, it is obvious that
call callers are immediatelly creating LabelRouteInfoKey, hence
use that Identifiable to name our locks.

Change-Id: I638992b1f2b4d070c33021560064dcf4b2b0ccb2
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
5 years agoNETVIRT-1519: MIP entry duplicated in FIB 75/78075/7
Anil Kumar Gujele [Fri, 23 Nov 2018 03:50:11 +0000 (09:20 +0530)]
NETVIRT-1519: MIP entry duplicated in FIB

Issue:
VRRP is configured for MIP-IP on two VMs. After cluster reboot,
VRRP-standby VM becomes a master for fraction of second and triggers
many GARP request for MIP-IP to controller. In controller ARP
NotificationHandler , when GARP is received , still learntVpnIpToPort
is not populated.Hence new adjacency gets added onto secondary VM's
VpnInterface without deleting the adj on original master VM's
VpnInterface. When cluster reboot completes , Arp Responses are
received from original master VM. But LearntVpnIpToPort has MIP-IP
with secondary VM portname. Now MIP-IP is removed from secondary
VM's VpnInterface Adj and FIB is also updated. Route pointing to
nexthop as secondary VM is withdrawn from DC-GW. Finally traffic
starts dropping.

Fixes:
To know who held the MIP-IP before cluster reboot, its decided to
persist the MIP-IP info. Hence VpnIpToPort config datastore is chosen
to store the info. After cluster reboot, when flood of GARP is
received, it will be checked if already an entry is present in
VpnIpToPort. If present and GARP is from different VM Interface,
oldPort entry is removed.

During cluster reboot, due to an ELAN bug in its pipelines, both the
Master and Slave VRRP VNFs go into Split brain and both of them own
the same MIP and respond to ARP requests as though they are both
legitimate owners. In order for this to not cause any damage to
L3VPN MIP FIB entry, we have introduced a quiescent ("quiet period")
of 300 seconds i.e., 5 minutes
within the ARP NotificationHandler as soon as its Constructed.
During this quiescent period, we will not be permitting re-learning of
any existing MIPs.  This quiescent period for each existing MIPs (ie.,
MIPs that were learnt before reboot) is to resolve their split brain
issues and thereby settle down between themselves to one Master.
After the quiescent period is over, we allow re-learning of all these
existing MIPs.
Please note that the quiescent period is applicable for
only existing MIPs (that were prior to cluster reboot/cluster upgrade)
and so the period is not applicable for learning new MIPs.  New MIPs
can be learned instantly after the cluster reboot completes.

We have introduced boot-delay-arp-learning parameter in the VpnConfig
for use by the controller orchestrator. The boot-delay-arp-learning
parameter controls for how much time after bootup, should the
arp-learning be made quiescent in seconds.

Change-Id: I2985480050cb0b8ee8434cced0074abb7a05a5cd
Signed-off-by: Anil Kumar Gujele <anilkumar.g@altencalsoftlabs.com>
5 years agoDual Stack feature support for router interface 90/79090/10
Karthikeyan Krishnan [Mon, 31 Dec 2018 08:19:34 +0000 (13:49 +0530)]
Dual Stack feature support for router interface

We create a dual-stack neutron port and attach this
port to the router.
This single neutron port is then responsible for
handling both IPv4 and IPv6 subnets in that network.
The advantage of this approach is that it reduces
the number of Neutron router ports.

Issue: NETVIRT-1543

Change-Id: I043cd7683a8dc434f5d61886101915dfc01727c7
Signed-off-by: Karthikeyan Krishnan <karthikeyangceb007@gmail.com>