jenkins-releng [Thu, 29 Oct 2020 00:58:02 +0000 (00:58 +0000)]
Release Aluminium
Robert Varga [Fri, 23 Oct 2020 12:18:54 +0000 (14:18 +0200)]
Bump upstreams for Aluminium SR1
Bump to versions:
- odlparent-7.0.7
- yangtools-5.0.7
- mdsal-6.0.7
- controller-2.0.6
- infrautils-1.8.2
Change-Id: Ibbe424a02e6dd8307a4ccaf5cb052b44449b9b2b
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
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
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>
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>
(cherry picked from commit
24150c48d08fef353ff8b757a4b11b40891ea844)
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>
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/+/92275
Change-Id: Ifcabe10dc020974e298ca4612b966b0080ad7f6b
Signed-off-by: manjunathpayala <manjupayala@gmail.com>
Signed-off-by: Somashekar Byrappa <somashekar.b@altencalsoftlabs.com>
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
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
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
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
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
jenkins-releng [Fri, 18 Sep 2020 02:54:02 +0000 (02:54 +0000)]
Bump versions by x.y.(z+1)
Signed-off-by: jenkins-releng <jenkins-releng@opendaylight.org>
Change-Id: Id6a22d92fe6a14aa7f90bf3ef4a221ceafa88f87
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
jenkins-releng [Wed, 5 Aug 2020 17:57:35 +0000 (17:57 +0000)]
Update .gitreview to stable/aluminium
Signed-off-by: jenkins-releng <jenkins-releng@opendaylight.org>
Change-Id: I061aae1f63d879776abf4ef3360910d9d29b9a17
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>
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
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>
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>
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>
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>
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>
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>
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
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>
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>
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>
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
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
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
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>
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
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
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
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
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>
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>
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>
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>
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
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
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>
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
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
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
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>
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
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
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>
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>
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>
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>
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>
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>
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
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
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
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>
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
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>
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
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>
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
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>
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>
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
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>
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>
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
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>
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
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
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>
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>
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>
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>
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
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
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
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
Nishchya Gupta [Wed, 24 Jul 2019 09:24:28 +0000 (14:54 +0530)]
Duplicate RA messages are sending from ODL Controller
Issue:
======
While sending IPv6 periodic RA packets to all Ipv6
VMs OF port ODL controller is sending more than one
time with same RA packets to same ELAN group as a
result each IPv6 VMs OF ports are getting more
than one RA packets for each perodic
UNSOLICTED/CEASE messages.
Solution:
=========
Using IPv6 network ELAN BC group approach sending
IPv6 RA packet from ODL Controller to VMs OF ports
should be one time is sufficient.
Since ELAN BC group will deliver the RA packets to
all IPv6 VMs OF ports for that particular ELAN group.
Change-Id: Ia1564148ce84044754e6a008e1de21a62435459d
Signed-off-by: Nishchya Gupta <nishchyag@altencalsoftlabs.com>
Shashidhar Raja [Tue, 11 Feb 2020 10:25:48 +0000 (15:55 +0530)]
Id Manager allocateId optimization
Id Manager allocateId is called on all nodes for each of the SGs. This was
done for storing id in cache on all the nodes. This was resulting in
LockManager exception in IdManager. Though the exceptions were non
alarming, it was filling up karaf logs. Also, it was invoked on all the
nodes instread on entity owner node.
Now, allocateId for SG is moved to neutronvpn do that it gets executed
only on shard leader node. The id is then stored in Acl datastore for subsequently
to be used by ACL. In ACL, the ACL event listener gets it from Acl and
stores it in cache as it was done earlier.
Change-Id: I0b4c547ff2f4105523746069163cf6255c0cffff
Signed-off-by: Shashidhar Raja <shashidharr@altencalsoftlabs.com>
Nishchya Gupta [Wed, 5 Feb 2020 08:32:31 +0000 (14:02 +0530)]
NETVIRT-1638 Modify yang modules such that it can be validated using pyang
Unused container, removing it.
Signed-off-by: Nishchya Gupta <nishchyag@altencalsoftlabs.com>
Change-Id: Icc332000d01ad75e8c0d1d542ca7331fb1a8f5fd
Nishchya Gupta [Thu, 16 Jan 2020 11:22:31 +0000 (16:52 +0530)]
NETVIRT-1638 Modify yang modules such that it can be validated using pyang
Fixing pyang warning and errors.
Signed-off-by: Nishchya Gupta <nishchyag@altencalsoftlabs.com>
Change-Id: I7e23372010d4cbef5b645b90d8628b6af46f294b
Ashik Alias [Wed, 5 Feb 2020 05:50:24 +0000 (11:20 +0530)]
Moving vpn-interface yang from VPNMgr > NeutronVPN
Vpn-instance and Vpn-interface Config Datastore are predominantly
used by the neutron-VPN layer, but the datastore is defined
in VPN manager.
This review will take care of moving Vpn-interface
and associated yang models to neutron-VPN layer.
The second part of this change[1] will take care of moving
VPN-instance DS to neutronvpn
[1] https://git.opendaylight.org/gerrit/#/c/netvirt/+/87418
Change-Id: Iad6e7a8508c5986bd12b8ef6d1e2d8294ecc02d9
Signed-off-by: Ashik Alias <ashik.alias@ericsson.com>
Ashik Alias [Tue, 4 Feb 2020 10:32:52 +0000 (16:02 +0530)]
Moving vpn-instance yang from VPNMgr > NeutronVPN
Vpn-instance and Vpn-interface Config Datastore are predominantly
used by the neutron-VPN layer, but the datastore is defined in
VPN manager. This review will take care of moving Vpn-instance
and associated yang models to neutron-VPN layer.
The second part of this change[1] will take care of moving
VPN-interface DS to neutronvpn
[1] https://git.opendaylight.org/gerrit/#/c/netvirt/+/87445/
Change-Id: I3c191d4f4acfc304548b0bfe954f80e75212d599
Signed-off-by: Ashik Alias <ashik.alias@ericsson.com>
Ashik Alias [Thu, 6 Feb 2020 11:07:43 +0000 (16:37 +0530)]
NeutronVpn: Robust handling of (lock, ID allocation/release) failures
Change-Id: Ic4fd1c8a558bc5f9351b3d06dc2258c6fc4f6d9c
Signed-off-by: Ashik Alias <ashik.alias@ericsson.com>
vasudha_yenuganti [Wed, 10 Jul 2019 12:11:55 +0000 (17:41 +0530)]
Fix for cluster reboot
This fix makes sure that after cluster reboot, the
vpnInstanceOpData comes up correctly for a vpn.
Primarily, the focus of this fix is to not have
importing VPNs create issues in building assets
for exporting VPNs.
Change-Id: I0e321904e067117d077fba4284420274c051f1a5
Signed-off-by: vasudha_yenuganti <yenuganti.vasudha@ericsson.com>
Yenuganti Vasudha [Thu, 6 Feb 2020 08:07:26 +0000 (13:37 +0530)]
VpnEngine: Robust handling of (lock, ID allocation/release) failures
Signed-off-by: Yenuganti Vasudha <yenuganti.vasudha@ericsson.com>
Change-Id: Ie3ff8d197c96cbf5a2a5d91e55708cd228a1d22c
Surendar Raju [Wed, 24 Jul 2019 06:56:13 +0000 (12:26 +0530)]
Subnet route is not advertised to FIB table...
Issue:In this there is vm present in vpn.While
deleting this type of vpn, the entire vrf entry
is removed before the actual vpn is deleted.
Hence transcation commit failure happens,
which results in breakoff inbetween.
Solution:This scenario is expected, but to
avoid the break-off we had added fix to
handle the exception, which results in flow
continuous.
Change-Id: I959cfc12d3490210235cf853d03fe2562c27be47
Signed-off-by: Surendar Raju <surendar.raju@ericsson.com>
Surendar Raju [Fri, 12 Jul 2019 07:12:32 +0000 (12:42 +0530)]
ARP Responder stale flow after undeployment
Issue:
======
At scale, its possible that after all ports are deleted , even if subnet
is deleted later , during VpnInterface remove processing , backpull of
Neutron DS like subnets is bound to fail. Due to this , ArpResponder flow
deletion might fail.
Fix:
===
Subnet-Gateway-IP which is read from Neutron Subnet DS, will be stored in
VpnInterface oper DS, thus avoiding backpull.
Change-Id: I703091e6cde2f7b8b31488178d72eee703aa712d
Signed-off-by: Surendar Raju <surendar.raju@ericsson.com>
Amitesh Soni [Mon, 13 Jan 2020 10:47:06 +0000 (16:17 +0530)]
ELAN stale flow issue during VM migration
1) removing VpnPortIpToPort Listener in ELAN
* ELAN used to listen to VPNPortIptoPort data store
for programming flows for MACs related to learnt IPs
* This is redundant since ELAN learns MAC by itself through table 50
* And this listener code could possibly lead to race
conditions during VM migration leading to stale flows.
2) Fix for stale table 52 flows during migration
Removing the method createElanInterfaceTablesList to avoid
'modifiedNodeDoesNotExistException' when VM is migrated
from one DPN to another DPN, and delete and add ELAN
interface tries to update the same ElanInterfaceTablesList DS
improperly.
Signed-off-by: Amitesh Soni <amitesh.soni@ericsson.com>
Change-Id: Ib7ff56a89042362a74c6b8a241e1b2073b68d320
Karthikeyan Krishnan [Mon, 3 Feb 2020 08:33:07 +0000 (14:03 +0530)]
VNF route did not appear as no parentrefs
Issue:
======
VNF route did not appear in fib/flows due to interface manager did not
update the parentref
Solution:
==========
We are not updating parentrefs for VM interfaces via
northbound calls, but rather via southbound events through
InterfaceManager.
Hence, any missed events for port updates also need not update the
parentrefs.
Signed-off-by: Karthikeyan Krishnan <karthikeyangceb007@gmail.com>
Change-Id: I4824579e997f3fb18033f73d120a8d8dd65024c3
Shashidhar Raja [Mon, 3 Feb 2020 11:32:32 +0000 (17:02 +0530)]
Missed Table 246 flow
Table 246 flow was getting programmed from different thread than the other
flows. This was resulting in different remote group id cache sometimes.
Different cache details was the reason for not programming table 246 flows
all the time.
Table 246 flow programming is done alone with other flows in same thread
now to resolve this issue.
Change-Id: I93bacc68a63c924036c7649f3f5a0e09a872b298
Signed-off-by: Shashidhar Raja <shashidharr@altencalsoftlabs.com>
M Navaneethan [Mon, 15 Jul 2019 11:41:55 +0000 (17:11 +0530)]
Netvirt troubleshooting improvements
Change-Id: I0bec5b26a5fe2f68b1e735e06a60dd493a83e467
Signed-off-by: M Navaneethan <m.navaneethan@ericsson.com>
Signed-off-by: Ashik Alias <ashik.alias@ericsson.com>
Chetan Arakere Gowdru [Wed, 29 Jan 2020 12:54:11 +0000 (18:24 +0530)]
IDManager Exception in NAT
Description:
While allocating label for flat/vlan network case, external-network been
used as vpn and while deleting external-sunet used as vpn causing this
Exception. Changes done to use external-subnet as vpn while allocating
label.
JIRA : NETVIRT-1665
Signed-off-by: Chetan Arakere Gowdru <chetan.arakere@altencalsoftlabs.com>
Change-Id: I44b4ea44a8ff2d1e41fa2723a21e5f5f148d95b9
Signed-off-by: Chetan Arakere Gowdru <chetan.arakere@altencalsoftlabs.com>
Jamo Luhrsen [Mon, 3 Feb 2020 19:14:45 +0000 (11:14 -0800)]
Fix doc formatting issue
Signed-off-by: Jamo Luhrsen <jluhrsen@gmail.com>
Change-Id: Ifb941e5b2043bab1419e41699e2325bada504c85
Shashidhar Raja [Fri, 10 Jan 2020 09:34:24 +0000 (15:04 +0530)]
Port update with no security groups
(a) Cache was updated after added ACLs were processed during port update.
This was casuing problems when port was updated from no security groups to
valid security groups; required flows were not getting added in remote
group tables. This issue is fixed by updating cache before processing of
added ACLs.
(b) Port update to no security groups was leaving stale flows in remote
group tables sometimes. This was because of cache update happening in
different thread than the thread which was processing deleted ACLs. This
issue is fixed by passing copy of required unchanged cache to the thread
which is processin deleted ACLs.
(c) Remote group flow was getting deleted even though it was part of other
rules (of the same or different SG) of the port. Validation is introduced
to check this condition now before remote group flow is deleted.
Change-Id: I15022652ddb36ade060c3c26149c5d68594e1593
Signed-off-by: Shashidhar Raja <shashidharr@altencalsoftlabs.com>
Chetan Arakere Gowdru [Fri, 17 Jan 2020 10:28:59 +0000 (15:58 +0530)]
Floating IP failure in magnesium
JIRA : NETVIRT-1662
Signed-off-by: Chetan Arakere Gowdru <chetan.arakere@altencalsoftlabs.com>
Change-Id: I11c5e2ce3bccd21ebf6e7f883759f3a06497a68c
Robert Varga [Thu, 16 Jan 2020 21:17:43 +0000 (22:17 +0100)]
Bump to odlparent-6.0.4/yangtools-4.0.6/mdsal-5.0.9
Pick up latest fixes and upgrades.
Change-Id: I07f64fa509994726248d69fe28bfcf81dc3cf2cb
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>