controller.git
16 months agoAdjust to mdsal DOM read/exists FluentFuture change 28/74128/8
Tom Pantelis [Tue, 17 Jul 2018 15:05:41 +0000 (11:05 -0400)]
Adjust to mdsal DOM read/exists FluentFuture change

This patch needs to be coordinated with
https://git.opendaylight.org/gerrit/#/c/74127/.

Change-Id: Iceeff9f9f75ca40ebc31bd839b5e6a5c8639aa4c
Signed-off-by: Tom Pantelis <tompantelis@gmail.com>
16 months agoUpdate odl-message-bus-collector dependencies 80/74080/2
Robert Varga [Mon, 16 Jul 2018 18:26:35 +0000 (20:26 +0200)]
Update odl-message-bus-collector dependencies

odl-message-bus-collector requires draft-clemm ietf-topology, which
it is currently pulling odl-mdsal-broker-local transitively.

Explicitly depend on the model, so odl-mdsal-broker-local can load
without additional models.

Change-Id: Ib0eb898fe3d801a937d389886ff924a0895b48c8
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
16 months agoLower odl-clustering-test-app 79/74079/2
Robert Varga [Mon, 16 Jul 2018 18:19:09 +0000 (20:19 +0200)]
Lower odl-clustering-test-app

This feature requires only RFC6991 ietf-{inet,yang}-types, lower
its dependencies accordingly.

Change-Id: Ic11fe663ca33297b652d160fcb8635b473c0b591
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
16 months agoLower odl-controller-model-topology dependencies 78/74078/2
Robert Varga [Mon, 16 Jul 2018 18:13:52 +0000 (20:13 +0200)]
Lower odl-controller-model-topology dependencies

This feature requires only draft-clemm topology model and
odl-mdsal-model-inventory, lower feature dependencies accordingly.

Change-Id: I66c32cac8f8dbc27c59ddf91c75d807242d49fe9
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
16 months agoLower odl-mdsal-model-inventory dependencies 77/74077/2
Robert Varga [Mon, 16 Jul 2018 18:09:06 +0000 (20:09 +0200)]
Lower odl-mdsal-model-inventory dependencies

This model requires only RFC6991 ietf-inet-types, depend on the correct
modular mdsal feature.

Change-Id: I466a47c46c770ee7283ad720ae5b68e0852024f6
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
16 months agoLower odl-benchmark-api dependencies 76/74076/2
Robert Varga [Mon, 16 Jul 2018 18:04:23 +0000 (20:04 +0200)]
Lower odl-benchmark-api dependencies

We really do not need all the models, only yang-ext, hence pull
only odl-mdsal-binding-base.

Change-Id: Id2429038fbe5cdf2e3c82270e4d66211f72d0409
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
16 months agoRestore binding RPC shortcut 35/74035/5
Tom Pantelis [Sat, 14 Jul 2018 01:42:46 +0000 (21:42 -0400)]
Restore binding RPC shortcut

The binding -> binding RPC serialization shortcut was broken by
recent changes so restore it. The LazyDOMRpcResultFuture from
the binding adapter is preserved by DOMRpcRouter via intermediate
DOMRpcResult adapters.

Change-Id: I98942471f4e8430d0043f5c09cb8a38ce2a5d7b9
Signed-off-by: Tom Pantelis <tompantelis@gmail.com>
16 months agoRemove sal.core.api.mount.MountProvisionListener 94/73894/6
Robert Varga [Tue, 10 Jul 2018 19:04:45 +0000 (21:04 +0200)]
Remove sal.core.api.mount.MountProvisionListener

There are no in-tree users, remove this interface.

Change-Id: I88c1b370db95db1e21bcd14bc21dbadd1f782852
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
16 months agoUse Binding{Data,RpcFuture}Aware 25/73825/6
Robert Varga [Mon, 9 Jul 2018 02:33:16 +0000 (04:33 +0200)]
Use Binding{Data,RpcFuture}Aware

In order to bridge mdsal and controller binding interfaces, we need
to have a common way of accessing the binding future. Companion MDSAL
patch added Binding{Data,RpcFuture}Aware interfaces, which exposes
just that, and his patch makes use of it in the controller.

JIRA: SFC-222
Change-Id: If2407f4950de1b34e809b275cc2afc4cfefc8a10
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
16 months agoEliminate getSupportedExtensions() 69/73969/3
Robert Varga [Thu, 12 Jul 2018 08:13:58 +0000 (10:13 +0200)]
Eliminate getSupportedExtensions()

blueprint does not like the default method, run a straight-up
removal.

Change-Id: I2bfbc5eb2587d6cd790cc8153c357f9251ac2485
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
16 months agoMove LegacyDOMDataBrokerAdapter to sal-core-compat 62/73962/2
Tom Pantelis [Thu, 12 Jul 2018 01:43:34 +0000 (21:43 -0400)]
Move LegacyDOMDataBrokerAdapter to sal-core-compat

Change-Id: I4e75bb4eda3418651d33c3d8a3852715dceeeee6
Signed-off-by: Tom Pantelis <tompantelis@gmail.com>
16 months agoAdd DOMExtensibleService.getExtensions() implementations 37/73937/1
Robert Varga [Wed, 11 Jul 2018 13:22:08 +0000 (15:22 +0200)]
Add DOMExtensibleService.getExtensions() implementations

This adds implementations so we can switchover the base interface
and require getExtensions() to be implemented. Also take advantage
of the improvement introduced in getExtensions() return type.

Change-Id: I67f05782d311b895088e248119e77832a8892724
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
16 months agoUse ClassToInstanceMap for extensions 35/73935/1
Robert Varga [Wed, 11 Jul 2018 13:01:25 +0000 (15:01 +0200)]
Use ClassToInstanceMap for extensions

Using a plain map was an API design mistake, make sure implementations
are serving a ClassToInstanceMap before embarking on migration.

Change-Id: I2609d08d9df9f0da8d4f23fdeb5007979db80d72
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
17 months agoDeprecate sal.core.api.mount.MountProvisionListener 91/73891/4
Robert Varga [Tue, 10 Jul 2018 17:59:03 +0000 (19:59 +0200)]
Deprecate sal.core.api.mount.MountProvisionListener

This interface has an exact copy in DOMMountPointListener, deprecate
it and adjust implementations to not require it.

Change-Id: If19a3a34094a9dbbc25665967074a32e562a7dca
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
17 months agoProxy DOMMountPointServiceImpl to MD-SAL API 58/73858/3
Tom Pantelis [Mon, 9 Jul 2018 17:07:56 +0000 (13:07 -0400)]
Proxy DOMMountPointServiceImpl to MD-SAL API

Change-Id: Ic16ce1a850340482688c492045101af45ca7e521
Signed-off-by: Tom Pantelis <tompantelis@gmail.com>
17 months agoRemove sal.core.api.BrokerService 90/73890/1
Robert Varga [Tue, 10 Jul 2018 17:41:28 +0000 (19:41 +0200)]
Remove sal.core.api.BrokerService

This interface has been long deprecated and it is not really used
anywhere. Remove it.

Change-Id: I8dcee98f19d80df4532891f73776dc4c268ef025
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
17 months agoRemove sal.core.api.RpcRoutingContext 89/73889/1
Robert Varga [Tue, 10 Jul 2018 17:39:35 +0000 (19:39 +0200)]
Remove sal.core.api.RpcRoutingContext

This class is not used anywhere, remove it.

Change-Id: Ibaad5ad39fe1726016c87b4d1c01660b1f301613
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
17 months agoProxy over MDSAL-provided IMDS 39/71439/5
Robert Varga [Thu, 26 Apr 2018 16:56:57 +0000 (18:56 +0200)]
Proxy over MDSAL-provided IMDS

This patch migrates Controller IMDS to be just a proxy over the
MDSAL's IMDS implementation.

Change-Id: I8e54ec344d010a91e06ef2f1fb63586de3b26949
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
17 months agoRemove sal.core.api.model 69/73869/5
Robert Varga [Tue, 10 Jul 2018 07:48:19 +0000 (09:48 +0200)]
Remove sal.core.api.model

This removes deprecated and unused sal.core.api.model package
along with its only implementation, migrating final stragglers
to DOMSchemaService.

Change-Id: Id355ffd96a5aaa0ffa48e018bfadea596ec58ac8
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
17 months agoRemove deprecated controller.sal.core.api interfaces 67/73867/4
Robert Varga [Tue, 10 Jul 2018 07:36:14 +0000 (09:36 +0200)]
Remove deprecated controller.sal.core.api interfaces

Broker, Consumer, Provider and related classes have been deprecated
for a long time and no longer have any in-tree users. Remove them.

Change-Id: I82aab628b7612e636d2c18427e5e71f93c11083f
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
17 months agoRemove use of CheckedFuture in clustering-it-provider 71/73871/2
Robert Varga [Tue, 10 Jul 2018 08:13:00 +0000 (10:13 +0200)]
Remove use of CheckedFuture in clustering-it-provider

We do not need checkedGet(), hence we can get by with a
ListenableFuture only.

Change-Id: Ie8cab5293a13041a90d275c2b67a90d06beaccad
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
17 months agoEliminate synthetic access to invoke0() 23/73823/1
Robert Varga [Mon, 9 Jul 2018 02:10:21 +0000 (04:10 +0200)]
Eliminate synthetic access to invoke0()

This method is invoked from InvocationStrategy, hence it being
private generates a synthetic accessor method. Change method
visibility to package-private, eliminating this inefficiency.

Change-Id: I74ee9f8c729ba8d0892316fc405a0d99830b5f04
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
17 months agoRemove netconf-node-inventory 55/73655/2
Robert Varga [Mon, 2 Jul 2018 15:10:38 +0000 (17:10 +0200)]
Remove netconf-node-inventory

This is a netconf-specific augmentation, remove it from controller.

Change-Id: I34ddcb6bdf70378d85cf8b29e5851b87623c9572
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
17 months agoCleanup model-{inventory,topology} build 53/73653/3
Robert Varga [Mon, 2 Jul 2018 15:00:10 +0000 (17:00 +0200)]
Cleanup model-{inventory,topology} build

This cleans up the use of superfluous parent-based configuration.

Change-Id: I9e1432dd745f2c77396ca0ee3f0964928211bb15
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
17 months agoDocument debug-transactions 24/62224/7
Robert Varga [Wed, 23 Aug 2017 18:53:45 +0000 (20:53 +0200)]
Document debug-transactions

This was left undocumented for some reason.

Change-Id: I49a7709fe7536009e5cbb9c7724e495952f9217a
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
17 months agoRemove unused version 21/73621/1
Luis Gomez [Sat, 30 Jun 2018 02:28:27 +0000 (19:28 -0700)]
Remove unused version

Change-Id: Ia250eac4cc7ddb57b6ffc6438fb83627008922aa
Signed-off-by: Luis Gomez <ecelgp@gmail.com>
17 months agoAdd transaction level traces 58/72658/2
Stephen Kitt [Mon, 4 Jun 2018 13:31:15 +0000 (15:31 +0200)]
Add transaction level traces

This adds traces giving information on the locations from which
transactions are created and committed. It also traces the transaction
identifier, with the intent of making it possible to match up
transaction traces with error messages.

Change-Id: Id82a79e8e430665f6fb5433ed7bab858044eacbe
Signed-off-by: Stephen Kitt <skitt@redhat.com>
17 months agoBump to yangtools 2.0.7 50/73450/5
Stephen Kitt [Tue, 26 Jun 2018 15:58:15 +0000 (17:58 +0200)]
Bump to yangtools 2.0.7

Change-Id: I85e5eea8824f2f35170abf59ac7aeef4759ec4f5
Signed-off-by: Stephen Kitt <skitt@redhat.com>
17 months agoUse features with ranges in odl-config-netty 76/73576/1
Stephen Kitt [Thu, 28 Jun 2018 17:40:46 +0000 (19:40 +0200)]
Use features with ranges in odl-config-netty

This adds a range dependency for odl-netty-4 and odl-guava-23.

Change-Id: I9ac0758e979e8253d56609ab5efbfb990ae04f63
Signed-off-by: Stephen Kitt <skitt@redhat.com>
17 months agoTrace the originating generation in RGE 29/73529/2
Stephen Kitt [Thu, 28 Jun 2018 11:48:21 +0000 (13:48 +0200)]
Trace the originating generation in RGE

This adds the originating generation in RetiredGenerationException’s
message.

Change-Id: Ie4cb11a0cc151176d765fc6d200cd7dd295798e1
Signed-off-by: Stephen Kitt <skitt@redhat.com>
17 months agoBump odlparent to 3.1.2 88/72488/7
Stephen Kitt [Wed, 30 May 2018 13:44:06 +0000 (15:44 +0200)]
Bump odlparent to 3.1.2

Change-Id: I6a155f10ba62ccd4aea5309e5106948d34d099f0
Signed-off-by: Stephen Kitt <skitt@redhat.com>
17 months agoprovide missing module's name via IllegalArgumentException 42/73442/2
Michael Vorburger [Tue, 26 Jun 2018 11:09:37 +0000 (13:09 +0200)]
provide missing module's name via IllegalArgumentException

by using orElseThrow() instead of get() on Optional<Module> in RpcUtil

to help understand MDSAL-354 problem

JIRA: MDSAL-354
Change-Id: If4d4f663b7cb63acea38acda73686176d27ff56f
Signed-off-by: Michael Vorburger <vorburger@redhat.com>
17 months agoConvert blueprint extensions to MDSAL APIs 82/73382/3
Tom Pantelis [Sat, 23 Jun 2018 20:00:09 +0000 (16:00 -0400)]
Convert blueprint extensions to MDSAL APIs

Change-Id: Iabbdb2654128f0f473abba224b8c51745a6d2092
Signed-off-by: Tom Pantelis <tompantelis@gmail.com>
17 months agoProxy DOMNotificationRouter to the mdsal implementation 81/73381/2
Tom Pantelis [Sat, 23 Jun 2018 19:33:37 +0000 (15:33 -0400)]
Proxy DOMNotificationRouter to the mdsal implementation

Proxying to the dom mdsal notification service(s) will allow
an easier migration path where both can co-exist.

Change-Id: I514c319d457bce3261e6f9b36cb189828800fe97
Signed-off-by: Tom Pantelis <tompantelis@gmail.com>
17 months agoProxy DOMRpcRouter to the mdsal implementation 76/73376/3
Tom Pantelis [Sat, 23 Jun 2018 03:30:17 +0000 (23:30 -0400)]
Proxy DOMRpcRouter to the mdsal implementation

Proxying to the dom mdsal RPC service(s) will allow
an easier migration path where both can co-exist.

Change-Id: Ib31efc2985b24e83106e6a25d2c94c9c29850eb2
Signed-off-by: Tom Pantelis <tompantelis@gmail.com>
17 months agoMake AbstractDataBrokerTestCustomizer#getDomBroker public 89/73389/1
Tom Pantelis [Mon, 25 Jun 2018 03:12:08 +0000 (23:12 -0400)]
Make AbstractDataBrokerTestCustomizer#getDomBroker public

The DOMDataBroker is exposed via createDOMDataBroker however
this creates a new instance so users don't actually get the
DOMDataBroker instance that is backing the DataBroker.
Therefore expose getDomBroker publicly.

Change-Id: Id4b53935e4c17e4a9cd4538d669a9e05d97892af
Signed-off-by: Tom Pantelis <tompantelis@gmail.com>
17 months agoRemove CSS code 84/73284/3
Tom Pantelis [Wed, 20 Jun 2018 22:42:09 +0000 (18:42 -0400)]
Remove CSS code

JIRA: TSC-111
Change-Id: Ib74c1d3dfc029c2472b8834ae55ce05c8231d225
Signed-off-by: Tom Pantelis <tompantelis@gmail.com>
17 months agoRemove yang-test 33/73333/2
Tom Pantelis [Fri, 22 Jun 2018 00:01:40 +0000 (20:01 -0400)]
Remove yang-test

This needs to be removed before the rest of CSS as it
uses yang-test-plugin which is hard-coded in auto-realease.
So need to remove yang-test first from controller then
remove yang-test-plugin from auto-realease.

Change-Id: I399de2684e93b267ec5fcdd5365b31384e5dded0
Signed-off-by: Tom Pantelis <tompantelis@gmail.com>
17 months agoRefactor DataBroker adapter wiring 51/73151/4
Robert Varga [Mon, 18 Jun 2018 18:43:39 +0000 (20:43 +0200)]
Refactor DataBroker adapter wiring

We really want to expose a factory, which is able to create adapters
based on a codec.

Create AdapterFactory to serve as such a class and use it as
intermediary for instantiation. This removes reference to binding.impl
classes.

Change-Id: I1cf6867121af1703849db642512776d8ef790ae0
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
17 months agoFix shard deadlock in 3 nodes 74/72874/11
Tom Pantelis [Tue, 12 Jun 2018 11:54:30 +0000 (07:54 -0400)]
Fix shard deadlock in 3 nodes

JIRA: CONTROLLER-1836
Change-Id: I10a9cb43bcdb35f66abebb054f37c05e7fda54e7
Signed-off-by: Tom Pantelis <tompantelis@gmail.com>
17 months agomdsal-trace does not need a ClassLoadingStrategy 50/73150/1
Robert Varga [Mon, 18 Jun 2018 18:19:32 +0000 (20:19 +0200)]
mdsal-trace does not need a ClassLoadingStrategy

This blueprint does not really use classLoadingStrategy,
remove the reference.

Change-Id: Id34c3c97fed3150357c95956c6b03a398d34547e
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
17 months agoRemove CSS features 03/73003/6
Tom Pantelis [Thu, 14 Jun 2018 14:04:49 +0000 (10:04 -0400)]
Remove CSS features

Change-Id: I963daed0f5cc379edeaa98054890dcde0b75cf54
Signed-off-by: Tom Pantelis <tompantelis@gmail.com>
17 months agoFix pax exam issue 69/73069/2
Tom Pantelis [Sun, 17 Jun 2018 15:02:08 +0000 (11:02 -0400)]
Fix pax exam issue

auto-release is all of a sudden seeing these failure for the
ToasterTest:

2018-06-17T01:54:27,557 | WARN  | pool-2-thread-1  | AetherBasedResolver              | 2 - org.ops4j.pax.url.mvn - 2.5.4 | Error resolving artifact org.ops4j.pax.tipi:org.ops4j.pax.tipi.junit:jar:4.12.0.1: [Could not find artifact org.ops4j.pax.tipi:org.ops4j.pax.tipi.junit:jar:4.12.0.1 in defaultlocal (file:/tmp/r/), Could not find artifact org.ops4j.pax.tipi:org.ops4j.pax.tipi.junit:jar:4.12.0.1 in system.repository (file:/w/workspace/autorelease-release-oxygen/controller/opendaylight/md-sal/samples/toaster-it/target/exam/f302a2c9-2cc5-40dc-8c2b-02b85c0fe216/system/)]

2018-06-17T01:54:27,557 | WARN  | pool-2-thread-3  | AetherBasedResolver              | 2 - org.ops4j.pax.url.mvn - 2.5.4 | Error resolving artifact org.ops4j.pax.tipi:org.ops4j.pax.tipi.hamcrest.core:jar:1.3.0.1: [Could not find artifact org.ops4j.pax.tipi:org.ops4j.pax.tipi.hamcrest.core:jar:1.3.0.1 in defaultlocal (file:/tmp/r/), Could not find artifact org.ops4j.pax.tipi:org.ops4j.pax.tipi.hamcrest.core:jar:1.3.0.1 in system.repository (file:/w/workspace/autorelease-release-oxygen/controller/opendaylight/md-sal/samples/toaster-it/target/exam/f302a2c9-2cc5-40dc-8c2b-02b85c0fe216/system/)]

I was able to repro locally by removing the
org.ops4j.pax.tipi.hamcrest.junit and org.ops4j.pax.tipi.hamcrest.core artifacts
from ny local .m2 repo. Adding the dependencies to the mdsal-it-base pom
causes them to be downloaded and fixes the issue. However it's a mystery why
this issue all of a sudden popped up and why it seems we have to explicitly
reference those depnedencies.

Change-Id: Ic614f243d0a79aa298961a4a340d4fa3fb483843
Signed-off-by: Tom Pantelis <tompantelis@gmail.com>
17 months agoUse MD-SAL BindingToNormalizedNodeCodec for most operations 80/72880/6
Robert Varga [Tue, 12 Jun 2018 14:47:57 +0000 (16:47 +0200)]
Use MD-SAL BindingToNormalizedNodeCodec for most operations

This subclasses BindingToNormalizedNodeCodec from MD-SAL, overriding
the operations we need to have overridden. Overall this class is to
be treated as deprecated.

Change-Id: I96f5085ee0e16191855cdc4ca1ed04de6d76f6fb
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
17 months agoUse (Identifiable)Item.of() 87/72887/2
Robert Varga [Tue, 12 Jun 2018 15:25:33 +0000 (17:25 +0200)]
Use (Identifiable)Item.of()

Constructors have been deprecated, use static factory methods
instead.

Change-Id: Ib456b7f4a0788d4074f73168b8b8cb73b8e0d68b
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
17 months agoRemove CSS modules 74/72674/8
Tom Pantelis [Mon, 4 Jun 2018 21:46:56 +0000 (17:46 -0400)]
Remove CSS modules

The CSS features are still installed until we can work
out the ModuleInfoBackedContext/ClassLoaderStrategy situation
that is currently provided by the ConfigManagerActivator.

Change-Id: Id3b2cc287d17532482a2dd893c41e2dcd8d29ff0
Signed-off-by: Tom Pantelis <tompantelis@gmail.com>
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
18 months agofix FollowerInfo @ConstructorProperties for valid ShardStatsMXBean 95/72795/1
Michael Vorburger [Fri, 8 Jun 2018 13:41:01 +0000 (15:41 +0200)]
fix FollowerInfo @ConstructorProperties for valid ShardStatsMXBean

JIRA: CONTROLLER-1835
Change-Id: I563105e8af79c0687cbb99444b34b540e80cbaa5
Signed-off-by: Michael Vorburger <vorburger@redhat.com>
18 months agoexport two additional packages containing JMX *M[X]Bean 91/72791/2
Michael Vorburger [Fri, 8 Jun 2018 11:51:19 +0000 (13:51 +0200)]
export two additional packages containing JMX *M[X]Bean

required to access some information this exposes via strong
instead "stringly" typing in genius.DatastoreServiceStatusProvider; see
Ic8df4299b46a4dd21310619e295552404266fb80.

JIRA: GENIUS-138
Change-Id: Ie0cb62db5ee2dd98fa1a0e55791c9551089e6aac
Signed-off-by: Michael Vorburger <vorburger@redhat.com>
18 months agoBUG-8858: remove sleeps from test driver 18/72718/2
Robert Varga [Tue, 22 Aug 2017 08:51:58 +0000 (10:51 +0200)]
BUG-8858: remove sleeps from test driver

This is a follow-up patch to speed up test driver, properly
chasing leader, without any sleeps incurred.

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

18 months agofix tracing ping-pong DataBroker wiring bug in trace blueprint XML 56/72656/5
Michael Vorburger [Mon, 4 Jun 2018 13:13:48 +0000 (15:13 +0200)]
fix tracing ping-pong DataBroker wiring bug in trace blueprint XML

JIRA: CONTROLLER-1834
Change-Id: I4fda43c578ee55218acc40be1fbf4427c81c73c3
Signed-off-by: Michael Vorburger <vorburger@redhat.com>
18 months agoBump remaining yangtools 2.0.3 references to 2.0.5 99/72699/1
Tom Pantelis [Tue, 5 Jun 2018 18:22:14 +0000 (14:22 -0400)]
Bump remaining yangtools 2.0.3 references to 2.0.5

Change-Id: I284628f088aa9472eb064984d1b1cb65d96d7566
Signed-off-by: Tom Pantelis <tompantelis@gmail.com>
18 months agoBump yangtools to 2.0.5 58/72358/7
Robert Varga [Mon, 28 May 2018 10:14:23 +0000 (12:14 +0200)]
Bump yangtools to 2.0.5

This patch bumps the version pulled in to 2.0.5, adopting the fixes
it contains.

Change-Id: I275b26cd9fbb299050cf1bae8bc4db26b7a0b335
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
18 months agoFix shard commit deadlock 50/72650/3
Tom Pantelis [Mon, 4 Jun 2018 12:20:26 +0000 (08:20 -0400)]
Fix shard commit deadlock

When performing coordinated commits we need to ensure transactions
hit all shards in the same order as otherwise we could end up
with an ABBA deadlock -- which gets resolved through commits timing
out, but nevertheless it imposes a dealy of up to 30 seconds.

Make sure we always send entries to shards in the same order and
also synchronize all TransactionProxy instances so that transactions
have a total order.

JIRA: CONTROLLER-1833
Change-Id: Ia3076efde1c7cb5f115305593776ffa7422e7a09
Signed-off-by: Tom Pantelis <tompantelis@gmail.com>
18 months agoremove un-used schemaService reference in trace blueprint XML 52/72652/2
Michael Vorburger [Mon, 4 Jun 2018 12:57:15 +0000 (14:57 +0200)]
remove un-used schemaService reference in trace blueprint XML

Change-Id: I35711f70bb978d76389d1c2d3f19f6b1418f6ffe
Signed-off-by: Michael Vorburger <vorburger@redhat.com>
18 months agoFixup Augmentable and Identifiable methods changing 49/71249/12
Robert Varga [Tue, 24 Apr 2018 10:23:17 +0000 (12:23 +0200)]
Fixup Augmentable and Identifiable methods changing

This is a fixup of the change in binding codegen, adjusting:
- getKey() -> key()
- setKey() -> withKey()
- getAugmentation() -> augmentation()

As a drive-by cleanup, some more references to CheckedFuture
are gone.

Change-Id: Ifa573f93d1776ab2db98524df4da63259e811767
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
Signed-off-by: Claudio D. Gasparini <claudio.gasparini@pantheon.tech>
18 months agoAdd MDSAL TRACE to Artifacts 49/72649/2
Claudio D. Gasparini [Mon, 4 Jun 2018 11:40:27 +0000 (13:40 +0200)]
Add MDSAL TRACE to Artifacts

Change-Id: I6ddc0557b4a99d7423d175b3397a60f09f73de7c
Signed-off-by: Claudio D. Gasparini <claudio.gasparini@pantheon.tech>
18 months agoAbstractMdsalTestBase: remove derivation from AbstractConfigTestBase 31/72631/2
Tom Pantelis [Mon, 4 Jun 2018 00:47:43 +0000 (20:47 -0400)]
AbstractMdsalTestBase: remove derivation from AbstractConfigTestBase

Copied the code in AbstractConfigTestBase to AbstractMdsalTestBase
as AbstractConfigTestBase will be going away.

Change-Id: I904fa3f60f0e0070e30b0663a1a983201a934cf8
Signed-off-by: Tom Pantelis <tompantelis@gmail.com>
18 months agoConvert mdsal submit() calls to commit() 71/72171/4
Tom Pantelis [Tue, 22 May 2018 16:29:28 +0000 (12:29 -0400)]
Convert mdsal submit() calls to commit()

Change-Id: I097c9604272a5be350ba7949091e5f3f20b56f26
Signed-off-by: Tom Pantelis <tompantelis@gmail.com>
18 months agoEliminate DatastoreContext CSS dependency 83/72483/3
Tom Pantelis [Wed, 30 May 2018 01:31:48 +0000 (21:31 -0400)]
Eliminate DatastoreContext CSS dependency

The CSS-generated Config/OperatonalProperties classes were
used to obtain the default values from the yang. That is now
done by creating an empty container NormalizedNode and running
it thru BindingNormalizedNodeSerializer#fromNormalizedNode to
fill in the default values which are then injected into the
DatastoreContext builder via reflection.

Change-Id: I0963dfcf7850b705d048030056f4b233cc7e4566
Signed-off-by: Tom Pantelis <tompantelis@gmail.com>
18 months agoDepend on odl-mdsal-common 47/72547/2
Robert Varga [Fri, 1 Jun 2018 09:17:01 +0000 (11:17 +0200)]
Depend on odl-mdsal-common

sal-common-api is pulling in MDSAL's bundle, make sure we bring
it in via the proper feature.

Change-Id: Icdcd73732d05e46da5fe22bc19cac61e2e9b329e
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
18 months agomake Transaction Trace re-use BindingToNormalizedNodeCodec instead new 30/72530/1
Michael Vorburger [Thu, 31 May 2018 15:51:11 +0000 (17:51 +0200)]
make Transaction Trace re-use BindingToNormalizedNodeCodec instead new

JIRA: CONTROLLER-1832
Change-Id: I2b9800c9f6d52aa696904c70d673eba7cc2b085d
Signed-off-by: Michael Vorburger <vorburger@redhat.com>
18 months agoRemove DataChangeListener and friends 01/71801/7
Tom Pantelis [Fri, 4 May 2018 04:56:32 +0000 (00:56 -0400)]
Remove DataChangeListener and friends

AsyncDataChangeEvent is being kept for now as ovsdb still
independently uses it internally.

JIRA: TSC-112

Change-Id: Ia68ac1cdf31dec3645f675442db14b7697d63b64
Signed-off-by: Tom Pantelis <tompantelis@gmail.com>
18 months agosort by descending number of suspected transaction leaks in trace output 62/72362/2
Michael Vorburger [Mon, 28 May 2018 11:56:34 +0000 (13:56 +0200)]
sort by descending number of suspected transaction leaks in trace output

Change-Id: I7b780c3df72f87f6f1e693e9ec995a8f48da5c3b
Signed-off-by: Michael Vorburger <vorburger@redhat.com>
18 months agoFix AbstractMXBean logging 67/72367/1
Stephen Kitt [Mon, 28 May 2018 15:37:30 +0000 (17:37 +0200)]
Fix AbstractMXBean logging

Exceptions shouldn’t have an SLF4J place-holder.

Change-Id: Ied7338e37828903fdde8ec56f43177dfe041be61
Signed-off-by: Stephen Kitt <skitt@redhat.com>
18 months agoConvert DCL tests to use DTCL 00/71800/2
Tom Pantelis [Fri, 4 May 2018 04:55:37 +0000 (00:55 -0400)]
Convert DCL tests to use DTCL

Change-Id: I05bd3a9b42e1ab3d9a1e682aaacb585aee313e7a
Signed-off-by: Tom Pantelis <tompantelis@gmail.com>
18 months agoAdjust for Binding RPC codegen changes 05/71205/10
Robert Varga [Mon, 23 Apr 2018 09:01:30 +0000 (11:01 +0200)]
Adjust for Binding RPC codegen changes

This adjusts RPC implementations to conform to YANG-compatible
layout with ListenableFuture. It also fixes
BindingToNormalizedNodeCodec to realign it with mdsal version.

Since we are guaranteed to be dealing with ListenableFutures, this
patch also eliminates all references to JdkFutureAdapters.

Change-Id: I068a5821493b36e03d6a34a93bf49509b970507e
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
18 months agoAdd path context to data validation failures 20/72120/2
Tom Pantelis [Mon, 21 May 2018 16:07:51 +0000 (12:07 -0400)]
Add path context to data validation failures

JIRA: CONTROLLER-1830

Change-Id: I588303ef2bbe01f8267da32b6b37d327dcbfbeb4
Signed-off-by: Tom Pantelis <tompantelis@gmail.com>
18 months agoAdd get-top rpc with output to sal-test-model 66/72066/2
Tom Pantelis [Thu, 17 May 2018 12:08:21 +0000 (08:08 -0400)]
Add get-top rpc with output to sal-test-model

Need an rpc with output for a netconf UT.

Change-Id: Ia5f5c3a6a3a1318d8a3cab13c0695f332866e9d4
Signed-off-by: Tom Pantelis <tompantelis@gmail.com>
18 months agoCDS should use MD-SAL InMemoryDOMDataStoreConfigProperties 92/71592/6
Robert Varga [Mon, 30 Apr 2018 16:24:13 +0000 (18:24 +0200)]
CDS should use MD-SAL InMemoryDOMDataStoreConfigProperties

This moves CDS's use of InMemoryDOMDataStoreConfigProperties from
controller's IMDS to MDSAL's IMDS -- eliminating all dependencies
between the two.

Change-Id: Id68f86ac5f1cccdb29f706b3a0bc63ae5a4987fd
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
18 months agoDefault AsyncWriteTransaction.submit() 47/71547/6
Tom Pantelis [Mon, 30 Apr 2018 01:22:36 +0000 (21:22 -0400)]
Default AsyncWriteTransaction.submit()

Now that all downstream implementations implement commit(), the deprecated
submit() method can be defaulted instead instead of commit().

Change-Id: Idd684bc3fdc7d4f048257154988ef1f7c7811e97
Signed-off-by: Tom Pantelis <tompantelis@gmail.com>
18 months agoreduce but keep old archetype and make it point users to the new one 43/71043/4
Michael Vorburger [Tue, 17 Apr 2018 14:30:28 +0000 (16:30 +0200)]
reduce but keep old archetype and make it point users to the new one

see https://jira.linuxfoundation.org/browse/RELENG-891

Change-Id: Ide80da410b60fb621af2a23ef82e7f63319061bb
Signed-off-by: Michael Vorburger <vorburger@redhat.com>
19 months agorm README.OPENDAYLIGHT (badly outdated) 54/71854/1
Michael Vorburger [Tue, 8 May 2018 17:07:29 +0000 (19:07 +0200)]
rm README.OPENDAYLIGHT (badly outdated)

Change-Id: If81c1f5f92409dedc8994363bcdfc2508873d544
Signed-off-by: Michael Vorburger <vorburger@redhat.com>
19 months agoAsyncWriteTransaction submit() with @CheckReturnValue 60/66360/5
Michael Vorburger [Mon, 11 Dec 2017 22:15:45 +0000 (23:15 +0100)]
AsyncWriteTransaction submit() with @CheckReturnValue

this seems like a good idea because we would subsequently like to reduce
the internal logging from a WARN for TransactionCommitFailedException to
a DEBUG.

see CONTROLLER-1802 and NETVIRT-916 for the full background story to
where this comes from.

Change-Id: I1d802c8534b7fad1f5557b5aafc400791ef6dd2e
Signed-off-by: Michael Vorburger <vorburger@redhat.com>
19 months agoSwitch CDS frontend internals to use MD-SAL APIs 70/71570/4
Robert Varga [Mon, 30 Apr 2018 10:56:16 +0000 (12:56 +0200)]
Switch CDS frontend internals to use MD-SAL APIs

This patch wires frontend to use MD-SAL DOM*Transaction and related
interfaces instead of the controller-provided ones.

Change-Id: I8c9c303ca95a961c8c7f91ba4d438c0739c5cedd
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
19 months agoUse YangInstanceIdentifier.isEmpty() 65/71565/4
Robert Varga [Mon, 30 Apr 2018 09:06:26 +0000 (11:06 +0200)]
Use YangInstanceIdentifier.isEmpty()

This is a faster way of checking if an InstanceIdentifier is empty
than comparison to a constant.

Change-Id: I095576cdf1ac522348f3befaa8b14e84feaddf1c
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
19 months agoAdd sal-dom-compat 12/71512/2
Robert Varga [Fri, 27 Apr 2018 12:29:21 +0000 (14:29 +0200)]
Add sal-dom-compat

This is a compatibility layer, implementing Controller DOM APIs on
top of MDSAL DOM APIs.

Change-Id: I72feb9ea7f55db97ecd4552f08860ce9360dc61a
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
19 months agoSimplify AbstractDOMBroker.isSupported() 64/71564/1
Robert Varga [Mon, 30 Apr 2018 08:18:38 +0000 (10:18 +0200)]
Simplify AbstractDOMBroker.isSupported()

This is simple check if all datastore are instances of the specified
contract -- simplify the expression with Streams.allMatch()
and Class.isInstance().

Change-Id: I260d3b2296f085023a722c3f59e08c4926e91b2d
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
19 months agoAdd AsyncWriteTransaction.commit() 16/71516/5
Tom Pantelis [Fri, 27 Apr 2018 15:23:00 +0000 (11:23 -0400)]
Add AsyncWriteTransaction.commit()

Equivalent to the recent md-sal API addition. The CommitInfo class
is re-used from md-sal. I also modified all implementations in the
controller to implement commit even though it's defaulted. As soon
as implementations in other projects do the same then we can
default submit().

Change-Id: I0801d5aa4c197177af838e7fbb71b7766a90e043
Signed-off-by: Tom Pantelis <tompantelis@gmail.com>
19 months agoRemove deprecated InMemoryDOMDataStoreFactory methods 38/71438/1
Robert Varga [Thu, 26 Apr 2018 16:55:38 +0000 (18:55 +0200)]
Remove deprecated InMemoryDOMDataStoreFactory methods

These methods are taking the old SchemaService, remove them
in favor of the new methods which use DOMSchemaService.

Change-Id: I8b9f8014cc43eaf60f7ff48b62b2a4831c6dcee3
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
19 months agoRemove ListenerNode/ListenerWalker 37/71437/1
Robert Varga [Thu, 26 Apr 2018 19:06:13 +0000 (21:06 +0200)]
Remove ListenerNode/ListenerWalker

These classes have been deprecated for three years now, remove them.

Change-Id: I3a5af8f0a96b1507b57732f588aa33864ae9c1d5
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
19 months agoRemove message-bus CSS components 05/70805/5
Tom Pantelis [Wed, 11 Apr 2018 20:03:43 +0000 (16:03 -0400)]
Remove message-bus CSS components

Change-Id: Ic873ca1f230ca373b7bcb2fa06568f14e3e5ea1a
Signed-off-by: Tom Pantelis <tompantelis@gmail.com>
19 months agoRemove deprecated controller EOS APIs and impl 87/70787/5
Tom Pantelis [Wed, 11 Apr 2018 15:22:58 +0000 (11:22 -0400)]
Remove deprecated controller EOS APIs and impl

Change-Id: Idbbc19646790ad9fd6800845a6dd93a210543811
Signed-off-by: Tom Pantelis <tompantelis@gmail.com>
19 months agoInject MD_SAL services directly in sal-binding-it tests 54/70854/3
Tom Pantelis [Thu, 12 Apr 2018 14:19:54 +0000 (10:19 -0400)]
Inject MD_SAL services directly in sal-binding-it tests

This is in lieu of obtaining them via the BindingAwareBroker
which is obsolete in lieu of blueprint. Also remove the CSS
module checkong in AbstractIT.

Change-Id: I259cec363e31759447392ee1dc940fccee46d27e
Signed-off-by: Tom Pantelis <tompantelis@gmail.com>
19 months agoRelease permits as transactions are replayed 65/70965/2
Robert Varga [Thu, 12 Apr 2018 11:11:38 +0000 (13:11 +0200)]
Release permits as transactions are replayed

Since we have correct accounting at the cost of needing to finish
the transition to new context in user thread, we need to make sure
we release permits as we push them towards the TransactionContext
if it is not handling it itself -- hence the user threads will not
be charged for operations which have logically been completed.

CONTROLLER-1825
Change-Id: I4bae984b08b99a042766d0a41475110781ef8377
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
19 months agoRemove jersey-core dependency in CSS 52/71052/2
Tom Pantelis [Tue, 17 Apr 2018 19:06:55 +0000 (15:06 -0400)]
Remove jersey-core dependency in CSS

Change-Id: I34a027075e85c65fca8fe7987c1eb3bf113f2eef
Signed-off-by: Tom Pantelis <tompantelis@gmail.com>
19 months agoRely on odlparent version of jolokia 59/70859/2
Ryan Goulding [Thu, 12 Apr 2018 15:41:46 +0000 (11:41 -0400)]
Rely on odlparent version of jolokia

Now that the desired jolokia version is present in odlparent,
rely on pulling it from there instead of locally.

Change-Id: Ief20a133a34b13ec487e04ddabe313a71aaba66d
Signed-off-by: Ryan Goulding <ryandgoulding@gmail.com>
19 months agoRemove TransactionStatus 28/70428/2
Tom Pantelis [Fri, 6 Apr 2018 13:38:08 +0000 (09:38 -0400)]
Remove TransactionStatus

Forgot to do this when the commit method was removed.

Change-Id: I94e773113e60a94d042261299c9bb5f5da1db878
Signed-off-by: Tom Pantelis <tompantelis@gmail.com>
19 months agoBump to odlparent 3.1.0 and yangtools 2.0.3 76/69876/11
Stephen Kitt [Thu, 22 Mar 2018 17:24:27 +0000 (18:24 +0100)]
Bump to odlparent 3.1.0 and yangtools 2.0.3

Change-Id: I3b8303b38036318ba9c3bd56d1044873a9b57d78
Signed-off-by: Stephen Kitt <skitt@redhat.com>
Signed-off-by: Ryan Goulding <ryandgoulding@gmail.com>
20 months agoOPNFLWPLUG-972 : Move liblldp from controller to openflowplugin 06/67006/11
D Arunprakash [Wed, 10 Jan 2018 08:22:55 +0000 (13:52 +0530)]
OPNFLWPLUG-972 : Move liblldp from controller to openflowplugin

Change-Id: Ibda729f50b51282591d9d06bb3ba1863e62c732a
Signed-off-by: D Arunprakash <d.arunprakash@ericsson.com>
20 months agoFix TransactionContextWrapper limiter accounting 39/70439/2
Robert Varga [Thu, 5 Apr 2018 14:49:06 +0000 (16:49 +0200)]
Fix TransactionContextWrapper limiter accounting

The fix for CONTROLLER-1814 wrecked the fragile OperationLimiter
accounting between TransactionContextWrapper and
RemoteTransactionContext. The problem is that during initial
connect time TransactionContextWrapper acquires limiter operations
and the state of the OperationLimiter is inherited by
RemoteTransactionContext. This though means that we need to know
which operation actually acquired a permit and which did not.

As it turns out, this needs to make TransactionContext methods take
an additional hint as to whether a limit attempt was made and what
was the result of it.

Furthermore the internal TransactionContextWrapper logic needs to
be changed from 'enqueue and wait' to 'wait and enqueue' strategy,
so when an operation is added to the queue and potentially picked
up by executePriorTransactionOperations() we already know whether
a permit was acquired or not.

JIRA: CONTROLLER-1823
Change-Id: I78d43a1abde8c6da6e3da2f56823bba130499133
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
(cherry picked from commit b69500a51978c3d3ef639345a1a97a58cc3f6bb8)
(cherry picked from commit dc295d9be77748d7e695d003a02d299d493abc8d)

20 months agoRemove serialization settings in sal-akka-raft-example 29/70429/1
Tom Pantelis [Fri, 6 Apr 2018 13:45:21 +0000 (09:45 -0400)]
Remove serialization settings in sal-akka-raft-example

Followup to https://git.opendaylight.org/gerrit/#/c/70417/.
These are not needed and avoids potential future failures.

Change-Id: I151e3cd91b2c6a249420129ccbf7976d57284059
Signed-off-by: Tom Pantelis <tompantelis@gmail.com>
20 months agoMigrate ShardTestKit to javadsl.TestKit 25/70425/1
Robert Varga [Fri, 6 Apr 2018 11:49:49 +0000 (13:49 +0200)]
Migrate ShardTestKit to javadsl.TestKit

JavaTestKit is deprecated, use its equivalent from javadsl.

Change-Id: Id32c6e41c80ba05f2076852bf9d3b26c5aca07b5
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
20 months agoMigrate RaftActorTestKit to javadsl.TestKit 24/70424/1
Robert Varga [Fri, 6 Apr 2018 11:46:27 +0000 (13:46 +0200)]
Migrate RaftActorTestKit to javadsl.TestKit

JavaTestKit is deprecated, migrate RaftActorTestKit to the new
equivalent.

Change-Id: Id7f051aaac0154795c4242bb0ffc275dad06aaa4
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
20 months agoMigrate test to use javadsl.TestKit 23/70423/1
Robert Varga [Fri, 6 Apr 2018 11:32:45 +0000 (13:32 +0200)]
Migrate test to use javadsl.TestKit

Forward-porting of this patch missed the need to change to new
TestKit instead of legacy JavaTestKit. Fix that.

Change-Id: Ic7bc6edae198c785ca4473eeff83cdbc516c8d2e
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
20 months agoFinish SimpleReplicatedLogEntry migration 16/70416/1
Stephen Kitt [Fri, 6 Apr 2018 08:55:02 +0000 (10:55 +0200)]
Finish SimpleReplicatedLogEntry migration

sal-akka-raft-example still refers to ReplicatedLogImplEntry, fix
that.

Change-Id: I6574b0acfd0d8c755b5cbc69485fa4d0ea116865
Signed-off-by: Stephen Kitt <skitt@redhat.com>
20 months agoRemove AsyncWriteTransaction#commit 41/70341/3
Tom Pantelis [Wed, 4 Apr 2018 16:28:05 +0000 (12:28 -0400)]
Remove AsyncWriteTransaction#commit

Downstream patches have been merged - safe to remove.

Change-Id: I357aaac04f7569fc42590fbb0ce00459c6c3204a
Signed-off-by: Tom Pantelis <tompantelis@gmail.com>
20 months agoUpdate IdentityAttributeRefTest 23/70223/1
Robert Varga [Sat, 31 Mar 2018 13:06:35 +0000 (15:06 +0200)]
Update IdentityAttributeRefTest

Identities are mapped to interfaces, so we need to adjust for that.

Change-Id: Ic121793e049f25eb87e5252e07583f33a87d9ac5
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
20 months agoAdjust unit test to YangModuleInfo API change 22/70222/1
Robert Varga [Sat, 31 Mar 2018 13:06:00 +0000 (15:06 +0200)]
Adjust unit test to YangModuleInfo API change

YangModuleInfo has better interface, hence we can take advantage
of it.

Change-Id: I971bd0bd9fe521b63bb0133fdac3a1b1a30504a7
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
20 months agoRemove SingletonHolder 47/70047/2
Tom Pantelis [Sat, 24 Mar 2018 00:33:03 +0000 (20:33 -0400)]
Remove SingletonHolder

It is not used except for the static JAVASSIST field.
This was moved to BindingToNormalizedNodeCodecFactory.

Change-Id: I6e503696f7f625b257b8a377099d113cd6a85fd3
Signed-off-by: Tom Pantelis <tompantelis@gmail.com>
20 months agoRemove deprecated Rpcs and RpcErrors 25/70025/2
Tom Pantelis [Fri, 23 Mar 2018 14:33:46 +0000 (10:33 -0400)]
Remove deprecated Rpcs and RpcErrors

The only user was in snmp4sdn and a patch has been submitted
for that.

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

©2013 OpenDaylight, A Linux Foundation Collaborative Project. All Rights Reserved.
OpenDaylight is a registered trademark of The OpenDaylight Project, Inc.
Linux Foundation and OpenDaylight are registered trademarks of the Linux Foundation.
Linux is a registered trademark of Linus Torvalds.