controller.git
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>
3 years agoMigrate ReplicatedLogImplTest 64/93264/1
Robert Varga [Thu, 22 Oct 2020 18:47:33 +0000 (20:47 +0200)]
Migrate ReplicatedLogImplTest

Use MockitoJUnitRunner to initialize mocks, which shows we have
unneeded stubbings.

Change-Id: Ib907fa4b027d063d3a0c3d7b9c0e94115ab39495
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
3 years agoDo not reset datasize after a fake snapshot 79/91679/11
tadei.bilan [Mon, 27 Jul 2020 10:18:29 +0000 (13:18 +0300)]
Do not reset datasize after a fake snapshot

If we reset dataSize from SnapshotManager's fake snapshot, we would
not have correctly accounted for on-disk size.

Fix this by exposing a simple knob, which allows suppressing dataSize
update during snapshotCommit().

JIRA: CONTROLLER-1957
Change-Id: I553ddb523ac8504892cc5353bfe4b002c25436ce
Signed-off-by: tadei.bilan <tadei.bilan@pantheon.tech>
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
3 years agoLog replicated log dataSize changes 63/93263/2
Robert Varga [Thu, 22 Oct 2020 18:10:01 +0000 (20:10 +0200)]
Log replicated log dataSize changes

This is a bit of critical state, make sure we recalculate it atomically
and log its changes.

JIRA: CONTROLLER-1957
Change-Id: I09532384ce5bbaf7218c0ffdb64799541037fafc
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
3 years agoReformat AbstractReplicatedLogImpl 62/93262/2
Robert Varga [Thu, 22 Oct 2020 17:57:54 +0000 (19:57 +0200)]
Reformat AbstractReplicatedLogImpl

'final' on arguments, remove unnecessary type for empty list, add
a @NonNull return annotation.

Change-Id: I697c6fdd33e373478a645f3bbef987a054d8ed70
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
3 years agoClean up AbstractReplicatedLogImplTest 61/93261/2
Robert Varga [Thu, 22 Oct 2020 17:54:11 +0000 (19:54 +0200)]
Clean up AbstractReplicatedLogImplTest

Use static imports for Assert methods, add final qualifiers.

Change-Id: I35f589b14e1188fa1fb94524065b562023687f27
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
3 years agoBump versions to 3.0.2-SNAPSHOT 83/93183/2
Robert Varga [Mon, 19 Oct 2020 14:50:42 +0000 (16:50 +0200)]
Bump versions to 3.0.2-SNAPSHOT

This starts the next development iteration.

Change-Id: Icf9580fcd1bb7cec7de3169f058e3ec5bbcdfb28
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
3 years agoBump mdsal to 7.0.1 76/93176/1
Robert Varga [Mon, 19 Oct 2020 11:47:18 +0000 (13:47 +0200)]
Bump mdsal to 7.0.1

Pick up critical bug fixes from upstream.

Change-Id: Ibfc9f9c19cd08e399532f59cdb84c2a3558191af
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
3 years agoRehost Chunked{ByteArray,InputStream,OutputStream} 99/93099/5
Robert Varga [Fri, 16 Oct 2020 15:35:39 +0000 (17:35 +0200)]
Rehost Chunked{ByteArray,InputStream,OutputStream}

These utility classes are immensely useful for any fragmentation
workload. Rehost them so we can reuse them. This means we will end
up with non-constant maximum chunk size, but that's fine.

JIRA: CONTROLLER-1954
Change-Id: I046ddb16d1e5c7210a781d63f302c3ee3e75742d
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
3 years agoUpdate DataJournal interface 97/93097/4
Robert Varga [Fri, 16 Oct 2020 13:17:50 +0000 (15:17 +0200)]
Update DataJournal interface

The interface is not documented and we need to differentiate between
indices as viewed from segmented journal and the persistence journal
views.

JIRA: CONTROLLER-1954
Change-Id: Ibbc384b88f8d5567e9af18d83b9a84f7c9b9634c
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
3 years agoOdl-jolokia package superfluous artifacts 32/93032/1
Vladyslav Marchenko [Tue, 13 Oct 2020 06:38:19 +0000 (09:38 +0300)]
Odl-jolokia package superfluous artifacts

From /odl-jolokia/target/feature/feature.xml:
wrap:mvn: jar content is already in present in jolokia-osgi

JIRA: CONTROLLER-1961
Change-Id: I3d689cdedb002f9d97937671ebfe38127e1095e0
Signed-off-by: Vladyslav Marchenko <vladyslav.marchenko@pantheon.tech>
3 years agoCorrect javadoc reference 27/93027/1
Robert Varga [Mon, 12 Oct 2020 13:23:55 +0000 (15:23 +0200)]
Correct javadoc reference

We should not be referencing UntypedActor, but rather AbstractActor.

Change-Id: I6f17d818e2c03c9c4a9e0df26317212f28425734
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
3 years agoBump versions 3.0.1-SNAPSHOT 18/93018/2
Robert Varga [Mon, 12 Oct 2020 09:06:28 +0000 (11:06 +0200)]
Bump versions 3.0.1-SNAPSHOT

This starts the next development iteration.

Change-Id: I226c02f355c120fdf23d519aa91342b91e9d2c00
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
3 years agoBump mdsal-7 to released version 08/93008/1
Robert Varga [Fri, 9 Oct 2020 16:16:23 +0000 (18:16 +0200)]
Bump mdsal-7 to released version

Remove the use of snapshots and return to being release-integrated.

Change-Id: Ib4fa9662fe26bc968b6f9a433408d648d35c55bd
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
3 years agoBump yangtools to 6.0.0 99/92999/1
Robert Varga [Thu, 8 Oct 2020 15:20:51 +0000 (17:20 +0200)]
Bump yangtools to 6.0.0

Switch from integrating on snapshots to taking released artifacts.

Change-Id: Id46bafcbda66a28a9d9f165e470b9cc94b482dba
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
3 years agoBump upstreams for Silicon 78/92878/17
Robert Varga [Fri, 2 Oct 2020 16:16:24 +0000 (18:16 +0200)]
Bump upstreams for Silicon

Adopt the following upstream versions:
- odlparent-8.0.0
- yangtools-6.0.0-SNAPSHOT
- mdsal-7.0.0-SNAPSHOT

Also add bundle-parent to host the scala/akka definitions we need.

Change-Id: I98452920bf7cebf176d3b20723be40929a9a7268
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
3 years agoAdd Akka packaging 80/92880/9
Robert Varga [Fri, 2 Oct 2020 17:15:26 +0000 (19:15 +0200)]
Add Akka packaging

This adds an independent packaging of akka as a single uber-bundle,
so that split packages and missing OSGi headers are not a concern.

This duplicates odlparent packaging to an extent, but does not
switchover.

JIRA: CONTROLLER-1959
Change-Id: I48f33b348b63ca0ac48f21573e55e06719900eb0
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
3 years agoAdd Scala packaging 79/92879/2
Robert Varga [Fri, 2 Oct 2020 16:57:24 +0000 (18:57 +0200)]
Add Scala packaging

This is a straight transplant of odl-scala-2.13 feature from
odlparent-7.0.6.

JIRA: CONTROLLER-1959
Change-Id: I7302b769961df092eaa7dbfbaaa90e723e70e263
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
3 years agoBump versions to 3.0.0-SNAPSHOT 77/92877/1
Robert Varga [Fri, 2 Oct 2020 16:15:08 +0000 (18:15 +0200)]
Bump versions to 3.0.0-SNAPSHOT

This starts the next major version development iteration.

Change-Id: I06cf3e57ee1aee9d906dccd165c371f7e6bc2da6
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
3 years agoAdd a segmented DataJournal abstraction 15/92615/7
Robert Varga [Wed, 23 Sep 2020 10:24:52 +0000 (12:24 +0200)]
Add a segmented DataJournal abstraction

We are going to change the way we organize journal entries within
a segmented file. Add DataJournal abstraction which exposes
a unified interface towards the SegmentedJournalActor.

Current implementation is split out from SegmentedJournalActor
as DataJournalV0.

JIRA: CONTROLLER-1954
Change-Id: I0d1de42b22e75610d0434548483091e3359123e4
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
3 years agoCorrect mdsal-it-base dependencies 52/92852/1
Robert Varga [Fri, 2 Oct 2020 10:56:50 +0000 (12:56 +0200)]
Correct mdsal-it-base dependencies

This is a weird dance of dependencies, for which we need to match
the content of pax-exam-features.

Change-Id: Ia011022174f8d633f3ec3ac17cd2f8d7d33a7ee0
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
3 years agoBump versions to 2.0.5-SNAPSHOT 94/92594/1
Robert Varga [Tue, 22 Sep 2020 15:37:36 +0000 (17:37 +0200)]
Bump versions to 2.0.5-SNAPSHOT

This starts the next development iteration.

Change-Id: I41c77600cfde36c0e74087472272a4890dd13122
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
3 years agoBump mdsal to 6.0.5 81/92581/1
Robert Varga [Tue, 22 Sep 2020 08:25:19 +0000 (10:25 +0200)]
Bump mdsal to 6.0.5

Pick up the released version.

Change-Id: I785e24cdccb12a2f3da3ac03abe008a7c521681b
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
3 years agoConvert messagebus-impl to OSGi DS 74/91774/14
Robert Varga [Thu, 30 Jul 2020 15:28:37 +0000 (17:28 +0200)]
Convert messagebus-impl to OSGi DS

messagebus-impl is an extremely simple component, convert it to
Declarative Services.

JIRA: CONTROLLER-1882
Change-Id: I5131530f3ba907525a7a29775136cd5123f56f18
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
3 years agoConvert cluster-admin to OSGi DS 73/91773/14
Robert Varga [Thu, 30 Jul 2020 15:17:26 +0000 (17:17 +0200)]
Convert cluster-admin to OSGi DS

This is a very simple component, convert it to declarative services.

JIRA: CONTROLLER-1882
Change-Id: I664db0ef3cbf6b5cf900d969fa56bc04440c2604
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
3 years agoBump odlparent/yangtools/mdsal to 7.0.6/5.0.6/6.0.5-SNAPSHOT 04/91804/6
Robert Varga [Fri, 31 Jul 2020 15:03:04 +0000 (17:03 +0200)]
Bump odlparent/yangtools/mdsal to 7.0.6/5.0.6/6.0.5-SNAPSHOT

Since CONTROLLER-1882 needs a few changes from upstream, bump to
released odlparent/yangtools and snapshot mdsal.

Change-Id: Ic2a74eb7d989e8da859fec471ba7c442374bef70
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
3 years agoRemove java.desktop dependency 27/92127/7
tadei.bilan [Thu, 13 Aug 2020 07:58:27 +0000 (10:58 +0300)]
Remove java.desktop dependency

Remove java.beans dependency to be able to run without java.desktop module

JIRA: CONTROLLER-1910
Change-Id: Ib7cfba1e0ec4694e0f63586837486a00e9863ea3
Signed-off-by: tadei.bilan <tadei.bilan@pantheon.tech>
3 years agoAdd direct in-memory journal threshold 99/91299/10
tadei.bilan [Tue, 21 Jul 2020 09:24:09 +0000 (12:24 +0300)]
Add direct in-memory journal threshold

Some deployments benefit from placing an absolute numeric limit
on the retained memory. Introduce a new tunable, which overrides
the usual percentange limit.

JIRA: CONTROLLER-1956
Change-Id: I688e226b173386765bea74931b6aaf617bda30a8
Signed-off-by: tadei.bilan <tadei.bilan@pantheon.tech>
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
3 years agoDoc update for "Extend Websocket streams for data-less notifications" enhancement. 86/91886/1
Nikhil Soni [Wed, 5 Aug 2020 14:31:07 +0000 (20:01 +0530)]
Doc update for "Extend Websocket streams for data-less notifications" enhancement.

Refer: https://git.opendaylight.org/gerrit/c/netconf/+/89928

JIRA: NETCONF-689
Signed-off-by: Nikhil Soni <nsoni@luminanetworks.com>
Change-Id: I5e36f30a61fb6313c85f34fbe9721c5a5fbc317d

3 years agoInstantiate distributed datastore asynchronously 95/91795/8
Robert Varga [Fri, 31 Jul 2020 10:44:27 +0000 (12:44 +0200)]
Instantiate distributed datastore asynchronously

With OSGi DS we can have very explicit control over component
activations. Use component factory pattern, which provides async
publish of DOMStore into service registry. This allows us to
make startup asynchronous).

JIRA: CONTROLLER-1882
Change-Id: Id09f956ec9088388ec5cbd3162d128310baddf51
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
3 years agoRefactor DataStore readiness tracking 94/91794/2
Robert Varga [Fri, 31 Jul 2020 09:34:22 +0000 (11:34 +0200)]
Refactor DataStore readiness tracking

Using a CountDownLatch is not composable, which leads to current
layout. Switch to using a SettableFuture, which can be accessed
via AbstractDataStore.initialSettleFuture().

This allows us to externalize the settle policy, letting callers
decide what to actually do.

JIRA: CONTROLLER-1882
Change-Id: Iaf9a359cfc2507ae35688fca3673c13713c2b427
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
3 years agoConvert netty-timer-config to OSGi DS 78/91778/2
Robert Varga [Thu, 30 Jul 2020 17:07:38 +0000 (19:07 +0200)]
Convert netty-timer-config to OSGi DS

This is an extremely simple forwarder, convert it to OSGi DS.

JIRA: CONTROLLER-1882
Change-Id: I8fbb71fba704e273b8e1c8fa79b4e4dd90aeff31
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
3 years agoConvert netty-event-executor-config to OSGi DS 77/91777/2
Robert Varga [Thu, 30 Jul 2020 16:10:41 +0000 (18:10 +0200)]
Convert netty-event-executor-config to OSGi DS

This is an extremely simple forwarder, convert it to OSGi DS.

JIRA: CONTROLLER-1882
Change-Id: Iff74bad52a78adcb6398b09300f6bfa7457dea7d
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
3 years agoConvert sal-distributed-eos to OSGi DS 72/91772/2
Robert Varga [Thu, 30 Jul 2020 14:56:40 +0000 (16:56 +0200)]
Convert sal-distributed-eos to OSGi DS

This is a simple component, there is just no need to use blueprint.

JIRA: CONTROLLER-1882
Change-Id: If64faff3cab0e66303b5e2d5db4af7f9ea2a2b50
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
3 years agoConvert sal-distributed-datastore to OSGi DS 70/91770/4
Robert Varga [Thu, 30 Jul 2020 11:28:18 +0000 (13:28 +0200)]
Convert sal-distributed-datastore to OSGi DS

This is a follow-up patch, converting more of blueprint wiring to
OSGi Declarative Services.

JIRA: CONTROLLER-1882
Change-Id: Ibb0a9f57c470e5572b64e85fdf87a093594d0367
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
3 years agoConvert FileModuleShardConfigProvider to OSGi DS 56/91756/3
Robert Varga [Wed, 29 Jul 2020 10:09:34 +0000 (12:09 +0200)]
Convert FileModuleShardConfigProvider to OSGi DS

This is a simple injected holder, convert it to a full-blown
component.

JIRA: CONTROLLER-1882
Change-Id: I6676055801c178c4ffb4137ec6721128014dedde
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>