6 years agoFix for -Pintegrationtest profile 20/9420/1
Ed Warnicke [Tue, 29 Jul 2014 00:44:57 +0000 (19:44 -0500)]
Fix for -Pintegrationtest profile

The -Pintegrationtest profile was not including
the restconf config file.

Change-Id: Ic62da8f4532aeeda19a1836c08214fa795d84b98
Signed-off-by: Ed Warnicke <>
6 years agoMerge "Introduction of XSQL"
Tony Tkacik [Mon, 28 Jul 2014 17:45:38 +0000 (17:45 +0000)]
Merge "Introduction of XSQL"

6 years agoMerge "Wiring rest-connector with config subsytem."
Tony Tkacik [Mon, 28 Jul 2014 15:05:01 +0000 (15:05 +0000)]
Merge "Wiring rest-connector with config subsytem."

6 years agoMerge "Improve RESTCONF QName parsing speed"
Tony Tkacik [Mon, 28 Jul 2014 15:02:06 +0000 (15:02 +0000)]
Merge "Improve RESTCONF QName parsing speed"

6 years agoMerge "Updated remote rpc code after integration tests. Rpc execution is failing...
Ed Warnicke [Mon, 28 Jul 2014 14:06:45 +0000 (14:06 +0000)]
Merge "Updated remote rpc code after integration tests. Rpc execution is failing because of one existing defect"

6 years agoWiring rest-connector with config subsytem. 98/9298/5
Ed Warnicke [Thu, 24 Jul 2014 19:12:18 +0000 (14:12 -0500)]
Wiring rest-connector with config subsytem.

Change-Id: If826bb7352101833acd288b81cbcf7cec2f28b43
Signed-off-by: Ed Warnicke <>
6 years agoImprove RESTCONF QName parsing speed 43/9343/4
Robert Varga [Sat, 26 Jul 2014 04:32:53 +0000 (06:32 +0200)]
Improve RESTCONF QName parsing speed

SchemaContext provides useful (and optimized) methods for looking up
modules. Eliminate home-grown version of findModuleByName(). Requires .

Change-Id: I4c4e07e23a614b46b01a87485965af0c066aa693
Signed-off-by: Robert Varga <>
6 years agoIntroduction of XSQL 04/9204/3
Sharon Aicler [Mon, 21 Jul 2014 17:47:41 +0000 (10:47 -0700)]
Introduction of XSQL

XSQL is SQL wrapper for MD-SAL Data Broker
which provides query capabilities for MD-SAL

YANG model is rendered as set of virtual tables
and where leafs are columns in that table.

For more information see

Change-Id: I9224c100ffe5e50559fc7181f1c9a79b3f7b2a32
Signed-off-by: Sharon Aicler <>
6 years agoMerge "BUG-432: migrate users of Registration as appropriate"
Tony Tkacik [Mon, 28 Jul 2014 12:24:45 +0000 (12:24 +0000)]
Merge "BUG-432: migrate users of Registration as appropriate"

6 years agoMerge "RPC registrations should not throw"
Tony Tkacik [Mon, 28 Jul 2014 12:04:31 +0000 (12:04 +0000)]
Merge "RPC registrations should not throw"

6 years agoMerge "Deprecating unused get{Provider,Consumer} Functionality"
Tony Tkacik [Mon, 28 Jul 2014 09:01:25 +0000 (09:01 +0000)]
Merge "Deprecating unused get{Provider,Consumer} Functionality"

6 years agoMerge "Removed BundleContext from Broker.register{Consumer,Provider} (Part 2)"
Tony Tkacik [Mon, 28 Jul 2014 09:01:02 +0000 (09:01 +0000)]
Merge "Removed BundleContext from Broker.register{Consumer,Provider} (Part 2)"

6 years agoMerge "Removed BundleContext from Broker.register{Consumer,Provider}"
Tony Tkacik [Mon, 28 Jul 2014 09:00:21 +0000 (09:00 +0000)]
Merge "Removed BundleContext from Broker.register{Consumer,Provider}"

6 years agoMerge "Optimize RESTCONF module/node parsing"
Tony Tkacik [Mon, 28 Jul 2014 08:56:53 +0000 (08:56 +0000)]
Merge "Optimize RESTCONF module/node parsing"

6 years agoMerge "Improve RESTCONF thread safety when reconfiguring"
Tony Tkacik [Mon, 28 Jul 2014 08:56:39 +0000 (08:56 +0000)]
Merge "Improve RESTCONF thread safety when reconfiguring"

6 years agoMerge "Allow getChildNodes() to become a Collection"
Tony Tkacik [Mon, 28 Jul 2014 08:56:15 +0000 (08:56 +0000)]
Merge "Allow getChildNodes() to become a Collection"

6 years agoMerge "BUG-1381: do not use JavassistUtils.getLock()"
Tony Tkacik [Mon, 28 Jul 2014 08:53:03 +0000 (08:53 +0000)]
Merge "BUG-1381: do not use JavassistUtils.getLock()"

6 years agoBUG-432: migrate users of Registration as appropriate 63/9363/4
Robert Varga [Sun, 27 Jul 2014 20:27:21 +0000 (22:27 +0200)]
BUG-432: migrate users of Registration as appropriate

This patch adjust all users to the non-generic nator of Registration,
plus migrates a few to ListenerRegistration.

Change-Id: I69c1c61890f866d24a4b50e685bddba32bac7815
Signed-off-by: Robert Varga <>
6 years agoRPC registrations should not throw 16/9316/2
Robert Varga [Fri, 25 Jul 2014 12:39:27 +0000 (14:39 +0200)]
RPC registrations should not throw

Change-Id: I7f7f13ea7bdce3db5e833e3532c2e5db873daf74
Signed-off-by: Robert Varga <>
6 years agoEnhance code documentation and add TODOs 04/9304/4
Moiz Raja [Fri, 25 Jul 2014 00:47:41 +0000 (17:47 -0700)]
Enhance code documentation and add TODOs

This commit is based on a code walk through done with Colin Dixon and
Abhishek Kumar.

TODOs and FIXMEs have been added to guide further development.

The major things that need to be completed are,
1. Installing snapshots
2. Adding and removing a new peer with consensus
3. Optimizing AppendEntries (faster synchronization)

Change-Id: Ic788e050fe8fa591176a927906004fd2277e29fa
Signed-off-by: Moiz Raja <>
6 years agoFix bug in ReplicatedLogImpl#removeFrom and use akka-persistence for removing entries 82/9182/4
Moiz Raja [Sun, 20 Jul 2014 07:59:05 +0000 (00:59 -0700)]
Fix bug in ReplicatedLogImpl#removeFrom and use akka-persistence for removing entries

The way things were coded in removeFrom assumed that when a set of entries was deleted
from the persistent log the sequence number would be reset. This is most likely to not be
the case.

Switched to usage which is more appropriate for akka-persistence namely to persist
the operation to delete entries in the akka-persistence journal and on recovery take the
appropriate action.

Also since now we are using the akka-persistence journal purely for persistence we can safely
add other stuff to the journal and so I added UpdateElectionTerm also to the journal. This
takes care of persisting the election information in the same journal.

Change-Id: I34202535711660f19b4cdd9e71a7b55fde7433ce
Signed-off-by: Moiz Raja <>
6 years agoRemove the confusion around suggestedState 81/9181/4
Moiz Raja [Sun, 20 Jul 2014 02:49:42 +0000 (19:49 -0700)]
Remove the confusion around suggestedState

The code has been refactored so that it is clear how exactly a state is
applied. Earlier the state was being passed around and the decision of which
state was returned was not clear.

Tests were modified as appropriate.

Change-Id: Ifb3d339affcc206d1358119defd4b7400e247f8b
Signed-off-by: Moiz Raja <>
6 years agoFix issue when adding new peers 45/9145/4
Moiz Raja [Fri, 18 Jul 2014 12:03:48 +0000 (05:03 -0700)]
Fix issue when adding new peers

- There a couple of cases that were not being handled correctly
in Follower#handleAppendEntries this had to be fixed
- ReplicatedLogImpl#size was not properly reported

Change-Id: I8af214cb46a5bae844d1e20e8788502255ffeab5
Signed-off-by: Moiz Raja <>
6 years agoTest driver and changes related to it 32/9132/6
Kamal Rameshan [Thu, 17 Jul 2014 23:43:40 +0000 (16:43 -0700)]
Test driver and changes related to it

Change-Id: I6f638dd4f4ce56be2ad31f056394568adeba165c
Signed-off-by: Kamal Rameshan <>
Signed-off-by: Moiz Raja <>
6 years agoInitial implementation of saving and installing snapshots 87/9087/6
Moiz Raja [Wed, 16 Jul 2014 16:17:32 +0000 (09:17 -0700)]
Initial implementation of saving and installing snapshots

This commit basically sketches out how creating and installing snapshots would fit into
the overall design. This has not been tested yet.

Change-Id: I0c575049e8dbda6b63e49dab80ff0980546029d3
Signed-off-by: Moiz Raja <>
6 years agoTest handling of the Replicate message by the Leader 86/9086/4
Moiz Raja [Wed, 16 Jul 2014 12:35:58 +0000 (05:35 -0700)]
Test handling of the Replicate message by the Leader

Refactored some code, added comments and a test

Change-Id: I0719dbdb4f1f6da611b090faa6cabc84b85e50df
Signed-off-by: Moiz Raja <>
6 years agoTest RaftActor using a simple program 98/8998/7
Moiz Raja [Mon, 14 Jul 2014 01:52:50 +0000 (18:52 -0700)]
Test RaftActor using a simple program

Change-Id: Id0a8091c8f6ee89178bf774be398647c60a25d03
Signed-off-by: Moiz Raja <>
6 years agoImplement handling of AppendEntries from a recipient perspective 73/8973/4
Moiz Raja [Sun, 13 Jul 2014 01:46:15 +0000 (18:46 -0700)]
Implement handling of AppendEntries from a recipient perspective

This commit includes everything that a recipient will do when it receives an AppendEntries
except applying of the state to the state machine

Change-Id: I9131b7b73624527efb1a7cb7f0c999fa03f90dfd
Signed-off-by: Moiz Raja <>
6 years agoProperly handle RequestVote in all states 72/8972/3
Moiz Raja [Sat, 12 Jul 2014 12:39:52 +0000 (05:39 -0700)]
Properly handle RequestVote in all states

Change-Id: I31987824a2219be230e439ecb152e031c749d4ef
Signed-off-by: Moiz Raja <>
6 years agoComplete Candidate behavior implementation 61/8961/3
Moiz Raja [Sat, 12 Jul 2014 00:12:59 +0000 (17:12 -0700)]
Complete Candidate behavior implementation

Change-Id: I483ec7d0a3430e186decda7ac45258b47132694b
Signed-off-by: Moiz Raja <>
6 years agoMerge "Remove RaftReplicator and move hearbeat logic to the leader"
Moiz Raja [Sat, 26 Jul 2014 21:43:57 +0000 (21:43 +0000)]
Merge "Remove RaftReplicator and move hearbeat logic to the leader"

6 years agoMerge "Implement behavior common to a RaftActor in all it's states"
Moiz Raja [Sat, 26 Jul 2014 21:42:54 +0000 (21:42 +0000)]
Merge "Implement behavior common to a RaftActor in all it's states"

6 years agoMerge "Initial code/design for an Akka Raft implementation"
Moiz Raja [Sat, 26 Jul 2014 21:40:02 +0000 (21:40 +0000)]
Merge "Initial code/design for an Akka Raft implementation"

6 years agoOptimize RESTCONF module/node parsing 42/9342/2
Robert Varga [Sat, 26 Jul 2014 04:41:44 +0000 (06:41 +0200)]
Optimize RESTCONF module/node parsing

Profiling has shown that the current implementations are still not upto
par with what they should be: 189 invocations of the two consumed 64ms,
with most of the time being spent splitting and iterating.

Given that the parsing operation is really simple, we can do much better
using String.indexOf() and String.substring().

Change-Id: I06ef0403edb2c8d12cbbc3c7909091e9efc5138e
Signed-off-by: Robert Varga <>
6 years agoImprove RESTCONF thread safety when reconfiguring 41/9341/2
Robert Varga [Sat, 26 Jul 2014 04:18:40 +0000 (06:18 +0200)]
Improve RESTCONF thread safety when reconfiguring

There is a race which could see us without a populated mapping while a
schemacontext change is underway. Use a immutablemap guarded by an
atomicreference to allow proper switching. Note that the fix is
incomplete, as the schema context needs to be replaced at the same time.

Change-Id: I7d64fae99a0bc0f7d1ec19f08450c1954cb7af97
Signed-off-by: Robert Varga <>
6 years agoAllow getChildNodes() to become a Collection 40/9340/2
Robert Varga [Sat, 26 Jul 2014 04:06:52 +0000 (06:06 +0200)]
Allow getChildNodes() to become a Collection

Preparatory patch for yangtools change -- getChildNodes() will start
returning a Collection, not a Set.

Change-Id: Ie7255757e3f48465e3acd9e65764f1b79a3a9511
Signed-off-by: Robert Varga <>
6 years agoMerge "Bug 1417 - Removed extraneous pom dep on flow-management-compatibility"
Tom Pantelis [Fri, 25 Jul 2014 21:08:41 +0000 (21:08 +0000)]
Merge "Bug 1417 - Removed extraneous pom dep on flow-management-compatibility"

6 years agoBUG-1381: do not use JavassistUtils.getLock() 19/9319/2
Robert Varga [Fri, 25 Jul 2014 13:33:05 +0000 (15:33 +0200)]
BUG-1381: do not use JavassistUtils.getLock()

We have it now synchronized through the instance, so there's no need for

Change-Id: I3e962f284132b376f77e9e2665b3fbb47f246514
Signed-off-by: Robert Varga <>
6 years agoDeprecating unused get{Provider,Consumer} Functionality 15/9315/3
Ed Warnicke [Fri, 25 Jul 2014 12:21:31 +0000 (07:21 -0500)]
Deprecating unused get{Provider,Consumer} Functionality

interface ProviderFunctionality
interface ConsumerFunctionality

are unused.  They should go away, so this patch marks
them as deprecated.

Change-Id: Icfcbf9f4cfed0186c720eab26405894183b9009f
Signed-off-by: Ed Warnicke <>
6 years agoMerge "Bug 1178 - removed unused parameter from checkOdAction() menthod."
Tony Tkacik [Fri, 25 Jul 2014 12:25:15 +0000 (12:25 +0000)]
Merge "Bug 1178 - removed unused parameter from checkOdAction() menthod."

6 years agoRemoved BundleContext from Broker.register{Consumer,Provider} (Part 2) 14/9314/1
Ed Warnicke [Fri, 25 Jul 2014 12:05:21 +0000 (07:05 -0500)]
Removed BundleContext from Broker.register{Consumer,Provider} (Part 2)

Moved the bodies of the methods around to make the deprecated
methods just call throughs to the new methods.

Removed extra argument from private method newSessionFor

Change-Id: I748662491e6670262ecfad4122bcc7a9f831107d
Signed-off-by: Ed Warnicke <>
6 years agoRemoved BundleContext from Broker.register{Consumer,Provider} 13/9313/1
Ed Warnicke [Fri, 25 Jul 2014 12:00:14 +0000 (07:00 -0500)]
Removed BundleContext from Broker.register{Consumer,Provider}

Don't freak out... the old methods are still there, just

Change-Id: I6f37af7d93948bbf0d3b23635c73803645028ec7
Signed-off-by: Ed Warnicke <>
6 years agoMerge "BUG-1381: make users of JavassistUtils.getLock synchronized properly"
Tony Tkacik [Fri, 25 Jul 2014 11:17:52 +0000 (11:17 +0000)]
Merge "BUG-1381: make users of JavassistUtils.getLock synchronized properly"

6 years agoMerge "Override TransactionFactor method in DataBroker to return correct TransactionC...
Tony Tkacik [Fri, 25 Jul 2014 11:16:05 +0000 (11:16 +0000)]
Merge "Override TransactionFactor method in DataBroker to return correct TransactionChain."

6 years agoMake DOMMountPointService listenable 83/9283/2
Maros Marsalek [Thu, 24 Jul 2014 11:43:09 +0000 (13:43 +0200)]
Make DOMMountPointService listenable

Change-Id: Ic44a4bf214f6f6a6d653627b6a62ab2f47bd9963
Signed-off-by: Maros Marsalek <>
6 years agoMerge "Bug 1280: Added option to automaticly create parents"
Tom Pantelis [Thu, 24 Jul 2014 19:44:19 +0000 (19:44 +0000)]
Merge "Bug 1280: Added option to automaticly create parents"

6 years agoBug 1417 - Removed extraneous pom dep on flow-management-compatibility 96/9296/1
jameshall03885 [Thu, 24 Jul 2014 18:24:44 +0000 (14:24 -0400)]
Bug 1417 - Removed extraneous pom dep on flow-management-compatibility

Change-Id: Ie39e5328b809c4a82b3c971f02392c01cbfb1302
Signed-off-by: jameshall03885 <>
6 years agoMerge "Bug 1378: Make sure config extender does not block bundle loading."
Ed Warnicke [Thu, 24 Jul 2014 16:10:58 +0000 (16:10 +0000)]
Merge "Bug 1378: Make sure config extender does not block bundle loading."

6 years agoBUG-1381: make users of JavassistUtils.getLock synchronized properly 95/9095/2
Robert Varga [Wed, 16 Jul 2014 21:07:27 +0000 (23:07 +0200)]
BUG-1381: make users of JavassistUtils.getLock synchronized properly

As a transition period, use both locking schemes. Once the initial
patches are in, we can then remove the use of getLock().

Change-Id: Ibf4c0ea9f420d81dfe74f7b0c5479f01b45a8d2d
Signed-off-by: Robert Varga <>
6 years agoOverride TransactionFactor method in DataBroker to return correct TransactionChain. 80/9280/2
Maros Marsalek [Thu, 24 Jul 2014 09:30:11 +0000 (11:30 +0200)]
Override TransactionFactor method in DataBroker to return correct TransactionChain.

Change-Id: Ib86159c8faa8ddd729b9abc69ea7708fd4b086f3
Signed-off-by: Maros Marsalek <>
6 years agoBug 1378: Make sure config extender does not block bundle loading. 62/9262/2
Tony Tkacik [Wed, 23 Jul 2014 14:38:09 +0000 (16:38 +0200)]
Bug 1378: Make sure config extender does not block bundle loading.

Change-Id: Ic706ad9dd41ad951e0517e02b7f1f3b8b25ea9ea
Signed-off-by: Tony Tkacik <>
6 years agoMerge "Bug 279, 1390: Used Guava Cache r for lazy-loading of RPC Routers"
Tom Pantelis [Wed, 23 Jul 2014 14:30:44 +0000 (14:30 +0000)]
Merge "Bug 279, 1390: Used Guava Cache r for lazy-loading of RPC Routers"

6 years agoBUG 1144 - response 500 instead of 400 57/9257/1
Jozef Gloncak [Wed, 23 Jul 2014 11:55:21 +0000 (13:55 +0200)]
BUG 1144 - response 500 instead of 400

RestconfDocumentedException with error tag INVALID_VALUE (400) was caught and
wrapped to RestconfDocumentedException with error tag OPERATION_FAILED

Change-Id: I0ad75958e0d8e25d5bf1bdf7cbac5f855cc2b03d
Signed-off-by: Jozef Gloncak <>
6 years agoMerge "BUG 1359:Fixed using option 1"
Ed Warnicke [Wed, 23 Jul 2014 10:14:46 +0000 (10:14 +0000)]
Merge "BUG 1359:Fixed using option 1"

6 years agoMerge "NormalizedNode Mount APIs."
Tony Tkacik [Wed, 23 Jul 2014 05:41:39 +0000 (05:41 +0000)]
Merge "NormalizedNode Mount APIs."

6 years agoMerge "Made config/mdsal/netconf features non-cyclic"
Moiz Raja [Wed, 23 Jul 2014 01:18:38 +0000 (01:18 +0000)]
Merge "Made config/mdsal/netconf features non-cyclic"

6 years agoMerge "BUG-692 Fix intermittent failure in NetconfDeviceTest"
Tony Tkacik [Tue, 22 Jul 2014 15:43:21 +0000 (15:43 +0000)]
Merge "BUG-692 Fix intermittent failure in NetconfDeviceTest"

6 years agoNormalizedNode Mount APIs. 83/9083/7
Maros Marsalek [Fri, 18 Jul 2014 12:28:53 +0000 (14:28 +0200)]
NormalizedNode Mount APIs.

Change-Id: Iee3b7101642bde9aa1a38150ee2a62b84c3de1fb
Signed-off-by: Tony Tkacik <>
Signed-off-by: Maros Marsalek <>
6 years agoMerge "Optimize netconf capability handling"
Tony Tkacik [Tue, 22 Jul 2014 15:05:55 +0000 (15:05 +0000)]
Merge "Optimize netconf capability handling"

6 years agoMerge "BUG-865: do not use InstanceIdentifier.getPath()"
Tony Tkacik [Tue, 22 Jul 2014 15:03:11 +0000 (15:03 +0000)]
Merge "BUG-865: do not use InstanceIdentifier.getPath()"

6 years agoMerge "API Usability: Introduced type capture for Transaction Factory"
Devin Avery [Tue, 22 Jul 2014 13:43:37 +0000 (13:43 +0000)]
Merge "API Usability: Introduced type capture for Transaction Factory"

6 years agoOptimize netconf capability handling 30/9230/1
Robert Varga [Sat, 19 Jul 2014 14:53:14 +0000 (16:53 +0200)]
Optimize netconf capability handling

Inefficient splitting, forward scans and similar. This patch
optimizes it as much as possible.

Change-Id: Ibf52b3b8f512c6b4936dca3089e73bbb1671eaa7
Signed-off-by: Robert Varga <>
6 years agoBUG-865: do not use InstanceIdentifier.getPath() 29/9229/1
Robert Varga [Sat, 19 Jul 2014 14:02:02 +0000 (16:02 +0200)]
BUG-865: do not use InstanceIdentifier.getPath()

InstanceIdentifier exposes the reverse path via a dedicated method, so
use that rather than home-brewing our own.

Change-Id: I3568bf8fc294e235a9f5bae8a72d6cd89079b348
Signed-off-by: Robert Varga <>
6 years agoBUG 1379 - rpcs behind yang-ext:mount aren't always executed 18/9218/1
Jozef Gloncak [Tue, 22 Jul 2014 07:06:11 +0000 (09:06 +0200)]
BUG 1379 - rpcs behind yang-ext:mount aren't always executed

new corrected behavior:
If rpc is from device behing yang-ext:mount and it doesn't exist in
controller then it is ALSO executed.

Change-Id: Ieebf2522b39cd42a8da57b05cf49e528c924f7ba
Signed-off-by: Jozef Gloncak <>
6 years agoBUG-692 Fix intermittent failure in NetconfDeviceTest 17/9217/1
Maros Marsalek [Tue, 22 Jul 2014 07:01:01 +0000 (09:01 +0200)]
BUG-692 Fix intermittent failure in NetconfDeviceTest

Error in NetconfDeviceTest.testNotificationBeforeSchema, verification without timeout was performed before the actual call.

Fixed by adding timeout to all verifications.

Change-Id: I494523036fff456d66398f0d17b0003fe6c083a0
Signed-off-by: Maros Marsalek <>
6 years agoMerge "Flow request containing an invalid action should be rejected"
Giovanni Meo [Tue, 22 Jul 2014 06:28:34 +0000 (06:28 +0000)]
Merge "Flow request containing an invalid action should be rejected"

6 years agoBUG 1359:Fixed using option 1 12/9212/2
Vaishali Mithbaokar [Tue, 22 Jul 2014 01:41:12 +0000 (18:41 -0700)]
BUG 1359:Fixed using option 1

Change-Id: Idb744e4c1eab70ee8a3eeaaf8194f33f91aa84d4
Signed-off-by: Vaishali Mithbaokar <>
6 years agoMade config/mdsal/netconf features non-cyclic 11/9211/1
Ed Warnicke [Tue, 22 Jul 2014 01:14:13 +0000 (20:14 -0500)]
Made config/mdsal/netconf features non-cyclic

We previously had some cross dependency between config-features and
netconf-features.  This is highly undesirable because it
precludes folks being able to simply have a maven dependency for the
one feature they want and requires enumerating *all* the feature

This fixes that by pulling out


So the dependency graph is now non-cyclic:

config-netty -> config-persister
config-persister -> (netconf,config)
netconf -> (config,protocol-framework)

Change-Id: Ie662df40bd6985e2ecd4280596ddafc947e5edd0
Signed-off-by: Ed Warnicke <>
6 years agoUpdated remote rpc code after integration tests. Rpc execution is failing because... 68/8768/7
Harman Singh [Tue, 8 Jul 2014 00:11:22 +0000 (17:11 -0700)]
Updated remote rpc code after integration tests. Rpc execution is failing because of one existing defect

Change-Id: Ic51bba7088371b4428624da9744e0563abdc4a95
Signed-off-by: Harman Singh <>
6 years agoMerge "Change put/merge methods to be type-safe in WriteTransaction"
Devin Avery [Mon, 21 Jul 2014 14:16:31 +0000 (14:16 +0000)]
Merge "Change put/merge methods to be type-safe in WriteTransaction"

6 years agoChange put/merge methods to be type-safe in WriteTransaction 98/9098/4
tpantelis [Sat, 12 Jul 2014 10:53:46 +0000 (06:53 -0400)]
Change put/merge methods to be type-safe in WriteTransaction

Removed declaration of put/merge methods from the common
AsyncWriteTransaction interface.

Defined put/merge methods in the derived Binding and DOM interfaces.
The Binding methods were made type-safe.

Javadoc usage/examples for the methods was put into the
AsyncWriteTransaction class docs and is linked to by the derived

This change is source-code compatible - no client code needs to change
(unless a client actually is incompatible path and data).

Change-Id: I779f6477f1c98e299c5d559043da612be97bfbe6
Signed-off-by: tpantelis <>
6 years agoBug 1352: Added regression test to InMemory Data Store. 34/8934/2
Tony Tkacik [Fri, 11 Jul 2014 09:33:51 +0000 (11:33 +0200)]
Bug 1352: Added regression test to InMemory Data Store.

Change-Id: Ia3a4e332c275d6dfdf9dafd2dfc433de15dbcb6f
Signed-off-by: Tony Tkacik <>
6 years agoFixed incorrect XML test suites & Usage of removed API 97/9197/4
Tony Tkacik [Mon, 21 Jul 2014 11:48:03 +0000 (13:48 +0200)]
Fixed incorrect XML test suites & Usage of removed API

Change in underlying YANG Tools codec, unvereded
that there were test-suites which did string
comparison for testing of XML responses and
any change in XML serialization (valid from
XML point-of-view) triggered this tests to

Reworked offending tests to use XML W3C Document
for testing instead of string comparison and regexes.

Change-Id: Ib6e35e8d2fe79275666235370d1dda461277a59f
Signed-off-by: Tony Tkacik <>
6 years agoMerge "BUG 1387 - degrade log output from info to debug"
Tony Tkacik [Mon, 21 Jul 2014 09:40:53 +0000 (09:40 +0000)]
Merge "BUG 1387 - degrade log output from info to debug"

6 years agoMerge "Bug 1362: New AsyncWriteTransaction#submit method"
Tony Tkacik [Mon, 21 Jul 2014 09:11:50 +0000 (09:11 +0000)]
Merge "Bug 1362: New AsyncWriteTransaction#submit method"

6 years agoBUG 1387 - degrade log output from info to debug 90/9190/1
Jozef Gloncak [Mon, 21 Jul 2014 08:48:29 +0000 (10:48 +0200)]
BUG 1387 - degrade log output from info to debug

Change-Id: Ia98ab154bb53cc3c43f42270a3bd6c65bd9dee65
Signed-off-by: Jozef Gloncak <>
6 years agoMerge "Bug 1239 - Clean up and refactor netconf-ssh client"
Tony Tkacik [Mon, 21 Jul 2014 08:08:41 +0000 (08:08 +0000)]
Merge "Bug 1239 - Clean up and refactor netconf-ssh client"

6 years agoRemove RaftReplicator and move hearbeat logic to the leader 53/8953/2
Moiz Raja [Fri, 11 Jul 2014 20:30:28 +0000 (13:30 -0700)]
Remove RaftReplicator and move hearbeat logic to the leader

This makes more sense. The RaftReplicator does not seem to add any value.

Change-Id: Id3cf8ecbd2493b35c1a32382d65876795a78fa30
Signed-off-by: Moiz Raja <>
6 years agoImplement behavior common to a RaftActor in all it's states 20/8920/2
Moiz Raja [Fri, 11 Jul 2014 01:37:22 +0000 (18:37 -0700)]
Implement behavior common to a RaftActor in all it's states

The common behavior for a RaftActor is
- Change state to follower when it receives a RaftRPC with a newer term
- Increment the applied state of the commitIndex of the AppendEntries message
  is higher than it's applied state

Change-Id: I1fc0cdcb90368f3c07f555b307ac827286386651
Signed-off-by: Moiz Raja <>
6 years agoInitial code/design for an Akka Raft implementation 08/8708/4
Moiz Raja [Mon, 7 Jul 2014 00:38:52 +0000 (17:38 -0700)]
Initial code/design for an Akka Raft implementation

Also implements the LeaderBehavior for elections

Change-Id: I629f2cd71717e5d76eae9c1a9a4dc960246070c9
Signed-off-by: Moiz Raja <>
6 years agoFlow request containing an invalid action should be rejected 72/9172/1
maquresh [Fri, 18 Jul 2014 23:17:46 +0000 (16:17 -0700)]
Flow request containing an invalid action should be rejected

When ODL Controller receives a request to install a flow, it is processed
by FlowConfig class in forwardingrulesmanager bundle. There is method
named "validate" which validates the matches and actions specified in
the flow request. If this method encounters an invalid action, it simply
ignores it and moves to the next action. The result of this behavior is that
if flow request contains only one action and it happens to be invalid,
the FlowMod request will be sent to the switch without any action. An
OVS conforming switch will install this flow and set the action to drop.
However, ideally Controller should reject this request (or any request
containing an invalid action).

Few invalid unit test cases were also escaping due to this error, which
have been corrected.

Change-Id: I4df3226d6ec9c663476cae1991c194bc36cb2f99
Signed-off-by: maquresh <>
6 years agoMerge "Removed unused private implementation class"
Devin Avery [Fri, 18 Jul 2014 12:01:36 +0000 (12:01 +0000)]
Merge "Removed unused private implementation class"

6 years agoMerge "Changed read to be type-safe in ReadTransaction"
Devin Avery [Fri, 18 Jul 2014 12:00:29 +0000 (12:00 +0000)]
Merge "Changed read to be type-safe in ReadTransaction"

6 years agoMerge "BUG-1384: YangStoreServiceImpl.refresh() should never block"
Tony Tkacik [Fri, 18 Jul 2014 09:07:03 +0000 (09:07 +0000)]
Merge "BUG-1384: YangStoreServiceImpl.refresh() should never block"

6 years agoMerge "Improve RpcProviderRegistry loading"
Tony Tkacik [Fri, 18 Jul 2014 08:45:04 +0000 (08:45 +0000)]
Merge "Improve RpcProviderRegistry loading"

6 years agoMerge "BUG-692 Replace strings with ModifyAction enum"
Tony Tkacik [Fri, 18 Jul 2014 08:39:08 +0000 (08:39 +0000)]
Merge "BUG-692 Replace strings with ModifyAction enum"

6 years agoMerge "Bug-1376 Add caching for premature notifications in netconf connector"
Tony Tkacik [Fri, 18 Jul 2014 08:38:32 +0000 (08:38 +0000)]
Merge "Bug-1376 Add caching for premature notifications in netconf connector"

6 years agoMerge "BUG-1291 Fix executor for netconf-connector rejecting tasks."
Tony Tkacik [Fri, 18 Jul 2014 07:33:48 +0000 (07:33 +0000)]
Merge "BUG-1291 Fix executor for netconf-connector rejecting tasks."

6 years agoMerge "BUG-1365 Check if channel was closed when negotiation fails"
Tony Tkacik [Fri, 18 Jul 2014 07:33:35 +0000 (07:33 +0000)]
Merge "BUG-1365 Check if channel was closed when negotiation fails"

6 years agoBUG-692 Replace strings with ModifyAction enum 80/9080/3
Maros Marsalek [Wed, 16 Jul 2014 14:35:58 +0000 (16:35 +0200)]
BUG-692 Replace strings with ModifyAction enum

Change-Id: Ie2564240eed76711437afd0428d02af26cb81cff
Signed-off-by: Maros Marsalek <>
6 years agoBug-1376 Add caching for premature notifications in netconf connector 50/9050/5
Maros Marsalek [Wed, 16 Jul 2014 08:29:47 +0000 (10:29 +0200)]
Bug-1376 Add caching for premature notifications in netconf connector

If a notification is received before schema context is fully built for device, it is cached and forwarded when schema is present.

Change-Id: Ib21fc0fab9cf83a1102ccbb5c9dc98330aa95577
Signed-off-by: Maros Marsalek <>
6 years agoBUG-1384: YangStoreServiceImpl.refresh() should never block 18/9118/3
Robert Varga [Thu, 17 Jul 2014 14:19:32 +0000 (16:19 +0200)]
BUG-1384: YangStoreServiceImpl.refresh() should never block

As descirbed in the bug, we are seeing large amounts of contention on
the monitor when calling refresh(). Rework the safety such that the
refresh path does not block and perform checking for refresh in the
get() path, which is forced to retry should a refresh occur.

With this patch reported contention disappears completely and startup
time is improved by about 8 seconds on stock SP edition.

Change-Id: I4c6109d77324d3d1b700041b54a95dc346e3d372
Signed-off-by: Robert Varga <>
6 years agoMerge "Added SingleThreadedExecutors to data store instance."
Devin Avery [Thu, 17 Jul 2014 14:17:35 +0000 (14:17 +0000)]
Merge "Added SingleThreadedExecutors to data store instance."

6 years agoMerge "Bug 1380 - Fix NullPointerException when match is null"
Devin Avery [Thu, 17 Jul 2014 14:12:46 +0000 (14:12 +0000)]
Merge "Bug 1380 - Fix NullPointerException when match is null"

6 years agoBUG-1291 Fix executor for netconf-connector rejecting tasks. 49/9049/4
Maros Marsalek [Wed, 16 Jul 2014 08:27:53 +0000 (10:27 +0200)]
BUG-1291 Fix executor for netconf-connector rejecting tasks.

Flexible threadpool rejected tasks with SynchronousQueue and did not spawn threads with LinkedBlockingQueue.
Added custom Queue that makes the underlying threadpool to spawn threads as expected.

Change-Id: I28d27316cf63b3370aa802bbd31ee976aa54fbf7
Signed-off-by: Maros Marsalek <>
6 years agoMerge "Bug 1367 - Fix NPE in cors filter"
Tony Tkacik [Thu, 17 Jul 2014 08:30:08 +0000 (08:30 +0000)]
Merge "Bug 1367 - Fix NPE in cors filter"

6 years agoBUG-1365 Check if channel was closed when negotiation fails 29/9029/3
Maros Marsalek [Tue, 15 Jul 2014 13:55:34 +0000 (15:55 +0200)]
BUG-1365 Check if channel was closed when negotiation fails

Also set state only if promise is not yet finished.
Replace custom EOM aggregator with implementation provided by netty.

Change-Id: Iffb740fff1512ca14efe58ed5112f74ce5e75c97
Signed-off-by: Maros Marsalek <>
6 years agoFixed to config,netconf,mdsal features files 63/8963/4
Surekha Bejgam [Thu, 10 Jul 2014 22:40:43 +0000 (17:40 -0500)]
Fixed to config,netconf,mdsal features files

This patch requires:

Things done here (apologies for it all at once
but it was the result of a lot of experimenting):

1) Moved config/mdsal/netconf features projects under
2) Created controller/features/pom.xml to make rebuilding
features easier
3) Created netconf features project
4) Created protocol-framework features project
5) Removed 02-clustering.xml as its no longer used.

Note: These features are intentionally done in a lean
manner... very little overinclusion involved.

State of things:
Hit a snag around karaf's new JMX RBAC.
If you do
feature:install odl-config-startup
and wait for a minute or so you will get an error like:

which looks pretty bad, but is really just telling us that
when the config subsytem went to push features to JMX,
karaf's JMX RBAC blocked us.

I've filed
on this, which describes two possible solutions to the problem.

Further information for onces 1359 is resolved:

The four config files its looking to push are:
ls opendaylight-karaf/target/distribution.opendaylight-karaf-1.4.2-SNAPSHOT/configuration/initial
00-netty.xml 01-md-sal.xml 03-toaster-sample.xml

You can get the requisite capabilities for 00-netty.xml should be installed
by doing
feature:install odl-config-netty
(which depends on odl-config-startup).
For 01-md-sal.xml to be processed you will need to fix up the md-sal
features.  To get 03-toaster-sample.xml processed you will need a feature
for toaster.  I recommend deleting 01-md-sal.xml and 03-toaster-sample.xml
and just playing with 00-netty.xml till you can get past the stuck
places with JMX.

Once you *think* you are past 1359, verify by pointing
jconsole at karaf and looking at MBeans and drilling down under
org.opendaylight until you find the Modules.  You should see more
than 'shutdown' there.

Recommended Next steps:
1)  Fix bug 1359 -  picked option1 to proceed
2)  Fix up the md-sal feature at least enough to get 01-md-sal.xml
working - Done
3)  Get a controller/features/toaster going and get 03-toaster-sample.xml
working. - Toaster is working

********* Had to install in this order to get features installed correctly ********

feature:install yangtools-all

feature:install base-all

feature:install odl-mdsal-commons

feature:install odl-config-api

feature:install odl-config-netty-config-api

feature:install odl-protocol-framework

feature:install odl-netconf-api

feature:install odl-netconf-mapping-api

feature:install odl-netconf-util

feature:install odl-netconf-netty-util

feature:install odl-netconf-impl

feature:install odl-config-core

feature:install odl-config-manager

feature:install odl-config-persister

feature:install odl-config-api

feature:install odl-config-netty-api

feature:install odl-config-netty-config-api

feature:install odl-config-netty

feature:install odl-config-startup

feature:install odl-config-netconf-connector

feature:install odl-mdsal-all

feature:install odl-mdsal-toaster

feature:install yangtools-restconf

feature:install odl-adsal-all

feature:install odl-netconf-misc

feature:install odl-config-dispatcher

feature:install odl-mdsal-misc


I apologize for the size and complexity of this patch.  But it seemed
important to get it out to folks.  Please feel free to break it down
into more managable pieces if you are so inclined.

Change-Id: I6384d57d4fe623221e9c81d8bfb547277ab0e051
Signed-off-by: Ed Warnicke <>
Signed-off-by: Surekha Bejgam <>
6 years agoImprove RpcProviderRegistry loading 93/9093/1
Robert Varga [Wed, 16 Jul 2014 20:22:42 +0000 (22:22 +0200)]
Improve RpcProviderRegistry loading

Profiling monitor usage at startup has shown that we spend about 19s of
CPU time over ~50 second bootup waiting in getRpcService(). Instead of a
home-grown cache, let's use a guava Loading cache, which allows us to
concurrently instantiate multiple rpc services at the same time.

Change-Id: Ieaaedd7da61cd0b03b05a44ee2a6285bc8eb46ac
Signed-off-by: Robert Varga <>
6 years agoBug 1380 - Fix NullPointerException when match is null 92/9092/1
Rob Adams [Wed, 16 Jul 2014 19:18:06 +0000 (12:18 -0700)]
Bug 1380 - Fix NullPointerException when match is null

Change-Id: I728a90054642302d3157e1da4bfa7df3fb63087d
Signed-off-by: Rob Adams <>

©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.