netvirt.git
6 years agoSetting BGP default log to debugging 90/68090/2
Vyshakh Krishnan CH [Fri, 9 Feb 2018 05:00:12 +0000 (10:30 +0530)]
Setting BGP default log to debugging

BGP default log was set to error and due to which qbgp logs are not
shown. making it to debugging now.

Change-Id: I66826d34ce2cb6448261b6c9287fac63eacdcda0
Signed-off-by: Vyshakh Krishnan CH <vyshakh.krishnan.c.h@ericsson.com>
6 years agoSwitch some stragglers to odlparent 3.0.2 13/67913/4
Stephen Kitt [Mon, 5 Feb 2018 09:56:16 +0000 (10:56 +0100)]
Switch some stragglers to odlparent 3.0.2

Change-Id: I98d03a63001971dc526d89d3e2df580bf304c10b
Signed-off-by: Stephen Kitt <skitt@redhat.com>
6 years agoNETVIRT-984: Fix of issue that l2gw connection creation failed in L2GW HA environment. 28/68128/2
kaoru sueda [Wed, 29 Nov 2017 07:36:40 +0000 (16:36 +0900)]
NETVIRT-984: Fix of issue that l2gw connection creation failed in L2GW HA environment.

Issue:
  Exception occurred in l2gw connection creation and caused OVSDB
  transaction is not executed to the end in L2GW HA environment.

Cause:
  "replication-mode" is not set in HWVTEP logical-switches entry in
  network topology config DS. And this caused the
  NoSuchElementException in l2gw connection creation.

Fix:
  Fix this by set replication-mode in the above entry.

Change-Id: I022e493abdbd20d2279540be790bf018c8dc2032
Signed-off-by: kaoru sueda <k-sueda@zj.nes.jp.nec.com>
6 years agoNETVIRT-1044 fix for Exception in karaf when delete neutron port 95/67895/2
VinothB [Thu, 1 Feb 2018 18:32:20 +0000 (13:32 -0500)]
NETVIRT-1044  fix for Exception in karaf when delete neutron port

Null check for port's dpId is missing in this particular method whereas
all other methods having null check for dpId in AbstracAclServiceImpl

Change-Id: I8c4f5768af2a04b7921915264b6f5089acb9a7bb
Signed-off-by: VinothB <vinothb@hcl.com>
6 years agoBug 8998 - Vlan Binding missing on connection add 18/66418/18
eaksahu [Wed, 13 Dec 2017 11:06:01 +0000 (16:36 +0530)]
Bug 8998 - Vlan Binding missing on connection add

missing child entries when connection is deleted and added immediately.

Since we are using batch manager previous delete
is still not finished by the time next add request comes.

Since the data is not deleted yet this add request will become no op.

delete from batch manager eventually succeeds and we end up entry missing.

make sure that add request does not proceed until the previous delete
request has not completed.

Change-Id: I88c887a4f40ad96ae2230e3a5362e8cc1cbde87f
Signed-off-by: eaksahu <a.k.sahu@ericsson.com>
6 years agovpnmanager: subnetopdataentry context creation 39/57439/157
Noel de Prandières [Tue, 5 Dec 2017 11:10:44 +0000 (12:10 +0100)]
vpnmanager: subnetopdataentry context creation

Update Adjacencies to BGPVPN Internet, if the subnetmap handles refers
to an IPv6 Subnet.

Enhance the subnet-show command to display all the subnetmaps and
subnetmapopdataentries.

Change-Id: I7efba2cc94e65c1862aee96e3e3591a3d14bc630
Signed-off-by: Valentina Krasnobaeva <valentina.krasnobaeva@6wind.com>
Signed-off-by: Philippe Guibert <philippe.guibert@6wind.com>
Signed-off-by: Noel de Prandières <prandieres@6wind.com>
Signed-off-by: Sam Hague <shague@redhat.com>
6 years agoneutronvpn: subnetmap update for internet-vpn-id support 11/57411/164
Valentina Krasnobaeva [Mon, 7 Aug 2017 14:21:23 +0000 (16:21 +0200)]
neutronvpn: subnetmap update for internet-vpn-id support

Add internet-vpn-id leaf in the subnetmap list. This model change was
needed to provide a capability to associate an external network with L3
BGPVPN.

Update internet-vpn-id field in subnetmap before associating provider
neutron network with L3BGP VPN.

Add an enumerate in vpn instance op data entry, to qualify the
kind of BGPVPN: BGPVPN external, or BGPVPN internet.

Change-Id: Icab050c89a25beb12b5be3a586d84ee97a7eb593
Signed-off-by: Valentina Krasnobaeva <valentina.krasnobaeva@6wind.com>
Signed-off-by: Noel de Prandières <prandieres@6wind.com>
Signed-off-by: Philippe Guibert <philippe.guibert@6wind.com>
6 years agoneutronvpn: unlock multiple vpn configuration per iface 22/63422/86
Philippe Guibert [Fri, 8 Sep 2017 14:10:33 +0000 (15:10 +0100)]
neutronvpn: unlock multiple vpn configuration per iface

This change unlocks the ability of neutronvpn to attach a vpn
interface to two different vpns, or one router and a L3VPN, for
instance.

This is here the case for an internetVPN that is attached to a VPN
interface, in addition to the router.

Change-Id: I7c65b3ce981db0072ba2ab23323d44f2cf689f21
Signed-off-by: Philippe Guibert <philippe.guibert@6wind.com>
6 years agoAdd aaa-cli dependency for the distribution 15/68015/2
Stephen Kitt [Wed, 7 Feb 2018 14:17:40 +0000 (15:17 +0100)]
Add aaa-cli dependency for the distribution

We need to *guarantee* that the aaa-cli JAR is available for
maven-dependency-plugin to copy it correctly; adding the dependency
explicitly ensures that the JAR will be in the local repository.

Change-Id: I34584eccd14da25fde24779247e78db167d7587a
Signed-off-by: Stephen Kitt <skitt@redhat.com>
6 years agoInclude AClStatefulTest 54/67854/2
Aswin Suryanarayanan [Fri, 19 Jan 2018 15:17:50 +0000 (20:47 +0530)]
Include AClStatefulTest

Change-Id: I899af0163ab811ed8bdece7ee5555c43b3340fbb
Signed-off-by: Aswin Suryanarayanan <asuryana@redhat.com>
6 years agoBug 8400 - ACL changes doesn't affect the existing connections 88/66788/7
vinothb [Wed, 13 Sep 2017 23:10:00 +0000 (19:10 -0400)]
Bug 8400 - ACL changes doesn't affect the existing connections

Problem:
    Change in SG rules does not affect the existing traffic

Fix provided:
    * "ct_mark" flag of conntrack module will be used to identify the
change made in acl rules of specific instance.
    * When a Acl rule removed from the instance, Netvirt will reset the
value of "ct_mark" flag value. Reset of ct_mark value will skip the further
packets of existing traffic to not be matched by conntrack flow and these
packets will be dropped by the DROP flow.

Change-Id: If55070a7810b580af1cb922abde2880cf434b371
Signed-off-by: vinothb <vinothb@hcl.com>
6 years agoPass MetricProvider to JC Test Module 41/67641/7
Faseela K [Tue, 30 Jan 2018 07:51:50 +0000 (13:21 +0530)]
Pass MetricProvider to JC Test Module

This requires Ie90562c2f8205bab8817d370d077def9a3419d52 and
I530d20946a80933b05371c5220def447be1ee5e6 in infrautils in order to be
able to compile, and must be merged together (with the 2nd, the first
can go in before).

Change-Id: If3c3bcdb8a972c7e57cff20fd24d5addefa7746b
Signed-off-by: Faseela K <faseela.k@ericsson.com>
6 years agoConntrack-based SNAT support for GRE/VXLAN Type 09/56709/15
cgowdru [Tue, 9 May 2017 09:23:10 +0000 (14:53 +0530)]
Conntrack-based SNAT support for GRE/VXLAN Type

Description : Provided changes for supporting External-Network
Provider-Type of GRE and VXLAN using Conntrack-based SNAT.

Change-Id: I7b1115173f765159ff4d0538c0c6e04f82932f90
Signed-off-by: cgowdru <chetan.arakere@altencalsoftlabs.com>
Signed-off-by: karthikeyan <karthikeyan.k@altencalsoftlabs.com>
Signed-off-by: xcheara <chetan.arakere@altencalsoftlabs.com>
6 years agoFaster DC-GW Failure Detection (L3VPN with BGP) 81/66381/21
Siva Kumar Perumalla [Tue, 12 Dec 2017 15:10:59 +0000 (20:40 +0530)]
Faster DC-GW Failure Detection (L3VPN with BGP)

Change-Id: I742ca73de057fddbf91f76ff9b3b18849a5774f8
Signed-off-by: Siva Kumar Perumalla <sivakumar.perumalla@gmail.com>
6 years agoAdd odl-jolokia to the NetVirt distribution 82/67782/2
Stephen Kitt [Wed, 31 Jan 2018 12:49:08 +0000 (13:49 +0100)]
Add odl-jolokia to the NetVirt distribution

Change-Id: I1cf93bfa2e36024d16c3e188edf331bdfe312917
Signed-off-by: Stephen Kitt <skitt@redhat.com>
6 years agoFix getRenderedServicePath sfc test hanging 86/67786/1
Jaime Caamaño Ruiz [Wed, 31 Jan 2018 16:01:04 +0000 (17:01 +0100)]
Fix getRenderedServicePath sfc test hanging

Change-Id: I8970f01d41313df7ce65ef83e4c7dfd166e20ea6
Signed-off-by: Jaime Caamaño Ruiz <jcaamano@suse.com>
6 years agoadd aaa-cli-jar to distribution/karaf 79/67779/3
Michael Vorburger [Wed, 31 Jan 2018 11:25:37 +0000 (12:25 +0100)]
add aaa-cli-jar to distribution/karaf

see Ie47ea696190c9fad6472375007b2767db1f0fbed
and Ifdb3e87cee4cb80f0c753ead620077cbf98af0f8

Change-Id: Iaf56adcb93490f9b29e34a50d33b324bb24a9b07
Signed-off-by: Michael Vorburger <vorburger@redhat.com>
6 years agoIgnore hanging UT: getRenderedServicePath 35/67735/1
Sam Hague [Tue, 30 Jan 2018 19:18:18 +0000 (14:18 -0500)]
Ignore hanging UT: getRenderedServicePath

Change-Id: I224fa3d43b7b4811f9891753ad43abde579d19ae
Signed-off-by: Sam Hague <shague@redhat.com>
6 years agoOPNFLWPLUG-972 : Point to openflowplugin liblldp 59/67059/3
D Arunprakash [Thu, 11 Jan 2018 11:55:17 +0000 (17:25 +0530)]
OPNFLWPLUG-972 : Point to openflowplugin liblldp

Migrated liblldp from controller to openflowplugin

Change-Id: I2a0ef324d764d6908b4c9b03f3ac168eaac9f662
Signed-off-by: D Arunprakash <d.arunprakash@ericsson.com>
6 years agoRe-enable SFC 46/67346/3
Stephen Kitt [Fri, 19 Jan 2018 10:22:49 +0000 (11:22 +0100)]
Re-enable SFC

Change-Id: I7f259d1932ce3e6d64d1dd75253f46d616cd363b
Signed-off-by: Stephen Kitt <skitt@redhat.com>
6 years agoRevert "Revert "Add hardware offload support for openvswitch"" 04/67704/1
Sam Hague [Tue, 30 Jan 2018 00:34:22 +0000 (00:34 +0000)]
Revert "Revert "Add hardware offload support for openvswitch""

This reverts commit 69ab0b21fe50db21443616a2a0e6bcd5e4806c11.

Change-Id: If6121416f62ea031185ae2e740bd999f2d0b9ea7
Signed-off-by: Sam Hague <shague@redhat.com>
6 years agoRevert "Add hardware offload support for openvswitch" 02/67702/1
Sam Hague [Tue, 30 Jan 2018 00:31:43 +0000 (00:31 +0000)]
Revert "Add hardware offload support for openvswitch"

This reverts commit 29d3ba79843ef4dfdd1461f5c12c071bde1cbd8f.

Change-Id: Ib42e63bc268b3777e6703c62d62042152d0977d9
Signed-off-by: Sam Hague <shague@redhat.com>
6 years agoAdd hardware offload support for openvswitch 59/60259/34
Moshe Levi [Wed, 12 Jul 2017 19:50:17 +0000 (22:50 +0300)]
Add hardware offload support for openvswitch

Handle 'direct' vnic type with 'switchdev' (hw offload) capability
ports in NeutronPortChangeListner.

Change-Id: I0d2a5aa32b9f909d5cf56a1c220ca2cdcbc80071
Signed-off-by: Moshe Levi <moshele@mellanox.com>
Co-Authored-By: Edan David <edandavi@gmail.com>
Depends-On: I65644f32551124c61e30c02831ac4193d12471d2

6 years agoClean-up older s-n-d implementation 37/66537/5
Faseela K [Sat, 16 Dec 2017 16:50:46 +0000 (22:20 +0530)]
Clean-up older s-n-d implementation

Now that ELAN is using infrautils.diagstatus
let us clean-up the older s-n-d implementation
in ELAN

Change-Id: I2c10a5adb8eadb132e1804d38c935da640ec5cb9
Signed-off-by: Faseela K <k.faseela@gmail.com>
Signed-off-by: Faseela K <faseela.k@ericsson.com>
6 years agoGENIUS-109: make checkDmacSameDPN more robust 09/66709/3
Stephen Kitt [Thu, 21 Dec 2017 14:15:29 +0000 (15:15 +0100)]
GENIUS-109: make checkDmacSameDPN more robust

This sorts the actions before comparing the flows, avoiding issues
when upstream changes cause the action order to change in the data
structure.

Change-Id: Ia4b62e2af5bc432f076432422236adacb097885b
Signed-off-by: Stephen Kitt <skitt@redhat.com>
6 years agoODL SNAT upgrade issue - flow configured before group 27/66827/12
xcheara [Tue, 2 Jan 2018 08:14:31 +0000 (13:44 +0530)]
ODL SNAT upgrade issue - flow configured before group

The default fib route's action is to send to the
external network group which must be configured on the
switch before the flow is configured. Added

Change-Id: I9c4d8e649ad5966fbe536831a1b516b31763163a
Signed-off-by: xcheara <chetan.arakere@altencalsoftlabs.com>
6 years agoUpgrade+conntrack, default FIB flow missing 25/66825/12
Josh [Tue, 2 Jan 2018 03:47:46 +0000 (05:47 +0200)]
Upgrade+conntrack, default FIB flow missing

N.B.: Depends on https://git.opendaylight.org/gerrit/#/c/65894/

The default fib route can not be configured before
the VpnInstanceOpDataEntry's dpn<->vpn mapping exists.
I've added code that waits for that to show up.

Change-Id: I7a4e75b04b171b5a6c80c74e75a410312ef3dee6
Signed-off-by: Josh <jhershbe@redhat.com>
6 years agoUpgrade: Remote FIB entry missing for ext. gateway 85/66785/10
Josh [Thu, 28 Dec 2017 10:28:15 +0000 (12:28 +0200)]
Upgrade: Remote FIB entry missing for ext. gateway

Root cause of this is that the ARP to discover the
external gateway's mac is triggered at router/subnet
creation time and the code assumes the ovsdb models
are in place. However, in the case of upgrade they are
not yet present as the switches have not yet reconnected.

Fix: At the point where the upgrading flag is unset we
know that all switches have reconnected. Listen for that
transition and trigger the ARP for all routers.

Change-Id: I6cc6045937e2d9a936596e1a8bc36b7a0cbb70e3
Signed-off-by: Josh <jhershbe@redhat.com>
6 years agoMinor: fix two log statements 09/66609/12
Josh [Tue, 19 Dec 2017 10:28:31 +0000 (12:28 +0200)]
Minor: fix two log statements

Change-Id: Ie5c9de5eddde36eb026481453dd88a757e919fe1
Signed-off-by: Josh <jhershbe@redhat.com>
6 years agoSNAT Ext. Router scheduling broken w/ upgrade 08/66608/14
Josh [Tue, 19 Dec 2017 10:21:12 +0000 (12:21 +0200)]
SNAT Ext. Router scheduling broken w/ upgrade

Depends on this gerrit from genius:
https://git.opendaylight.org/gerrit/#/c/65894/

SNAT requires that all the nodes be in the operational datastore
at the time the external router configurations are pushed to ODL.
At this point the external router is "scheduled", that is, a
switch is chosen to get the flows and track the sessions. In the
case of upgrade, there are in fact no nodes connected to ODL.

Solution:
Wait until all the nodes are connected and only then schedule
the external routers.
1) if the upgrading flag is set, don't schedule external routers
2) When the listener fires, schedule all the external routers

Change-Id: Ib349450905ef9c33fe3640753bb88e65c8ebf967
Signed-off-by: Josh <jhershbe@redhat.com>
6 years agoUpgrade: race cond. btwn elan-dpn-interfaces and arp-responder for external ifaces 15/66415/12
Josh [Wed, 13 Dec 2017 10:31:10 +0000 (12:31 +0200)]
Upgrade: race cond. btwn elan-dpn-interfaces and arp-responder for external ifaces

Depends on this gerrit from genius:
https://git.opendaylight.org/gerrit/#/c/65894/

A comment from inside the code:
The following through the end of the function deals with
an upgrade scenario where the neutron configuration
is restored before the OVS switches reconnect. In such a
case, the elan-dpn-interfaces entries will be
missing from the operational data store. In order to
mitigate this we use DataTreeEventCallbackRegistrar
to wait for the exact operational md-sal object we need
to contain the external interface we need.

Change-Id: Id02564a13e7f85933867e21c51e36c32bc60cd4e
Signed-off-by: Josh <jhershbe@redhat.com>
6 years agoNETVIRT-1065 Handle new bridges 99/67399/4
Josh [Tue, 16 Jan 2018 15:59:35 +0000 (17:59 +0200)]
NETVIRT-1065 Handle new bridges

If a provider network's value is a bridge name we
patch it to br-int. If the bridge does not exist prior
to the discovery of the provider mapping ODL will assume
the provider net is a local port and add it to br-int.
However, a user can remove that port and then add the bridge
and now the code will detect that addition and create the
patch ports.

Change-Id: Ieae1a37ccf90caa51566864be14d840319429e61
Signed-off-by: Josh <jhershbe@redhat.com>
(cherry picked from commit 216a424f69d254cbafe86a06cd90a42ed7fb6d2e)

6 years agoFIXUP neutronvpn.shell.ConfigureL3VpnCommand issue 53/67353/2
Noel de Prandières [Fri, 19 Jan 2018 14:04:50 +0000 (15:04 +0100)]
FIXUP neutronvpn.shell.ConfigureL3VpnCommand issue

ConfigureL3VpnCommand is not ready yet to use rpcRegistry

Change-Id: If39a18edca4e29853209dffacca4f76cfba320bc
Signed-off-by: Noel de Prandières <prandieres@6wind.com>
6 years agoUpdate openstack-guide security group section 05/65005/5
Moshe Levi [Wed, 1 Nov 2017 22:31:29 +0000 (00:31 +0200)]
Update openstack-guide security group section

This commit update the openstack-guide to reflect the
current implementation. It removes the old security-group-mode
and adds openstack commands on how to spwan vm without security
groups.

Change-Id: I93b0e20453c0b4910120a3a4b7aceb0b0d4937c1
Signed-off-by: Moshe Levi <moshele@mellanox.com>
6 years agoSupport symmetric chain classification 26/67326/4
Jaime Caamaño Ruiz [Thu, 18 Jan 2018 17:55:34 +0000 (18:55 +0100)]
Support symmetric chain classification

Symmetric chain classification through networking-sfc requires a flow
classifier that defines both a source and a destination logical port.
This patch adds support for such scenario.

RedirectToSfc can now specify a SFP name. Classification for the
forward RSP of that SFP will be done on the source port. Classification
for the reverse RSP of that SFP will be done on the destination port.
Sfc translator has been modified to specify a SFP name in
RedirectToSfc instead of a RSP name.

When RedirectToSfc specifies a RSP name, if the RSP is not reverse,
classification will be done in the source port. Classification will
happen in the destination port otherwise. No classification will be
done if no source port is specified for a reverse RSP, and viceversa.
If a network is specified instead, all the ports of the network will be
considered source ports if the RSP is not reverse, and destination
ports otherwise, meaning that classification will happen on those ports
wether the RSP is forward or reverse. This maintains legacy behavior
with respect network classification.

Change-Id: I86d85a58688367591784f4361aacd095e9cbccf0
Signed-off-by: Jaime Caamaño Ruiz <jcaamano@suse.com>
6 years agoSupport directional-dpls & cleanup sfc-translator 74/67274/4
Jaime Caamaño Ruiz [Mon, 15 Jan 2018 15:19:49 +0000 (16:19 +0100)]
Support directional-dpls & cleanup sfc-translator

This patch adds support for the new directional-dpl sfc spec. It allows
to setup both the egress and ingress ports of a port pair as distinct
service funcion data plane locators so that they are used appropriately
depending on the direction of a symmetric path.

This patch also fully transitions to the logical sff configuration model
cleaning up code that applied to the old configuration model. The
logical sff configuration model makes thing much simpler: neutron port
uuids are configured directly in sfc as logical interface data plane
locators without the need to fetch aditional data about them.

Change-Id: Ibee6e2707878932ae1efbfd4ab0eae8a78056437
Signed-off-by: Jaime Caamaño Ruiz <jcaamano@suse.com>
6 years agoAdd restconf to coe feature 93/67093/2
Faseela K [Fri, 12 Jan 2018 07:10:14 +0000 (12:40 +0530)]
Add restconf to coe feature

As we are starting with csit activities for coe, it will be useful
if restconf is also included inside the user-facing feature

Change-Id: I6d0bda34c83528026a1618cd57b5917d50ad9189
Signed-off-by: Faseela K <faseela.k@ericsson.com>
6 years agoadd csit tools 17/66617/3
Sam Hague [Tue, 19 Dec 2017 15:42:19 +0000 (10:42 -0500)]
add csit tools

Change-Id: I6d7df190633fef95ea3ed3b560933f96733409de
Signed-off-by: Sam Hague <shague@redhat.com>
6 years agoAdjust for odlparent 3 / yangtools 2 63/66563/4
Stephen Kitt [Mon, 18 Dec 2017 13:00:02 +0000 (14:00 +0100)]
Adjust for odlparent 3 / yangtools 2

This disables ElanServiceTest which is broken (see GENIUS-109), and
SFC to enable earlier testing.

Change-Id: I204aabf268275b1f9d359c85db4263ad07358d5e
Signed-off-by: Stephen Kitt <skitt@redhat.com>
Signed-off-by: Sam Hague <shague@redhat.com>
6 years agouse more common logger for alarm (i.e org.slf4j.Logger) 09/67109/3
Noel de Prandières [Fri, 12 Jan 2018 13:32:06 +0000 (14:32 +0100)]
use more common logger for alarm (i.e org.slf4j.Logger)

Change-Id: I3ea7f6ace69406facd421e10f22b13f2e9505198
Signed-off-by: Noel de Prandières <prandieres@6wind.com>
6 years agospec for sriov-hardware-offload 81/62481/16
Moshe Levi [Thu, 31 Aug 2017 07:19:52 +0000 (10:19 +0300)]
spec for sriov-hardware-offload

Change-Id: If4a137f24f65785daa2a651b70aaf1aa32ae043a
Signed-off-by: Moshe Levi <moshele@mellanox.com>
Co-Authored-By: Edan David <edand@mellanox.com>
6 years agoDisable building policyservice 79/67079/2
Sam Hague [Thu, 11 Jan 2018 21:17:17 +0000 (16:17 -0500)]
Disable building policyservice

Change-Id: I9d539dfcbc447e41b76c50f1894c2df4cd768d9a
Signed-off-by: Sam Hague <shague@redhat.com>
6 years agodisable building odl-ovsdb-ui 24/67124/1
Sam Hague [Fri, 12 Jan 2018 16:47:27 +0000 (11:47 -0500)]
disable building odl-ovsdb-ui

Change-Id: I71425eb83a3508b6f279d3e17206c2cafbd86926
Signed-off-by: Sam Hague <shague@redhat.com>
6 years agoMove SFC dependencies to a dedicated profile 80/66380/4
Stephen Kitt [Tue, 12 Dec 2017 09:49:33 +0000 (10:49 +0100)]
Move SFC dependencies to a dedicated profile

This creates an “sfc” profile which must be enabled if SFC
dependencies are to be built. It *is* enabled by default, so the
current behaviour is preserved, but can be disabled by enabling the
“no-sfc” profile.

Change-Id: Ia890371dc50a144cde7489402daff70c15f23284
Signed-off-by: Stephen Kitt <skitt@redhat.com>
6 years agoConvert VpnPseudoPortCache to non-static singleton 00/66400/3
Tom Pantelis [Tue, 12 Dec 2017 21:04:07 +0000 (16:04 -0500)]
Convert VpnPseudoPortCache to non-static singleton

Change-Id: I0847074e1a5170afdddb36997eaf8dd12e925fcb
Signed-off-by: Tom Pantelis <tompantelis@gmail.com>
6 years agoNETVIRT-1038 Fix bind logic in policymgr 09/67009/3
Vishal Thapar [Wed, 10 Jan 2018 11:18:37 +0000 (16:48 +0530)]
NETVIRT-1038 Fix bind logic in policymgr

TunnelStateChangeListener in policymanager seems to have
inconsistency between when it does bind and unbind.

Bind is called for vxlan tunnels while unbind for logicalGroups.

Fix is to call bind also for logicalGroups only as captured
in the feature spec [1].

[1]
http://docs.opendaylight.org/en/latest/submodules/netvirt/docs/specs/policy-based-path-selection.html#proposed-change

Change-Id: I25946ef80a313028427f49378494324f06a7c8bf
Signed-off-by: Vishal Thapar <vishal.thapar@ericsson.com>
6 years agoLog level and message updated 71/66871/2
Tarun Thakur [Thu, 4 Jan 2018 11:00:07 +0000 (16:30 +0530)]
Log level and message updated

Log level updated from warn to error and
added few more parameters into log messages of AclServiceUtils and
NeutronSecurityRuleListener classes to help in debugging.

Change-Id: Ia01c033a7b383de6bcf368f027d9b8e21f72b1a9
Signed-off-by: Tarun Thakur <tarun.t@altencalsoftlabs.com>
6 years agoBug 8998 - sriov vm connectivity broken 67/66867/2
eaksahu [Thu, 4 Jan 2018 09:35:33 +0000 (15:05 +0530)]
Bug 8998 - sriov vm connectivity broken

Use the right dpn id while updating its broadcast group

Change-Id: Ifd2d3f3a445a2621cfc1aae74e48037e95fac5ed
Signed-off-by: eaksahu <a.k.sahu@ericsson.com>
6 years agoConvert L2GatewayCacheUtils to non-static singleton service 37/66337/4
Tom Pantelis [Sat, 9 Dec 2017 17:35:13 +0000 (12:35 -0500)]
Convert L2GatewayCacheUtils to non-static singleton service

Crrated an interface, L2GatewayCache, with an associated
L2GatewayCacheImpl that is advertised as an OSGI service.
The L2GatewayCacheUtils had a couple update* methods that
only had one call site so I just inlined the code in the
caller to keep L2GatewayCache as a simple cache.

To avoid perpetuating circular bundle dependencies and having to
use optional availability on reference import, I put the
L2GatewayCacheImpl in a new bundle, cache-impl.

Change-Id: I4c1dcc761afcdaa214e4bdcf53f9ddb85363539f
Signed-off-by: Tom Pantelis <tompantelis@gmail.com>
6 years agoRemove unused static fields in HwvtepTerminationPointListener 71/66771/2
Tom Pantelis [Tue, 26 Dec 2017 23:27:53 +0000 (18:27 -0500)]
Remove unused static fields in HwvtepTerminationPointListener

The static fields, waitingJobsList and teps, are essentially no
longer used (ie have no effect now) so remove them.

Change-Id: I18f6ca8703a1317648c1298ca593ce230840c116
Signed-off-by: Tom Pantelis <tompantelis@gmail.com>
6 years agoFix ConflictingModificationAppliedException with 3 retries 44/65944/3
Michael Vorburger [Mon, 27 Nov 2017 22:06:22 +0000 (23:06 +0100)]
Fix ConflictingModificationAppliedException with 3 retries

see https://jira.opendaylight.org/browse/NETVIRT-916

Change-Id: I13d9e0da2de10bda2fb913da9393991f7aef2392
Signed-off-by: Michael Vorburger <vorburger@redhat.com>
6 years agoUpdate cni specification link in coe spec 87/66887/3
Faseela K [Fri, 5 Jan 2018 10:04:52 +0000 (15:34 +0530)]
Update cni specification link in coe spec

Change-Id: Iebcfcd88b1edd0ace6160704cb34d5eb231afa9d
Signed-off-by: Faseela K <faseela.k@ericsson.com>
6 years agoDeletion of POD is not deleting corresponding ietf-interface 77/66877/1
Faseela K [Thu, 4 Jan 2018 15:45:49 +0000 (21:15 +0530)]
Deletion of POD is not deleting corresponding ietf-interface

Change-Id: Ib0c87fd4a7e5e9403980c68907487e8e2dabce93
Signed-off-by: Faseela K <faseela.k@ericsson.com>
6 years agoUpdates to COE ELAN integration 87/66287/5
Faseela K [Wed, 6 Dec 2017 18:05:36 +0000 (23:35 +0530)]
Updates to COE ELAN integration

- All pods of same namespace within the same node
  should be part of same ELAN.
- Pods of same namepsace, but under different node
  will not be part of same ELAN.
- Ietf interface as well as elan-interface names
  should have a format namespace:podName to match
  with the external id coming from CNI plugin

Change-Id: Ia33506190299ffb4cc6f2ff47209282ed437cf76
Signed-off-by: Faseela K <faseela.k@ericsson.com>
6 years agoAdding compute node scale in scale out spec 46/66346/9
K.V Suneelu Verma [Mon, 11 Dec 2017 11:25:07 +0000 (16:55 +0530)]
Adding compute node scale in scale out spec

Change-Id: I382addbc8db175bf3a1f07640d28f5a83791f80d
Signed-off-by: K.V Suneelu Verma <k.v.suneelu.verma@ericsson.com>
6 years agoDrop Karaf shell specifiers 82/66382/4
Stephen Kitt [Tue, 12 Dec 2017 10:20:35 +0000 (11:20 +0100)]
Drop Karaf shell specifiers

We no longer need to support Karaf 3, and the karaf.shell
"[3.0.0,4.1)" declarations prevent us from upgrading to Karaf 4.1
(which is coming with odlparent 3).

Change-Id: I317dc1c99acf8de19c5341bd9b706ed8e09a0f1a
Signed-off-by: Stephen Kitt <skitt@redhat.com>
6 years agoSpec for weighted NAPT selection 62/64862/3
Vishal Thapar [Mon, 30 Oct 2017 05:25:02 +0000 (10:55 +0530)]
Spec for weighted NAPT selection

Change-Id: If4e6540373a8caf2ef7f401c7ee11df7b9debf1d
Signed-off-by: Vishal Thapar <vishal.thapar@ericsson.com>
6 years agoNETVIRT-970: IPv6 Cluster Support 88/66388/2
Sridhar Gaddam [Tue, 12 Dec 2017 06:03:52 +0000 (11:33 +0530)]
NETVIRT-970: IPv6 Cluster Support

This patch updates the listeners in ipv6service to be
cluster aware and ensures that only the cluster owner
does the following.
  a. programming the necessary ipv6 control path flows.
  b. sending out periodic router advertisements.

Change-Id: I4b437b14e13da93701fcd94ac271ff3fe4426983
Signed-off-by: Sridhar Gaddam <sgaddam@redhat.com>
6 years agoNETVIRT 1029:Route label mismatch for Subnet route 82/65882/2
Loshmitha [Fri, 24 Nov 2017 08:35:49 +0000 (14:05 +0530)]
NETVIRT 1029:Route label mismatch for Subnet route
For an update of network,BGP was deleting the old network,sleeping for 5
secs and adding a new network to QBGP.But if the same network update
came in this 5 secs,it was creating issues.So removing 5 sec delay after
checking with QBGP guys

Change-Id: I9a4cb8f096b608e84e377eeb301d3bd52519b175
Signed-off-by: Loshmitha <loshmitha@ericsson.com>
6 years agoBug 8998 - Adding support for multiple PS 60/65560/12
eaksahu [Wed, 15 Nov 2017 17:17:18 +0000 (22:47 +0530)]
Bug 8998 - Adding support for multiple PS

Following Listners do following job
onGlobalNodeAdd ------->copy child operational global node to parent node
copy parent config global node to child node
copy child ps operational node to parent ps
copy parent ps config to child ps config
onGlobalNodeUpdate ---->copy child operational global node update to parent
onGlobalNodeDelete ---->delete parent operational global node if all child got deleted
onPsNodeAdd ----------->copy child operational ps node to parent ps
                        copy parent config ps to child ps
onPsNodeUpdate -------->copy child update to parent
onPsNodeDelete -------->delete parent operation ps node if all child got deleted

Change-Id: I27d2e6896cadc38fd7c88e5d469ae89603e687c7
Signed-off-by: eaksahu <a.k.sahu@ericsson.com>
6 years agoTools to troubleshoot netvirt 28/63128/9
Vishal Thapar [Tue, 22 Aug 2017 16:09:35 +0000 (21:39 +0530)]
Tools to troubleshoot netvirt

Change-Id: Ie008f8f67dbff3ca980e3b48af121275c98e2014
Signed-off-by: Vishal Thapar <vishal.thapar@ericsson.com>
6 years agoDon't export packages in impl bundles 40/66340/4
Tom Pantelis [Mon, 11 Dec 2017 04:58:10 +0000 (23:58 -0500)]
Don't export packages in impl bundles

Add empty <Export-Package> to the maven-bundle-plugin configuration
to prevent any dependencies on the bundle and prevent @Singleton
annotated classes from being accidently included in another bundle's
blueprint XML.

Change-Id: Iab1c2ea41fff3782770e17cf68eb8156221dcdff
Signed-off-by: Tom Pantelis <tompantelis@gmail.com>
6 years agoFix odlparent 3 Checkstyle issues 53/65853/8
Stephen Kitt [Tue, 14 Nov 2017 08:31:23 +0000 (09:31 +0100)]
Fix odlparent 3 Checkstyle issues

This doesn’t upgrade to odlparent 3, but fixes all the issues that the
new Checkstyle settings in odlparent 3 pick up; in particular, utility
classes need private constructors and need to be final, and parameters
and local variables mustn’t shadow fields.

Change-Id: Ifb43f4177cd12766538b572299cb8f858b420476
Signed-off-by: Stephen Kitt <skitt@redhat.com>
6 years agoSpec for coe-netvirt integration 50/63250/14
Faseela K [Mon, 18 Sep 2017 21:00:13 +0000 (02:30 +0530)]
Spec for coe-netvirt integration

Change-Id: Ic2e739feaa6dbf3be8a69c7082046f47ae7eb1f9
Signed-off-by: Faseela K <faseela.k@ericsson.com>
6 years agoAdd findbugs plugin to the binding-parent pom 38/66338/2
Tom Pantelis [Sat, 9 Dec 2017 21:52:35 +0000 (16:52 -0500)]
Add findbugs plugin to the binding-parent pom

Now that virtually all of the sub-projects have findbugs enabled, we
can now add it to the binding-parent pom and remove it from each
sub-project pom. This has the added benefit that new sub-projects will
automatically pick it up.

Also fixed remaining violations in:

  aclservice-shell
  fibmanager-shell
  neutronvpn-shell

Change-Id: Ibeba7e83a7556a65afb2d7e82c26ad349625a2bf
Signed-off-by: Tom Pantelis <tompantelis@gmail.com>
6 years agoEliminate circular dependencies and convert to BP annotations in elanmanager 80/65880/14
Tom Pantelis [Fri, 24 Nov 2017 06:32:05 +0000 (01:32 -0500)]
Eliminate circular dependencies and convert to BP annotations in elanmanager

ElanInstanceManager -> ElanInterfaceManager -> ElanUtils -> ElanInstanceManager

  Elimnated ElanUtils -> ElanInstanceManager by moving
  ElanInterfaceManager.getElanDPNByName to ElanUtils.

Eliminated ElanInterfaceManager.setElanUtils and
ElanUtils.getElanL2GatewayMulticastUtils that were put in to avoid circular
dependencies between ElanUtils, ElanInterfaceManager, ElanInterfaceManager and
ElanL2GatewayMulticastUtils. The circular dependencies were eliminated by
eliminating the dependencies between

  ElanL2GatewayMulticastUtils -> ElanInterfaceManager and
  ElanL2GatewayMulticastUtils -> ElanInstanceManager.

The former entailed moving
ElanInterfaceManager.updateRemoteBroadcastGroupForAllElanDpns et al
to ElanL2GatewayMulticastUtils.

The latter entailed the caller looking up and passing the ElanInstance to
updateRemoteBroadcastGroupForAllElanDpns via handleMcastForElanL2GwDeviceDelete,
handleMcastForElanL2GwDeviceAdd. The call sites for these are
DisAssociateHwvtepFromElanJob and LogicalSwitchAddedJob via
L2GatewayConnectionUtils, AssociateHwvtepToElanJob and HwvtepLogicalSwitchListener.

Change-Id: Ida1d3c64e6a122af6f96fad59b5295319a2098ef
Signed-off-by: Tom Pantelis <tompantelis@gmail.com>
6 years agoConvert InterVpnLinkCache to non-static singleton 58/66158/6
Tom Pantelis [Thu, 30 Nov 2017 19:04:34 +0000 (14:04 -0500)]
Convert InterVpnLinkCache to non-static singleton

InterVpnLinkCache is now an interface with InterVpnLinkCacheImpl
that is advertised as a service. InterVpnLinkCache is also used
by fibmanager-impl which, unfortuantely, creates a circular
service dependency with vpnamnager-impl so the service import
ws made optional. A better sution would be to put the
InterVpnLinkCacheImpl in a separate bundle.

Change-Id: If09ba2b99110c1d43c87985110e69365ec76f33f
Signed-off-by: Tom Pantelis <tompantelis@gmail.com>
6 years agoNETVIRT-1023 - OptimisticLockFailedException: infrautils.jobcoordinator-impl 60/66160/2
Victor Pickard [Fri, 1 Dec 2017 16:19:14 +0000 (11:19 -0500)]
NETVIRT-1023 - OptimisticLockFailedException: infrautils.jobcoordinator-impl

https://jira.opendaylight.org/browse/NETVIRT-1023

Looks like my patch below introduced a new exception.
 https://git.opendaylight.org/gerrit/#/c/65726/

Looks like only the TZ should be deleted, which will also delete
the VTEP. So, just delete the TZ.

Note: This exception only showed up in CSIT runs, did not see
any exceptions in local testing.

Change-Id: I4d6c0a180a2845b4658b6759222b1fc1e782f0db
Signed-off-by: Victor Pickard <vpickard@redhat.com>
6 years agoUpdated to call bind/unbind from ACL interface state listener to avoid 24/65924/2
Shashidhar Raja [Mon, 27 Nov 2017 07:47:48 +0000 (13:17 +0530)]
Updated to call bind/unbind from ACL interface state listener to avoid
stale flows during VM migration

Change-Id: I4b61f96b0672e4a70160926d762510f665eb7732
Signed-off-by: Shashidhar Raja <shashidharr@altencalsoftlabs.com>
6 years agoMiscellaneous cleanup in natservice-impl 83/66083/2
Tom Pantelis [Thu, 30 Nov 2017 03:28:59 +0000 (22:28 -0500)]
Miscellaneous cleanup in natservice-impl

See inline comments.

Change-Id: Ie2b13930c8830a495738042df4fd397b00e5ba4f
Signed-off-by: Tom Pantelis <tompantelis@gmail.com>
6 years agoConvert BgpUtil to non-static singleton 73/66073/2
Tom Pantelis [Wed, 29 Nov 2017 19:30:29 +0000 (14:30 -0500)]
Convert BgpUtil to non-static singleton

Change-Id: I70a61df997b1d2d66e56b55389596976c8a4444a
Signed-off-by: Tom Pantelis <tompantelis@gmail.com>
6 years agoConvert bgpmanager-impl to use BP annotations 63/66063/3
Tom Pantelis [Wed, 29 Nov 2017 15:44:19 +0000 (10:44 -0500)]
Convert bgpmanager-impl to use BP annotations

The CLI command classes were also changed to inject the BpgManager
instead of obtaining statically from Commands.

Change-Id: I597efb41fd99c4b839c662308c635c2394bc3820
Signed-off-by: Tom Pantelis <tompantelis@gmail.com>
6 years agoFix FindBugs violations and enable enforcement in statistics 97/65897/4
Tom Pantelis [Fri, 24 Nov 2017 22:59:39 +0000 (17:59 -0500)]
Fix FindBugs violations and enable enforcement in statistics

See in-line comments.

Change-Id: I5d17d62d71ed25d0286dfa9b4412b0d2dd8ed34f
Signed-off-by: Tom Pantelis <tompantelis@gmail.com>
6 years agoEnable FindBugs enforcement in remaining projects 31/65931/6
Tom Pantelis [Mon, 27 Nov 2017 18:14:03 +0000 (13:14 -0500)]
Enable FindBugs enforcement in remaining projects

bgpmanager-api
coe
fibmanager-api
statemanager
vpnmanager-api

Change-Id: I38101e24842173145cb98aa1340e125a7c1f9e4f
Signed-off-by: Tom Pantelis <tompantelis@gmail.com>
6 years agoRemove static alertThreshold in QosAlertPortData 31/66031/3
Tom Pantelis [Tue, 28 Nov 2017 21:18:38 +0000 (16:18 -0500)]
Remove static alertThreshold in QosAlertPortData

Pass a Supplier to QosAlertPortData to obtain the threshold. The
Supplier is maintained by the QosAlertManager.

Change-Id: I409765654d869eb2a4d7bf5a671705abe60e7e54
Signed-off-by: Tom Pantelis <tompantelis@gmail.com>
6 years agoMove sometimes verbose log from INFO to DEBUG 58/63958/4
Jamo Luhrsen [Wed, 4 Oct 2017 18:13:07 +0000 (11:13 -0700)]
Move sometimes verbose log from INFO to DEBUG

as seen in this failing CSIT [0] this log message was
logged at INFO level repeatedly some 2700+ times.

if it's needed at INFO level, at least we need to slow it down

[0] https://logs.opendaylight.org/releng/jenkins092/netvirt-csit-1node-openstack-queens-upstream-stateful-oxygen/7/odl1_karaf.log.gz

Change-Id: Icce9bd14c0bcfb40cfe4b73658554a751d499cb9
Signed-off-by: Jamo Luhrsen <jluhrsen@redhat.com>
6 years agoFix FindBugs violations and enable enforcement in policyservice 99/65899/3
Tom Pantelis [Fri, 24 Nov 2017 16:27:49 +0000 (11:27 -0500)]
Fix FindBugs violations and enable enforcement in policyservice

See in-line comments.

Change-Id: I3dd9d025fee4b92b6c402999b25a924b877156f6
Signed-off-by: Tom Pantelis <tompantelis@gmail.com>
6 years agoFix FindBugs violations and enable enforcement in cloudservicechain 00/65900/3
Tom Pantelis [Fri, 24 Nov 2017 19:56:27 +0000 (14:56 -0500)]
Fix FindBugs violations and enable enforcement in cloudservicechain

See in-line comments.

Change-Id: I79438536ecb7f7c5c5e63ca732e881f0dce1bb98
Signed-off-by: Tom Pantelis <tompantelis@gmail.com>
6 years agoFix FindBugs violations and enable enforcement in sfc 98/65898/2
Tom Pantelis [Fri, 24 Nov 2017 18:15:36 +0000 (13:15 -0500)]
Fix FindBugs violations and enable enforcement in sfc

See in-line comments.

Change-Id: Ie3648f0c3a47efa629a0819ccd520e303e10d344
Signed-off-by: Tom Pantelis <tompantelis@gmail.com>
6 years agoNETVIRT-1030 Unbinding elan service during interface state change 04/64804/7
eceghkl [Fri, 27 Oct 2017 12:06:56 +0000 (17:36 +0530)]
NETVIRT-1030 Unbinding elan service during interface state change

*Issue: Unbind was not called during interface state change.
Interfacemanager used to handle unbind during state change. Recently,
other apps started unbinding itself during state change. Due to this
stale entries are coming in table 17 for elan

*Fix: Unbind the elan service during interface state change

Change-Id: I1422f3690fac7d7587930a04207d93361a29bea0
Signed-off-by: eceghkl <manu.b@ericsson.com>
6 years agoNETVIRT-1024: Fix NPE in Ipv6ServiceUtils.installIcmpv6NsPuntFlow API 83/65883/4
Sridhar Gaddam [Fri, 24 Nov 2017 09:55:58 +0000 (15:25 +0530)]
NETVIRT-1024: Fix NPE in Ipv6ServiceUtils.installIcmpv6NsPuntFlow API

Change-Id: I18e7685a87108a94969b6f862d9b2b49f9e126e5
Signed-off-by: Sridhar Gaddam <sgaddam@redhat.com>
6 years agoNETVIRT-1032: Add null checks for ConcurrentMap access 15/66015/2
Tom Pantelis [Tue, 28 Nov 2017 17:49:46 +0000 (12:49 -0500)]
NETVIRT-1032: Add null checks for ConcurrentMap access

ConcurrentMap doesn't allow null keys so protect access with null
checks.

Change-Id: I465ade8dbd7d0613c293ae168e12d78538652fd5
Signed-off-by: Tom Pantelis <tompantelis@gmail.com>
6 years agoUpdated two display commands provided by 6wind 93/66193/2
Shankar M [Mon, 4 Dec 2017 11:43:28 +0000 (17:13 +0530)]
Updated two display commands provided by 6wind

Change-Id: I550ffc301786b6a394c16549653063712a51129a
Signed-off-by: Shankar M <shankar.m@ericsson.com>
6 years agoImprove the wiring of component tests 71/66171/1
David Suarez [Fri, 1 Dec 2017 23:36:06 +0000 (00:36 +0100)]
Improve the wiring of component tests

Improve the wiring of component tests that use Guice wiring to consume
a DataBroker annotated as an OsgiService. This patch should be merged
before [1].

[1] https://git.opendaylight.org/gerrit/#/c/66148/

Change-Id: I3c63596c0f602c144b96dfd118ecd7a4f7613b4e
Signed-off-by: David Suarez <david.suarez.fuentes@gmail.com>
6 years agoEvpn Junit Testcases 96/65696/9
Riyazahmed D Talikoti [Sat, 18 Nov 2017 18:11:26 +0000 (23:41 +0530)]
Evpn Junit Testcases

1. Port is created in DPN1 before EVPN attach and check for RT2
advertisement.
2. Port is created in DPN1 after EVPN attach and check for RT2
advertisement.
3. Port is deleted in DPN1 check for RT2 withdrawal(if EVPN is attached).
4. Detach EVPN and check for RT2 withdrawal.
5. Add MacVrfEntry before EVPN attach and check for DMAC flor install for
RT2 received route.
6. Add MacVrfEntry after EVPN attach and check for DMAC flor install for
RT2 received route.
7. Withdraw RT2 route received, check for uninstalling the DMAC flow.

Additionally test helper files added.
Light weight implementation of some other module like bgpmanager,
vpnmanager is done and they are binded.

Change-Id: Ie0ec83dcec97a48d7f7c5f21c4865a6d98a3ceed
Signed-off-by: Riyazahmed D Talikoti <riyazahmed.d.talikoti@ericsson.com>
6 years agoAdd jobcoordinator-impl test dependency in neutronvpn-impl 75/66075/2
Tom Pantelis [Wed, 29 Nov 2017 21:55:08 +0000 (16:55 -0500)]
Add jobcoordinator-impl test dependency in neutronvpn-impl

https://git.opendaylight.org/gerrit/#/c/66064/ removes the
jobcoordinator-impl dependency from the mdsalutil-api pom which
neutronvpn-impl needs for UT's.

Change-Id: Ib24d8540ffc08caf0b5fdcea843e2a4851ce360b
Signed-off-by: Tom Pantelis <tompantelis@gmail.com>
6 years agoConvert AclInterfaceCacheUtil to non-static singletoni service. 27/66027/4
Tom Pantelis [Tue, 28 Nov 2017 16:18:19 +0000 (11:18 -0500)]
Convert AclInterfaceCacheUtil to non-static singletoni service.

An AclInterfaceCache interface was added to the api bundle with
the AclInterfaceCacheImpl in the impl bundle. The AclInterfaceCacheImpl
is advertised as an OSGi service.

The AclInterface class was not thread-safe. Instead of making it thread-safe,
it was made immutable to simplify things. The cache creates new instances
on updates. Also AclInterface instances are now created via a Builder.

Change-Id: Id3b69a87795d6ff0c6dcbd3ac599cd0326077e25
Signed-off-by: Tom Pantelis <tompantelis@gmail.com>
6 years agoNet-odl full-sync. Set router ext gw MAC 76/64876/3
Josh [Mon, 30 Oct 2017 08:02:17 +0000 (10:02 +0200)]
Net-odl full-sync. Set router ext gw MAC

During full-sync networking-odl syncs routers before ports. As such,
the MAC of the router's gw port is not available to be set when the
internal netvirt router is written to md-sal. This commit adds logic
to update the router when the port is written.

Change-Id: Ic6b78f77a8352416d3260678dcd6624e2fcf8d68
Signed-off-by: Josh <jhershbe@redhat.com>
6 years agoDrop obsolete Maven site configuration 34/65934/1
Stephen Kitt [Mon, 27 Nov 2017 17:03:47 +0000 (18:03 +0100)]
Drop obsolete Maven site configuration

See
https://lists.opendaylight.org/pipermail/odlparent-dev/2017-November/001492.html

Change-Id: Id3fb2f82521cfe9ac7f0e2d0356a3b59db0f36a2
Signed-off-by: Stephen Kitt <skitt@redhat.com>
6 years agoRemove Ipv6ServiceUtils static instance 78/65878/3
Tom Pantelis [Fri, 24 Nov 2017 01:34:46 +0000 (20:34 -0500)]
Remove Ipv6ServiceUtils static instance

Make it a proper singleton. Also some of the conversion and
calculation methods are true utilities and thus were made static
to avoid having to inject it.

Change-Id: If96656895c5150024ab5b9d56fc3fed8ce26ba89
Signed-off-by: Tom Pantelis <tompantelis@gmail.com>
6 years agoMake ipv6service-impl classes thread-safe 77/65877/2
Tom Pantelis [Fri, 24 Nov 2017 00:17:46 +0000 (19:17 -0500)]
Make ipv6service-impl classes thread-safe

IfMgr, VirtualPort, VirtualRouter et al contain fields and Maps that aren't
synchronized. Make mutable fields volatile and use ConcurrentMaps.

Also Ipv6TimerWheel is only used by IfMgr so create a local instance instead
of a static instance and close it properly.

Change-Id: I2fef4df14a4efa5d65984040b40deade9d71bfe7
Signed-off-by: Tom Pantelis <tompantelis@gmail.com>
6 years agoConvert elanmanager-impl to use JobCoordinator 70/65670/10
Tom Pantelis [Fri, 17 Nov 2017 04:45:21 +0000 (23:45 -0500)]
Convert elanmanager-impl to use JobCoordinator

Change-Id: I8c104820589bab6a395e70545486007033a0ef6d
Signed-off-by: Tom Pantelis <tompantelis@gmail.com>
6 years agoFix FindBugs violations and enable enforcement in elanmanager-impl 20/65520/25
Tom Pantelis [Wed, 22 Nov 2017 13:07:05 +0000 (08:07 -0500)]
Fix FindBugs violations and enable enforcement in elanmanager-impl

See in-line comments

Change-Id: I4d8b7cf418ebb0aa46435de3c5cb2b3b06440b71
Signed-off-by: Tom Pantelis <tompantelis@gmail.com>
6 years agoFix FindBugs violations and enable enforcement in natservice 46/65846/3
Tom Pantelis [Wed, 22 Nov 2017 16:27:13 +0000 (11:27 -0500)]
Fix FindBugs violations and enable enforcement in natservice

See in-line comments

Change-Id: I831e0a60048cddce1224356ae27f3e8359ea17d2
Signed-off-by: Tom Pantelis <tompantelis@gmail.com>
6 years agoFix FindBugs violations and enable enforcement in ipv6service 56/65856/3
Tom Pantelis [Wed, 22 Nov 2017 22:20:46 +0000 (17:20 -0500)]
Fix FindBugs violations and enable enforcement in ipv6service

See in-line comments.

Eliminated the static instances for IfMgr and Ipv6PeriodicTrQueue.

The ShowIpv6Command class referenced the static IfMgr instance.
I extracted an interface, ElementCache, for the IfMgr whicb is
advertsed as a service and injected into ShowIpv6Command. The shell
bundle shouldn't reference packages in the impl bundle so I also
extracted interfaces for VirtualRouter, VirtualPort et al.

Ipv6ServiceImpl basically just wired the static instances - since
this is no longer needed, Ipv6ServiceImpl was removed.

Change-Id: I635ff43cffded41c7a32079214cff48a057f4fac
Signed-off-by: Tom Pantelis <tompantelis@gmail.com>
6 years agoFix FindBugs violations and enable enforcement in aclservice 77/65777/5
Tom Pantelis [Tue, 21 Nov 2017 02:29:12 +0000 (21:29 -0500)]
Fix FindBugs violations and enable enforcement in aclservice

See in-line comments

Change-Id: If57c4a0c1a9478daaffeb08132bdf117ecbd59a6
Signed-off-by: Tom Pantelis <tompantelis@gmail.com>
6 years agoFix the fix for the bad transaction leak in VpnInterfaceManager 35/65835/1
Michael Vorburger [Wed, 22 Nov 2017 09:58:20 +0000 (10:58 +0100)]
Fix the fix for the bad transaction leak in VpnInterfaceManager

In 0c3a7e3103fea3dc039519ab4d4497fd218dc3d8 for
I0f62fcc17c037365c9384e56c9f6f5a430693c20 there was a left-over
tx.submit() that should have also been removed as part of it (because
callWithNewWriteOnlyTransactionAndSubmit already does that, as its name
says).  This fixes the follow new error which started appearing in CSIT
logs since that was merged:

2017-11-21 18:05:05,592 | ERROR | ChangeHandler-77 | L3vpnPopulator
| 349 - org.opendaylight.netvirt.vpnmanager-impl - 0.6.0.SNAPSHOT |
Future (eventually) failed: addToLabelMapper
java.lang.UnsupportedOperationException: submit() cannot be used inside
a Managed[New]TransactionRunner

see https://jira.opendaylight.org/browse/NETVIRT-985

Change-Id: Ic2c8b02670242f3a3f190860c205d7d70c2939b3
Signed-off-by: Michael Vorburger <vorburger@redhat.com>
6 years agoEVPN RT2 : L2VNI demux table changes 27/58927/15
Vyshakh Krishnan CH [Mon, 10 Jul 2017 14:11:37 +0000 (19:41 +0530)]
EVPN RT2 : L2VNI demux table changes

When a packet comes from another DC in evpn RT2 scenario, it lands up in
table 24(l2vni demux table) from where the elan tag is derived and send
to destination mac table

Change-Id: I3ddf1b0d086a78eb1b2cc7a2760f02bf1c55ae4d
Signed-off-by: Vyshakh Krishnan CH <vyshakh.krishnan.c.h@ericsson.com>
6 years agoNETVIRT-937: Fix NPE in ElanInstanceManager 21/65821/2
Tom Pantelis [Tue, 21 Nov 2017 22:50:27 +0000 (17:50 -0500)]
NETVIRT-937: Fix NPE in ElanInstanceManager

2017-11-21 16:21:43,179 | ERROR | nPool-1-worker-2 | JobCoordinatorImpl               | 261 - org.opendaylight.infrautils.jobcoordinator-impl - 1.3.0.SNAPSHOT | Runnnable likely about to terminate thread due to uncaught exception; but here is useful debugging context: JobEntry{key='elaninterface-963a4d35-297e-4757-be14-6c3dec354221', mainWorker=org.opendaylight.netvirt.elan.internal.ElanInstanceManagerElanInstanceManager$$Lambda$774/1098386956@516cbba2, rollbackWorker=null, retryCount=6, futures=[null, com.google.common.util.concurrent.ImmediateFuture$ImmediateSuccessfulCheckedFuture@39325841]}
java.lang.NullPointerException: at index 0
at com.google.common.collect.ObjectArrays.checkElementNotNull(ObjectArrays.java:235)[27:com.google.guava:22.0.0]
at com.google.common.collect.ObjectArrays.checkElementsNotNull(ObjectArrays.java:225)[27:com.google.guava:22.0.0]
at com.google.common.collect.ObjectArrays.checkElementsNotNull(ObjectArrays.java:219)[27:com.google.guava:22.0.0]
at com.google.common.collect.ImmutableList.construct(ImmutableList.java:342)[27:com.google.guava:22.0.0]
at com.google.common.collect.ImmutableList.copyOf(ImmutableList.java:257)[27:com.google.guava:22.0.0]
at com.google.common.collect.ImmutableList.copyOf(ImmutableList.java:228)[27:com.google.guava:22.0.0]
at com.google.common.util.concurrent.Futures.allAsList(Futures.java:835)[27:com.google.guava:22.0.0]
at org.opendaylight.infrautils.jobcoordinator.internal.JobCoordinatorImpl$MainTask.runWithUncheckedExceptionLogging(JobCoordinatorImpl.java:369)[261:org.opendaylight.infrautils.jobcoordinator-impl:1.3.0.SNAPSHOT]

The futures List in remove is reused across the submitted jobs in the forEach loop
which is unsafe as the List is accessed by multiple threads. Each job now returns its
own local futures List.

The futures returned from elanInterfaceManager.removeElanInterface
were also added to the List but I don't see the purpose of this. removeElanInterface
waits for those tx's to complete. Maybe it was so the JC would retry them? If so, this
entire code path has a mix of sync and async transactions which is a bit confusing -
some are submitted to the JC, ohers aren't; some may be retried, others aren't.

Change-Id: I82193fc36a339db42b83df5bfa3d17ff0a88dfa0
Signed-off-by: Tom Pantelis <tompantelis@gmail.com>
6 years agoFix NPE in NeutronvpnManager 19/65819/2
Tom Pantelis [Tue, 21 Nov 2017 20:54:24 +0000 (15:54 -0500)]
Fix NPE in NeutronvpnManager

CSIT log shows:

2017-11-21 17:20:01,945 | ERROR | nPool-1-worker-3 | JobCoordinatorImpl               | 261 - org.opendaylight.infrautils.jobcoordinator-impl - 1.3.0.SNAPSHOT | Exception when executing jobEntry: JobEntry{key='PORT-f08a0cc9-49aa-4db8-b69b-dcc486817764', mainWorker=org.opendaylight.netvirt.neutronvpn.NeutronvpnManager$$Lambda$825/713684833@92010fc, rollbackWorker=null, retryCount=0, futures=null}
java.lang.NullPointerException
at org.opendaylight.netvirt.neutronvpn.NeutronvpnManager.withdrawPortIpFromVpnIface(NeutronvpnManager.java:817)
at org.opendaylight.netvirt.neutronvpn.NeutronvpnManager.lambda$removeSubnetFromVpn$2(NeutronvpnManager.java:1413)

This line:

  if (sn == null || !adj.getSubnetId().equals(sn.getId()))

I assume adj isn't null in which case getSubnetId() must be null. I changed it to
use Objects.equals which means the equals check would evaluate to false if
getSubnetId() is null (unless sn.getId() is also null). I assume this is correct.

Change-Id: Ib769273ee805e333fc96d0fcb83db15da056f69e
Signed-off-by: Tom Pantelis <tompantelis@gmail.com>