netvirt.git
3 years agoFreeze upstream versions 91/95691/1 master
Robert Varga [Wed, 7 Apr 2021 12:29:00 +0000 (14:29 +0200)]
Freeze upstream versions

Upstreams have a proper release, which means SNAPSHOTs are no longer
refreshed. Migrate to released versions.

Change-Id: I9e37b7b554b68f923697540bd81eae9854769415
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
3 years agoBump upstreams for Silicon 71/92971/23
Robert Varga [Wed, 7 Oct 2020 17:56:46 +0000 (19:56 +0200)]
Bump upstreams for Silicon

Adopt the following upstream versions:
- odlparent-8.1.0
- yangtools-6.0.4
- mdsal-7.0.5
- controller-3.0.6
- infrautils-1.9.5
- aaa-0.13.1
- netconf-1.13.0

Change-Id: Ib80c9974bc95e85000df8a003be3e9efca5f6b7d
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
3 years agoMake subnetroute label and flow management more robust 48/92248/7
Tanmay Agrawal [Sun, 23 Aug 2020 16:50:05 +0000 (22:20 +0530)]
Make subnetroute label and flow management more robust

This fix is intended to address two major problems:
a. Increasing number of stale flows in table 20 for subnetroute specific
labels.
b. Address stale flows in table 20 that always appears during bulk
migration (or) bulk evacuation.

Due to various events like Port UP/DOWN , VM migration etc , NH-DPN
election is triggered for a given subnet. This leads to update in the
SubnetRoute FIB entry. Suspicion is that it leads to un-necessary flow
creation. Since SubnetRoute flows are programmed on all DPNs whereever
there is a VPN presnce, its decided not to allocated label everytime there
is some event(like Port UP/DOWN) and update the FIB entry. To minimize
stale flow creation, MPLS label will be created only once during
subnet-addition and deleted when subnet is deleted.

Signed-off-by: Tanmay Agrawal <tanmay.a@altencalsoftlabs.com>
Change-Id: I5f1c057554eb2a1e331d87fe3f8feca99f67e57c

3 years agoMigrate last tools.mdsal.rpc.FutureRpcResults user 36/92736/1
Robert Varga [Sun, 27 Sep 2020 10:17:09 +0000 (12:17 +0200)]
Migrate last tools.mdsal.rpc.FutureRpcResults user

This helper is the last remaining user of deprecated FutureRpcResults,
migrate it finally to the replacement.

Change-Id: Ib658452cc2457ce9ba2e53270f77348acc28552c
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
3 years agoUse uint types for upstream method arguments 24/92724/1
Robert Varga [Sat, 26 Sep 2020 12:12:12 +0000 (14:12 +0200)]
Use uint types for upstream method arguments

ovsdb started migrating towards properly-encapsulating uint types,
match the API changes coming from that.

Change-Id: I679b1a94db52a393c960bde4d8ee2628afc74976
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
3 years agoFix safety warnings 67/91867/5
Robert Varga [Tue, 4 Aug 2020 19:05:46 +0000 (21:05 +0200)]
Fix safety warnings

Minimize visibility of DpnInterfaceInfo fields and use proper type
generic arguments to prevent use of raw types.

Change-Id: Id12ef7a9ca44e662a5b794f1c81ad7cc541bb44b
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
3 years agoMigrate ListenableFutures.addErrorLogging() use 27/92627/2
Robert Varga [Wed, 23 Sep 2020 22:20:42 +0000 (00:20 +0200)]
Migrate ListenableFutures.addErrorLogging() use

This is the final user of this legacy method, migrate it.

Change-Id: I8bbfbb79e22943e10c57214b9bbf830d325f4d1f
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
3 years agoNPE for IPv6 Internet UC 01/83201/16
Nishchya Gupta [Tue, 23 Jul 2019 08:37:42 +0000 (14:07 +0530)]
NPE for IPv6 Internet UC

Issue:
========
NPE exception was preventing NAT (IPv4 External UC)
related DS and flows clean-up.

Solution:
==========
Added proper check if external/internet VPN-ID information
was absent in the external-network, we should not invoke
to remove the V6 internet flows though there is no IPv6
subnet is attached to the external router.

Change-Id: Id3d96638d77dcbb8ba9015c2f7bae42219672713
Signed-off-by: Nishchya Gupta <nishchyag@altencalsoftlabs.com>
3 years agoBump MRI projects 05/92605/1
Robert Varga [Tue, 22 Sep 2020 15:49:32 +0000 (17:49 +0200)]
Bump MRI projects

This patch adopts:
- odlparent-7.0.6
- infrautils-1.8.1
- yangtools-5.0.6
- mdsal-6.0.5
- controller-2.0.4

Change-Id: I1a8e75e5e9de7bd3d552e09ed1ec0532e315e171
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
3 years agoUse DJC to handle subnet addition/removal from VPN 54/89854/18
manjunathpayala [Sun, 17 May 2020 09:18:23 +0000 (14:48 +0530)]
Use DJC to handle subnet addition/removal from VPN

In process the each subnet in parallel mannger
introduced Job Coordinator

Signed-off-by: manjunathpayala <manjupayala@gmail.com>
Change-Id: I7b2a7e382fc1983016134e8a76addebe836891ee
Signed-off-by: manjunathpayala <manjupayala@gmail.com>
3 years agoNEUTRON-208: Neutronvpn changes for BGPVPN network and router association 47/88847/7
Somashekar Byrappa [Wed, 12 Aug 2020 10:02:48 +0000 (15:32 +0530)]
NEUTRON-208: Neutronvpn changes for BGPVPN network and router association

+ Currently, BGPVPN network and router associations are handled by
  BGPVPN update request.
+ Neutron model is changed to support bgpvpn network and router
  association as CREATE/DELETE calls instead of BGPVPN update.
+ This patch takes care of corresponding changes in Neutronvpn module.

Depends-On: https://git.opendaylight.org/gerrit/c/neutron/+/88076

Change-Id: Ifcabe10dc020974e298ca4612b966b0080ad7f6b
Signed-off-by: manjunathpayala <manjupayala@gmail.com>
Signed-off-by: Somashekar Byrappa <somashekar.b@altencalsoftlabs.com>
3 years agoBulk merge of l2gw changes 35/91835/21
Chetan Arakere Gowdru [Tue, 4 Aug 2020 06:59:19 +0000 (12:29 +0530)]
Bulk merge of l2gw changes

Description:
1. Create default LS - AAAA for pre-provisioning of VTEPs.
2. Use Batch Transaction for config-topo DS commits.
3. Enhance karaf cli command for L2GW,L2GWCONN

Dependency Genius patch : https://git.opendaylight.org/gerrit/c/genius/+/91839

Signed-off-by: Chetan Arakere Gowdru <chetan.arakere@altencalsoftlabs.com>
Change-Id: I1fe0c641e8563dd861b637c903a26270d0676d8f
Signed-off-by: Chetan Arakere Gowdru <chetan.arakere@altencalsoftlabs.com>
3 years agoAAP stops working when VM is restarted 81/91681/10
Karthikeyan Krishnan [Mon, 27 Jul 2020 10:57:12 +0000 (16:27 +0530)]
AAP stops working when VM is restarted

Issue:
========
When VM's are having a static-ip without VRRP
configuration. When such VMs are rebooted, L3VPN will get interface-state
as DOWN. L3VPN service removed the adjacency from config-vpn-interface.
This triggers update of VpnInterface listener and eventually FIB is
removed for the static-ip. When VM comes-up , if static-ip is pinged ,
L3VPN service tries to learn the static-ip again by sending ARP Broadcast.
When it receives the ARP Response, it sees that NeutronVpnPortIpToPort
entry is present and mac-addr/interface is same. Hence no action taken.
So discovery of this static-ip fails and FIB is already removed before.
So eventually traffic for the static-ip fails either way.

Solution:
==========
When VM is rebooted, upon receiving interface-state DOWN, L3VPN will not
remove static-ip adjacency and FIB. Only when interface-state remove is
received, L3VPN will remove the static-ip adj, FIB, NeutronVpnPortIp etc.

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

3 years agoRemote FIB entry missing for NAT Prefixes 92/92192/3
Somashekar Byrappa [Wed, 19 Aug 2020 07:50:02 +0000 (13:20 +0530)]
Remote FIB entry missing for NAT Prefixes

Issue:
=======
Remote FIB entries for NAT prefixes were not programmed when new DPN
gets added in VPN footprint.

Solution:
==========
For NAT prefix, "prefix-to-interface" DS will not hold vpninterface at
all. Also such NAT prefixes tend to use remote-flows without destMac
filled.
Validations are done to address this case.

Signed-off-by: Somashekar Byrappa <somashekar.b@altencalsoftlabs.com>
Change-Id: I6b1d9b51db184d24fa8e31529928c7f2522d3c7c

3 years agoIPv6 table=45 unknown flows on subnet add 80/91680/10
Karthikeyan Krishnan [Mon, 27 Jul 2020 10:33:31 +0000 (16:03 +0530)]
IPv6 table=45 unknown flows on subnet add

When we create router-> network->subnet->bring VM -> Add subnet, both VM
and subnet flows will be added at table 45. Removal of VM (Removes VM
flows) and removal of subnet (Both VM and subnet flows) should get
deleted.Addition of only subnet shall not add flows unless there is a VM
on it.

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

3 years agoIPv6 loopback ip is not displaying in fib entry 04/92004/4
Karthikeyan Krishnan [Mon, 10 Aug 2020 09:49:13 +0000 (15:19 +0530)]
IPv6 loopback ip is not displaying in fib entry

Issue:
======
IPv6 address family type is not added to BGP VRF table
if external network is already been set with router-gw
before external network to Internet BGPVPN instance.

Solution:
=========
Added one more extra check when external network to
Internet BGPVPN association event call to check whether
external network is already been set with router-gw and
if that router has V6 subnet then set IPv6 address family
in the Internet BGPVPN instance. This logic will trigger
the subsequent event to update the BGP VRF table.

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

3 years agoNETVIRT-1709: Unblock the netvirt CSIT NAT exception 43/92443/3
Karthikeyan Krishnan [Sun, 13 Sep 2020 13:49:09 +0000 (19:19 +0530)]
NETVIRT-1709: Unblock the netvirt CSIT NAT exception

Issue:
======
https://logs.opendaylight.org/releng/vex-yul-odl-jenkins-1/netvirt-csit-1node-0cmb-1ctl-2cmp-openstack-rocky-dcgw-aluminium/199/robot-plugin/log_full.html.gz

[{'warnerr_list': [1], 'lines': ['2020-09-12T11:48:59,484 | ERROR |
NeutronPortChangeListener-0 | NeutronPortChangeListener | 360 -
org.opendaylight.netvirt.neutronvpn-impl - 0.11.0 | Thread terminated due
to uncaught exception: NeutronPortChangeListener-0',
'java.lang.IllegalArgumentException: Multiple entries with same key:
RouterIdsKey{_routerId=Uuid{_value=d2509c08-51eb-42c3-b80d-1da4abada791}}=RouterIds{_routerId=Uuid{_value=d2509c08-51eb-42c3-b80d-1da4abada791},
augmentation=[]} and
RouterIdsKey{_routerId=Uuid{_value=d2509c08-51eb-42c3-b80d-1da4abada791}}=RouterIds{getRouterId=Uuid{_value=d2509c08-51eb-42c3-b80d-1da4abada791},
augmentation=[]}. To index multiple values under a key, use
Multimaps.index.', '\tat
com.google.common.collect.Maps.uniqueIndex(Maps.java:1338)
~[bundleFile:?]', '\tat
com.google.common.collect.Maps.uniqueIndex(Maps.java:1293)
~[bundleFile:?]', '\tat
org.opendaylight.yangtools.yang.binding.CodeHelpers.compatMap(CodeHelpers.java:296)
~[bundleFile:?]', '\tat

Solution:
=========
Have added the check in vpnMaps DS update method call
before update the router details to the vpnMaps DS to
avoid the existing routerId information again.

JIRA: NETVIRT-1709

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

3 years agoIgnore unnecessary update() processing in NVPN MD-SAL listeners 67/91767/6
Karthikeyan Krishnan [Thu, 30 Jul 2020 07:16:42 +0000 (12:46 +0530)]
Ignore unnecessary update() processing in NVPN MD-SAL listeners

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

3 years agoRemove GENIUS UTIL references in Statistics Module 79/92079/4
Karthikeyan Krishnan [Wed, 12 Aug 2020 05:48:04 +0000 (11:18 +0530)]
Remove GENIUS UTIL references in Statistics Module

Remove references to
org.opendaylight.genius.infra.ManagedNewTransactionRunner in
statistics-impl

JIRA: NETVIRT-1699

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

3 years agoRemove GENIUS UTIL references in CloudServiceChain Module 83/92083/3
Karthikeyan Krishnan [Wed, 12 Aug 2020 06:00:13 +0000 (11:30 +0530)]
Remove GENIUS UTIL references in CloudServiceChain Module

Remove references to
org.opendaylight.genius.infra.ManagedNewTransactionRunner in
cloud-servicechain-impl

JIRA: NETVIRT-1706

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

3 years agoRemove GENIUS UTIL References in VpnManager Module 76/92076/5
Karthikeyan Krishnan [Wed, 12 Aug 2020 05:27:45 +0000 (10:57 +0530)]
Remove GENIUS UTIL References in VpnManager Module

Remove references to
org.opendaylight.genius.infra.ManagedNewTransactionRunner in
vpnmanager-impl

JIRA: NETVIRT-1698

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

3 years agoRemove GENIUS UTIL references in Statemanager Module 51/92151/1
Karthikeyan Krishnan [Fri, 14 Aug 2020 08:12:28 +0000 (13:42 +0530)]
Remove GENIUS UTIL references in Statemanager Module

Remove references to
org.opendaylight.genius.infra.ManagedNewTransactionRunner in
statemanager-impl

JIRA: NETVIRT-1708

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

3 years agoRemove GENIUS UTIL references in IPv6Service Module 84/92084/4
Karthikeyan Krishnan [Wed, 12 Aug 2020 06:05:23 +0000 (11:35 +0530)]
Remove GENIUS UTIL references in IPv6Service Module

Remove references to
org.opendaylight.genius.infra.ManagedNewTransactionRunner in
ipv6service-impl

JIRA: NETVIRT-1707

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

3 years agoRemove GENIUS UTIL references in NatService/Qos Modules 19/92019/7
Chetan Arakere Gowdru [Tue, 11 Aug 2020 04:44:15 +0000 (10:14 +0530)]
Remove GENIUS UTIL references in NatService/Qos Modules

Remove references to
org.opendaylight.genius.infra.ManagedNewTransactionRunner in
natservice-impl

Remove references to
org.opendaylight.genius.infra.ManagedNewTransactionRunner in
qosservice-impl

JIRA : NETVIRT-1705
JIRA : NETVIRT-1700

Signed-off-by: Chetan Arakere Gowdru <chetan.arakere@altencalsoftlabs.com>
Change-Id: Iffd9b5686a27b24df568df44c8c6ea8c81defeeb
Signed-off-by: Chetan Arakere Gowdru <chetan.arakere@altencalsoftlabs.com>
3 years agoRemove GENIUS UTIL references in FibManager Module 82/92082/4
Karthikeyan Krishnan [Wed, 12 Aug 2020 05:57:23 +0000 (11:27 +0530)]
Remove GENIUS UTIL references in FibManager Module

Remove references to
org.opendaylight.genius.infra.ManagedNewTransactionRunner in
fibmanager-impl

JIRA: NETVIRT-1704

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

3 years agoRemove GENIUS UTIL references in Elanmanager Module 77/92077/4
Karthikeyan Krishnan [Wed, 12 Aug 2020 05:42:43 +0000 (11:12 +0530)]
Remove GENIUS UTIL references in Elanmanager Module

Remove references to
org.opendaylight.genius.infra.ManagedNewTransactionRunner in
elanmanager-impl

JIRA: NETVIRT-1701

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

3 years agoRemove GENIUS UTIL references in NeutronVpn Module 75/92075/5
Karthikeyan Krishnan [Wed, 12 Aug 2020 05:17:00 +0000 (10:47 +0530)]
Remove GENIUS UTIL references in NeutronVpn Module

Remove references to
org.opendaylight.genius.infra.ManagedNewTransactionRunner in
neutronvpn-impl

JIRA: NETVIRT-1697

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

3 years agoRemove GENIUS UTIL references in DhcpService Module 81/92081/5
Karthikeyan Krishnan [Wed, 12 Aug 2020 05:54:31 +0000 (11:24 +0530)]
Remove GENIUS UTIL references in DhcpService Module

Remove references to
org.opendaylight.genius.infra.ManagedNewTransactionRunner in
dhcpservice-impl

JIRA: NETVIRT-1703

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

3 years agoRemove GENIUS UTIL references in AclService Module 44/92144/1
Karthikeyan Krishnan [Fri, 14 Aug 2020 03:17:23 +0000 (08:47 +0530)]
Remove GENIUS UTIL references in AclService Module

Remove references to
org.opendaylight.genius.infra.ManagedNewTransactionRunner in
aclservice-impl

JIRA: NETVIRT-1702

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

3 years agoRevert "Remove GENIUS UTIL references in AclService Module" 92/92092/1
Karthikeyan Krishnan [Thu, 13 Aug 2020 16:57:51 +0000 (16:57 +0000)]
Revert "Remove GENIUS UTIL references in AclService Module"

This reverts commit 8aa3e7a1c1dc18bb5ff688da29a1cbb45fcc7dc1.

Reason for revert: <Fix build issue>

Change-Id: Ib78440c5dc76dc0ce92f5fafc077f89769a85d12
Signed-off-by: Karthikeyan Krishnan <karthikeyangceb007@gmail.com>
3 years agoRemove GENIUS UTIL references in AclService Module 80/92080/4
Karthikeyan Krishnan [Wed, 12 Aug 2020 05:51:35 +0000 (11:21 +0530)]
Remove GENIUS UTIL references in AclService Module

Remove references to
org.opendaylight.genius.infra.ManagedNewTransactionRunner in
aclservice-impl

JIRA: NETVIRT-1702

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

3 years agoAdd INFO.yaml for netvirt 49/91249/3
Anil Belur [Sun, 12 Jul 2020 00:57:23 +0000 (10:57 +1000)]
Add INFO.yaml for netvirt

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

3 years agoBump conf.yaml versions to Silicon 64/92064/1
Thanh Ha [Tue, 11 Aug 2020 19:28:33 +0000 (15:28 -0400)]
Bump conf.yaml versions to Silicon

Signed-off-by: Thanh Ha <zxiiro@gmail.com>
Change-Id: If0aa9c8d8e8c0336c97f9e49f5cd36cea05c6b39

3 years agoFix xtend warnings 63/91863/2
Robert Varga [Tue, 4 Aug 2020 15:12:54 +0000 (17:12 +0200)]
Fix xtend warnings

'override def' is superfluous, use just 'override'.

Change-Id: I9496ce87798fd0a90dfd1b18a180365ebf62b1b1
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
3 years agoBump versions by x.(y+1).z for next dev cycle 27/91927/1
Thanh Ha [Wed, 5 Aug 2020 21:02:33 +0000 (17:02 -0400)]
Bump versions by x.(y+1).z for next dev cycle

Signed-off-by: Thanh Ha <zxiiro@gmail.com>
Change-Id: I071251950511b1e833b47da871fad928593b171c

3 years agoRemove an unneeded suppression 62/91862/1
Robert Varga [Tue, 4 Aug 2020 15:12:07 +0000 (17:12 +0200)]
Remove an unneeded suppression

Deprecation supression is not needed here, remove it.

Change-Id: I5605ffd243c8342889099c7cb903b227e0a0e1f4
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
3 years agoCreate l3vpn & asso with ext-nw failed 62/91762/5
Karthikeyan Krishnan [Wed, 29 Jul 2020 16:01:31 +0000 (21:31 +0530)]
Create l3vpn & asso with ext-nw failed

Issue:
=======
Creation of SNAT use case via REST API fails creating vpn
(Creation and Association to VPN in Single REST API Call)

Using Jumbo RPC Call to create the internet BGP-VPN instance(l3vpn)
and at the same request call associate the external GRE provider network
also in a single REST API call is FAILED due to absence of vpn-instance
OPERATIONAL data store.

Solution:
==========
NeutronVPN YANG model has redesigned properly to work internet VPN
use case for both V4 and V6 networks.

"vpn-instance-op-data" should be created/updated/removed
by VPN Module only. Since it is VPN drivern OPERATIONAL data store.

Have modified the NeutronVPN design to just remove the
"vpn-instance-op-data" from NeutronVPN module to VPN Module.

"vpn-instance-op-data" is populated based on the CONFIG vpn-instance
data.

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

3 years agoRemove unneeded osgi-core dependencies 38/91838/5
Robert Varga [Tue, 4 Aug 2020 07:36:34 +0000 (09:36 +0200)]
Remove unneeded osgi-core dependencies

A number of artifacts depend on osgi-core for no reason at all,
while this does not hurt, it does slow the build down a bit. Remove
these dependencies.

Change-Id: Ic1b386caf570454568a66a06331b6976f50be3a6
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
3 years agoMigrate ListenableFutures.addErrorLogging() users 25/91625/6
Robert Varga [Fri, 24 Jul 2020 11:46:39 +0000 (13:46 +0200)]
Migrate ListenableFutures.addErrorLogging() users

This method has a new place in LoggingFutures, use it from there.

Change-Id: I54d66f7c797ca88d8c5eed7d70c5f2ffeda3463e
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
3 years agoMigrate JdkFutures users 24/91624/5
Robert Varga [Fri, 24 Jul 2020 11:17:59 +0000 (13:17 +0200)]
Migrate JdkFutures users

JdkFutures.addErrorLogging() has been deprecated and has a new
name. Use the new location in LoggingFutures.

Change-Id: Ib895f46599b8d36f2f477e5ccd58b95cbd5759e6
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
3 years agoAdd javax.inject dependencies 37/91837/2
Robert Varga [Tue, 4 Aug 2020 07:16:52 +0000 (09:16 +0200)]
Add javax.inject dependencies

As upstreams have made javax.inject properly provided, this flushes
out a number of places where we relied on that package being pulled
in transitively. Fix them up.

Change-Id: I23d301b4ecd6390d47c9d7a28a6b44c0fce87be9
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
3 years agoUse released version of infrautils 20/91720/2
Robert Varga [Tue, 28 Jul 2020 11:43:24 +0000 (13:43 +0200)]
Use released version of infrautils

infrautils-1.8.0 has been released, use released version instead
of snapshots.

Change-Id: I9d6cbf8d65e003de253faab053aeabc879933969
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
3 years agoBump odlparent/yangtools/mdsal/controller 70/91670/3
Robert Varga [Mon, 27 Jul 2020 00:02:14 +0000 (02:02 +0200)]
Bump odlparent/yangtools/mdsal/controller

Adopt upstream versions:
- odlparent-7.0.5
- yangtools-5.0.5
- mdsal-6.0.4
- controller-2.0.3

Change-Id: I2c56efa6d273dd5a04c2a1bf456d1eab4b86d712
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
3 years agoBGPVPN subnet disassociation fails 74/91674/2
Karthikeyan Krishnan [Mon, 27 Jul 2020 05:03:10 +0000 (10:33 +0530)]
BGPVPN subnet disassociation fails

Issue:
======
Having a single HOT template to create/delete network, subnet, bgpvpn and
then to associate/dissassociate network to bgpvpn was leading to subnet
delete triggered by neutron out of order.
This fix improves resiliency of ODL incase such an orchestration is made.
The right mode of orchestration would be to have separate templates for
network/subnets and bgpvpns.

Solution:
=========
handleNeutronSubnetDeleted() method has been changed
properly to process BGPVPN disassociate from the network

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

3 years agoRemove unneeded dependency on infrautils' inject 54/91654/3
Robert Varga [Sun, 26 Jul 2020 13:50:47 +0000 (15:50 +0200)]
Remove unneeded dependency on infrautils' inject

This dependency is not used at all, remove it.

JIRA: INFRAUTILS-65
Change-Id: I4f8c33c66cb69f58ed10e82178ea5681217b84b8
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
3 years agoUnblock the Aluminium Auto relase from Netvirt project 73/91673/1
Karthikeyan Krishnan [Mon, 27 Jul 2020 03:42:26 +0000 (09:12 +0530)]
Unblock the Aluminium Auto relase from Netvirt project

Issue:
=====
Due to recent changes in GENIUS resource batching manager
modules[0] netvirt build is getting failed sue to absence
of new changes in netvirt project.

[0]https://git.opendaylight.org/gerrit/c/genius/+/85415

Jenkins Build:
https://jenkins.opendaylight.org/releng/job/autorelease-release-aluminium-mvn35-openjdk11/163/

Solution:
========
Have changed the appropriate fix to solve this issue from
netvirt application side.

Old Code:
Change-Id: I7579a6474c9e6b21f28090af3010f727fd1f3ebf
---------
BlockingQueue<ActionableResource>

New Code:
---------
BlockingQueue<ActionableResource<?>>

Change-Id: Icbd6716cf051180da35517aa3df5b9bb3df071f8
Signed-off-by: Karthikeyan Krishnan <karthikeyangceb007@gmail.com>
3 years agoNETVIRT-1586 33/81533/51
nithi thomas [Wed, 10 Apr 2019 10:36:15 +0000 (16:06 +0530)]
NETVIRT-1586

OVS Based NA Responder for IPv6 default Gateway

This gerrit link involves netvirt changes done for the
above feature

Change-Id: I482ab685fed1fbf29431f8af8429176039b405af
Signed-off-by: nithi thomas <nithi.t@altencalsoftlabs.com>
3 years agoModifiedNodeDoesNotExistException from FIB Manager 92/91492/3
Karthikeyan Krishnan [Tue, 21 Jul 2020 05:50:09 +0000 (11:20 +0530)]
ModifiedNodeDoesNotExistException from FIB Manager

Issue:
=========
2020-07-20T12:28:19,163 | WARN  |
opendaylight-cluster-data-shard-dispatcher-27 | ShardDataTree
| 228 - org.opendaylight.controller.sal-distributed-datastore - 2.0.2 |
member-1-shard-default-config: Store Tx
member-1-datastore-config-fe-0-txn-15002-0: Data validation failed for
path
/(urn:opendaylight:netvirt:fibmanager?revision=2015-03-30)fibEntries/vrfTables/vrfTables
[{(urn:opendaylight:netvirt:fibmanager?revision=2015-03-30)routeDistinguisher=5060ee59-16b1-4ab1-80bc-26a8dd5a7fd9}].
org.opendaylight.yangtools.yang.data.api.schema.tree.ModifiedNodeDoesNotExistException:
Node
/(urn:opendaylight:netvirt:fibmanager?revision=2015-03-30)fibEntries/vrfTables/vrfTables
[{(urn:opendaylight:netvirt:fibmanager?revision=2015-03-30)routeDistinguisher=5060ee59-16b1-4ab1-80bc-26a8dd5a7fd9}]
does not exist. Cannot apply modification to its children.

Solution:
=========
If VRF Table itself deleted before deleting the prefix
the corresponding logic should be caught by application
itself. So that we can avoid piling up karaf log with
ModifiedNodeDoesNotExistException.

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

3 years agoUnblock the Aluminium Jenkins Verified Build Pass 28/91528/1
Karthikeyan Krishnan [Wed, 22 Jul 2020 09:35:21 +0000 (15:05 +0530)]
Unblock the Aluminium Jenkins Verified Build Pass

Issue;
=====
Post Openflowplugin patch[0] merge, netvirt build is starting to get
failed with below key related issues.

18: 37:14 [ERROR] COMPILATION ERROR :
18: 37:14 [INFO]
18:37:14 [ERROR]
/w/workspace/netvirt-maven-javadoc-publish-aluminium-openjdk11/aclservice/impl/src/main/java/org/
opendaylight/netvirt/aclservice/stats/AclLiveStatisticsHelper.java:[29,108]
cannot find symbol
18:37:14   symbol:   class FlowAndStatisticsMapListKey
18:37:14   location: package
org.opendaylight.yang.gen.v1.urn.opendaylight.flow.statistics.rev130819
.flow.and.statistics.map.list
18:37:14 [INFO] 1 error

Jenkins build reference :
https://jenkins.opendaylight.org/releng/job/netvirt-maven-javadoc-verify-aluminium-openjdk11/338/console

[0] https://git.opendaylight.org/gerrit/c/openflowplugin/+/90390

Solution:
========
FlowAndStatisticsMapListKey is being used in only ACL service so changed
this method to List instead of Map

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

3 years agoAdding QoS display command 24/89924/10
Meenakshi C [Sat, 23 May 2020 22:26:08 +0000 (03:56 +0530)]
Adding QoS display command

Signed-off-by: Meenakshi C <meenakshi.c@ericsson.com>
Change-Id: Ie694ce0d7c6d403a9f2e2fc50b72831f7f614274

3 years agoNPE in NeutronFloatingToFixedIpMappingChangeListener 40/91440/2
Chetan Arakere Gowdru [Mon, 20 Jul 2020 05:03:39 +0000 (10:33 +0530)]
NPE in NeutronFloatingToFixedIpMappingChangeListener

JIRA : NETVIRT-1690

Signed-off-by: Chetan Arakere Gowdru <chetan.arakere@altencalsoftlabs.com>
Change-Id: I83f816520fa87f39ff8b122361cf1b02bc2eb034
Signed-off-by: Chetan Arakere Gowdru <chetan.arakere@altencalsoftlabs.com>
3 years agoUnblock netvirt CSIT issues 56/91356/1
Karthikeyan Krishnan [Fri, 17 Jul 2020 07:59:37 +0000 (13:29 +0530)]
Unblock netvirt CSIT issues

Issue:
======
New exceptions found: 3
[{'warnerr_list': [6, 38], 'lines': ['2020-07-17T05:22:39,604 | ERROR |
NeutronFloatingToFixedIpMappingChangeListener-0 |
NeutronFloatingToFixedIpMappingChangeListener | 359 -
org.opendaylight.netvirt.neutronvpn-impl - 0.11.0.SNAPSHOT |
addToFloatingIpInfo failed for floating IP: 10.10.10.187 ',
'java.lang.NullPointerException: null', '\tat
org.opendaylight.netvirt.neutronvpn.NeutronFloatingToFixedIpMappingChangeListener
.addToFloatingIpInfo(NeutronFloatingToFixedIpMappingChangeListener.java:167)
[bundleFile:?]', '\tat
org.opendaylight.netvirt.neutronvpn.NeutronFloatingToFixedIpMappingChangeListener
.update(NeutronFloatingToFixedIpMappingChangeListener.java:121)
[bundleFile:?]', '\tat

https://logs.opendaylight.org/sandbox/vex-yul-odl-jenkins-2/srini-netvirt-csit-1node-0cmb-1ctl-2cmp-openstack-rocky-gate-stateful-aluminium/16/robot-plugin/log_full.html.gz

Solution:
=========
Provided null check in appropriate place to avoid NPE

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

3 years agoUnblock the Netvirt CSIT Issue from VPNManager 44/91344/2
Karthikeyan Krishnan [Thu, 16 Jul 2020 08:46:25 +0000 (14:16 +0530)]
Unblock the Netvirt CSIT Issue from VPNManager

Issue:
=====

(1)
org.opendaylight.netvirt.vpnmanager-impl - 0.11.0.SNAPSHOT | SUBNETROUTE:
onInterfaceUp: Unable to handle interface up event for port
d92aa7f0-2b83-4bd0-860c-026e672a955c in subnet
5b33e49f-129b-4c53-9859-56304676bca7
java.lang.IllegalArgumentException: Multiple entries with same key:
SubnetToDpnKey{_dpnId=105707792905079}=SubnetToDpn{_dpnId=105707792905079,
_vpnInterfaces={VpnInterfacesKey{_interfaceName=d92aa7f0-2b83-4bd0-860c-026e672a955c}
=VpnInterfaces{_interfaceName=d92aa7f0-2b83-4bd0-860c-026e672a955c,
augmentation=[]}}, augmentation=[]} and
SubnetToDpnKey{_dpnId=105707792905079}=SubnetToDpn{getDpnId=105707792905079,
getVpnInterfaces={VpnInterfacesKey{_interfaceName=d92aa7f0-2b83-4bd0-860c-026e672a955c}
=VpnInterfaces{getInterfaceName=d92aa7f0-2b83-4bd0-860c-026e672a955c,
augmentation=[]}},
augmentation=[]}. To index multiple values under a key, use
Multimaps.index.at com.google.common.collect.Maps.uniqueIndex(Maps.java:1338) ~[bundleFile:?]
at com.google.common.collect.Maps.uniqueIndex(Maps.java:1293)~[bundleFile:?]
at org.opendaylight.yangtools.yang.binding.CodeHelpers.compatMap(CodeHelpers.java:296)
[bundleFile:?]at org.opendaylight.yang.gen.v1.urn.opendaylight.netvirt.l3vpn.rev130911.subnet.op.data
.SubnetOpDataEntryBuilder.setSubnetToDpn(SubnetOpDataEntryBuilder.java:356)
~[bundleFile:?]
at org.opendaylight.netvirt.vpnmanager.VpnSubnetRouteHandler .onInterfaceUp(VpnSubnetRouteHandler.java:625)
[bundleFile:?]

(2)
mainWorker=org.opendaylight.netvirt.vpnmanager.VpnInterfaceManager$$Lambda$2571/0x0000000101e1ec40@9e41c5d,
rollbackWorker=null, retryCount=3/3,
futures=[com.google.common.util.concurrent.ImmediateFuture$ImmediateFailedFuture@2c561c96[status=FAILURE,
cause=[java.lang.NullPointerException]],
com.google.common.util.concurrent.AbstractTransformFuture$TransformFuture@32bf6f0b[status=SUCCESS,
result=[null]],
com.google.common.util.concurrent.AbstractTransformFuture$TransformFuture@74a13a04[status=SUCCESS,
result=[null]]]}
java.lang.NullPointerException: null

Solution:
=========
(1)
Introduced new method to convert the List to Map before
building the subnetToDpn Map builder

(2) Changed proper adjacency check in vpninterfacemanager

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

3 years agoSyncUpdate logic for elan BC groups 36/91036/3
Karthikeyan Krishnan [Thu, 9 Jul 2020 13:45:01 +0000 (19:15 +0530)]
SyncUpdate logic for elan BC groups

Issue:
======
multiple values under a key, use Multimaps.index.
at com.google.common.collect.Maps.uniqueIndex(Maps.java:1338)
~[bundleFile:?].index.
at com.google.common.collect.Maps.uniqueIndex(Maps.java:1338)
~[bundleFile:?] at
com.google.common.collect.Maps.uniqueIndex(Maps.java:1293)
~[bundleFile:?] at
org.opendaylight.yangtools.yang.binding.CodeHelpers.compatMap(CodeHelpers.java:296)
~[?:?] at org.opendaylight.yang.gen.v1.urn.opendaylight.group
.types.rev131018.group.BucketsBuilder.setBucket(BucketsBuilder.java:113)
~[?:?] at org.opendaylight.genius.mdsalutil.MDSALUtil.buildBucketLists(MDSALUtil.java:293)
~[?:?] at org.opendaylight.netvirt.elan.utils.ElanUtils.syncUpdateGroup(ElanUtils.java:1768)
~[?:?]ultimaps.index.
at com.google.common.collect.Maps.uniqueIndex(Maps.java:1338) ~[bundleFile:?]
at com.google.common.collect.Maps.uniqueIndex(Maps.java:1293) ~[bundleFile:?]
at org.opendaylight.yangtools.yang.binding.CodeHelpers.compatMap(CodeHelpers.java:296) ~[?:?]
at org.opendaylight.yang.gen.v1.urn.opendaylight.group.types.rev131018.group.BucketsBuilder.setBucket(BucketsBuilder.java:113) ~[?:?]
at org.opendaylight.genius.mdsalutil.MDSALUtil.buildBucketLists(MDSALUtil.java:293) ~[?:?]
at org.opendaylight.netvirt.elan.utils.ElanUtils.syncUpdateGroup(ElanUtils.java:1768) ~[?:?]

Solution:
=========
The current logic is not valid since the objects read from FRM
and the new group object created are differnt model.

Issue: NETVIRT-1678

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

3 years agoNetvirt CSIT Exception from NAT Module 43/91343/1
Karthikeyan Krishnan [Thu, 16 Jul 2020 05:16:12 +0000 (10:46 +0530)]
Netvirt CSIT Exception from NAT Module

Issue:
======
NeutronFloatingToFixedIpMappingChangeListener-0 |
NeutronFloatingToFixedIpMappingChangeListener | 358 -
org.opendaylight.netvirt.neutronvpn-impl - 0.11.0.SNAPSHOT |
addToFloatingIpInfo failed for floating IP: 10.10.10.162 ',
'java.lang.NullPointerException: null', '\tat
org.opendaylight.netvirt.neutronvpn.
NeutronFloatingToFixedIpMappingChangeListener
.addToFloatingIpInfo(NeutronFloatingToFixedIpMappingChangeListener.java:167)

Solution:
=========
Have fixed the proper validation in NAT module to avoid the
NPE.

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

3 years agoUnblock the CSIT Dual Stack Failure Issues 28/90728/1
Karthikeyan Krishnan [Fri, 26 Jun 2020 11:22:38 +0000 (16:52 +0530)]
Unblock the CSIT Dual Stack Failure Issues

Issue:
======
The following exception was seeing from the karaf
log for dual stack network L3 use case testing
post MRI patch[0] merge

Exception:
Change-Id: I5e07f599c2147e1446659d2df870439dbfbd71a3
------------
2020-06-26T11:11:24,156 | ERROR | jobcoordinator-main-task-9 |
NeutronvpnManager                | 360 -
org.opendaylight.netvirt.neutronvpn-impl - 0.11.0.SNAPSHOT | Future
(eventually) failed: addSubnetToVpn: Failed while creating VPN interface
for vpnId 73d6297b-fe26-4563-a228-496ad11f1178, portId
Uuid{_value=6673c43c-9731-4e17-aef0-c4c8abf42829}a5a9eed3-9d77-4ce0-870e-94adb2b89f15,
subnetId {}
java.lang.IllegalArgumentException: Multiple entries with same key:
AdjacencyKey{_ipAddress=10.0.0.2/32}=Adjacency{_adjacencyType=PrimaryAdjacency,
_ipAddress=10.0.0.2/32, _macAddress=fa:16:3e:97:64:b9,
_subnetId=Uuid{_value=125223dd-be4a-404a-b34a-5fcac0b609d3},
augmentation=[]} and
AdjacencyKey{_ipAddress=10.0.0.2/32}=Adjacency{getAdjacencyType=PrimaryAdjacency,
getIpAddress=10.0.0.2/32, getMacAddress=fa:16:3e:97:64:b9,
getSubnetId=Uuid{_value=125223dd-be4a-404a-b34a-5fcac0b609d3},
isPhysNetworkFunc=false, augmentation=[]}. To index multiple values under
a key, use Multimaps.index.

Solution:
==========
Post MRI patch we have changed the List to Map data store for the
VPN interface adjacency. With this patch we have removed the
duplicate VPN interface adjacency before we add into the DS.

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

JIRA: NETVIRT-1677

Change-Id: I76977dcf5644909540d785cd228644d872570e31
Signed-off-by: Karthikeyan Krishnan <karthikeyangceb007@gmail.com>
3 years agoRemoving OVSDB's ControllerMdsalUtils class dependency in xml 79/90679/1
Chetan Arakere Gowdru [Thu, 25 Jun 2020 05:07:15 +0000 (10:37 +0530)]
Removing OVSDB's ControllerMdsalUtils class dependency in xml

Signed-off-by: Chetan Arakere Gowdru <chetan.arakere@altencalsoftlabs.com>
Change-Id: I1cc3850b0ab1e372d55b6bad7112101812581c53
Signed-off-by: Chetan Arakere Gowdru <chetan.arakere@altencalsoftlabs.com>
3 years agoRemoving OVSDB's ControllerMdsalUtils class dependency 22/90622/2
Chetan Arakere Gowdru [Wed, 24 Jun 2020 09:28:58 +0000 (14:58 +0530)]
Removing OVSDB's ControllerMdsalUtils class dependency

Description:
As part of below ovsdb patch, the ControllerMdsalUtils class will be
removed as it's similar to MdsalUtils. Changes are done in netvirt first
to remove dependency on ControllerMdsalUtils class.

ovsdb patch ref : https://git.opendaylight.org/gerrit/c/ovsdb/+/89577

Signed-off-by: Chetan Arakere Gowdru <chetan.arakere@altencalsoftlabs.com>
Change-Id: Ic3c085500cbc175384b2d2e8da8487be649600d2
Signed-off-by: Chetan Arakere Gowdru <chetan.arakere@altencalsoftlabs.com>
3 years agoCleanup MRI feature references 98/90598/1
Robert Varga [Tue, 23 Jun 2020 07:38:02 +0000 (09:38 +0200)]
Cleanup MRI feature references

odl-mdsal-broker should not be referenced by odl-netvirt-api,
but rather by odl-netvirt-impl. When it is referenced, the reference
should be made via a range.

Change-Id: Icc35d1ff15d0d8f80f233d4354448014248345b1
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
3 years agoFailures in Autorelease aluminium-mvn35-openjdk11 64/90464/1
Nishchya Gupta [Wed, 17 Jun 2020 04:51:25 +0000 (10:21 +0530)]
Failures in Autorelease aluminium-mvn35-openjdk11

Failed are seen due to aclservice-impl tests.
Ignoring all the test present in AclServiceTestBase for now.
After fix will enable these test again.

NETVIRT-1676 will be used to track this.

Signed-off-by: Nishchya Gupta <nishchyag@altencalsoftlabs.com>
Change-Id: Ieeb89fbe3af8bfaa07c0747143bacaf34a79d099

3 years agoUnblocking Autorelease aluminium-mvn35-openjdk11 29/90429/3
Nishchya Gupta [Fri, 12 Jun 2020 10:02:30 +0000 (15:32 +0530)]
Unblocking Autorelease aluminium-mvn35-openjdk11

Failed due to aclservice-impl test, ignoring the test for now.
After fix will enable test again.

To tracking the fix we have opened NETVIRT-1676 ticket.

Signed-off-by: Nishchya Gupta <nishchyag@altencalsoftlabs.com>
Change-Id: I750dbfe206e8fac6840348e2536e46b6d62b9776

3 years agoIntegrate controller-2.0.2 15/90415/1
Robert Varga [Thu, 11 Jun 2020 21:55:01 +0000 (23:55 +0200)]
Integrate controller-2.0.2

This bumps versions to the following:
- odlparent-7.0.3
- yangtools-5.0.3
- mdsal-6.0.2
- controller-2.0.2

Change-Id: I3ea75c961e93c122a39dbc40c8ba8a4e5d2e13f9
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
3 years agoELAN Group-Id fetch issue fix 74/90374/1
Karthikeyan Krishnan [Wed, 10 Jun 2020 12:10:59 +0000 (17:40 +0530)]
ELAN Group-Id fetch issue fix

Issue:
=====
Some of the ELAN group ID retrieval it uses .toJava() util
which has to be removed.

Solution:
=========
Removed toJava() to longValue() method

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

3 years agoException during netvirt CSIT 96/90296/3
Karthikeyan Krishnan [Fri, 5 Jun 2020 06:06:53 +0000 (11:36 +0530)]
Exception during netvirt CSIT

Issue:
======
2020-06-04T06:17:55,547 | ERROR | jobcoordinator-main-task-138 |
VpnSubnetRouteHandler            | 364 -
org.opendaylight.netvirt.vpnmanager-impl - 0.11.0.SNAPSHOT | SUBNETROUTE:
onInterfaceUp: Unable to handle interface up event for port
015fb82e-c78a-40bd-85a0-88091273a7dd in subnet
9a942efe-ef93-483a-a3e6-b8c5cb01b218
java.lang.IllegalArgumentException: Multiple entries with same key:

VpnInterfacesKey{_interfaceName=015fb82e-c78a-40bd-85a0-88091273a7dd}
=VpnInterfaces{_interfaceName=015fb82e-c78a-40bd-85a0-88091273a7dd,
augmentation=[]} and
VpnInterfacesKey{_interfaceName=015fb82e-c78a-40bd-85a0-88091273a7dd}
=VpnInterfaces{getInterfaceName=015fb82e-c78a-40bd-85a0-88091273a7dd,
augmentation=[]}. To index multiple values under a key, use
Multimaps.index.
at com.google.common.collect.Maps.uniqueIndex(Maps.java:1338)
~[bundleFile:?] at
com.google.common.collect.Maps.uniqueIndex(Maps.java:1293)
~[bundleFile:?] at
org.opendaylight.yang.gen.v1.urn.opendaylight.netvirt.l3vpn.rev130911.subnet
.op.data.subnet.op.data.entry.SubnetToDpnBuilder.setVpnInterfaces(SubnetToDpnBuilder.java:148)
~[bundleFile:?]
at
org.opendaylight.netvirt.vpnmanager.SubnetOpDpnManager.addInterfaceToDpn(SubnetOpDpnManager.java:137)
~[bundleFile:?]
at
org.opendaylight.netvirt.vpnmanager.VpnSubnetRouteHandler.onInterfaceUp(VpnSubnetRouteHandler.java:613)
[bundleFile:?]

Solution:
=========
Have handled the proper fix for processing map data

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

3 years agoNETVIRT-1673 neutronvpn exceptions 40/90240/1
Nishchya Gupta [Thu, 4 Jun 2020 07:39:01 +0000 (13:09 +0530)]
NETVIRT-1673 neutronvpn exceptions

Null pointer exception handled at neutronvpn exceptions.
Along with that other null ponter also handled seen during CSIT.

Signed-off-by: Nishchya Gupta <nishchyag@altencalsoftlabs.com>
Change-Id: Idac487428c9f557bb4358855c882a56ebb70dec4

3 years agoEliminate the use of ActionableResourceImpl 13/85413/15
Robert Varga [Mon, 28 Oct 2019 16:25:44 +0000 (17:25 +0100)]
Eliminate the use of ActionableResourceImpl

These callers can easily work with the newly-provided ActionableResources
utility class, eliminating callers of InstanceIdentifier.toString()
and also eager string concatenation, which is replaced with a utility
holder class.

JIRA: GENIUS-281
Change-Id: I88059fedafe3b4cce8d32561c7918ef328f17460
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
3 years agoNETVIRT-1671 26/90226/2
Nishchya Gupta [Wed, 3 Jun 2020 06:29:57 +0000 (11:59 +0530)]
NETVIRT-1671

Multiple entries with same key.

Same default entry Disable in band was getting added twice.
Removed from elanbridgemanger.

Signed-off-by: Nishchya Gupta <nishchyag@altencalsoftlabs.com>
Change-Id: I0d140bbb83b4ba28ded0ec3ca58bab4ad5795c7c

3 years agoReplacing nonNull API's in netvirt. 10/90210/11
Nishchya Gupta [Tue, 2 Jun 2020 09:51:25 +0000 (15:21 +0530)]
Replacing nonNull API's in netvirt.

Replacing nonnull API's in place of get(), as values() on get can cause
null pointers.

Signed-off-by: Nishchya Gupta <nishchyag@altencalsoftlabs.com>
Change-Id: Icc6625f90d7c43de554ac14b08f46f7c8cb9f423

3 years agoUsing nonNull API's in ELAN 00/90200/6
Chetan Arakere Gowdru [Tue, 2 Jun 2020 06:29:19 +0000 (11:59 +0530)]
Using nonNull API's in ELAN

Description:

using nonnull version of API provided(Ex as below) before
doing .values() on the return value(applicable for all modules).
This can result in NPE.

    @Nullable
    List<Interfaces> getInterfaces();

    @NonNull
    default List<Interfaces> nonnullInterfaces() {
        return CodeHelpers.nonnull(this.getInterfaces());
    }

Changes done in ELAN to use nonnull version of API

JIRA:NETVIRT-1671

Signed-off-by: Chetan Arakere Gowdru <chetan.arakere@altencalsoftlabs.com>
Change-Id: I795c8f217d6de35841baf6847aa0e8929d02cc87
Signed-off-by: Chetan Arakere Gowdru <chetan.arakere@altencalsoftlabs.com>
3 years agoRemove sleeps from AclServiceTestBase 69/90169/6
Robert Varga [Sun, 31 May 2020 12:21:40 +0000 (14:21 +0200)]
Remove sleeps from AclServiceTestBase

This reverts Thread.sleep()s introduced in commit
e693dc312e2b0fa970908e33400db9828eae1819, as the porting damage done
in 2f0569ed75ef8a1fb60f992d19c8bbdf92ff45bf to ACL Service test
harness has been fixed.

asyncEventsWaiter.awaitEventsConsumption() calls introduced
in cf1ea9172b94fc17e45391b62bf4ca24ac5c5fe0 are also removed.

Change-Id: I39cb98135f79ba666705d52ad5f71c0d52e823df
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
3 years agoUse a single transaction for removeMacsFromElanExternalDevices() 03/82803/8
Robert Varga [Sat, 29 Jun 2019 12:32:02 +0000 (14:32 +0200)]
Use a single transaction for removeMacsFromElanExternalDevices()

removeMacsFromElanExternalDevices() processes multiple devices
and macs and calls out to HwvtepUtils, which allocates and submits
a single transaction for each request. Furthermore the list of
macs is translated multiple times if there are multiple devices
involved.

This patch refactors this method to lazily allocate both the
transformed list and a write transaction, committing all changes
in one go, rather than in multiple transactions.

Change-Id: Ie15e9feea76a3820479b2836d81f7ac0e7c9d9fb
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
3 years agoUpdate distribution content 71/90171/1
Robert Varga [Sun, 31 May 2020 16:56:35 +0000 (18:56 +0200)]
Update distribution content

Controller has shed a number of feature repositories, make sure we
do not pull their outdated versions.

Change-Id: Ic3c7b70b3428c7eb9d559a404de06851436a5f1a
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
3 years agoIntegrate controller-2.0.1 65/90165/4
Robert Varga [Sun, 31 May 2020 10:58:16 +0000 (12:58 +0200)]
Integrate controller-2.0.1

This bumps versions to the following:
- odlparent-7.0.2
- yangtools-5.0.2
- mdsal-6.0.1
- controller-2.0.1

Also fix up MD-SAL API migration.

JIRA: NETVIRT-1630
Change-Id: I46f20bbb6e46ee3e1dd18f9abcc5a279d8ccd917
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
3 years agoRemove commented-out controller deependencies 66/90166/1
Robert Varga [Sun, 31 May 2020 11:23:36 +0000 (13:23 +0200)]
Remove commented-out controller deependencies

These are just throwing people off, they should never have been
here.

JIRA: NETVIRT-1630
Change-Id: If53117d04046dab0ef218188083a9a1ee30356aa
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
3 years agoAdding sleep to handle Acl test failures, due to unceratin fails. 64/90064/1
Nishchya Gupta [Fri, 29 May 2020 08:51:48 +0000 (14:21 +0530)]
Adding sleep to handle Acl test failures, due to unceratin fails.

ACL test fails randomly, due to incompletion of DS write,
Adding sleep to allowing them to complete.

Signed-off-by: Nishchya Gupta <nishchyag@altencalsoftlabs.com>
Change-Id: I5293e725cc2d20abdc93da4a163b1082a4b31ec5

3 years agoFix for ELAN JUNIT TCs failure 49/89549/6
Karthikeyan Krishnan [Sat, 2 May 2020 16:00:45 +0000 (21:30 +0530)]
Fix for ELAN JUNIT TCs failure

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

3 years agoMRI version bumpup for Aluminium 60/89660/34
Nishchya Gupta [Mon, 11 May 2020 09:16:47 +0000 (14:46 +0530)]
MRI version bumpup for Aluminium

This bumps versions to the following:
- odlparent-7.0.1
- yangtools-5.0.1
- mdsal-6.0.0
- controller-2.0.0

This patch is dependent on
https://git.opendaylight.org/gerrit/c/netvirt/+/89097.

Signed-off-by: Nishchya Gupta <nishchyag@altencalsoftlabs.com>
Change-Id: I472bca91ccdd5d9636b6474211eba852143548d5

3 years agoAdd draft-ietf-netmod-acl-model-07 models 97/89097/4
Robert Varga [Fri, 17 Apr 2020 12:51:33 +0000 (14:51 +0200)]
Add draft-ietf-netmod-acl-model-07 models

aclservice is the only user of these models, which have been
superseded by RFC8519.

MD-SAL is no longer distributing these, hence we import them here
to allow netvirt to upgrade on its own terms.

JIRA: MDSAL-537
Change-Id: I01ec678a6cecd959f9297c81fac0638f91a3d5ab
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
3 years agoUnblock the Integration distribution failure from netvirt 28/89528/2
Karthikeyan Krishnan [Thu, 30 Apr 2020 10:29:49 +0000 (15:59 +0530)]
Unblock the Integration distribution failure from netvirt

Currently commented the ELAN JUNIT test which is blocking
the entire ODL integration distribution build.

We will raise a sperate patch to address the ELAN JUNIT test

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

4 years agoNETVIRT-1630 migrate to md-sal APIs 57/88457/42
Ashik Alias [Tue, 17 Mar 2020 11:45:19 +0000 (17:15 +0530)]
NETVIRT-1630 migrate to md-sal APIs

handles migration to new mdsal APIs for
    - databroker
    - Listener base classes
    - Readwrite txns

The following changes are the major in this review

1) import org.opendaylight.controller.md.sal.binding.api.DataBroker;
to
   import org.opendaylight.mdsal.binding.api.DataBroker; (included blueprint)
2) .toJavaUtil(); to be removed
3) import com.google.common.base.Optional
       to
   import java.util.Optional
4) Optional.fromNullable to Optional.ofNullable
5) Optional.absent() to Optional.empty();
6) import
org.opendaylight.controller.md.sal.common.api.data.LogicalDatastoreType;
    to
import org.opendaylight.mdsal.common.api.LogicalDatastoreType;
7) import
org.opendaylight.controller.md.sal.binding.api.ReadOnlyTransaction;
    to
  import org.opendaylight.mdsal.binding.api.ReadTransaction;

8) ReadOnlyTransaction readTx = dataBroker.newReadOnlyTransaction()
    to
  ReadTransaction readTx = dataBroker.newReadOnlyTransaction()

9) writeTransaction/rw.submit().get() to writeTransaction.commit().get()

10) ReadFailedException to InterruptedException | ExecutionException

Dependency:
=============
This review is dependent on below reviews

https://git.opendaylight.org/gerrit/c/infrautils/+/89057
https://git.opendaylight.org/gerrit/c/ovsdb/+/87802
https://git.opendaylight.org/gerrit/c/genius/+/89001
https://git.opendaylight.org/gerrit/c/genius/+/89060

Change-Id: Id8903946f3c000186a596392b51621aff1e4a618
Signed-off-by: Ashik Alias <ashik.alias@ericsson.com>
Signed-off-by: Chetan Arakere Gowdru <chetan.arakere@altencalsoftlabs.com>
4 years agoExceptions while running DC-GW Floating-ips Jobs 00/88900/1
Chetan Arakere Gowdru [Mon, 6 Apr 2020 08:26:12 +0000 (13:56 +0530)]
Exceptions while running DC-GW Floating-ips Jobs

JIRA: NETVIRT-1668

Signed-off-by: Chetan Arakere Gowdru <chetan.arakere@altencalsoftlabs.com>
Change-Id: I9f272183261d6d5451dc4931f9dba76d47a8661a

4 years agoBGP fib cache and alarm task fixes 47/87047/9
manjunath.hethur [Mon, 20 Jan 2020 10:08:47 +0000 (15:38 +0530)]
BGP fib cache and alarm task fixes
Fib cache issue : when 6644 move from one node to another, the fib cache was not handled
properly.
Alarm issue: BGP alarm task was not getting stopped even if the entity ownership has
changed. Adding code to stop it

JIRA: NETVIRT-1663

Signed-off-by: manjunath.hethur <manjunath.hethur@gmail.com>
Change-Id: I21c70fc4cfcd1f0ca8f9f185dd4cdebd396cc8a2
Signed-off-by: manjunath.hethur <manjunath.hethur@gmail.com>
4 years agoBGP forward porting & Update source enhancement. 00/86800/7
manjunath.hethur [Wed, 8 Jan 2020 04:53:58 +0000 (10:23 +0530)]
BGP forward porting & Update source enhancement.

JIRA: NETVIRT-1657

Signed-off-by: manjunath.hethur <manjunath.hethur@gmail.com>
Change-Id: If472fe4a0c20b6137c02684de0c3899f1d2e4007

4 years agoUse Magnesium controller 85/88685/3
Robert Varga [Wed, 25 Mar 2020 22:01:38 +0000 (23:01 +0100)]
Use Magnesium controller

As part of controller transition to being MRI, downgrade the version
used to Magnesium release. This will be bumped to Aluminium proper
during the MRI window.

Change-Id: I85023f66701cd624b56d1d7ded3cfaf7161bd36a
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
4 years agoScale BGP issues & fib shows nexthop as local 04/86404/4
zhmxman [Thu, 12 Dec 2019 07:23:17 +0000 (12:53 +0530)]
Scale BGP issues & fib shows nexthop as local
ODL was getting stuck with scale BGP routes.
adding few optimizations
When the setup is scaled upto 10k DC-GW routes the error is seen.
Adding entries to a hashmap to resolve the errors

JIRA: NETVIRT-1649

Change-Id: I55092986eba2e4f1ff93c9033aed5a3cd7f2b136
Signed-off-by: zhmxman <manjunath.hethur@gmail.com>
4 years agoSet version to Aluminium 33/88733/2
Thanh Ha [Thu, 26 Mar 2020 19:53:25 +0000 (15:53 -0400)]
Set version to Aluminium

We are now in the Aluminium dev cycle.

Signed-off-by: Thanh Ha <zxiiro@gmail.com>
Change-Id: Ia673b868e466af8796c07d7a37566cfda1fdbccf

4 years agoEnhancements in vpnmanager: while provisioning subnetroute relieve yang consumer... 55/88455/2
manjunathpayala [Tue, 17 Mar 2020 09:54:48 +0000 (15:24 +0530)]
Enhancements in vpnmanager: while provisioning subnetroute relieve yang consumer thread quickly

Signed-off-by: manjunathpayala <manjupayala@gmail.com>
Change-Id: Id444ab78d122108596f11a327e857e70c816707c
Signed-off-by: manjunathpayala <manjupayala@gmail.com>
4 years agoNetwork to VPN association/dissociation improvements 96/88396/5
manjunathpayala [Wed, 11 Mar 2020 09:28:41 +0000 (14:58 +0530)]
Network to VPN association/dissociation improvements

Upon deleting a neutron subnet associated to a VPN, we were not
depopulating the subnet CIDR from "subnets-associated-to-route-targets"
in the deletion workflow. This was leading to disallowing reusing the
same CIDR for any further network-to-vpn associations.

This has been fixed now, in addition to the following to prevent such
related faults:

1. Removed neutron northbound reads (backpools) to fetch network during
subnet add/delete/update lifecycle.

2. Removed neutron northbound read to fetch subnet during
population/depopulation of "subnets-associated-to-route-targets" model
as well as during validations to check for overlapping subnets and
instead use the available subnetmap.

3. Added warn log advising the recommended workflow for usecase for
this bug as highlighted in the "Issue" above.

4. Removed a couple of unused exposed APIs

Signed-off-by: manjunathpayala <manjupayala@gmail.com>
Change-Id: I15bf5144931d8ed39298505437752d959b9ba712
Signed-off-by: manjunathpayala <manjupayala@gmail.com>
4 years agoStale MIP FIB/Flow entries present upon deletion of VRRP master 85/88385/2
Karthikeyan Krishnan [Tue, 10 Mar 2020 09:05:56 +0000 (14:35 +0530)]
Stale MIP FIB/Flow entries present upon deletion of VRRP master

Issue:
======
This issue is seen when ports are pre-created and VM is booted on that.
In such condition , when VM is deleted , only south bound Interface remove
is received.
When VM which is a VRRP master(holding MIP-IP) was deleted , MIP-IP adj
was not deleted from the config-VpnInterface. Thus leading to issues like
duplicate FIB entry , when VM is booted back.

Solution:
=========
MIP-IP adj delete is handled appropriately when VM is deleted.

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

4 years agoNETVIRT-1630 migrate to md-sal apis 74/87674/4
Ashik Alias [Thu, 13 Feb 2020 13:20:35 +0000 (18:50 +0530)]
NETVIRT-1630 migrate to md-sal apis

   RpcProviderRegistry is depricated and will be removed
switch to RpcProviderService and RpcConsumerRegistry

Change-Id: I68b6b16ff9db6ac5e95b3626d05d0f77f4c7cd48
Signed-off-by: Ashik Alias <ashik.alias@ericsson.com>
4 years agoUpdate the timeouts to obtain locks to account GC pauses. 72/88372/1
Nishchya Gupta [Mon, 9 Mar 2020 10:13:53 +0000 (15:43 +0530)]
Update the timeouts to obtain locks to account GC pauses.

It has been observed in scale setup testing that GC Pause on CSC can
go upto 8 seconds.  In order to make L3VPN reliably work under
such circumstances, we have updated the lock-wait-times for
subnetroute engine and the vrfengine to 9 seconds via this fix.

Signed-off-by: Nishchya Gupta <nishchyag@altencalsoftlabs.com>
Change-Id: Ib63f2fe205e968e71c1779e12cb2391875f2ff2f

4 years agoRouterInterface map not populated poperly 34/88034/2
Karthikeyan Krishnan [Tue, 25 Feb 2020 10:33:55 +0000 (16:03 +0530)]
RouterInterface map not populated poperly

Issue:
======
The map wasn't getting populated properly when a new interface is added to
router.

Solution:
=========
Fixed the route-interface map update properly using SyncWrite()
instead of SyncUpdate().

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

4 years ago"neutronvpn:createL3VPN" fails to create L3VPN for IPv6 use case. 19/88019/19
Surendar Raju [Mon, 24 Feb 2020 07:59:58 +0000 (13:29 +0530)]
"neutronvpn:createL3VPN" fails to create L3VPN for IPv6 use case.

a) Issue: vpnTargets (route-distinguisher/iRT/eRT)
are VPN properties, but according to the VPNInstance
IETF yang model, VpnTargets reside within IP-families
(v4/v6). For Boron based release, only IPv4 family was
supported and thus, making use of ipv4-family ->
vpnTargets sufficed. For R7, this will not work as at
the time of VPNInstance creation, there is no knowledge
of whether v4 or v6 family subnets will be associated
to VPN. Thus, there is no clear model to store vpnTargets.

b) Manifestation in TRs:  HX53527 - [NFVi] EO request
for "neutronvpn:createL3VPN" fails to create L3VPN:
Pure IPv6 VPNs fail to get VPN connectivity due to
the above anomaly.

c) Solution: Move vpnTargets and RD out of IP-family
containers. Representation of the new yang-model is as below:
container vpn-instances {
list vpn-instance {
list vpnTargets { }
Ipv4-family {
}
Ipv6-family {
}

}
}
}

d) Additional changes:
1. For use-cases where IPv4 family is being
incorrectly used and functionality is working per chance
need to align with the new model.
2. Refactoring to remove ipv4-family
and ipv6-family from yang model itself in case
we are not using these at all.

e) Benefits:
1. Functional benefits to avoid storing data
inconsistently, and moving towards making our models more logical
2. Refactoring will lead to cleaner code.
3. Removing large config containers of ipv4-family
and ipv6 family will lead to performance improvements.

Change-Id: Id33d4931f994f739d31620f8bdc492f15cf8ffd1
Signed-off-by: Surendar Raju <surendar.raju@ericsson.com>
4 years agoOptmization of BGP containers NPE checks 56/86956/4
manjunath.hethur [Thu, 16 Jan 2020 09:23:28 +0000 (14:53 +0530)]
Optmization of BGP containers NPE checks

Description:
Incorporated NPE checks for all BGP containers.

JIRA: NETVIRT-1659

Signed-off-by: manjunath.hethur <manjunath.hethur@gmail.com>
Change-Id: I1420f875f74f8acb2d7452a306c6947674afac3c
Signed-off-by: manjunath.hethur <manjunath.hethur@gmail.com>
4 years agoOptimizing BGP routesync operation 71/86971/3
manjunath.hethur [Thu, 16 Jan 2020 11:26:08 +0000 (16:56 +0530)]
Optimizing BGP routesync operation

JIRA: NETVIRT-1661

Signed-off-by: manjunath.hethur <manjunath.hethur@gmail.com>
Change-Id: Ia02ed0209366fad368431e7bdaf3bd9a52fd5852
Signed-off-by: manjunath.hethur <manjunath.hethur@gmail.com>
4 years agoSynchronizing BGP thrift service delete context. 65/86965/3
manjunath.hethur [Thu, 16 Jan 2020 11:12:54 +0000 (16:42 +0530)]
Synchronizing BGP thrift service delete context.

JIRA: NETVIRT-1660

Signed-off-by: manjunath.hethur <manjunath.hethur@gmail.com>
Change-Id: Iaa7830fefc093624da64de432550484647e851b0
Signed-off-by: manjunath.hethur <manjunath.hethur@gmail.com>
4 years agoBump versions by x.y.(z+1) 94/87994/1
jenkins-releng [Sat, 22 Feb 2020 04:30:16 +0000 (04:30 +0000)]
Bump versions by x.y.(z+1)

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

4 years agoTable 21 ecmp flow not updated correctly 25/86325/8
Amitesh Soni [Tue, 10 Dec 2019 12:07:19 +0000 (17:37 +0530)]
Table 21 ecmp flow not updated correctly

Description: When BGP neigbhor is added, quagga advertises routes towards
that DC-GW. If GRE tunnel towards that dc-gw is not configured, table 21
flows are not updated correctly.

Signed-off-by: Amitesh Soni <amitesh.soni@ericsson.com>
Change-Id: I6f54f7d4005dde7f2d05f53a05a27bf2b34a8cbb

4 years agoMinor changes in Elan Manager 35/86735/6
Amitesh Soni [Thu, 9 Jan 2020 06:04:55 +0000 (11:34 +0530)]
Minor changes in Elan Manager

Change in method enqueueJobForMacSpecificTasks: Corrected the
wrong data entry that was being passed during VM migration

Added a few log statements

Signed-off-by: Amitesh Soni <amitesh.soni@ericsson.com>
Change-Id: I1d3fb93f0965605ec9914d84ebaf11d4f8f73c52

4 years agoPorting activity for ELAN 87/83387/8
Amitesh Soni [Thu, 2 Jan 2020 09:31:15 +0000 (15:01 +0530)]
Porting activity for ELAN

Description: Adding 270000 to elan tag for group actions and table 36 to
avoid collision between lport and elan tag

Signed-off-by: Amitesh Soni <amitesh.soni@ericsson.com>
Change-Id: Iea64d20802c0242ac891d95294323a87a5a4cdf2