controller.git
2 days agoPull in atinject_spec-1.0 55/97955/2 master
Robert Varga [Sun, 17 Oct 2021 14:31:40 +0000 (16:31 +0200)]
Pull in atinject_spec-1.0

pax-exam is using version 1.0, make sure we can work nicely with it.
Should fix controller-sonar failures.

Change-Id: I0f185b02a5b63ddadfd72993160db350f9513164
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
3 days agoBump to akka-2.6.17 01/97901/2
Robert Varga [Fri, 15 Oct 2021 11:41:34 +0000 (13:41 +0200)]
Bump to akka-2.6.17

https://akka.io/blog/news/2021/10/15/akka-2.6.17-released

Change-Id: I4183b02b42fb3dcda599ba77c73d26832fabea7b
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
4 days agoBump Scala to 2.13.6 00/97900/1
Robert Varga [Fri, 15 Oct 2021 11:39:23 +0000 (13:39 +0200)]
Bump Scala to 2.13.6

https://github.com/scala/scala/releases/tag/v2.13.6

Change-Id: I6fba6c4d7856446d54cb016ec3a93f4976375a0a
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
4 days agoCleanup LogGenerator 99/97899/1
Robert Varga [Fri, 15 Oct 2021 10:52:02 +0000 (12:52 +0200)]
Cleanup LogGenerator

We are getting flagged in SonarCloud for this example, clean it up.

Change-Id: I9665e444857f6fb5b67a1bcb064d10b0ada8069b
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
11 days agoMove odl-controller-blueprint dependency 55/97855/1
Robert Varga [Sat, 9 Oct 2021 09:42:04 +0000 (11:42 +0200)]
Move odl-controller-blueprint dependency

Nothing in odl-mdsal-distributed-datastore needs blueprint, move
the dependency to lower blueprint exposure a bit.

JIRA: CONTROLLER-1999
Change-Id: Idea6146c9cdb9d0db363f6d0443e0294af42f72b
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
11 days agoDo not use odl blueprint in odl-controller-exp-netty-config 54/97854/1
Robert Varga [Sat, 9 Oct 2021 08:26:54 +0000 (10:26 +0200)]
Do not use odl blueprint in odl-controller-exp-netty-config

Components packaged here do not need ODL blueprint extensions, do
not pull in the corresponding plugin.

JIRA: CONTROLLER-2005
Change-Id: Ibd45c6e9aee39eba83ab7c266cababfde2d7ff5c
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
11 days agoMigrate rpcbenchmark to OSGi DS 26/97726/4
Robert Varga [Mon, 4 Oct 2021 08:12:30 +0000 (10:12 +0200)]
Migrate rpcbenchmark to OSGi DS

Ditch blueprint and use turn NtfBenchmarkProvider into a simple
component. Requires some amount of refactoring.

JIRA: CONTROLLER-2001
Change-Id: Ib8db52d91013fe1ae13c55b5537b743f8ccbf320
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
11 days agoMigrate ntfbenchmark to OSGi DS 22/97722/3
Robert Varga [Sun, 3 Oct 2021 14:33:33 +0000 (16:33 +0200)]
Migrate ntfbenchmark to OSGi DS

Ditch blueprint and use turn NtfBenchmarkProvider into a simple
component.

JIRA: CONTROLLER-2001
Change-Id: I68dd5559f61c28bbdcbff54815af7d287e948a50
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
2 weeks agoMigrate dsbenchmark to OSGi DS 87/97687/1
Robert Varga [Thu, 30 Sep 2021 12:09:35 +0000 (14:09 +0200)]
Migrate dsbenchmark to OSGi DS

Ditch blueprint and use turn DsbenchmarkProvider into a simple
component.

JIRA: CONTROLLER-2001
Change-Id: I5378359af1ae12d2f7cc03c281599f71ded5a06a
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
4 weeks agoUse URLEncoder.encode(String, Charset) 89/97589/3
Robert Varga [Tue, 21 Sep 2021 20:10:37 +0000 (22:10 +0200)]
Use URLEncoder.encode(String, Charset)

We are running with Java 11 and as Modernizer correctly points out, we
can use direct charset variant which was introduced with Java 10. This
cuts down a tiny bit of dead code.

Change-Id: I7c42984bc1e05e94f5266f26e13aaab650ae4f70
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
4 weeks agoIntroduce cli commands for cluster-admin 34/97434/9
Dominik Vrbovsky [Fri, 10 Sep 2021 09:09:41 +0000 (11:09 +0200)]
Introduce cli commands for cluster-admin

Rework the rpcs needed by csit in cluster-admin to karaf cli commands

JIRA: CONTROLLER-1996
Change-Id: I148c7c9140701ff8ffe81c612999898115f4661d
Signed-off-by: Dominik Vrbovsky <dominik.vrbovsky@pantheon.tech>
4 weeks agoSpecialize TransactionContextWrapper 64/90864/56
tadei.bilan [Thu, 2 Jul 2020 10:48:54 +0000 (13:48 +0300)]
Specialize TransactionContextWrapper

Most of the time we are talking to local leader, in which case
we do not need to queue messages and bounce them through the queue.

JIRA: CONTROLLER-1952
Change-Id: I07d85c82c2ab6e4251c70b2e6d1dafa2dc455d39
Signed-off-by: tadei.bilan <tadei.bilan@pantheon.tech>
Signed-off-by: Ivan Hrasko <ivan.hrasko@pantheon.tech>
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
4 weeks agoBe mindful of non-existent actors 72/97572/1
Robert Varga [Tue, 21 Sep 2021 09:49:06 +0000 (11:49 +0200)]
Be mindful of non-existent actors

We have observed the following splat in SFT:

java.lang.NullPointerException: null
        at org.opendaylight.controller.eos.akka.registry.listener.type.EntityTypeListenerRegistry.onUnregisterListener(EntityTypeListenerRegistry.java:69) ~[bundleFile:?]
        at akka.actor.typed.javadsl.BuiltReceive.receive(ReceiveBuilder.scala:213) ~[bundleFile:?]

This this by checking whether we actually removed a listener.

Change-Id: Ifc80ae650db05fd1031af074c694588034f6903a
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
4 weeks agoBump versions to 4.0.4-SNAPSHOT 94/97494/1
Robert Varga [Wed, 15 Sep 2021 10:52:50 +0000 (12:52 +0200)]
Bump versions to 4.0.4-SNAPSHOT

This starts the next development iteration.

Change-Id: I06cec6aa2381d9aa96edb2555352458bdc60d0a9
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
5 weeks agoAdd a private modifiers to command arguments in clustering-test-app 90/97490/2
Dominik Vrbovsky [Tue, 14 Sep 2021 14:07:12 +0000 (16:07 +0200)]
Add a private modifiers to command arguments in clustering-test-app

Change-Id: I29e188d39a7dc507c0f9f61f086e699522757dc5
Signed-off-by: Dominik Vrbovsky <dominik.vrbovsky@pantheon.tech>
5 weeks agoIncrease eos-dom-akka teardown timeouts 89/97489/1
Tomas Cere [Tue, 14 Sep 2021 12:26:58 +0000 (14:26 +0200)]
Increase eos-dom-akka teardown timeouts

Looks like the default 10 seconds is not quite enough on releng.
Increase the default shutdown timeouts to 20 seconds.

Change-Id: I6a5b3bc6822835dd2515cef86de7376162d070bf
Signed-off-by: Tomas Cere <tomas.cere@pantheon.tech>
5 weeks agoIntroduce cli commands for clustering-test-app 14/97414/7
Dominik Vrbovsky [Tue, 7 Sep 2021 16:10:31 +0000 (18:10 +0200)]
Introduce cli commands for clustering-test-app

Rework the rpcs needed by csit in clustering-test-app to Karaf CLI commands.
This is essentially a custom-coded invocation of MD-SAL services.

JIRA: CONTROLLER-1995
Change-Id: If406a4dff6d441e9d0932de05f844d66f1e5bc83
Signed-off-by: Dominik Vrbovsky <dominik.vrbovsky@pantheon.tech>
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
5 weeks agoBump upstreams 52/97452/1
Robert Varga [Sun, 12 Sep 2021 13:30:56 +0000 (15:30 +0200)]
Bump upstreams

Use odlparent-9.0.6, yangtools-7.0.8, mdsal-8.0.5.

Change-Id: Ib14c3b138a88e58104650bd2026618d53fec1011
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
5 weeks agoUse terminate message in eos listener actors 11/97411/3
Tomas Cere [Tue, 7 Sep 2021 09:49:19 +0000 (11:49 +0200)]
Use terminate message in eos listener actors

getContext().stop() can cause NPE during actor system
shutdown so lets use a terminate message here instead.
Its still possible to get dead letters with this approach
when the child actor was stopped first during the shutdown,
but at least we prevent the NPEs.

JIRA: CONTROLLER-1989
Change-Id: Id38b56c12141164d45ed19613885a4d9f650e4dd
Signed-off-by: Tomas Cere <tomas.cere@pantheon.tech>
6 weeks agoBump akka to 2.6.16 34/95334/14
Robert Varga [Wed, 24 Feb 2021 09:05:26 +0000 (10:05 +0100)]
Bump akka to 2.6.16

https://akka.io/blog/news/2021/02/23/akka-2.6.13-released
https://akka.io/blog/news/2021/04/08/akka-2.6.14-released
https://akka.io/blog/news/2021/06/10/akka-2.6.15-released
https://akka.io/blog/news/2021/08/19/akka-2.6.16-released

Change-Id: I6d255bd6d2b4b1284bb6c7d8ccae4ec44a691556
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
Signed-off-by: Tomas Cere <tomas.cere@pantheon.tech>
8 weeks agoCleanup OwnerSupervisor a bit 21/97321/3
Robert Varga [Tue, 24 Aug 2021 21:37:13 +0000 (23:37 +0200)]
Cleanup OwnerSupervisor a bit

Use streaming to reduce funky copy/remove/remove cycle. This way
we perform minimal needed materialization.

Change-Id: I0cf25fc7bb57e2d053cb4368cdd4ac8905995e42
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
8 weeks agoBump versions to 4.0.3-SNAPSHOT 22/97322/2
Robert Varga [Wed, 25 Aug 2021 08:20:08 +0000 (10:20 +0200)]
Bump versions to 4.0.3-SNAPSHOT

This starts the next development iteration.

Change-Id: I5c4e26a129c037afa783b309ceb031435677faea
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
8 weeks agoFix parent reference 23/97323/1
Robert Varga [Wed, 25 Aug 2021 09:05:52 +0000 (11:05 +0200)]
Fix parent reference

The relativePath needs to point to correct pom, fix that.

Change-Id: I76382cc09ec294f585cdb7fdc1fd86a0bc2762b4
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
8 weeks agoExpose entity details in MDSAL 11/97111/14
Robert Varga [Mon, 9 Aug 2021 16:00:28 +0000 (18:00 +0200)]
Expose entity details in MDSAL

Our previous implementation was very open about it state, which was
completely visible through RESTCONF (and from datastore).

We have a number of tools which need information relating to where each
entity lives -- and to that effect we want to expose a read-only API.

This patch instroduces odl-akka-eos model, which exposes a few RPCs,
which in turn provide information formerly visible from the datastore.

JIRA: CONTROLLER-1992
Change-Id: I85da8941f84ca9e109c4dec61fb07a697e937639
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
8 weeks agoRemove PeerUp/Down messages 15/97315/2
Tomas Cere [Tue, 24 Aug 2021 11:42:20 +0000 (13:42 +0200)]
Remove PeerUp/Down messages

These were used only in EntityOwnershipShard and thus
can be removed.

JIRA: CONTROLLER-1993
Change-Id: I49873bf7e379c996719d6ec1b3bfc88395b3f3fd
Signed-off-by: Tomas Cere <tomas.cere@pantheon.tech>
8 weeks agoHandle owner changed message 05/97305/2
Tomas Cere [Tue, 24 Aug 2021 09:07:19 +0000 (11:07 +0200)]
Handle owner changed message

We need to handle this response message otherwise
it ends up in dead letters polluting logs.

JIRA: CONTROLLER-1994
Change-Id: Idd110e48a10f2d290b2a587fdd2dcf11f2a89d51
Signed-off-by: Tomas Cere <tomas.cere@pantheon.tech>
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
8 weeks agoBump upstreams 20/97320/1
Robert Varga [Tue, 24 Aug 2021 17:59:15 +0000 (19:59 +0200)]
Bump upstreams

Adopt odlparent-9.0.5, yangtools-7.0.7, mdsal-8.0.4

Change-Id: I5d6be3c4c658668aa41f659c7956fe42a0501d52
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
8 weeks agoBump upstreams 02/97302/2
Robert Varga [Mon, 23 Aug 2021 19:50:38 +0000 (21:50 +0200)]
Bump upstreams

Adopt odlparent-9.0.4, yangtools-7.0.6, mdsal-8.0.3

Change-Id: I1cea6ced706978b2bd3e11b0532b2ec5f1da55a4
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
2 months agoBump odlparent/yangtools/mdsal 79/97279/2
Robert Varga [Fri, 20 Aug 2021 12:44:18 +0000 (14:44 +0200)]
Bump odlparent/yangtools/mdsal

Adopt latest versions, namely;
- odlparent-9.0.3
- yangtools-7.0.5
- mdsal-8.0.2

Change-Id: I11e44a49e1ba55ed45aa890efcbe353f4591a11f
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
2 months agoFixup DataCenterControl javadocs 47/97247/1
Robert Varga [Wed, 18 Aug 2021 20:13:28 +0000 (22:13 +0200)]
Fixup DataCenterControl javadocs

Add a @return and improve phrasing a bit.

Change-Id: Ic9d4cca1a98d2618a9765f34bebc0f5d98657b34
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
2 months agoRename NativeEosService to DataCenterControl 43/97243/4
Robert Varga [Tue, 17 Aug 2021 22:57:08 +0000 (00:57 +0200)]
Rename NativeEosService to DataCenterControl

This is a wee bit more descriptive name. While we are here, also ditch
java.lang.Void, as it promotes nulls. Use yamg.common.Empty, which has a
singleton instance.

Fold common implementation code into a static method, which is making
things very obvious.

Change-Id: I28230523034224e978244d1edce997376812bf91
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
2 months agoBump versions to 4.0.2-SNAPSHOT 20/97020/1
Robert Varga [Sun, 25 Jul 2021 05:25:54 +0000 (07:25 +0200)]
Bump versions to 4.0.2-SNAPSHOT

This starts the next development iteration.

Change-Id: I41da66267aec81d79ab0d60a7b6f87827a0bf350
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
2 months agoBump mdsal/yangtools 19/97019/1
Robert Varga [Sat, 24 Jul 2021 23:08:40 +0000 (01:08 +0200)]
Bump mdsal/yangtools

Adopt yangtools-7.0.4 and mdsal-8.0.1.

Change-Id: I832db6bf295da8b9bd55a15628a975b70e0852ff
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
3 months agoIgnore DataTreeChangeReply message 75/96875/1
Robert Varga [Tue, 13 Jul 2021 11:31:26 +0000 (13:31 +0200)]
Ignore DataTreeChangeReply message

DataTreeChangeListenerActor is sending replies towards shard on each
processed datatree change. This is not handled by Shard, which ends up
flooding dead letters.

Make sure we ignore these messages, so that the logs are cleaner. Also
speed up the non-null check in DTCLActor.

JIRA: CONTROLLER-1986
Change-Id: I11b172d778c5b8cdf16aec58e77ec7faa9b6b146
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
3 months agoBump versions to 4.0.1-SNAPSHOT 81/96781/1
Robert Varga [Fri, 2 Jul 2021 13:49:35 +0000 (15:49 +0200)]
Bump versions to 4.0.1-SNAPSHOT

This starts the next development interation.

Change-Id: I9f28f1a3d346b2288c77b43b612ee136c1b6ab3c
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
3 months agoFix MXBean annotation warnings 80/96780/1
Robert Varga [Fri, 2 Jul 2021 13:30:52 +0000 (15:30 +0200)]
Fix MXBean annotation warnings

Use transitive requires to expose annotations to downstream users.

Change-Id: If7a47430c7c2a25d80fae05717113d42373885c2
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
3 months agoRemove support for payloads older than Sodium SR1 78/96778/2
Robert Varga [Fri, 2 Jul 2021 11:44:59 +0000 (13:44 +0200)]
Remove support for payloads older than Sodium SR1

Older payloads are not as efficient, nor can they really support
all our datatypes. Prune supported versions to Sodium SR1-and-newer,
retaining 2 years worth of backwards compatibility.

JIRA: CONTROLLER-1985
Change-Id: I5ebabee1ddff37af7c0e0a5dca91db433ca9d5ac
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
3 months agoRemove support for pre-Sodium SR1 peers 77/96777/1
Robert Varga [Fri, 2 Jul 2021 11:34:00 +0000 (13:34 +0200)]
Remove support for pre-Sodium SR1 peers

The messages exchanged between cluster participants are versioned to
maintain backwards compatibility. Trim how far back we can go to
Sodium SR1 -- breaking compatibility with Boron, Fluorine and
Neon SR2 software.

JIRA: CONTROLLER-1985
Change-Id: I11ba4041242650bc3ad70da3f4b2869df0ca5ceb
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
3 months agoVersionedExternalizableMessage.getVersion() is final 76/96776/2
Robert Varga [Fri, 2 Jul 2021 10:58:04 +0000 (12:58 +0200)]
VersionedExternalizableMessage.getVersion() is final

This is a property which is under control of the baseline class,
do not allow it to be modified.

Change-Id: Icab5e415954b27842f5af65ecde75202a0c53589
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
3 months agoActivate DataStoreVersions.PHOSPHORUS_VERSION 75/96775/2
Robert Varga [Fri, 2 Jul 2021 10:37:34 +0000 (12:37 +0200)]
Activate DataStoreVersions.PHOSPHORUS_VERSION

Flip the current version to Phosphorus, taking making a few
improvements:
- CompositeModification's structure is better
- BigInteger is no longer supported

JIRA: CONTROLLER-1939
Change-Id: If6105c302a9d7c3b4a6591600d62a04abf55d582
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
3 months agoAdd new MutableCompositeModification version 58/93858/14
tadei.bilan [Tue, 17 Nov 2020 13:39:03 +0000 (15:39 +0200)]
Add new MutableCompositeModification version

Add new version of MutableCompositeModification, that will write NNDO
header right after number of modifications, forming proper embedded
block of modifications.

For communicating this, we are renaming
DataStoreVersions.MAGNESIUM_VERSION and reusing it for the bump.

JIRA: CONTROLLER-1939
Change-Id: Ic5c2a8f91fcc41e78682ec202442308d6dc1191a
Signed-off-by: tadei.bilan <tadei.bilan@pantheon.tech>
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
3 months agoFixup docs dependencies 66/96766/1
Robert Varga [Thu, 1 Jul 2021 14:41:26 +0000 (16:41 +0200)]
Fixup docs dependencies

We have a @PreDestroy reference, make sure docs compile.

Change-Id: I72537f6ea6be660971db0bc8e6f1114d9fb92eab
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
3 months agoRemove obsolete datastore.cfg properties 59/96759/5
Robert Varga [Thu, 1 Jul 2021 08:48:11 +0000 (10:48 +0200)]
Remove obsolete datastore.cfg properties

We have a number of leftovers here, which have been no-ops. Remove them
to reduce code clutter.

JIRA: CONTROLLER-1984
Change-Id: I490188fb7ebc83c344997861d637852f40fce7a6
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
3 months agoHide ShardManagerSnapshot 62/96762/1
Robert Varga [Thu, 1 Jul 2021 10:28:41 +0000 (12:28 +0200)]
Hide ShardManagerSnapshot

This class is scheduled for removal. Hide it before removing it.

Change-Id: I902d33da14411ec44429de5474d953adc9722dea
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
3 months agoUpdate sal-distributed-datastore tests a bit 61/96761/2
Robert Varga [Thu, 1 Jul 2021 09:30:07 +0000 (11:30 +0200)]
Update sal-distributed-datastore tests a bit

Use MockitoJUnitRunner and clean up imports/mocking a bit.

Change-Id: I854f95e37e503d28903c8aa83aecafdef4c4c1fa
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
3 months agoLock down ShardDataTree 54/96754/3
Robert Varga [Wed, 30 Jun 2021 21:32:34 +0000 (23:32 +0200)]
Lock down ShardDataTree

Now that our primary user is an implmentation detail, we can lock down a
few aspects of ShardDataTree operation. This will ease refactoring
further down the road.

Change-Id: I91248347889ea0ceecee9f093f54b5d8241fb39c
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
3 months agoUpdate SimpleShardDataTreeCohortTest 60/96760/1
Robert Varga [Thu, 1 Jul 2021 08:32:42 +0000 (10:32 +0200)]
Update SimpleShardDataTreeCohortTest

Use MockitoJUnitRunner instead of MockitoAnnotations.initMocks().

Change-Id: I2a96d971ca100278e495f826c988f85e2f83efb1
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
3 months agoRemove org.opendaylight.controller.sal.common.util 58/96758/2
Robert Varga [Thu, 1 Jul 2021 07:42:10 +0000 (09:42 +0200)]
Remove org.opendaylight.controller.sal.common.util

Arguments and NoopAutoCloseable have been deprecated for removal, remove
them now.

Change-Id: I72017f2cf9deffb99d493392a84ca829c639c592
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
3 months agoFix sal-common-util dependencies 57/96757/2
Robert Varga [Thu, 1 Jul 2021 07:40:45 +0000 (09:40 +0200)]
Fix sal-common-util dependencies

We have a number of unused dependencies here, clean them up.

Change-Id: Ibc534ab9ba28a7e70270a042a1b8e55f8934bc28
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
3 months agoLock down controller.cluster.datastore.Shard 53/96753/1
Robert Varga [Wed, 30 Jun 2021 21:14:31 +0000 (23:14 +0200)]
Lock down controller.cluster.datastore.Shard

Since sal-distributed-eos is gone, we do not have any known subclasses,
lock down Shard implementation as much as possible. This will aid us in
refactoring later. The entire class is now considered an implementation
detail, amenable to changes driven by RaftActor evolution.

Change-Id: Ic54794b33766459f16a5ebdac6a3faa731c2b49d
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
3 months agoRemove an TrieMap dependency 52/96752/1
Robert Varga [Wed, 30 Jun 2021 21:13:32 +0000 (23:13 +0200)]
Remove an TrieMap dependency

We are not using TrieMap directly, do not hard-code a dependency on it.

Change-Id: I3285e2f1484c1f9db9dd4b149f469c9392ddb7d2
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
3 months agoRemove sal-distrubited-eos 51/96751/1
Robert Varga [Wed, 30 Jun 2021 20:16:56 +0000 (22:16 +0200)]
Remove sal-distrubited-eos

There are no more packaging references to datastore-based entity
ownership. Remove the implementation.

JIRA: CONTROLLER-1982
Change-Id: Ia6a96a1853e0f173d7af559c76a06e9dfadc540e
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
3 months agoAdd integration test with cluster-singleton 60/96160/15
Tomas Cere [Fri, 7 May 2021 12:04:52 +0000 (14:04 +0200)]
Add integration test with cluster-singleton

JIRA: CONTROLLER-1982
Change-Id: I75aec3a46da42c38287970590006655a2d15b926
Signed-off-by: Tomas Cere <tomas.cere@pantheon.tech>
3 months agoCleanup candidate registrations from previous instance 59/96159/13
Tomas Cere [Tue, 11 May 2021 10:32:01 +0000 (12:32 +0200)]
Cleanup candidate registrations from previous instance

JIRA: CONTROLLER-1982
Change-Id: I5337b08f6fd951a7a2acabb935cbf2e2156f5985
Signed-off-by: Tomas Cere <tomas.cere@pantheon.tech>
3 months agoAdd cluster-admin api for datacenter activation 81/95981/14
Tomas Cere [Mon, 3 May 2021 11:26:08 +0000 (13:26 +0200)]
Add cluster-admin api for datacenter activation

Add rpcs into cluster-admin so we can activate/deactivate
datacenters for active/backup scenariop.

JIRA: CONTROLLER-1982
Change-Id: Ic68652199d79251fe9b166e47ca06520121213e4
Signed-off-by: Tomas Cere <tomas.cere@pantheon.tech>
3 months agoSnapshot and journal export on recovery 53/90453/81
tadei.bilan [Mon, 15 Jun 2020 13:31:00 +0000 (16:31 +0300)]
Snapshot and journal export on recovery

Added ability to export snapshot and journal content into json file
during recovery.

JIRA: CONTROLLER-1955
Change-Id: Ic2d6181ab56d7b413f06ed91cf5f9d37e3aa2029
Signed-off-by: tadei.bilan <tadei.bilan@pantheon.tech>
Signed-off-by: Oleksii Mozghovyi <oleksii.mozghovyi@pantheon.tech>
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
3 months agoUse akka-multi-dc in eos native 80/95980/18
Tomas Cere [Fri, 30 Apr 2021 10:05:55 +0000 (12:05 +0200)]
Use akka-multi-dc in eos native

Add the ability to activate/deactivate singleton supervisor.
Make the supervisor pick owners only from the active datacenter.
All in all this should give us the building blocks needed for
the active/backup cluster use-case.

JIRA: CONTROLLER-1982
Change-Id: Iae0a4a59cc461c8187c59bb8a5a66c73dee5be4c
Signed-off-by: Tomas Cere <tomas.cere@pantheon.tech>
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
3 months agoUpgrade lz4-java to 1.8.0 08/96708/2
Robert Varga [Tue, 29 Jun 2021 08:47:28 +0000 (10:47 +0200)]
Upgrade lz4-java to 1.8.0

https://github.com/lz4/lz4-java/releases/tag/1.8.0

Change-Id: Ica9bc96f8db76cb8dd8eda19264f72bfb1ea674c
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
3 months agoClean up sal-clustering-commons dependencies 07/96707/2
Robert Varga [Tue, 29 Jun 2021 08:44:43 +0000 (10:44 +0200)]
Clean up sal-clustering-commons dependencies

We are not using yang-model-util here.

Change-Id: I30c03983964f614cfe0d19e2494f1ccdf0f53a79
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
3 months agoCleanup cds-access-api dependencies 06/96706/2
Robert Varga [Tue, 29 Jun 2021 08:43:58 +0000 (10:43 +0200)]
Cleanup cds-access-api dependencies

We do not need sal-clustering-commons anymore, as the requisite
functionality has been upstreamed.

Change-Id: Ia2bcf61e1eaed79e349fad811e88e710f76a232d
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
3 months agoConvert netty-threadgroup-config to OSGi DS 03/96703/2
Robert Varga [Mon, 28 Jun 2021 17:53:47 +0000 (19:53 +0200)]
Convert netty-threadgroup-config to OSGi DS

This is a rather simple wiring, use OSGi DS instead of blueprint.

Change-Id: I49686821b3d7f70ae058d3362b16d9c6acae8d03
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
3 months agoUse mdsal-8.0.0 75/96675/1
Robert Varga [Fri, 25 Jun 2021 14:56:50 +0000 (16:56 +0200)]
Use mdsal-8.0.0

Use released versions of MDSAL artifacts.

Change-Id: Icf98e0732d870d1ac79a7b5101dbe64d2bed7781
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
3 months agoAdjust to DOMDataTreeChangeListener update 70/96670/2
Robert Varga [Fri, 25 Jun 2021 12:16:11 +0000 (14:16 +0200)]
Adjust to DOMDataTreeChangeListener update

We are required to implement onInitialData() method, add it.

Change-Id: I55e60c9013c49689252f662218db31152982019c
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
3 months agoCorrectly forward DOMDataTreeChangeListener.onInitialData() 69/96669/1
Robert Varga [Fri, 25 Jun 2021 12:13:25 +0000 (14:13 +0200)]
Correctly forward DOMDataTreeChangeListener.onInitialData()

When registering proxy listener, make sure we do not lose
onInitialData() events.

Change-Id: I2529d64d10f477ad52e90dec15d88c6228a47af0
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
3 months agoCleanup dependencies 40/96640/1
Robert Varga [Wed, 23 Jun 2021 20:46:19 +0000 (22:46 +0200)]
Cleanup dependencies

We have superfluous dependencies in a number of non-production
artifacts. Clean them up to better bracket our intent.

Change-Id: I30968cd763bd8c727eccdf33299c6f3fb93b0570
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
3 months agoRemove unneeded dependency 39/96639/1
Robert Varga [Wed, 23 Jun 2021 20:29:21 +0000 (22:29 +0200)]
Remove unneeded dependency

sal-dummy-distributed-datastore does not need clustering-commons.

Change-Id: Ibeedb314011ee7f6956627040cc656643a32121a
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
3 months agoRemove prefix shard leftovers 08/96408/3
Tomas Cere [Wed, 2 Jun 2021 09:53:15 +0000 (11:53 +0200)]
Remove prefix shard leftovers

With the removal of everything producer related we
can also remove everything related to prefix shards.

JIRA: CONTROLLER-1977
Change-Id: I05bd1a286cd8fac252c122d2118d1d7dedcc8941
Signed-off-by: Tomas Cere <tomas.cere@pantheon.tech>
4 months agoBump yangtools to 7.0.3 68/96568/1
Robert Varga [Sat, 19 Jun 2021 09:29:39 +0000 (11:29 +0200)]
Bump yangtools to 7.0.3

Pick up latest fixes from upstream.

Change-Id: Ib1372f4ec100c9ab65c5c8302bd8492f3eae39b9
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
4 months agoBump yangtools to 7.0.2 50/96450/1
Robert Varga [Tue, 8 Jun 2021 08:11:42 +0000 (10:11 +0200)]
Bump yangtools to 7.0.2

Use released version instead of snapshot.

Change-Id: Ie083843b018ccb731c5890e9ec737aa45cfc7cc3
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
4 months agoIntroduce DOMEntityOwnershipService replacement 31/95731/19
Tomas Cere [Thu, 18 Mar 2021 10:32:54 +0000 (11:32 +0100)]
Introduce DOMEntityOwnershipService replacement

Introduce a new DOMEntityOwnershipService implementation backed by
Akka's distributed-data and cluster-singleton. This severs an
implementation link to sal-distributed-datastore, reducing overall
complexity.

JIRA: CONTROLLER-1982
Change-Id: I30753e83d1af10658141311842bdceb315b9237f
Signed-off-by: Tomas Cere <tomas.cere@pantheon.tech>
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
4 months agoRemove unneeded exclusion 40/96340/1
Robert Varga [Mon, 24 May 2021 19:27:17 +0000 (21:27 +0200)]
Remove unneeded exclusion

jsr173-ri is excluded by odlparent now, remove the unneeded exclusion.

Change-Id: I44530c041491cc6bf7eeceedf94b36c3da76efac
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
4 months agoBump odlparent/yangtools 38/96338/1
Robert Varga [Mon, 24 May 2021 18:05:37 +0000 (20:05 +0200)]
Bump odlparent/yangtools

Pick latest fixes from odlparent-9.0.2 and yangtools-7.0.2-SNAPSHOT.

Change-Id: I90c9896263c3e7bc1c38221d37cee7f32b8f2de5
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
5 months agoRemove model-inventory and odl-mdsal-model-inventory 98/96098/1
Robert Varga [Sun, 9 May 2021 20:15:43 +0000 (22:15 +0200)]
Remove model-inventory and odl-mdsal-model-inventory

This model is only used by OpenFlow world, do not carry it in controller
and let OFP take ownership of it.

JIRA: CONTROLLER-1979
Change-Id: I12371cafba9f8033e8d2174181769b6ac11793d3
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
5 months agoBump odlparent/yangtools/mdsal 62/95162/17
Robert Varga [Sun, 14 Feb 2021 09:01:05 +0000 (10:01 +0100)]
Bump odlparent/yangtools/mdsal

Adopt latest versions, namely;
- odlparent-9.0.1
- yangtools-7.0.1
- mdsal-8.0.0-SNAPSHOT

There are a few adjustments needed, which mostly deal with the interface
to NormalizedNode.

Change-Id: I918fb885a6df62e16e17119a7e04ba1672ef7c39
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
5 months agoUse correct failure detector for akka clustering 82/95582/3
Oleksii Mozghovyi [Fri, 26 Mar 2021 22:21:41 +0000 (00:21 +0200)]
Use correct failure detector for akka clustering

Since we are not using classic remoting, we need to use proper
tuning for clustering's failure-detector. Correct the template
to reflect that.

Change-Id: I4bff994b786237778df5bdfb83df858b00b549ed
Signed-off-by: Oleksii Mozghovyi <oleksii.mozghovyi@pantheon.tech>
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
5 months agoUse memory-mapped segmented journal by default 28/95328/4
Robert Varga [Tue, 23 Feb 2021 16:38:39 +0000 (17:38 +0100)]
Use memory-mapped segmented journal by default

Segmented file implementation requires a buffer double the size
of the file's maximum size. This ends up being allocated on-healp, which
is wasteful from effeciency perspective. Switch default configuration
so that it uses memory-mapped files instead.

JIRA: CONTROLLER-1954
Change-Id: Icad9ef74c50467323e31567828a949c0cae52a9e
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
5 months agoSwitch to Akka Artery 09/95409/8
Kostiantyn Nosach [Thu, 4 Mar 2021 11:15:32 +0000 (13:15 +0200)]
Switch to Akka Artery

The migration away from legacy akka remoting to artery tcp.

JIRA: CONTROLLER-1968
Change-Id: Iac1a0186292eb5a303cf075e540f3f6c8c09a932
Signed-off-by: Kostiantyn Nosach <kostiantyn.nosach@pantheon.tech>
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
5 months agoEnable odl-controller-broker-local SFT 10/95410/5
Ivan Hrasko [Thu, 4 Mar 2021 12:34:16 +0000 (13:34 +0100)]
Enable odl-controller-broker-local SFT

JIRA: CONTROLLER-1584
Change-Id: I6462efd24d7c4e72fd3c7c18917e2d90d6effa86
Signed-off-by: Ivan Hrasko <ivan.hrasko@pantheon.tech>
5 months agoMove odl-mdsal-broker-local feature 60/82960/8
Robert Varga [Sun, 7 Jul 2019 17:36:23 +0000 (19:36 +0200)]
Move odl-mdsal-broker-local feature

JIRA: CONTROLLER-1584
Change-Id: Iae6840f75df0f90cc5427b3b83fc6289fa09ee10
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
Signed-off-by: Ivan Hrasko <ivan.hrasko@pantheon.tech>
5 months agoMigrate javax.inject references 87/95987/1
Robert Varga [Wed, 5 May 2021 09:26:42 +0000 (11:26 +0200)]
Migrate javax.inject references

Use GuicedEE reference instead of the old javax.inject jar.

Change-Id: Id54d90aee20f967a013c90c1be39437ad5abc97e
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
5 months agoMigrate osgi.core reference 86/95986/1
Robert Varga [Wed, 5 May 2021 09:24:52 +0000 (11:24 +0200)]
Migrate osgi.core reference

OSGi core artifact was renamed for Release 7, update references to
eliminate dependency on OSGi R6.

Change-Id: I1e51f5bd82e15e3cefb7dad637e0e771abcefcea
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
6 months agoRemove model-topology 71/95571/1
Robert Varga [Fri, 26 Mar 2021 09:34:19 +0000 (10:34 +0100)]
Remove model-topology

The opendaylight-topology*.yang models are the very first cut at
modeling a network. As such they have been superseded by standard-track
draft ietf-topology, which evolved into ietf-network.

There is noone using these old models in OpenDaylight proper, which
means they are just a maintenance burden and serve only to confuse
newcomers.

JIRA: CONTROLLER-1978
Change-Id: I051781d05f1caf10b9b3c65a4f178b20162adad6
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
6 months agoRemove odl-controller-exp-messagebus 67/95567/1
Robert Varga [Fri, 26 Mar 2021 07:44:11 +0000 (08:44 +0100)]
Remove odl-controller-exp-messagebus

Messagebus bridge is an unfinished concept, which was never productized.
It was deprecated in previous release, now we remove it.

JIRA: YANGTOOLS-1974
Change-Id: I8d544f8edf54bcacfb36419badb5003976e6b409
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
6 months agoRemove DOMDataTreeProducer-related classes 63/95163/13
Robert Varga [Sun, 14 Feb 2021 09:01:42 +0000 (10:01 +0100)]
Remove DOMDataTreeProducer-related classes

DOMDataTreeProducer is being removed by upstream, remove our
constructs relying on it.

JIRA: CONTROLLER-1977
Change-Id: Icbbcdd41ac0df3ee916538f18908edda21f23cd8
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
6 months agoBump versions to 4.0.0-SNAPSHOT 66/95566/1
Robert Varga [Fri, 26 Mar 2021 07:29:38 +0000 (08:29 +0100)]
Bump versions to 4.0.0-SNAPSHOT

This starts the next major development iteration.

Change-Id: Ibc2a13b9d72b1fc2e0c05f2cc5697a6bd824d520
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
7 months agoDeprecate DOMDataTreeProducer-related classes 61/95161/6
Robert Varga [Sun, 14 Feb 2021 09:00:07 +0000 (10:00 +0100)]
Deprecate DOMDataTreeProducer-related classes

DOMDataTreeProducer is being removed by upstream, deprecate our
constructs relying on it.

JIRA: CONTROLLER-1976
Change-Id: Ib1d6d84a2023bdb9964b6fa2d337924a7359e459
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
7 months agoClean up use of MockitoAnnotations.initMocks 31/95531/2
Robert Varga [Fri, 19 Mar 2021 08:26:28 +0000 (09:26 +0100)]
Clean up use of MockitoAnnotations.initMocks

Using MockitoAnnotations.initMocks() is deprecated, use JUnitRunner
in cds-access-client and sal-clustering-commons.

Change-Id: I10b52bfd0a989f722538e3983352c4465f918950
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
7 months agoMigrate sal-akka-raft tests 27/95427/2
Robert Varga [Tue, 9 Mar 2021 04:49:48 +0000 (05:49 +0100)]
Migrate sal-akka-raft tests

Do not use MockitoAnnotations.initMocks() and modernize collection
handling.

Change-Id: I2770ae6ff68a60cc4800e718fa8e42acbbfbff8f
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
7 months agoBump versions to 3.0.8-SNAPSHOT 61/95361/1
Robert Varga [Thu, 25 Feb 2021 16:08:43 +0000 (17:08 +0100)]
Bump versions to 3.0.8-SNAPSHOT

This starts the next development iteration.

Change-Id: I0fb33bade8ed75fe5e38ef2c14c0e628a2664d40
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
7 months agoBump upstream versions 60/95360/1
Robert Varga [Thu, 25 Feb 2021 00:50:28 +0000 (01:50 +0100)]
Bump upstream versions

Adopt following upstreams:
- odlparent-8.1.1
- yangtools-6.0.5
- mdsal-7.0.6

Change-Id: I099a92b96385ac8a3669e42ec5174b9cdd4b05cc
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
7 months agoBump Scala to 2.13.5 10/95310/1
Robert Varga [Tue, 23 Feb 2021 09:55:44 +0000 (10:55 +0100)]
Bump Scala to 2.13.5

https://github.com/scala/scala/releases/tag/v2.13.5

Change-Id: I77c156f84b52f7c7b8763e4fe1c97527c1dfc6f7
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
7 months agoDeprecate messagebus for removal 30/95230/1
Robert Varga [Fri, 19 Feb 2021 06:43:50 +0000 (07:43 +0100)]
Deprecate messagebus for removal

This component is going away, deprecate it.

JIRA: CONTROLLER-1973
Change-Id: I993cf6311c30b37bc64c9d7dbd244d54c26c8da5
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
8 months agoMigrate to new expectTerminated() 28/93028/7
Robert Varga [Mon, 12 Oct 2020 13:34:07 +0000 (15:34 +0200)]
Migrate to new expectTerminated()

There is a new overload which takex java.time.Duration.

Change-Id: I21568e7dc893ea695b99313b1f1869978fc9a654
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
8 months agoBump versions to 3.0.7-SNAPSHOT 30/95030/1
Robert Varga [Fri, 5 Feb 2021 06:03:47 +0000 (07:03 +0100)]
Bump versions to 3.0.7-SNAPSHOT

This starts the next development iteration.

Change-Id: I4f6988859d555060be1468a78b9abcd307c697fe
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
8 months agoBump akka to 2.6.12 26/92926/47
tadei.bilan [Tue, 6 Oct 2020 14:32:36 +0000 (16:32 +0200)]
Bump akka to 2.6.12

Release notes:
https://akka.io/blog/news/2019/11/06/akka-2.6.0-released
https://akka.io/blog/news/2019/12/06/akka-2.6.1-released
https://akka.io/blog/news/2020/01/27/akka-2.6.2-released
https://akka.io/blog/news/2020/01/28/akka-2.6.3-released
https://akka.io/blog/news/2020/03/13/akka-2.6.4-released
https://akka.io/blog/news/2020/04/30/akka-2.6.5-released
https://akka.io/blog/news/2020/06/08/akka-2.6.6-released-split-brain-resolver
https://akka.io/blog/news/2020/07/10/akka-2.6.7-released
https://akka.io/blog/news/2020/07/16/akka-2.6.8-released
https://akka.io/blog/news/2020/09/09/akka-2.6.9-released
https://akka.io/blog/news/2020/10/09/akka-2.6.10-released
https://akka.io/blog/news/2021/01/15/akka-2.6.11-released
https://akka.io/blog/news/2021/01/28/akka-2.6.12-released

JIRA: CONTROLLER-1962
Change-Id: Ibbfc11a8ca27a8c09337bf49de910c38a9239886
Signed-off-by: tadei.bilan <tadei.bilan@pantheon.tech>
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
Signed-off-by: Oleksii Mozghovyi <oleksii.mozghovyi@pantheon.tech>
8 months agoBump versions to 3.0.6-SNAPSHOT 99/94799/3
Robert Varga [Mon, 25 Jan 2021 19:35:57 +0000 (20:35 +0100)]
Bump versions to 3.0.6-SNAPSHOT

This starts the next development iteration.

Change-Id: I24d091b64e7fd17fc923a40058e7bcf8e2217744
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
8 months agoBump upstream versions 95/94695/5
Robert Varga [Thu, 21 Jan 2021 15:27:31 +0000 (16:27 +0100)]
Bump upstream versions

Adopt following upstreams:
- odlparent-8.1.0
- yangtools-6.0.4
- mdsal-7.0.5

Change-Id: I97521261a496a6ed47c3250143fe75adfb6f4648
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
8 months agoFix docs version parsing 25/94725/2
Robert Varga [Thu, 21 Jan 2021 22:54:28 +0000 (23:54 +0100)]
Fix docs version parsing

We do not want to pick just any <version> tag that comes first,
as that well may be parent/version.

Change-Id: Ic51ca768f42de498dd86f470f839e64a063c1dd4
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
8 months agoFix modernizer warnings in sal-distributed-eos 97/94697/1
Robert Varga [Thu, 21 Jan 2021 16:08:08 +0000 (17:08 +0100)]
Fix modernizer warnings in sal-distributed-eos

There are just two violations, fix them up and enable enforcement.

Change-Id: I07e38270d0b24fa5ca4a701808e2b20c0b820803
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
9 months agoBump versions to 3.0.5-SNAPSHOT 05/94505/1
Robert Varga [Fri, 8 Jan 2021 19:12:47 +0000 (20:12 +0100)]
Bump versions to 3.0.5-SNAPSHOT

This starts the next development iteration.

Change-Id: I700a155f7a1ef06a89bcfb00bfea7d424745b745
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>