controller.git
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 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 <moraja@cisco.com>
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 <moraja@cisco.com>
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 <moraja@cisco.com>
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 <moraja@cisco.com>
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 <kramesha@cisco.com>
Signed-off-by: Moiz Raja <moraja@cisco.com>
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 <moraja@cisco.com>
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 <moraja@cisco.com>
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 <moraja@cisco.com>
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 <moraja@cisco.com>
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 <moraja@cisco.com>
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 <moraja@cisco.com>
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 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 <rovarga@cisco.com>
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 <rovarga@cisco.com>
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
getLock().

Change-Id: I3e962f284132b376f77e9e2665b3fbb47f246514
Signed-off-by: Robert Varga <rovarga@cisco.com>
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 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 <mmarsale@cisco.com>
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 <ghall@brocade.com>
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 <rovarga@cisco.com>
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 <mmarsale@cisco.com>
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 <ttkacik@cisco.com>
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
(500)

Change-Id: I0ad75958e0d8e25d5bf1bdf7cbac5f855cc2b03d
Signed-off-by: Jozef Gloncak <jgloncak@cisco.com>
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 <ttkacik@cisco.com>
Signed-off-by: Maros Marsalek <mmarsale@cisco.com>
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 <rovarga@cisco.com>
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 <rovarga@cisco.com>
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 <jgloncak@cisco.com>
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 <mmarsale@cisco.com>
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 <vmithbao@cisco.com>
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
files.

This fixes that by pulling out

features/config-netty
features/config-persister
from
features/config

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 <eaw@cisco.com>
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
interfaces.

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 <tpanteli@brocade.com>
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 <ttkacik@cisco.com>
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
fail.

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

Change-Id: Ib6e35e8d2fe79275666235370d1dda461277a59f
Signed-off-by: Tony Tkacik <ttkacik@cisco.com>
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 <jgloncak@cisco.com>
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 <moraja@cisco.com>
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 <moraja@cisco.com>
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 <moraja@cisco.com>
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 <maquresh@cisco.com>
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 <mmarsale@cisco.com>
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 <mmarsale@cisco.com>
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 <rovarga@cisco.com>
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 <mmarsale@cisco.com>
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 <mmarsale@cisco.com>
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:
https://git.opendaylight.org/gerrit/#/c/8962/

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
controller/features
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:

http://pastebin.com/8J886kK9

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 https://bugs.opendaylight.org/show_bug.cgi?id=1359
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 <eaw@cisco.com>
Signed-off-by: Surekha Bejgam <sbejgam@cisco.com>
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 <rovarga@cisco.com>
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 <readams@readams.net>
6 years agoMerge "Bug 1225: Fixed bug in registration of default RPC implementation."
Devin Avery [Wed, 16 Jul 2014 19:07:04 +0000 (19:07 +0000)]
Merge "Bug 1225: Fixed bug in registration of default RPC implementation."

6 years agoMerge "Deprecated Rpcs and RpcErrors helper classes"
Devin Avery [Wed, 16 Jul 2014 18:31:51 +0000 (18:31 +0000)]
Merge "Deprecated Rpcs and RpcErrors helper classes"

6 years agoMerge "Bug 1093: Extracted static inner classes from SchemaAwareRpcBroker."
Devin Avery [Wed, 16 Jul 2014 17:58:46 +0000 (17:58 +0000)]
Merge "Bug 1093: Extracted static inner classes from SchemaAwareRpcBroker."

6 years agoAdded SingleThreadedExecutors to data store instance. 88/9088/1
Tony Tkacik [Wed, 16 Jul 2014 17:31:44 +0000 (19:31 +0200)]
Added SingleThreadedExecutors to data store instance.

Change-Id: I18900f4db121fe7728ecd3c0aae90cbd6e83fee2
Signed-off-by: Tony Tkacik <ttkacik@cisco.com>
6 years agoMerge "Added comments to the opendaylight-inventory.yang file to help describe the...
Tom Pantelis [Wed, 16 Jul 2014 15:28:33 +0000 (15:28 +0000)]
Merge "Added comments to the opendaylight-inventory.yang file to help describe the purpose of the various fields"

6 years agoRemoved unused private implementation class 81/9081/1
Tony Tkacik [Wed, 16 Jul 2014 14:52:25 +0000 (16:52 +0200)]
Removed unused private implementation class

Change-Id: Ie17b82e8f057f8d0da40cd93229149125f668e71
Signed-off-by: Tony Tkacik <ttkacik@cisco.com>
6 years agoBug 1093: Extracted static inner classes from SchemaAwareRpcBroker. 54/9054/2
Tony Tkacik [Wed, 16 Jul 2014 10:58:21 +0000 (12:58 +0200)]
Bug 1093: Extracted static inner classes from SchemaAwareRpcBroker.

Change-Id: I68bc1d3e4a3b279877e5ece19bcc9e1bfcd0c3dc
Signed-off-by: Tony Tkacik <ttkacik@cisco.com>
6 years agoAdded comments to the opendaylight-inventory.yang file to help describe 55/8255/6
Devin Avery [Mon, 23 Jun 2014 19:14:30 +0000 (15:14 -0400)]
Added comments to the opendaylight-inventory.yang file to help describe
the purpose of the various fields

Change-Id: I1e368b94c9b0c030bb8f7d266019fdeaa97abc80
Signed-off-by: Devin Avery <devin.avery@brocade.com>
6 years agoBug 1239 - Clean up and refactor netconf-ssh client 70/9070/2
Tomas Olvecky [Thu, 26 Jun 2014 11:18:24 +0000 (13:18 +0200)]
Bug 1239 - Clean up and refactor netconf-ssh client

Remove commented and dead code in netconf-netty-util.
Move SshHandler to client package in order to make it package private.
Wrap OutputStream in SSHClientHandler with a buffer.
Remove VirtualSocketException as it was a workaround for
passing context without checking whether session was established.

Change-Id: I992d3b8ba2b2a58b69bd2e8be4ad0e4bdfa36c01
Signed-off-by: Tomas Olvecky <tolvecky@cisco.com>
6 years agoAPI Usability: Introduced type capture for Transaction Factory 62/9062/1
Tony Tkacik [Wed, 16 Jul 2014 12:22:52 +0000 (14:22 +0200)]
API Usability: Introduced type capture for Transaction Factory

Change-Id: If74733ce5464e294522abf79f9433849466a1f56
Signed-off-by: Tony Tkacik <ttkacik@cisco.com>
6 years agoBug 1225: Fixed bug in registration of default RPC implementation. 30/9030/2
Tony Tkacik [Tue, 15 Jul 2014 16:17:38 +0000 (18:17 +0200)]
Bug 1225: Fixed bug in registration of default RPC implementation.

Change-Id: I302bd0c9aa75e844864d0b7dd692c1d331a563ed
Signed-off-by: Tony Tkacik <ttkacik@cisco.com>
6 years agoMerge "Bug 1355: Fixed incorrect input keyword use in rpc"
Tony Tkacik [Wed, 16 Jul 2014 07:52:49 +0000 (07:52 +0000)]
Merge "Bug 1355: Fixed incorrect input keyword use in rpc"

6 years agoFixed class-cast when Netconf registered RPC implementations. 32/9032/1
Tony Tkacik [Tue, 15 Jul 2014 16:43:02 +0000 (18:43 +0200)]
Fixed class-cast when Netconf registered RPC implementations.

Change-Id: I0803f7ec0d23bcf195c2fbac49e916c4f30110e1
Signed-off-by: Tony Tkacik <ttkacik@cisco.com>
6 years agoBug 1355: Fixed incorrect input keyword use in rpc 18/9018/1
Lukas Sedlak [Tue, 15 Jul 2014 11:57:27 +0000 (13:57 +0200)]
Bug 1355: Fixed incorrect input keyword use in rpc

Fixed incorrect evaluation in method flattenInput in NetconfMessageTransformUtil.
Added test for testing toRpcRequest and flattenInput methods.
Added test model for test.

Change-Id: Id6938b39f0bd06b315f4820a6c1008fa371416d0
Signed-off-by: Lukas Sedlak <lsedlak@cisco.com>
6 years agoMerge "Bug 1303: BindingIndependentConnector splitted."
Tony Tkacik [Tue, 15 Jul 2014 10:35:27 +0000 (10:35 +0000)]
Merge "Bug 1303: BindingIndependentConnector splitted."

6 years agoMerge "BUG-1317 BUG-1351 Fix duplicate connections from netconf connector"
Tony Tkacik [Tue, 15 Jul 2014 09:36:11 +0000 (09:36 +0000)]
Merge "BUG-1317 BUG-1351 Fix duplicate connections from netconf connector"

6 years agoMerge "Bug 1125: Added regression test"
Tony Tkacik [Tue, 15 Jul 2014 08:56:21 +0000 (08:56 +0000)]
Merge "Bug 1125: Added regression test"

6 years agoBug 1367 - Fix NPE in cors filter 08/9008/1
Tomas Olvecky [Tue, 15 Jul 2014 08:52:21 +0000 (10:52 +0200)]
Bug 1367 - Fix NPE in cors filter

Null was returned by request.getPathInfo, correct method
that decodes relative path to resource is
request.getDecodedRequestURI .

Change-Id: I74964bea07df8fa0e9a37af0effaa2525c6b8b2c
Signed-off-by: Tomas Olvecky <tolvecky@cisco.com>
6 years agoBUG-1317 BUG-1351 Fix duplicate connections from netconf connector 94/8994/2
Maros Marsalek [Mon, 14 Jul 2014 16:04:53 +0000 (18:04 +0200)]
BUG-1317 BUG-1351 Fix duplicate connections from netconf connector

Change-Id: I2c3135f3f84ef25f0005744c03003462c96812c1
Signed-off-by: Maros Marsalek <mmarsale@cisco.com>
6 years agoBug 1178 - removed unused parameter from checkOdAction() menthod. 05/9005/1
Jan Hajnar [Mon, 14 Jul 2014 15:30:25 +0000 (17:30 +0200)]
Bug 1178 - removed unused parameter from checkOdAction() menthod.

Change-Id: I514650b7a4dac89d24f07a241b0f4c9ebe3cf237
Signed-off-by: Jan Hajnar <jhajnar@cisco.com>
6 years agoBug 1280: Added option to automaticly create parents 36/8736/3
Tony Tkacik [Wed, 23 Jul 2014 10:11:06 +0000 (12:11 +0200)]
Bug 1280: Added option to automaticly create parents

Introduced additional variation of put and merge
which allows user to specify if parents nodes
are to be created. Default behaviour is to not
create parent nodes, but users still have
explicit API for creating them if necessary.

Updated documentation accordingly and added note
that auto-create of parents may potentially
create garbage in data store.

Change-Id: Id4a88b015e05b4717e9c393ddf821c7f93e7e541
Signed-off-by: Tony Tkacik <ttkacik@cisco.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.