Shigeru Yasuda [Fri, 11 Sep 2015 08:06:51 +0000 (17:06 +0900)]
Bug 4105: Fixed feature test failure due to missing dependency.
features-mdsal was missing dependency on sal-clustering-config
(type=xml, classifier=entityownershipconfig).
Change-Id: Ifa1380a1071ae3c7b730e79c4e1c8ff09dbe15e2
Signed-off-by: Shigeru Yasuda <s-yasuda@da.jp.nec.com>
Tom Pantelis [Tue, 18 Aug 2015 06:59:47 +0000 (02:59 -0400)]
Bug 4105: Remove candidates on PeerDown
Currently on PeerDown, the EntityOwnershipShard selects a new owner for
the entities owned by the down node and leaves the down node as a
candidate. If the down node is the only candidate, the owner is cleared.
On PeerUp, it selects a new owner for those entities whose owner is clear.
This was done to handle network partition so a node's candidates remain
registered and are re-assigned when the partition is healed.
Howver this has potential issues when a node is actually
stopped/restarted. It's possible, on restart, that the node doesn't
register a candidate for an entity that it had previously registered for.
So it may get ownership of an entity for which it has no registered
candidate.
To alleviate this, I changed it to remove all the down node's candidates
on PeerDown. If the node was stopped/restarted, then it will
re-register candidates based on local client requests. This case will be
the norm. To handle network partition, when healed, the follower node
will get the replicated commits for its candidate removals from the
leader. So on Candidate removed, it re-adds its removed candidate if it
has a registered EntityOwnershipCandidate.
I realized that one can register a DOMDataTreeChangeListener for a leaf
node. So I simplified EntityOwnerChangeListener to listen for the owner
leaf instead of the entity path. This avoids the extra notifications
when candidayes are added/removed. I actually did this originally b/c I
thought there was a bug when listening at the entity level which turned
out there wasn't but I left it in as an improvement.
I also added the shard's logId to the listener and support classes for
better debugging of unit tests.
Change-Id: I75d2567ce54b9129eee052ba521c8a71777289b6
Signed-off-by: Tom Pantelis <tpanteli@brocade.com>
Tom Pantelis [Mon, 17 Aug 2015 09:57:53 +0000 (05:57 -0400)]
Bug 4105: Implement EntityOwnershipListener registration/notification
Change-Id: I49ee7f4b5f48ddde4779d37ba34c88dd776dd47b
Signed-off-by: Tom Pantelis <tpanteli@brocade.com>
Tom Pantelis [Mon, 17 Aug 2015 00:46:24 +0000 (20:46 -0400)]
Bug 4105: Pass ModuleShardConfiguration with CreateShard
The DistributedEntityOwnershipService first adds the
ModuleShardConfiguration to the Configuration prior to sending the
CreateShard message. However if the ModuleShardConfiguration gets
added before the ShardManager actor is created, the entity-ownership
shard is created via ShardManager.createLocalShards. This results in
the entity-ownership instantiated as Shard instead of
EntityOwnershipShard. I've seen this happen in unit tests - it's not
likely to occur in the production system b/c we wait until the
data store is ready prior to creating the
DistributedEntityOwnershipService. But we should prevent it so I
changed the DistributedEntityOwnershipService to pass the
ModuleShardConfiguration with the CreateShard message. The
ShardManager now adds the ModuleShardConfiguration to the
Configuration.
Change-Id: I9f64a27cdd8c24d31e7eb1389210b57ac7a1f604
Signed-off-by: Tom Pantelis <tpanteli@brocade.com>
Tom Pantelis [Sun, 16 Aug 2015 23:02:41 +0000 (19:02 -0400)]
Bug 4105: Add entity ownership integration test
Change-Id: I9578a37f86db44a90aa208d6d89374ba4d3cfb89
Signed-off-by: Tom Pantelis <tpanteli@brocade.com>
Tom Pantelis [Sat, 15 Aug 2015 21:23:50 +0000 (17:23 -0400)]
Bug 4105: Change ownership on member down/up
Added 2 new messages, PeerUp and PeerDown, that the ShardManager sends
in response to cluster member events.
For PeerDown, the EntityOwnershipShard finds the entities owned by the
down member and selects a new owner based on the remaining candidates.
If there's no other candidates, the owner is cleared (set to "") so new
candidates can become owner. The down members are also tracked via a
downPeerMemberNames set.
For PeerUp, if the up member is in the downPeerMemberNames, the
EntityOwnershipShard finds entities that previously had their owner
cleared and attempts to select a new owner. This handles the case where
a previously down member was the only candidate for an entity so, when
that member comes back up, the entity's owner will be re-assigned to
that member.
Reassigning of owners via PeerDown and PeerUp is only done on the
leader. However that may not handle the case where the leader goes down.
When a new leader is elected we need it to select new owners for
entities owned by the down leader. There are 2 cases here. If the old
leader has not yet been detected as down then eventually we expect to
get PeerDown to handle it. The second case is if PeerDown was already
received prior to the leader change (probably the norm), in which case
PeerDown would not have been processed. To handle this case I overrode
onLeaderChanged to select new owners for entities owned by the old leader
that is passed in. The RaftActor sends the old leader's peerId so I
added a peerIdToMemberNames map to translate - this is populated via
PeerUp. Also I changed the RaftActor to track and pass the actual last valid
leader id, previously it passed the leader id from the previous behavior
which would normally be Candidate which always has a null leaderId.
The newOwner method was changed to ignore candidates in the
downPeerMemberNames set as there's no point in assigning the owner to a
candidate known to be down.
Change-Id: I8f0b78460a1a3e2a6418431f8a8a770a789e8f8d
Signed-off-by: Tom Pantelis <tpanteli@brocade.com>
Tom Pantelis [Wed, 12 Aug 2015 04:59:46 +0000 (00:59 -0400)]
Bug 4105: Add Cars RPC to test entity ownership
Change-Id: I8e23698b64ef408ae157ca0d2e94ed1f272128c7
Signed-off-by: Tom Pantelis <tpanteli@brocade.com>
Tom Pantelis [Wed, 12 Aug 2015 04:57:45 +0000 (00:57 -0400)]
Bug 4105: Add general-entities yang model
Added a general-entities yang model tha can be used to represent an
entity ID when no existing yang schema exists.
Change-Id: Iec815966fe21ec15cb78ff47c68cda0aa7ae8504
Signed-off-by: Tom Pantelis <tpanteli@brocade.com>
Tom Pantelis [Tue, 11 Aug 2015 00:08:03 +0000 (20:08 -0400)]
Bug 4105: Add dynamic module/shard config for entity-owners shard
Added a new method addModuleShardConfiguration to Configuration.
I simplified the internals of ConfigurationImpl to make it easier to
add a new module/shard config. I combined serveral of the maps into one
moduleConfigMap and reduced the total # of fields to 3. For
synchronization, I kept the maps/sets immutable and used copy-on-write
semantics to update them as they will seldom change. I also made the
fields volatile.
I also removed the singleton nature of ShardStrategyFactory since each
datastore's Configuration will now be different, ie only the operational
datastore's Configuration will have the entity-owners module. The
datastore's ShardStrategyFactory instance is not instantiated and owned
by the ActorContext.
To make things easier for unit tests, I abstracted the file-reading code
in ConfigurationImpl to a new ModuleShardConfigProvider interface and
FileModuleShardConfigProvider implementation in the config package.
I also moved the inner classes to the config package.
While I was at it I also moved Configuration and ConfigurationImpl to the
config package for consistency.
Change-Id: I1d6858d3ae68869ca6f61d4f5a5f0d319d93c485
Signed-off-by: Tom Pantelis <tpanteli@brocade.com>
Tom Pantelis [Fri, 14 Aug 2015 12:42:02 +0000 (08:42 -0400)]
Bug 4105: Implement UnregisterCandidateLocal in EntityOwnershipShard
Also added a testOwnershipChanges case to EntityOwnershipShardTest to
run thru various ownership change scenarios with local and remote candidates
and local unregistration. As a result I found a couple bugs that I
fixed.
Change-Id: I4343754fbbc8f471975e6c723ffc0beaedee2860
Signed-off-by: Tom Pantelis <tpanteli@brocade.com>
Tom Pantelis [Fri, 14 Aug 2015 10:13:54 +0000 (06:13 -0400)]
Bug 4105: Integrate EntityOwnerChangeListener with EntityOwnershipShard
Change-Id: Ia302d503f9ff65aa48faf7d69f1405ebf5267166
Signed-off-by: Tom Pantelis <tpanteli@brocade.com>
Moiz Raja [Wed, 19 Aug 2015 23:53:10 +0000 (16:53 -0700)]
Bug 4105: Choose Owner for an Entity based on first come first served basis
Change-Id: If40e19cf40e832c9317611bde2950502f7f4897c
Signed-off-by: Moiz Raja <moraja@cisco.com>
Signed-off-by: Tom Pantelis <tpanteli@brocade.com>
Tom Pantelis [Fri, 14 Aug 2015 03:21:56 +0000 (23:21 -0400)]
Bug 4105: Change commit retry mechanism in EntityOwnershipShard
Change-Id: Iba640eab1c21672ffe6357531c6d236e65c1cd73
Signed-off-by: Tom Pantelis <tpanteli@brocade.com>
Tom Pantelis [Wed, 12 Aug 2015 19:51:54 +0000 (15:51 -0400)]
Bug 4105: Add EntityOwnerDataChangeListener
Added EntityOwnerDataChangeListener that responds to changes to the
entity owner leaf and notifies the EntityOwnershipListenerSupport
appropriately.
I also added an EntityOwnersModel class that defines various entity-owners
yang model constants (moved from EntityOwnershipShard) and has utilities
for creating NormalizedNodes and paths.
Change-Id: Iaa567b5cba6cf0f5cfca0dce39f0f43c38fee4bc
Signed-off-by: Tom Pantelis <tpanteli@brocade.com>
Tom Pantelis [Tue, 11 Aug 2015 04:05:38 +0000 (00:05 -0400)]
Bug 4105: Add EntityOwnershipListenerActor and support
Change-Id: Idbeef3e23ab45a11afe5fce56a55fe5d6945729a
Signed-off-by: Tom Pantelis <tpanteli@brocade.com>
Tom Pantelis [Fri, 14 Aug 2015 02:16:06 +0000 (22:16 -0400)]
Bug 4105: Move Configuration classes to config package
Change-Id: I863600727f5171eb0db3591a541848aa877a68de
Signed-off-by: Tom Pantelis <tpanteli@brocade.com>
Tom Pantelis [Sun, 9 Aug 2015 04:22:02 +0000 (00:22 -0400)]
Bug 4105: Implement RegisterCandidate in EntityOwnershipShard
Change-Id: Idab615399d81a8451e22bfabd30aed9a98e4b037
Signed-off-by: Tom Pantelis <tpanteli@brocade.com>
Tom Pantelis [Sat, 8 Aug 2015 10:57:03 +0000 (06:57 -0400)]
Bug 4105: Implement candidate registration close
Added an UnregisterCandidateLocal message which is sent when
a DistributedEntityOwnershipCandidateRegistration is closed.
Change-Id: I6336e1b83a7764bfb4abc2fc37e196175c008dc3
Signed-off-by: Tom Pantelis <tpanteli@brocade.com>
Tom Pantelis [Sat, 8 Aug 2015 08:20:11 +0000 (04:20 -0400)]
Bug 4105: Implement DistributedEntityOwnershipService#registerCandidate
Added a RegisterCandidateLocal message and implemented registerCandidate
to send the message to the local EntityOwnershipShard.
Change-Id: If941401d00912ce34f74e54188af0430a5ec6fcc
Signed-off-by: Tom Pantelis <tpanteli@brocade.com>
Moiz Raja [Tue, 4 Aug 2015 20:00:52 +0000 (13:00 -0700)]
Bug 4105: Add entity-owners yang module
This module describes the data structure used for storing entity
ownership information by the clustered implementation of
EntityOwnershipService
Change-Id: Ib7f8fad74e00b480236b1a2bddb060b093e90ad4
Signed-off-by: Moiz Raja <moraja@cisco.com>
Tom Pantelis [Fri, 7 Aug 2015 20:20:48 +0000 (16:20 -0400)]
Bug 4105: Add EntityOwnershipShard
Added the EntityOwnershipShard and modified
DistributedEntityOwnershipService to create it.
Change-Id: Id173b148797e90ff5d38d7f7cde177d303943181
Signed-off-by: Tom Pantelis <tpanteli@brocade.com>
Tom Pantelis [Fri, 7 Aug 2015 16:55:48 +0000 (12:55 -0400)]
Bug 4105: Added DistributedEntityOwnershipService and wiring
Added a skeleton DistributedEntityOwnershipService impl class and config
system wiring.
I initially tried to instantiate it in the operational store module but
it needs to be its own service and AFAIK you can only provide one
service per module as createInstance returns a single AutoCloseable.
So I created a new config yang and xml for distributed-entity-ownership-service.
We also need a separate config yang service identity to allow for
multiple impls - I put this in sal-common-api where the
EntityOwnershipService is defined.
Change-Id: I4883af2e749bca5c9dfdac69cf943017294435a3
Signed-off-by: Tom Pantelis <tpanteli@brocade.com>
Moiz Raja [Fri, 31 Jul 2015 22:40:17 +0000 (15:40 -0700)]
Bug 4105: Add public EntityOwnershipService interface
Change-Id: If65f6ef8116b0a8481a3af1aee88e444771d9e3f
Signed-off-by: Moiz Raja <moraja@cisco.com>
Tom Pantelis [Thu, 10 Sep 2015 17:24:01 +0000 (13:24 -0400)]
CDS: Fix intermittent DistributedDataStoreRemotingIntegrationTest failure
I've seen the testReadyLocalTransactionForwardedToLeader test fail
several times both locally and in jenkins:
DistributedDataStoreRemotingIntegrationTest.testReadyLocalTransactionForwardedToLeader:535
assertion failed: expected class
org.opendaylight.controller.protobuff.messages.cohort3pc.ThreePhaseCommitCohortMessages$CommitTransactionReply, found class akka.actor.Status$Failure
It's a timing issue where the follower may not yet have the leader.
After this patch the test ran 100 times w/o failure.
Change-Id: I542a7e87516e8d1f846cda6e2abc4d473e3de961
Signed-off-by: Tom Pantelis <tpanteli@brocade.com>
Tom Pantelis [Thu, 6 Aug 2015 20:13:03 +0000 (16:13 -0400)]
Bug 4105: Add CreateShard message in ShardManager
Added a new CreateShard message that is processed by the
ShardManager. A new interface, ShardPropsCreator, was added
allowing the caller to instantiate a sub-class of Shard if need be
via the CreateShard message. The DefaultShardPropsCreator creates
Props for the Shard class.
Change-Id: Ieb2c895c85709d963445dc7e15ae9dec9cb3a810
Signed-off-by: Tom Pantelis <tpanteli@brocade.com>
(cherry picked from commit
76e5d5ef4b8fc83e2c480c8fac81a05b65c14799)
Tom Pantelis [Wed, 5 Aug 2015 22:15:42 +0000 (18:15 -0400)]
Bug 4105: Add method to get all unique member names
Added a method to Configuration to get all unique members names
configured for all shards.
Change-Id: I09993541ad7e5963e9eef9cb58b4376daa8f09e8
Signed-off-by: Tom Pantelis <tpanteli@brocade.com>
(cherry picked from commit
c3ba770fd6e9ba6e6227717bdba11ccc9f468f05)
Moiz Raja [Sat, 22 Aug 2015 02:13:05 +0000 (19:13 -0700)]
BUG 2185: Expand the scope of sync status to cover a slow follower
Previously sync status was used only in the startup scenario
to make the controller appear to the external world as not
synced up unless it had received atleast data till the commitIndex
which the leader reported when it sent the follower it's first
heartbeat.
Now we also track when a new update is sent from the Leader to the
Follower and if the Follower is behind the Leader by a threshold
(hardcoded for now) then we consider the Follower as out-of-sync
Also I added the member name in the ShardManager bean so that is another
place from which we can figure out on which node we are running.
Change-Id: I1ba02575a0a1ac5d601af559f41971f2f5736f9d
Signed-off-by: Moiz Raja <moraja@cisco.com>
(cherry picked from commit
47890ea59104fe349c5637d51a44d76f3571ce78)
Shaleen Saxena [Wed, 2 Sep 2015 17:19:51 +0000 (13:19 -0400)]
Bug-4234 - Add count field to cars stress-test RPC.
Added a 'count' field to cars stress-test RPC. The test will stop
after the 'count' cars have been created. If count is zero, then
stress-test will continue till stop-stress-test rpc is given.
Also added some null checks for missing input fields. If rate is
zero, then an error is returned.
Change-Id: Id313f9094e8ca887993e4e8911d0a86b64db7303
Signed-off-by: Shaleen Saxena <ssaxena@brocade.com>
(cherry picked from commit
3abc8b4d3379109bd12aadbc01c0b134cbd268c5)
Moiz Raja [Tue, 4 Aug 2015 00:05:14 +0000 (17:05 -0700)]
BUG 2185 : Follower should request forceInstallSnapshot in out-of-sync scenario
When the Follower detects that it has more entries in it's log than the Leader
it might be an indication that the Follower was previously a Leader and therefore
it has additional entries in it's log which are missing in the Leader. When the
RaftPolicy is set to allow commits before consensus this could also mean that the
state now has more data than should be present in there. In this scenario Follower
requests the Leader to InstallSnapshot.
Change-Id: I517af148c3933f798ceb87ff88c77c396590881f
Signed-off-by: Moiz Raja <moraja@cisco.com>
(cherry picked from commit
8c3896a99a221d3411f88f3a53c7d9fe6b89734e)
Tomas Cere [Mon, 7 Sep 2015 11:41:13 +0000 (13:41 +0200)]
Migrate archetypes restconf dependencies
Change-Id: I4fd783f77c12616add7aace1d5c4e8e71d6bebed
Signed-off-by: Tomas Cere <tcere@cisco.com>
Tomas Cere [Mon, 7 Sep 2015 10:44:42 +0000 (12:44 +0200)]
Delete restconf
Change-Id: I0cc4ea8375ec22b67ee93e1a02a9131f56f044c2
Signed-off-by: Tomas Cere <tcere@cisco.com>
Tomas Cere [Wed, 26 Aug 2015 14:13:02 +0000 (16:13 +0200)]
Delete netconf
Change-Id: I69f0c921df155606d296f448b11297c7382795c8
Signed-off-by: Tomas Cere <tcere@cisco.com>
Maros Marsalek [Thu, 30 Jul 2015 14:05:28 +0000 (16:05 +0200)]
Remove netconf from commons/opendaylight pom
Change-Id: Id558bf0ac35c661be028eb9cea436b6728b414de
Signed-off-by: Maros Marsalek <mmarsale@cisco.com>
Moiz Raja [Fri, 24 Jul 2015 02:19:16 +0000 (19:19 -0700)]
BUG 2185 : Add JMX API to change the state of a Shard
Added two APIs to the ShardManager MBeans
- switchAllLocalShardsState
- switchShardState
Change-Id: I896e421f322f487b4f8eb321708e01cc93bbd48f
Signed-off-by: Moiz Raja <moraja@cisco.com>
(cherry picked from commit
3a59e9f47466fbf150b6b14a44f4d6c775f79ee9)
Moiz Raja [Mon, 3 Aug 2015 23:20:31 +0000 (16:20 -0700)]
BUG 2185 : Disable all internal switching of behavior
Since we do not depend on Raft for changing behavior when elections
are disabled we need to disable all internal switching of behaviors.
Added specific Leader tests to check the following,
1. Do not switch to Follower when you receive an AppendEntriesReply
from a Follower with a higher term
2. Do not switch to IsolatedLeader even when no Follower is sending
AppendEntriesReply
Change-Id: Ic2b4f76813f35db190e108306a62af5397d31658
Signed-off-by: Moiz Raja <moraja@cisco.com>
(cherry picked from commit
9baf6a2a5e494f70af407f04631980857a26daf9)
Jan Hajnar [Thu, 25 Jun 2015 12:06:33 +0000 (14:06 +0200)]
Bug 3708 - APIdoc explorer URLs contain extra 'node' in REST calls
* fixed mount point path builder that added each list qname twice
Change-Id: I96d541ea8b40ab5003f82a9e5981e11e1f0fd0d2
Signed-off-by: Jan Hajnar <jhajnar@cisco.com>
(cherry picked from commit
523e75af81fa6537117ceae53c7cdb2b1881aa10)
Tom Pantelis [Sat, 20 Jun 2015 08:09:47 +0000 (04:09 -0400)]
Bug 3822: Improve error reporting for restconf PUT
A runtime exception can be emitted by the netconf mount point which
should be reported to the user, otherwise you get a 500 response with
no error info which isn't very helpful.
Also the fucntionality to output the error-info field was ommitted with
the conversion from CompositeNode to NormalizedNode so I re-implemeneted
it. It was originally ommitted with a TODO b/c the
NormalizedNodeStreamWriters validate against the schema and error-info
is defined as an empty container in the restconf yang. So there's no way
to create a ContainerNode to represent the error-info data that conforms
to the schema. To work around this, I created a leaf node and special-cased
error-info in the stream writer to elide schema validation.
I also added a regression unit test for the case where the URL contains
an identityref.
Change-Id: I93b4aea25c829af1232d539180f02dd61e252d50
Signed-off-by: Tom Pantelis <tpanteli@brocade.com>
Moiz Raja [Thu, 23 Jul 2015 03:34:30 +0000 (20:34 -0700)]
BUG 2185 : Introduce the SwitchBehavior message
RaftActor processes the SwitchBehavior message to change the behavior
Candidate and IsolatedLeader behaviors are not allowed.
Change-Id: Id8d758c6574a5c58927927b83bc5985081b19c50
Signed-off-by: Moiz Raja <moraja@cisco.com>
(cherry picked from commit
26c4b15f6b55f012e7e7cf6e94d335386615af5c)
Moiz Raja [Wed, 22 Jul 2015 02:11:10 +0000 (19:11 -0700)]
BUG 2185 : Make the Custom Raft Policy externally configurable
A class which implements RaftPolicy needs to be set
to customize the behavior. I am hoping that this will be a barrier
to people unintentionally breaking the default raft policy as
they would need to know the internals of clustering in order to
supply a valid class.
I added two configurable raft policy classes for the two known
use cases,
- org.opendaylight.controller.cluster.datastore.policy.TestOnlyRaftPolicy
- org.opendaylight.controller.cluster.datastore.policy.TwoNodeClusterRaftPolicy.
Change-Id: Ic3cc2f27754c37e85c3be8a863764fc88ec84399
Signed-off-by: Moiz Raja <moraja@cisco.com>
(cherry picked from commit
1ef2f7321202ef77b5cfd0ca430e6a58cb07331e)
Robert Varga [Mon, 31 Aug 2015 16:41:29 +0000 (18:41 +0200)]
features-config is missing scope=test
opendaylight-karaf-empty is used only in tests, hence the dependency
should have a proper scope.
Change-Id: I54b7c84c4c732d63c49b251b960c511711470bbc
Signed-off-by: Robert Varga <rovarga@cisco.com>
Harman Singh [Fri, 28 Aug 2015 01:28:23 +0000 (18:28 -0700)]
Bug 2461 : Adding capture snapshot JMX operation.
Also, updated Snapshot manager code, which may throw null pointer exception, if last log entry is null
Change-Id: I4363a3da38af99a4193b8ad2b1c0a5cbaf714a32
Signed-off-by: Harman Singh <harmasin@cisco.com>
Moiz Raja [Thu, 27 Aug 2015 17:34:36 +0000 (10:34 -0700)]
BUG 4212 : Follower should not reschedule election timeout in certain cases.
Before:
Follower rescheduled election whenever it received any message
Now:
Followe reschedules election only if
- The message received is a RaftRPC message
- If the RaftRPC message is a RequestVote then only reschedule
if vote is granted
Change-Id: Ia59c65e4896d72dfc49e86e59b6a9e9331a945ca
Signed-off-by: Moiz Raja <moraja@cisco.com>
(cherry picked from commit
bf63fbc347b7cf055e22c3711f22af9d286c6281)
Moiz Raja [Thu, 27 Aug 2015 18:07:08 +0000 (11:07 -0700)]
BUG 4213 : Candidate should switch to Follower when it receives AppendEntries from new Leader
Multiple peers might become candidates in a single election term. If one peer happened
to become a Leader it will send AppendEntries to all it's peers. When a Candidate receives
an AppendEntries and finds its term to be the same as the AppendEntries term then it should
switch to Follower.
Change-Id: Ia4ce41d4f3eefed50297b90107ad7429bb950ad8
Signed-off-by: Moiz Raja <moraja@cisco.com>
(cherry picked from commit
6b66fc7266ea909427b612da16a587936890b77b)
Tony Tkacik [Wed, 19 Aug 2015 12:35:34 +0000 (14:35 +0200)]
Moved non MD-SAL models outside of MD-SAL folder
This is just simple file movement without changing
group-ids and packages to better reflect their use.
This models are general purpose and are not part of MD-SAL,
but rather used on top of MD-SAL.
Change-Id: I4ed842ae878e5470ac16348a4f7e92231ae67f8e
Signed-off-by: Tony Tkacik <ttkacik@cisco.com>
Tony Tkacik [Wed, 19 Aug 2015 12:29:33 +0000 (14:29 +0200)]
Switched model-parent to use binding-parent.
model-parent originaly used sal-parent which did not contained
sections necessary for model-only packages.
Switched to binding-parent, which actually simplifies pom
file.
Change-Id: I2efea28799dfbd541b2b12468a6aec3472dbb240
Signed-off-by: Tony Tkacik <ttkacik@cisco.com>
Tomas Cere [Thu, 20 Aug 2015 12:07:05 +0000 (14:07 +0200)]
Add missing odl-config-netty feature into odl-netconf-mdsal
Change-Id: I6a37e285f9fd74b24123830634a33dbcdfad3414
Signed-off-by: Tomas Cere <tcere@cisco.com>
Thanh Ha [Mon, 24 Aug 2015 14:12:28 +0000 (10:12 -0400)]
Fix license header violations in controller
Change-Id: I78161e69d30773bb4d8e7943316cd988e1a7b81b
Signed-off-by: Thanh Ha <thanh.ha@linuxfoundation.org>
Tomas Cere [Wed, 19 Aug 2015 14:13:22 +0000 (16:13 +0200)]
Add missing messagebus-netconf dependency
features-netconf-connector was missing messagebus-netconf dependency
and breaking downstream projects.
Change-Id: Ife784fde73e590add08fcdec9027cc1784327beb
Signed-off-by: Tomas Cere <tcere@cisco.com>
Tony Tkacik [Thu, 23 Jul 2015 09:09:25 +0000 (11:09 +0200)]
Bug 4035: MD-SAL: Remove unused dependencies & declarations
After config-related code movement some of the dependencies
& declarations are unnecesary anymore, which actually
simplifies pom files for affected components.
Removed unused import of binding config in restconf.
Change-Id: I83dd04c5ac161f45d246abbbe896ddb66b066fef
Signed-off-by: Tony Tkacik <ttkacik@cisco.com>
Tony Tkacik [Thu, 23 Jul 2015 13:48:06 +0000 (15:48 +0200)]
Remove unused MD-SAL utilities and interfaces.
This utilities & interfaces were deprecated before
Lithium or were describing internal contracts
of MD-SAL prior to Lithium, thus they are unneeded
in Beryllium.
None of removed classes is used in public Lithium
Opendaylight codebase.
Change-Id: Ie5f51cf3dc15f0f70efe3e51e0fe0d0c2b8da713
Signed-off-by: Tony Tkacik <ttkacik@cisco.com>
Tony Tkacik [Thu, 23 Jul 2015 13:07:38 +0000 (15:07 +0200)]
Bug 4035: Remove deprecated Hydrogen interfaces
This remove set of interfaces which
is safe to remove without breaking projects which did not
yet migrated from Hydrogen interfaces to Helium / Lithium one.
Also removes some related methods in such interfaces which
are unused in current public Beryllium codebase in
projects using MD-SAL.
Change-Id: I2ac67ead4ea4d9d97d0198d62910e667318dc03a
Signed-off-by: Tony Tkacik <ttkacik@cisco.com>
Tony Tkacik [Tue, 28 Apr 2015 13:41:05 +0000 (15:41 +0200)]
Bug 4035: Fixed some sonar warnings in md.sal.binding.impl
Change-Id: I7b850b65a7bfc40ef757115ae37a031fa88bebeb
Signed-off-by: Tony Tkacik <ttkacik@cisco.com>
Tony Tkacik [Thu, 23 Jul 2015 12:23:26 +0000 (14:23 +0200)]
Bug 4035: Remove unused implementations from sal-common-impl
Removed left-overs from Hydrogen and Helium which are
not used anymore in Lithium codebase and will be unnecessary
in Beryllium codebase.
Removed classes were never part of public API contracts
outside of MD-SAL.
Change-Id: I2d19373b270e539598fe31b7e493db494b017100
Signed-off-by: Tony Tkacik <ttkacik@cisco.com>
Tony Tkacik [Thu, 23 Jul 2015 11:26:08 +0000 (13:26 +0200)]
Bug 4035: Removed sal-common which is unused since Helium.
Change-Id: Ia6e15cc1e94fcf5794a56fbf61d260644dcb457b
Signed-off-by: Tony Tkacik <ttkacik@cisco.com>
Tony Tkacik [Thu, 23 Jul 2015 11:11:08 +0000 (13:11 +0200)]
Bug 4035: Fixed some sonar / findbugs issues in DOM MD-SAL.
Change-Id: Id0ab9f65e4f1663f9e6cd85a6235a0a5fdee6f88
Signed-off-by: Tony Tkacik <ttkacik@cisco.com>
Tony Tkacik [Thu, 23 Jul 2015 09:13:27 +0000 (11:13 +0200)]
Bug 4035: Remove references to not present artefacts.
Change-Id: Id0308a4b544572df16bf01b1742eed60246dde54
Signed-off-by: Tony Tkacik <ttkacik@cisco.com>
Tony Tkacik [Wed, 22 Jul 2015 12:59:20 +0000 (14:59 +0200)]
Bug 4035: Extract dom-config from core-api and broker-impl
This patch introduces two new artefacts sal-dom-config
and sal-dom-broker-config which hosts all config subsystem
related MD-SAL DOM Broker implementation.
This patch is required for MD-SAL split in order to
not have cyclic dependency between controller and md-sal
project.
Change-Id: Ic93c583c07ae3e088dcf0e74cbdaaf627a8e79f6
Signed-off-by: Tony Tkacik <ttkacik@cisco.com>
Harman Singh [Fri, 24 Jul 2015 01:32:46 +0000 (18:32 -0700)]
Enabling Data Change Notifications for all nodes in cluster.
Two new interfaces are introduced ClusteredDataChangeListener and ClusteredDOMDataChangeListener and external applications will have to implement any of that interface,
if those applications want to listen to remote data change notifications.
Datastore registers listeners, which are instance of that interface, even on followers.
Change-Id: I0e29cdf2a08a2051de5fc8ce73b9ec8ac408e45b
Signed-off-by: Harman Singh <harmasin@cisco.com>
Thanh Ha [Tue, 11 Aug 2015 17:53:54 +0000 (13:53 -0400)]
Removing missing features-base
Change-Id: I2b841e5ba388c5c676e9d4da0b11b65c426cb5c7
Signed-off-by: Thanh Ha <thanh.ha@linuxfoundation.org>
kalaiselvik [Tue, 11 Aug 2015 06:46:16 +0000 (12:16 +0530)]
Removing the redundant configuration reader in the distributed datastore.
Having a common configuration reader in the clustering common for use
by both distributed datastore and remote rpc.
Change-Id: Id40295301d76dad40189fb45ffc2917260ba2925
Signed-off-by: kalaiselvik <Kalaiselvi_K@Dell.com>
Tom Pantelis [Thu, 2 Jul 2015 02:53:56 +0000 (22:53 -0400)]
CDS: Include CAN_COMMIT phase in rate limiter time period
I was testing with simulated latency in the followers. With a high enough
latency and tx thru-put, the pending commit queue in the
ShardCommitCoordinator got increasingly behind until latencies built up
enough to cause AskTimeoutExeption's on the front-end.
The rate limiter was throttling but not enough. I realized that the rate
limiter times the commit phase but not the canCommit phase. The latter is
what times out with pending tx's sitting in the queue waiting for canCommit.
So I changed ThreePhaseCommitCohortProxy to also time the canCommit
phase. This alleviated the timeouts - even with a really high max latency of
500 ms and 100 tx / sec client thru-put. The rate limiter thru-put
reduced it to about 3 / sec.
Change-Id: I6dc73d1d657519b9410ad034c69d26f19a0cb263
Signed-off-by: Tom Pantelis <tpanteli@brocade.com>
(cherry picked from commit
1783b656d3b1712c73c6596f3ae15e54e801d5e5)
Tomas Cere [Thu, 13 Aug 2015 09:06:22 +0000 (11:06 +0200)]
Decouple message bus from netconf connector
Change-Id: I6a143e868adc1e5c7a9b114798e7009bb6ef8675
Signed-off-by: Maros Marsalek <mmarsale@cisco.com>
Signed-off-by: Tomas Cere <tcere@cisco.com>
Tomas Cere [Thu, 13 Aug 2015 09:06:54 +0000 (11:06 +0200)]
Decouple config and netconf subsystems.
Extract a common mapping for config pusher and config subsystem netconf
Add a ConfigPersisterFacade for XML that allows reads/writes from/to config
subsystem using XML format
Push notifications from YangStoreService to NetconfNotificationManager instead
of using custom listeners
Migrate netconf features from controller features, untangle features
Change-Id: I71e4ca6e0258e0b1f0d6c19119f93eb9d68b7bca
Signed-off-by: Tomas Cere <tcere@cisco.com>
Signed-off-by: Maros Marsalek <mmarsale@cisco.com>
Signed-off-by: Ed Warnicke <hagbard@gmail.com>
Tom Pantelis [Tue, 7 Jul 2015 20:07:38 +0000 (16:07 -0400)]
CDS: Add stress test RPC to the cars model
For stress testing the CDS, I've been using an RPC that continuously
creates cars at a specified per second rate. I thought it might be
useful to submit it.
Change-Id: I33b9c2e304884b9541774a12ee248082de60f72e
Signed-off-by: Tom Pantelis <tpanteli@brocade.com>
(cherry picked from commit
b6a63eea6eb164a0c925716ae398bf64b06958c3)
Thanh Ha [Sun, 9 Aug 2015 05:44:50 +0000 (01:44 -0400)]
Fix license header violations in liblldp
Change-Id: Id95bd1cef35d256e79a3303c6559405364ae4ced
Signed-off-by: Thanh Ha <thanh.ha@linuxfoundation.org>
Thanh Ha [Sun, 9 Aug 2015 05:39:31 +0000 (01:39 -0400)]
Fix license header violations in concepts
Change-Id: Ia575c2e64b4ce50990e0fadada34f257189c3370
Signed-off-by: Thanh Ha <thanh.ha@linuxfoundation.org>
Thanh Ha [Sun, 9 Aug 2015 05:36:42 +0000 (01:36 -0400)]
Fix license header violations in mdsal-it-base
Change-Id: I87d699dbf60cccc3445664fc23650c155d5cb229
Signed-off-by: Thanh Ha <thanh.ha@linuxfoundation.org>
Thanh Ha [Sun, 9 Aug 2015 05:35:30 +0000 (01:35 -0400)]
Fix license header violations in sal-binding-dom-it
Change-Id: I542ab52fd8bdbedfee3e469c8672a7981340d153
Signed-off-by: Thanh Ha <thanh.ha@linuxfoundation.org>
Thanh Ha [Sun, 9 Aug 2015 05:34:42 +0000 (01:34 -0400)]
Fix license header violations in messagebus
Change-Id: I3b5f5b3e96716552562498590988097c5d3c1308
Signed-off-by: Thanh Ha <thanh.ha@linuxfoundation.org>
Thanh Ha [Sun, 9 Aug 2015 05:32:53 +0000 (01:32 -0400)]
Fix license header violations in sal-remoterpc-connector
Change-Id: I25d95f37c1ddd238bb79d15e2bf3e2d07069f319
Signed-off-by: Thanh Ha <thanh.ha@linuxfoundation.org>
Thanh Ha [Sun, 9 Aug 2015 05:30:11 +0000 (01:30 -0400)]
Fix license header violations in sal-karaf-xsql
Change-Id: I756176da2ef6f617298ef1474a08ab3707b8c0d2
Signed-off-by: Thanh Ha <thanh.ha@linuxfoundation.org>
Thanh Ha [Sun, 9 Aug 2015 05:29:11 +0000 (01:29 -0400)]
Fix license header violations in sal-dom-xsql
Change-Id: I4fbbbdf7c3aa280f20efe6ffe6c0a0571b6a38a0
Signed-off-by: Thanh Ha <thanh.ha@linuxfoundation.org>
Thanh Ha [Sun, 9 Aug 2015 05:19:52 +0000 (01:19 -0400)]
Fix license header violations in sal-distributed-datastore
Change-Id: I519e80cb6329f752b6b533de067ea3fd6277bedf
Signed-off-by: Thanh Ha <thanh.ha@linuxfoundation.org>
Thanh Ha [Sun, 9 Aug 2015 01:48:01 +0000 (21:48 -0400)]
Fix license header violations in sal-akka-raft
Change-Id: I03efdc517a21827e27ebdb359384c575f975ff4c
Signed-off-by: Thanh Ha <thanh.ha@linuxfoundation.org>
Thanh Ha [Sun, 9 Aug 2015 01:26:24 +0000 (21:26 -0400)]
Fix license header violations in sal-clustering-commons
Change-Id: I1b76464cd875fdaaedeebc22cf35cae11714990d
Signed-off-by: Thanh Ha <thanh.ha@linuxfoundation.org>
Thanh Ha [Sun, 9 Aug 2015 01:22:15 +0000 (21:22 -0400)]
Fix license header violations in sal-rest-docgen
Change-Id: I03c4b7ef9397224d649e9387ed895bca74672ec9
Signed-off-by: Thanh Ha <thanh.ha@linuxfoundation.org>
Thanh Ha [Sun, 9 Aug 2015 01:20:30 +0000 (21:20 -0400)]
Fix license header violations in sal-netconf-connector
Change-Id: I8235e1cbe1ed7bce9d017276dd6d9f4fb26ead70
Signed-off-by: Thanh Ha <thanh.ha@linuxfoundation.org>
Thanh Ha [Sun, 9 Aug 2015 01:09:32 +0000 (21:09 -0400)]
Fix license header violations in sal-rest-connector
Change-Id: I2dfda9fe6b3185d20386cc9f6078c0b53f7be40b
Signed-off-by: Thanh Ha <thanh.ha@linuxfoundation.org>
Thanh Ha [Sat, 8 Aug 2015 06:12:29 +0000 (02:12 -0400)]
Fix license header violations in netconf
Change-Id: Ie5c541b03a342bec33257b13b985b89e9ca835a0
Signed-off-by: Thanh Ha <thanh.ha@linuxfoundation.org>
Thanh Ha [Sun, 9 Aug 2015 00:52:27 +0000 (20:52 -0400)]
Fix license header violations in config-it-base
Change-Id: Ida3d92c44afe0e8dd52e1ecc6c4130d6b81697eb
Signed-off-by: Thanh Ha <thanh.ha@linuxfoundation.org>
Thanh Ha [Sun, 9 Aug 2015 00:43:31 +0000 (20:43 -0400)]
Fix license header violations in config-persister-file-xml-adapter
Change-Id: I2b3bd61dedfb1d178754fe899acc4657e527daa5
Signed-off-by: Thanh Ha <thanh.ha@linuxfoundation.org>
Thanh Ha [Sat, 8 Aug 2015 06:10:54 +0000 (02:10 -0400)]
Fix license header violations in config-manager
Change-Id: I8144512cd8093fbcc0851de66490f866ec8bb7c4
Signed-off-by: Thanh Ha <thanh.ha@linuxfoundation.org>
Thanh Ha [Sat, 8 Aug 2015 06:07:13 +0000 (02:07 -0400)]
Fix license header violations in config-util
Change-Id: I0c6868425ca51d9b815b4e961316e4a009502374
Signed-off-by: Thanh Ha <thanh.ha@linuxfoundation.org>
Thanh Ha [Sat, 8 Aug 2015 06:05:16 +0000 (02:05 -0400)]
Fix license header violations in toaster-provider
Change-Id: I90d2fe2487789796e173e116a81edda40e7a1385
Signed-off-by: Thanh Ha <thanh.ha@linuxfoundation.org>
Thanh Ha [Sat, 8 Aug 2015 06:03:10 +0000 (02:03 -0400)]
Fix license header violations in toaster-consumer
Change-Id: Ib522fe2ed5a47fefaed18554badde343368f306d
Signed-off-by: Thanh Ha <thanh.ha@linuxfoundation.org>
Thanh Ha [Sat, 8 Aug 2015 06:00:33 +0000 (02:00 -0400)]
Fix license header violations in sal-binding-broker
Change-Id: If6b75f466f97149ce4f0290135a754ca6cba1034
Signed-off-by: Thanh Ha <thanh.ha@linuxfoundation.org>
Thanh Ha [Sat, 8 Aug 2015 05:53:27 +0000 (01:53 -0400)]
Fix license header violations in sal-dom-broker
Change-Id: I78a5b836b7ea5053ede25a31e8a40319d365fe60
Signed-off-by: Thanh Ha <thanh.ha@linuxfoundation.org>
Thanh Ha [Sat, 8 Aug 2015 05:45:08 +0000 (01:45 -0400)]
Fix license header violations in sal-inmemory-datastore
Change-Id: I160d107a813c28ac75f1e5e21121068de9ccc7b8
Signed-off-by: Thanh Ha <thanh.ha@linuxfoundation.org>
Thanh Ha [Sat, 8 Aug 2015 05:43:04 +0000 (01:43 -0400)]
Fix license header violations in sal-binding-api
Change-Id: I877608c114bf4479c760f5b5dafed5d100d12cf5
Signed-off-by: Thanh Ha <thanh.ha@linuxfoundation.org>
Thanh Ha [Sat, 8 Aug 2015 05:41:23 +0000 (01:41 -0400)]
Fix license header violations in sal-dom-spi
Change-Id: I82f4796c933a6cec89950d4c474a0053637b2646
Signed-off-by: Thanh Ha <thanh.ha@linuxfoundation.org>
Thanh Ha [Sat, 8 Aug 2015 05:39:55 +0000 (01:39 -0400)]
Fix license header violations in sal-dom-api
Change-Id: I08a3d973bb56d6ee267576b691a32bfe27db6820
Signed-off-by: Thanh Ha <thanh.ha@linuxfoundation.org>
Thanh Ha [Sat, 8 Aug 2015 05:19:29 +0000 (01:19 -0400)]
Fix license header violations in sal-common-impl
Change-Id: I0702d7954d59f92ab62f6887a780db8a80f42ffa
Signed-off-by: Thanh Ha <thanh.ha@linuxfoundation.org>
Thanh Ha [Sat, 8 Aug 2015 05:17:07 +0000 (01:17 -0400)]
Fix license header violations in sal-common-api
Change-Id: I58fdef120495514ef94f2e9681790786ba4e0841
Signed-off-by: Thanh Ha <thanh.ha@linuxfoundation.org>
Thanh Ha [Sat, 8 Aug 2015 05:14:51 +0000 (01:14 -0400)]
Fix license header violations in yang-jmx-generator-plugin
Change-Id: Iac866a580e9d07e9f2614a7c5c25e91e755cb4ba
Signed-off-by: Thanh Ha <thanh.ha@linuxfoundation.org>
Thanh Ha [Sat, 8 Aug 2015 05:08:58 +0000 (01:08 -0400)]
Fix license header violations in config-api
Change-Id: I61723cf4794fbbc16549f06f284b8f1dacbce588
Signed-off-by: Thanh Ha <thanh.ha@linuxfoundation.org>
Thanh Ha [Thu, 6 Aug 2015 05:23:10 +0000 (01:23 -0400)]
Clean up pom.xml file
- Remove unnecessary commented code
Change-Id: Id4ceca0174ba5883059c52cbcee11aafb67c74ea
Signed-off-by: Thanh Ha <thanh.ha@linuxfoundation.org>
Tom Pantelis [Wed, 5 Aug 2015 22:57:22 +0000 (18:57 -0400)]
Fix akka logging initialization timeout on startup
We've seen CDS internittently failing to startup b/c akka fails to
initialize its logging system - it times out after 5 sec. It seems
on startup threads may be busy enough to prevent akka's message
to inialize the logging actor to timeout. Interestingly, We're only
seeing this on RedHat. The timeout is configured via
logger-startup-timeout which defaults to 5 sec. Increasing it fixes
the issue. I made it really high, 5 min, since if it times out we're
dead in the water anyway.
Change-Id: Ic95d7298b9320f03f664e9f2b171f980546ca95d
Signed-off-by: Tom Pantelis <tpanteli@brocade.com>
(cherry picked from commit
94c2eb2becdb561032e62a2897b15f52bd8e3643)
evvy [Thu, 11 Jun 2015 20:42:57 +0000 (02:12 +0530)]
Separation of ARP Responder from config.ini. It is an l3.fwd associated feature enabled by default
Change-Id: Ie29a751bcb372ef2f3dfd6b8f5e3ca7531359310
Signed-off-by: evvy <dhiraviam.natarajan@gmail.com>
Ed Warnicke [Mon, 3 Aug 2015 16:49:27 +0000 (09:49 -0700)]
Small fix to IT in startup archetype.
Change-Id: I3407e23af6228bbe7d881f9b9884e698186f533e
Signed-off-by: Ed Warnicke <hagbard@gmail.com>
Ed Warnicke [Sun, 26 Jul 2015 19:01:45 +0000 (12:01 -0700)]
Add yangui to -ui features in startup archetype.
Change-Id: Iaf3fb8d5c92615c97e65ae572affeea5094ee472
Signed-off-by: Ed Warnicke <hagbard@gmail.com>