controller.git
2 years 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 years 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 years 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 years 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>
2 years 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>
2 years 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>
2 years 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>
2 years 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>
2 years 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>
2 years 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>
2 years 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>
2 years 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>
2 years 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>
2 years 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>
2 years 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>
2 years 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>
2 years 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>
2 years 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>
2 years 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>
2 years 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>
2 years 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>
2 years 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>
2 years 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>
2 years 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>
2 years 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>
2 years 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>
2 years 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>
2 years 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>
2 years 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>
2 years 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>
2 years 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>
2 years 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>
2 years 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>
2 years 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>
2 years 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>
2 years 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>
2 years 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>
2 years 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>
2 years 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>
2 years 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>
2 years 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>
2 years 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>
2 years 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>
2 years 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>
2 years 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>
2 years 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>
2 years 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>
2 years 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>
2 years 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>
2 years 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>
2 years 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>
2 years 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>
3 years 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>
3 years 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>
3 years 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>
3 years 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>
3 years 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>
3 years 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>
3 years 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>
3 years 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>
3 years 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>
3 years 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>
3 years 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>
3 years 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>
3 years 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>
3 years 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>
3 years 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>
3 years 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>
3 years 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>
3 years 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>
3 years 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>
3 years agoMigrate isFoo() callers 04/94504/1
Robert Varga [Fri, 8 Jan 2021 18:27:22 +0000 (19:27 +0100)]
Migrate isFoo() callers

isFoo() is deprecated for removal, migrate callers to getFoo()
instead.

Change-Id: Ic7d70762ff55e5840654ef6fe17767909bddf91b
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
3 years agoBump upstream versions 03/94503/1
Robert Varga [Fri, 8 Jan 2021 14:59:30 +0000 (15:59 +0100)]
Bump upstream versions

Adopt:
- odlparent-8.0.3
- yangtools-6.0.3
- mdsal-7.0.4

Change-Id: I2c166ae111d423a76d9ea97ee2e3d0ce11c4b1da
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
3 years agoBump versions to 3.0.4-SNAPSHOT 85/94285/2
Robert Varga [Sat, 19 Dec 2020 20:45:27 +0000 (21:45 +0100)]
Bump versions to 3.0.4-SNAPSHOT

This starts the next development iteration.

Change-Id: I2d57e89a9791e6e11e5413a3b3abe695c359f64c
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
3 years agoBump upstream versions 83/94283/2
Robert Varga [Sat, 19 Dec 2020 12:04:06 +0000 (13:04 +0100)]
Bump upstream versions

Adopt:
- odlparent-8.0.2
- yangtools-6.0.2
- mdsal-7.0.3

Change-Id: Iba37fd205fd3059da8d97fff65eed9e0ee56bcb7
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
3 years agoBump versions to 3.0.3-SNAPSHOT 91/94091/1
Robert Varga [Mon, 7 Dec 2020 14:49:01 +0000 (15:49 +0100)]
Bump versions to 3.0.3-SNAPSHOT

This starts the next development iteration.

Change-Id: I659290b6799826f90b9aeac4e3d9ae88e5e9b294
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
3 years agoFix mdsal-parent reference 90/94090/1
Robert Varga [Mon, 7 Dec 2020 13:47:22 +0000 (14:47 +0100)]
Fix mdsal-parent reference

The relative reference has shifted, preventing a release build
from working. Fix it up.

Change-Id: I0a200c3d32800b26592c69e2d67c88d13164ff16
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
3 years agoFix initial datastore configuration 27/93627/8
tadei.bilan [Fri, 6 Nov 2020 14:47:25 +0000 (16:47 +0200)]
Fix initial datastore configuration

Shards need to be initialized with initial configuration upon creation,
otherwise they end up being reconfigured. Make sure callers are aware
of this caveat by requiring explicit properties on instantiation.

JIRA: CONTROLLER-1970
Change-Id: I3d6f96780d26435ac178ec9935f0f67befe3687a
Signed-off-by: tadei.bilan <tadei.bilan@pantheon.tech>
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
3 years agoEnable modernizer in sal-distributed-datastore 61/93861/3
Robert Varga [Tue, 17 Nov 2020 15:39:31 +0000 (16:39 +0100)]
Enable modernizer in sal-distributed-datastore

We are down to a single offender, suppress it and enable moderinizer
enforcement.

Change-Id: I9daf9f54276c48aac09e999327add7ade92dfc95
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
3 years agoUse java.lang.ref.Cleaner for ClientBackedTransaction 87/93287/7
tadei.bilan [Fri, 23 Oct 2020 11:29:50 +0000 (14:29 +0300)]
Use java.lang.ref.Cleaner for ClientBackedTransaction

Improve temporary file clean up by using a Cleaner to dispatch
cleaning tasks. Since it gives us a Cleanable, we can dispense with
a tracking map and removal from it -- Cleanable makes sure it is
called exactly once.

JIRA: CONTROLLER-1911
Change-Id: I02d2ee57a9fada2c54ba06008b6c28681a709748
Signed-off-by: tadei.bilan <tadei.bilan@pantheon.tech>
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
3 years agoSpeed up root overwrite check 60/93860/1
Robert Varga [Tue, 17 Nov 2020 14:48:13 +0000 (15:48 +0100)]
Speed up root overwrite check

We can use YangInstanceIdentifier.isEmpty() and extract the single
ModificationType we care about.

Change-Id: Ie29c32ea0b197547bce67a7b2ffdd530e79276da
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
3 years agoUse Objects.requireNonNullElse() 59/93859/1
Robert Varga [Tue, 17 Nov 2020 14:42:04 +0000 (15:42 +0100)]
Use Objects.requireNonNullElse()

Modernizer is pointing this one out, drop the MoreObjects
dependency.

Change-Id: Ibfe3f79dae3b53bc30d130ae68bfab83214ee128
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
3 years agoUse java.lang.ref.Cleaner in controller.cluster.io 86/93286/2
tadei.bilan [Fri, 23 Oct 2020 11:12:06 +0000 (14:12 +0300)]
Use java.lang.ref.Cleaner in controller.cluster.io

Improve temporary file clean up by using a Cleaner to dispatch
cleaning tasks. Since it gives us a Cleanable, we can dispense with
a tracking map and removal from it -- Cleanable makes sure it is
called exactly once.

JIRA: CONTROLLER-1911
Change-Id: I5fb715102912359cf002129d25a7433199826982
Signed-off-by: tadei.bilan <tadei.bilan@pantheon.tech>
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
3 years agoMake cds-mgmt-api a JPMS module 10/93310/5
Robert Varga [Fri, 23 Oct 2020 16:54:51 +0000 (18:54 +0200)]
Make cds-mgmt-api a JPMS module

There is little content here, let's formalize it into a module,
so it plays nice with others.

While we are at it, add explicit @MXBean annotations, so that our
intent is documented beyond naming properties.

JIRA: CONTROLLER-1965
Change-Id: I27cc7070559f1156b0cd1d85916356e3297a49f9
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
3 years agoBump upstream versions 39/93839/1
Robert Varga [Sun, 15 Nov 2020 21:49:41 +0000 (22:49 +0100)]
Bump upstream versions

Adopt:
- odlparent-8.0.1
- yangtools-6.0.1
- mdsal-7.0.2

Change-Id: I1097eacead9ca43f57f2f602b864762b0c76a3a8
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
3 years agoMake sure to clear candidate from memory 65/93565/2
Tomas Cere [Tue, 3 Nov 2020 11:38:04 +0000 (12:38 +0100)]
Make sure to clear candidate from memory

The candidate needs to be cleared even when processing
replicated candidate(ie on a follower) as there is no need
to keep it deserialized in memory

JIRA: CONTROLLER-1928
Change-Id: I1403dbe27def5e0040a8d9f145a92ac06aae9d1e
Signed-off-by: Tomas Cere <tomas.cere@pantheon.tech>
3 years agoDeprecate common.util.Arguments for removal 12/93312/1
Robert Varga [Fri, 23 Oct 2020 17:31:58 +0000 (19:31 +0200)]
Deprecate common.util.Arguments for removal

The method hosted is used only in 6 call sites across all
downstreams. Deprecate it for removal, so they can come up with
a replacement.

Change-Id: Iddfc75ef40710944e8f6e5a420dd0c467d973671
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
3 years agoDeprecate NoopAutoCloseable for removal 11/93311/1
Robert Varga [Fri, 23 Oct 2020 17:28:51 +0000 (19:28 +0200)]
Deprecate NoopAutoCloseable for removal

This utility is not used here, just in NETCONF, which can brew its
own. Deprecate it for removal.

Change-Id: I78ef26278be8f88049e13129f388de4f5b899b82
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
3 years agoRemove ShardMBeanFactory 09/93309/3
Robert Varga [Fri, 23 Oct 2020 16:13:20 +0000 (18:13 +0200)]
Remove ShardMBeanFactory

This utility class holds only a single method, rehost the method
and remove the class.

JIRA: CONTROLLER-1965
Change-Id: Id1b861a7e838e90abe1f89e97964a903f0dc15d8
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
3 years agoMove cluster.datastore.jmx.mbeans.shard 08/93308/3
Robert Varga [Fri, 23 Oct 2020 16:08:50 +0000 (18:08 +0200)]
Move cluster.datastore.jmx.mbeans.shard

Expose shard-related MXBeans now that the information they are
providing is publicly visible.

JIRA: CONTROLLER-1965
Change-Id: Icc0d94465943d86cd6923c280409173217312c90
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
3 years agoMove FollowerInfo 07/93307/4
Robert Varga [Fri, 23 Oct 2020 16:07:01 +0000 (18:07 +0200)]
Move FollowerInfo

DataTreeListenerInfo is strictly JMX-related, hence it should not
be lurking among our messages. Move it to cluster.mgmt.api package.

Strictly speaking this is not API-compatible, but previous location
was in implementation-specific place, so that should be fine.

JIRA: CONTROLLER-1965
Change-Id: I901887ee7f1827ba25076252bf5ffb32cf6faf45
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
3 years agoMove DataTreeListenerInfo 06/93306/3
Robert Varga [Fri, 23 Oct 2020 15:37:31 +0000 (17:37 +0200)]
Move DataTreeListenerInfo

DataTreeListenerInfo is strictly JMX-related, hence it should not
be lurking among our messages. Move it to newly-established
cluster.mgmt.api package.

Strictly speaking this is not API-compatible, but previous location
was in implementation-specific place, so that should be fine.

JIRA: CONTROLLER-1965
Change-Id: Idd6771a93dffd62d43beea5a57985e372d9098a8
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
3 years agoMove MXBean definitions to cds-mgmt-api 05/93305/3
Robert Varga [Fri, 23 Oct 2020 15:16:50 +0000 (17:16 +0200)]
Move MXBean definitions to cds-mgmt-api

Downstreams are very interested in the details of CDS operation
and end up going through all kinds of hoops to get at the information
exposed in our MXBeans. They mostly do that without touching the
definition itself, so let's make it easier and publish the definitions
in an API artifact.

We also end up evacuating implementations to the packages that expose
them, hiding them from plain sight. Since we want them to really be
final, also adjust tests which are mocking them for no good reason.

JIRA: CONTROLLER-1965
Change-Id: I9bb1eb792c7ce4b7197b4da715c2c5223b41ff73
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
3 years agoMove jolokia to top-level directory 04/93304/2
Robert Varga [Fri, 23 Oct 2020 15:01:13 +0000 (17:01 +0200)]
Move jolokia to top-level directory

There is no point in keeping opendaylight/commons indirection,
move this artifact to the top-level directory.

Change-Id: Ic55ceeeb103b4a8f6f3ed44de4c703bd2349ee47
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
3 years agoMove models to top-level directory 03/93303/2
Robert Varga [Fri, 23 Oct 2020 14:57:35 +0000 (16:57 +0200)]
Move models to top-level directory

Having the 'opendaylight' indirection is useless, move the models
first as we expect few changes to them. Also cleanup module order
in top-level aggragator.

Change-Id: Ibbdcc6c68f643f13e58741ab5e59b4724693806c
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
3 years agoExpose AskTimeoutException counter from DatastoreInfoMXBean 83/93283/1
Robert Varga [Thu, 22 Oct 2020 21:38:04 +0000 (23:38 +0200)]
Expose AskTimeoutException counter from DatastoreInfoMXBean

This is a natural place to keep track of all exceptions which
happen in datastore context. Hook an onComplete() to each future
which goes by and update the counter.

JIRA: CONTROLLER-1963
Change-Id: Ib208b377e1ab533993597660228b5fc87919e75b
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
3 years agoRemove DatastoreConfigurationMXBean IMDS properties 82/93282/1
Robert Varga [Thu, 22 Oct 2020 21:08:38 +0000 (23:08 +0200)]
Remove DatastoreConfigurationMXBean IMDS properties

These properties are unused and have been returning 0 for quite
some time. Remove them.

Change-Id: I1c532d83dbd3d8648cfee816f35dc2357394b26d
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
3 years agoAdd multi journal configuration for segmented journal 86/90186/9
Tomas Cere [Fri, 29 May 2020 14:07:32 +0000 (16:07 +0200)]
Add multi journal configuration for segmented journal

We dont need to have large segments for operational shards.
Add in multi journal configuration that gets used when shard has
persistence turned off.

JIRA: CONTROLLER-1938
Change-Id: I39349503079ef03177c8b9b52909078c5f35d6ba
Signed-off-by: Tomas Cere <tomas.cere@pantheon.tech>
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
3 years agoUse assertTrue/assertFalse in SnapshotManagerTest 66/93266/1
Robert Varga [Thu, 22 Oct 2020 18:57:19 +0000 (20:57 +0200)]
Use assertTrue/assertFalse in SnapshotManagerTest

This prevents boxing while retaining intent.

Change-Id: I6818c3197ae3a1800768d0d43fc669bee8232adb
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
3 years agoMigrate SnapshotManagerTest 65/93265/1
Robert Varga [Thu, 22 Oct 2020 18:51:32 +0000 (20:51 +0200)]
Migrate SnapshotManagerTest

Use MockitoJUnitRunner to initialize mocks, which shows we have
unneeded stubbings and that we are lacking two stubs.

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