mdsal.git
3 months agoUpdate mdsal-binding-api with DataObject{Identifier,Reference} 69/104969/36
Robert Varga [Tue, 2 Jul 2024 17:45:27 +0000 (19:45 +0200)]
Update mdsal-binding-api with DataObject{Identifier,Reference}

InstanceIdentifier is an overloaded thing, representing two distinct
contracts:
- an 'instance-identifier', in RFC7950 sense, pointing to at most one
  DataObject
- a wildcard match on the above, pointing to one or more DataObjects

The two constructs are now properly modeled via
- yangtools.binding.DataObjectIdentifier (first construct)
- yangtools.binding.DataObjectReference (second construct)

yangtools.yang.binding.InstanceIdentifier is the sole survivor of the
MD-SAL -> YANG Tools move, presenting a special-case implementation of
DataObjectReference contract, which does not expose isWildcarded()==true
in its class hierarchy -- but can be converted to an object which can be
be switch(obj)'d on. It is deprecated and will be removed soon.

This patch updates binding-api to reflect new capabilities:

1) {Read,Write}Operations operate primarily on DataObjectIdentifier, with
   ReadOperations.exists() optionally supporting any
   DataObjectReference. API/ABI compatibility is maintained via defaults
   methods performing correct appropriate checks and conversions

2) MountPoint is identified by a DataObjectIdentifier, matching the
   yang-ext.yang modeling intent. Unfortunately InstanceIdentifier is
   captured in the generic class signature, hence this is an
   API-incompatible change. Downstream migration is trivial via
   toLegacy() and toIdentifier() conversions

3) DataTreeService is updated to use
   LogicalDatastoreType/DataObjectReference for tree change listeners
   and LogicalDatastoreType/DataObjectIdentifier for data listeners

4) DataObjectModification uses DataObjectIdentifier instead of
   DataTreeIdentifier

5) ActionSpec and InstanceNotificationSpec are using
   DataObjectReference

6) MountPointService exposes findMountPoint(DataObjectIdentifier) and
   allows registration on any DataObjectReference

7) ActionService, InstanceNotificationPublishService and RpcProviderService
   operate on DataObjectIdentifiers

8) InstanceNotificationService operates on DataObjectReferences and the
   listeners receive DataObjectIdentifiers

9) DataTreeCommitCohortRegistry works on top of DataObjectReferences

10) DataTreeIdentifier is DataTreeMatch, operating on
    DataObjectReferences

JIRA: MDSAL-817
Change-Id: Ibad30e0ae1dfdd66181d6df8b3e62ab7ebc95a99
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
3 months agoBump odlparent to 14.0.0 36/112436/2
Robert Varga [Thu, 4 Jul 2024 10:56:44 +0000 (12:56 +0200)]
Bump odlparent to 14.0.0

Use a released version of odlparent again.

Change-Id: Ic96769d048e0ac22272a50bb96aebf83acc0d86f
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
3 months agoClean up Sonar warnings 22/112422/3
Robert Varga [Tue, 2 Jul 2024 15:17:22 +0000 (17:17 +0200)]
Clean up Sonar warnings

This is mostly removal of thrown exceptions which are not possible.

Change-Id: I5c65878f38ebfb2009d399022f861454cd8633d5
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
3 months agoClean up mdsal-binding-test-utils dependencies 25/112425/2
Robert Varga [Tue, 2 Jul 2024 18:39:53 +0000 (20:39 +0200)]
Clean up mdsal-binding-test-utils dependencies

We have quite a few warnings, clean them up.

Change-Id: I92a90e518326d20c53db644299a7837c6566581d
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
3 months agoClean up mdsal-binding-dom-adapter dependencies 24/112424/2
Robert Varga [Tue, 2 Jul 2024 18:32:18 +0000 (20:32 +0200)]
Clean up mdsal-binding-dom-adapter dependencies

We are using yang-data-spi via ImmutableNodes, declare that fact.

Change-Id: I3a2a5544006017028b40f6360701beb52639121a
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
3 months agoFix odl-mdsal-rfc8294-netty 90/112390/2
Robert Varga [Sun, 30 Jun 2024 09:49:05 +0000 (11:49 +0200)]
Fix odl-mdsal-rfc8294-netty

The feature template is wrong and ends up defining another featue, which
we do not want.

Change-Id: Iff9243a4f08732153142d73bd933fce7171be377
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
3 months agoUse YANG binding from YANG Tools 60/112260/15
Robert Varga [Fri, 21 Jun 2024 18:47:29 +0000 (20:47 +0200)]
Use YANG binding from YANG Tools

Switch over to using yangtools.binding* artifacts, removing everything
that has been superseded.

The test suite is updated a bit, mostly to be more stringent about
assertions.

This also clean up feature dependencies, reflecting the fact that
odl-mdsal-dom-runtime now pulls in odl-yangtools-binding-runtime
(without the codec bits).

JIRA: YANGTOOLS-1576
Change-Id: I33b0dea2945e6ffd74203ede289a48c4e52d00c3
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
3 months agoPick up byte-buddy from yangtools 40/112240/5
Robert Varga [Thu, 20 Jun 2024 14:44:20 +0000 (16:44 +0200)]
Pick up byte-buddy from yangtools

yangtools is now providing odl-bytebuddy. Use that instead of brewing
our own.

JIRA: YANGTOOLS-1576
Change-Id: Icbe16b1d526b60372b28d7fb30a78126b28e19dc
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
3 months agoBump upstreams 49/112149/6
Robert Varga [Thu, 13 Jun 2024 17:37:46 +0000 (19:37 +0200)]
Bump upstreams

Adopt:
- odlparent-14.0.0-SNAPSHOT
- yangtools-14.0.0-SNAPSHOT

The reason for the use of snapshots is early Java 21 integration and the
move of binding components.

Change-Id: Idde79245dcf64c49e3722c0bf03b87ba44c5fcbd
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
3 months agoRemove InstanceIdentifier.AbstractPathArgument 61/112261/3
Robert Varga [Sat, 22 Jun 2024 08:37:27 +0000 (10:37 +0200)]
Remove InstanceIdentifier.AbstractPathArgument

This class hierarchy has been superseded by DataObjectStep, remove it.

Change-Id: I524508035386ffa7c275a65753968921b0abec1a
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
3 months agoDo not use ListenerRegistration 50/112150/1
Robert Varga [Thu, 13 Jun 2024 17:49:19 +0000 (19:49 +0200)]
Do not use ListenerRegistration

A plain Registration will do for testing purposes.

Change-Id: Ie77ec48c9dd336b0977a5e1eccb59abee3e50d8d
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
4 months agoBump versions to 14.0.0-SNAPSHOT 48/111948/1
Robert Varga [Mon, 3 Jun 2024 17:40:43 +0000 (19:40 +0200)]
Bump versions to 14.0.0-SNAPSHOT

This starts the next major development iteration.

Change-Id: I530979d8f1f01d17720f69f9e7eb924a349eb9e2
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
4 months agoRemove unneeded serialVersionUID fields 46/111946/2
Robert Varga [Mon, 3 Jun 2024 17:29:23 +0000 (19:29 +0200)]
Remove unneeded serialVersionUID fields

SpotBugs now recognizes records are special, hence we can remove the
workaround.

Change-Id: If237583a2bc340f14f9b4180ea5756494a259b22
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
4 months agoBump versions to 13.0.5-SNAPSHOT 47/111947/1
Robert Varga [Mon, 3 Jun 2024 17:35:17 +0000 (19:35 +0200)]
Bump versions to 13.0.5-SNAPSHOT

This starts the next development iteration.

Change-Id: I91385d77a436ec34d5f6d5fbaea7296bfa9b887a
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
4 months agoRelease mdsal v13.0.4
jenkins-releng [Mon, 3 Jun 2024 15:51:52 +0000 (15:51 +0000)]
Release mdsal

4 months agoBump upstreams 80/111880/7
Robert Varga [Tue, 28 May 2024 12:16:16 +0000 (14:16 +0200)]
Bump upstreams

Adopt:
- odlparent-13.1.3
- yangtools-13.0.6

Change-Id: Iba9db31ef9900b60a766c1f5c4558a17e50001cc
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
4 months agoBump java-diff-utils to 4.12 31/111931/1
Robert Varga [Mon, 3 Jun 2024 14:28:29 +0000 (16:28 +0200)]
Bump java-diff-utils to 4.12

https://github.com/java-diff-utils/java-diff-utils/releases/tag/java-diff-utils-parent-4.12

Change-Id: I64a9794c9951384db099fa43eca3804cecf86b54
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
4 months agoBump byte-buddy to 1.14.17 30/111930/1
Robert Varga [Mon, 3 Jun 2024 14:20:20 +0000 (16:20 +0200)]
Bump byte-buddy to 1.14.17

https://github.com/raphw/byte-buddy/releases/tag/byte-buddy-1.14.17

Change-Id: Iec4fe66d3a8f926f52421b20364ebcb76a364873
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
4 months agoFix mdsal-dom-spi dependencies 91/111891/2
Robert Varga [Tue, 28 May 2024 18:44:54 +0000 (20:44 +0200)]
Fix mdsal-dom-spi dependencies

We should be pulling in checker-qual to express our dependency on it.

Change-Id: I294a62447467721aa98f2a8a3a079800836c2b7c
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
4 months agoBump byte-buddy to 1.14.16 48/111848/1
Robert Varga [Sun, 26 May 2024 18:31:57 +0000 (20:31 +0200)]
Bump byte-buddy to 1.14.16

https://github.com/raphw/byte-buddy/releases/tag/byte-buddy-1.14.15
https://github.com/raphw/byte-buddy/releases/tag/byte-buddy-1.14.16

Change-Id: I987eb66134bbf702580d0b837a664ee14b443cda
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
5 months agoBump versions to 13.0.4-SNAPSHOT 20/111620/1
Robert Varga [Sun, 5 May 2024 12:11:12 +0000 (14:11 +0200)]
Bump versions to 13.0.4-SNAPSHOT

This starts the next development iteration.

Change-Id: Id72d4d09cb11ca514e07d4d957d4a6d3674801b8
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
5 months agoRelease mdsal v13.0.3
jenkins-releng [Sun, 5 May 2024 03:40:52 +0000 (03:40 +0000)]
Release mdsal

5 months agoBump byte-buddy to 1.14.14 17/111617/1
Robert Varga [Sat, 4 May 2024 23:27:23 +0000 (01:27 +0200)]
Bump byte-buddy to 1.14.14

https://github.com/raphw/byte-buddy/releases/tag/byte-buddy-1.14.14

Change-Id: I9671ab7cf13ec91f442bba30f4d05001a0cecc23
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
5 months agoBump upstreams 16/111616/1
Robert Varga [Sat, 4 May 2024 22:38:00 +0000 (00:38 +0200)]
Bump upstreams

Adopt:
- odlparent-13.1.2
- yangtools-13.0.5

Change-Id: Icf1bdfdeee82da4991aff6302a1ed1de7dec688d
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
5 months agoBump yangtools to 13.0.4 77/111477/1
Robert Varga [Mon, 22 Apr 2024 09:55:48 +0000 (11:55 +0200)]
Bump yangtools to 13.0.4

Adopt the single fix from upstream.

Change-Id: I36b11da370af4dcc04f8c0a3ca6e9fff29dd66ba
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
5 months agoBump versions to 13.0.3-SNAPSHOT 28/111428/1
Robert Varga [Tue, 16 Apr 2024 11:53:43 +0000 (13:53 +0200)]
Bump versions to 13.0.3-SNAPSHOT

This starts the next development iteration.

Change-Id: I247882cc078d49b8410bc033f9e0bd3c09568c5e
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
5 months agoRelease mdsal v13.0.2
jenkins-releng [Tue, 16 Apr 2024 09:52:17 +0000 (09:52 +0000)]
Release mdsal

5 months agoBump byte-buddy to 1.14.13 99/111399/2
Robert Varga [Mon, 15 Apr 2024 15:49:05 +0000 (17:49 +0200)]
Bump byte-buddy to 1.14.13

https://github.com/raphw/byte-buddy/releases/tag/byte-buddy-1.14.13

Change-Id: Ice0b25336f356c6ec6e0e6ea38994ee873548436
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
5 months agoBump upstreams 93/111393/4
Robert Varga [Mon, 15 Apr 2024 11:00:36 +0000 (13:00 +0200)]
Bump upstreams

Adopt:
- odlparent-13.1.1
- yangtools-13.0.3

Change-Id: I2bc3240a8b2bf3915d7379fc700da6bb46908922
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
5 months agoEliminate CodecItemFactory 53/109753/11
Robert Varga [Fri, 12 Jan 2024 01:36:57 +0000 (02:36 +0100)]
Eliminate CodecItemFactory

This is a useless indirection, as we can simply pass the required
information down to where the case class is needed.

JIRA: MDSAL-815
Change-Id: I7413f33d0c4a76e29b180ef34623e7a0607c784f
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
5 months agoFixup checkstyle 94/111394/1
Robert Varga [Mon, 15 Apr 2024 11:56:12 +0000 (13:56 +0200)]
Fixup checkstyle

Upgraded checkstyle is finding more violations, fix them up.

Change-Id: I96ab46cc8f370b39dd287d3a1717952a5685dce5
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
5 months agoRefactor DOM{Action,Rpc}Implementation 88/111288/1
Robert Varga [Fri, 5 Apr 2024 15:10:46 +0000 (17:10 +0200)]
Refactor DOM{Action,Rpc}Implementation

These two interfaces share a common trait: they have an
invocationCost().

Factor this out into a common sealed super-interface,
DOMOperationImplementation.

This is nudging us towards unifying the result path, so let's take that
step by removing DOMActionResult and provide further guidance to other
API elements.

Change-Id: I9d066cadaeb6240de1340e40087abee9389ee90e
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
6 months agoBump versions to 13.0.2-SNAPSHOT 30/110730/1
Robert Varga [Thu, 14 Mar 2024 08:41:53 +0000 (09:41 +0100)]
Bump versions to 13.0.2-SNAPSHOT

This starts the next development iteration.

Change-Id: Icc2713325cddcd655991c4e2d00be786370ea407
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
6 months agoRelease mdsal v13.0.1
jenkins-releng [Thu, 14 Mar 2024 05:47:17 +0000 (05:47 +0000)]
Release mdsal

6 months agoVerify revision string 84/110684/1
Robert Varga [Tue, 12 Mar 2024 21:37:39 +0000 (22:37 +0100)]
Verify revision string

yang.common.Revision has a guaranteed format, hence if toString() does
not match, it is not an IAE, but rather a VerifyException pointing out a
violation of our expectations.

Change-Id: Ieabc84f40df3c56bcc7690c2c277cd95583bf1de
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
6 months agoMigrate users of deprecated yang.common methods 73/110673/2
Robert Varga [Tue, 12 Mar 2024 17:07:04 +0000 (18:07 +0100)]
Migrate users of deprecated yang.common methods

QNameModule and QName have deprecated a few methods, migrate to their
replacements.

Change-Id: I458a58177db17efc0ae866b62ff77288ca910475
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
6 months agoBump upstreams 69/110669/3
Robert Varga [Tue, 12 Mar 2024 14:47:34 +0000 (15:47 +0100)]
Bump upstreams

Adopt:
- odlparent-13.0.11
- yangtools-13.0.2

This unfortunately breaks Xtend's magic 'get' prefix handling, so fix
that up.

Change-Id: I639738394f26c3bedaea82518e2e4d395e430022
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
6 months agoRemove superfluouse @NonNull 74/110674/2
Robert Varga [Tue, 12 Mar 2024 17:09:11 +0000 (18:09 +0100)]
Remove superfluouse @NonNull

We have @NonNullByDefault, hence we do not need an explicit @NonNull.

Change-Id: I6b546d685d7ffb27577e377987fafd97ee7c3d64
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
6 months agoAdd RTD documentation 33/110533/1
Robert Varga [Thu, 7 Mar 2024 13:32:15 +0000 (14:32 +0100)]
Add RTD documentation

RTD build is failing due to us missing configuration. Fix that.

Change-Id: Ia26b09bd8e5c9865161b5975928e15b699b366b0
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
7 months agoBump byte-buddy to 1.14.12 67/110467/1
Robert Varga [Mon, 4 Mar 2024 13:45:51 +0000 (14:45 +0100)]
Bump byte-buddy to 1.14.12

https://github.com/raphw/byte-buddy/releases/tag/byte-buddy-1.14.12

Change-Id: I4f31638b4094d7e43226d0a20122b7d22ef80fed
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
7 months agoDo not generate prime when not needed 18/110318/1
Robert Varga [Fri, 23 Feb 2024 22:30:47 +0000 (23:30 +0100)]
Do not generate prime when not needed

In case we do not have any properties we end up emitting a local
variable which we'll never use -- generating a compiler warning.

Improve InterfaceTemplate to check for this condition and emit the
prime only if there are actually at least one property.

Change-Id: I3341ca075e8c7c0b671a76f226b7bdb99cb12465
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
7 months agoDeprecate ClassToInstance-taking methods 42/110142/4
Robert Varga [Mon, 5 Feb 2024 10:03:07 +0000 (11:03 +0100)]
Deprecate ClassToInstance-taking methods

Using a ClassToInstanceMap is not nice, deprecate these methods for
their simple equivalents.

JIRA: MDSAL-854
Change-Id: Ic9574283427c57da8d56c24d34e4d13a02159f77
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
7 months agoImprove RpcProviderService.registerRpcImplementations() 41/110141/4
Robert Varga [Mon, 5 Feb 2024 09:58:36 +0000 (10:58 +0100)]
Improve RpcProviderService.registerRpcImplementations()

Each Rpc exposes its contract via implementedInterface(). Use this
information to make registerRpcImplementations() more user friendly.

JIRA: MDSAL-854
Change-Id: Iec6b3f65207078304380b1e3050da00c644c4ce4
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
8 months agoDo not use ClusteredDOMDataTreeChangeListener 31/110031/1
Robert Varga [Sat, 27 Jan 2024 14:01:25 +0000 (15:01 +0100)]
Do not use ClusteredDOMDataTreeChangeListener

mdsal-replicate-netty is a simple user, migrate it.

Change-Id: I4abf1e3f6dbb6f11ee4bb8c8893c5b1acf43fdec
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
8 months agoMigrate DataTreeModification method users 30/110030/1
Robert Varga [Sat, 27 Jan 2024 13:58:52 +0000 (14:58 +0100)]
Migrate DataTreeModification method users

Use new methods instead of the deprecated ones.

Change-Id: If56da4296584228d0e6d18482d0b8b6f2b871c20
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
8 months agoAdd yang.binding.contract documentation 17/109917/3
Robert Varga [Mon, 22 Jan 2024 22:12:27 +0000 (23:12 +0100)]
Add yang.binding.contract documentation

Document the contents of the contract package.

Change-Id: I02cdf674fa591decc85339f8049ba281c4cd62a2
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
8 months agoBump versions to 13.0.1-SNAPSHOT 83/109883/1
Robert Varga [Sat, 20 Jan 2024 16:32:22 +0000 (17:32 +0100)]
Bump versions to 13.0.1-SNAPSHOT

This starts the next development iteration.

Change-Id: Ia471501c5f24994491208d9776fd4e74e581f156
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
8 months agoRelease mdsal v13.0.0
jenkins-releng [Sat, 20 Jan 2024 13:12:42 +0000 (13:12 +0000)]
Release mdsal

8 months agoRename singleton service components 80/109880/4
Robert Varga [Sat, 20 Jan 2024 09:52:00 +0000 (10:52 +0100)]
Rename singleton service components

We only have an API and an implementation. Make sure we use the
appropriate naming.

Change-Id: I471520afcb6902cf6229901a7a29bee9ba13223d
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
8 months agoFix EOSClusterSingletonServiceProvider shutdown 79/109879/1
Robert Varga [Sat, 20 Jan 2024 09:43:55 +0000 (10:43 +0100)]
Fix EOSClusterSingletonServiceProvider shutdown

If we close the listener registration we will not be getting any events.
Prevent that by staggered shutdown, where we first mark the instance as
shutting down and only after it has shut down we release the listeners.

JIRA: MDSAL-853
Change-Id: Ibea92376ca83b2cd9f87de5302047503f609ebca
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
8 months agoClean up constant reference 63/109863/1
Robert Varga [Fri, 19 Jan 2024 13:12:27 +0000 (14:12 +0100)]
Clean up constant reference

We have two methods with the same name, make sure we use the right
constant when referencing it.

JIRA: MDSAL-852
Change-Id: I7628d2c997e3c62895984d6d85672c65ff9f0ce7
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
(cherry picked from commit 114cc6781dcce3101ff893d39786eef2c7ea5646)
(cherry picked from commit 1a6177ae8a38e900ed4d271f528f1c4b4f94534c)

8 months agoDeprecate Clustered(DOM)DataTreeChangeListener 16/107916/8
Robert Varga [Thu, 18 Jan 2024 20:33:28 +0000 (21:33 +0100)]
Deprecate Clustered(DOM)DataTreeChangeListener

The semantics of ClusteredDOMDataTreeChangeListener is the default we
want to expose from DataTreeChangeExtension. Any integration with
clusters, or any other details, really, should happen through a
dedicated DOMDataBroker.Extension.

Redefine DataTreeChangeExtension, retaining compatibility methods with
migration guidance.

This cascades to ClusteredDataTreeChangeListener, which is just a
mdsal-binding-api mirror of the DOM concept.

JIRA: MDSAL-819
Change-Id: Ice4e1db64d34241115226d532b226cbdff8e045c
Signed-off-by: Ruslan Kashapov <ruslan.kashapov@pantheon.tech>
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
8 months agoExpose a List of changes in DOMDataTreeChangeListener 47/109847/9
Robert Varga [Thu, 18 Jan 2024 19:14:29 +0000 (20:14 +0100)]
Expose a List of changes in DOMDataTreeChangeListener

The collection of changes needs to be considered to be ordered. This
patch codifies that by using a List. This has the up side of making it
easier to access first/last item as well as to navigate around.

Change-Id: If747e0000f8a9bb33d934b84c0c078d56d4c6126
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
8 months agoRemove redundant version specification 50/109850/1
Robert Varga [Thu, 18 Jan 2024 22:39:08 +0000 (23:39 +0100)]
Remove redundant version specification

This version is inherited from parent, do not specify it.

Change-Id: I98d90f44c940eb281a1bf1a302cb9ae2fa070564
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
8 months agoRename DOMDataTreeChangeService 49/109849/5
Robert Varga [Thu, 18 Jan 2024 19:30:44 +0000 (20:30 +0100)]
Rename DOMDataTreeChangeService

This is not a free-standing service, but a well-known extension. Move it
to DOMDataBroker.

JIRA: MDSAL-841
Change-Id: Ib1cf203f6f285d7fa4f3922fff6958665839a9a8
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
8 months agoRename DOMDataTreeCommitCohortRegistry to CommitCohortExtension 48/109848/5
Robert Varga [Thu, 18 Jan 2024 19:27:33 +0000 (20:27 +0100)]
Rename DOMDataTreeCommitCohortRegistry to CommitCohortExtension

This is a well-known extension, co-locate it with DOMDataBroker, so it
is near at hand.

JIRA: MDSAL-841
Change-Id: Idf71920640e4c9dc1a8e76d8bf3d4a7ac7b5fd40
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
8 months agoClean up documentation 46/109846/2
Robert Varga [Thu, 18 Jan 2024 18:52:54 +0000 (19:52 +0100)]
Clean up documentation

We are about to duplicate a number of methods, clean up their
documentation, so we do not accumulate work.

Change-Id: I119b4009ebef1fe8af4a7cc8057ee86bdf2e1621
JIRA: MDSAL-819
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
8 months agoMigrate callers of getData{Before,After} 45/109845/1
Robert Varga [Thu, 18 Jan 2024 18:54:50 +0000 (19:54 +0100)]
Migrate callers of getData{Before,After}

mdsal-binding-api should be using non-deprecated methods.

Change-Id: Iedbcc62c7b3d924bd850b0bf28b8897eb8c00e25
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
8 months agoUse Locale.ROOT for toUpperCase 40/109840/1
Robert Varga [Thu, 18 Jan 2024 16:41:27 +0000 (17:41 +0100)]
Use Locale.ROOT for toUpperCase

We can just assert this is the root locale, not a some particular
language.

Change-Id: Ibce067abf252162740a9c6ed88a3beff99f455b1
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
8 months agoExclude generated services from SpotBugs 39/109839/1
Robert Varga [Thu, 18 Jan 2024 15:12:38 +0000 (16:12 +0100)]
Exclude generated services from SpotBugs

We have additional package root we want to exclude, update the list.

JIRA: MDSAL-836
Change-Id: If5e0e15b09570a4e8ff5e9e35d058e3bee018c2c
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
8 months agoFix ModuleInfoSnapshotResolver 38/109838/4
Robert Varga [Thu, 18 Jan 2024 14:52:06 +0000 (15:52 +0100)]
Fix ModuleInfoSnapshotResolver

Previous update missed the ModuleInfoSnapshotResolver update, leading to
broker OSGi functionality.

Update both callsites to directly derive root package name from the
advertized namespace.

JIRA: MDSAL-836
Change-Id: I520824b59018afd2d7afdf06173889f90fd70449
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
8 months agoImprove OSGiDOMSchemaService printouts 36/109836/3
Robert Varga [Thu, 18 Jan 2024 14:34:58 +0000 (15:34 +0100)]
Improve OSGiDOMSchemaService printouts

Isolate toString() interactions to ModelContextListener and establish
that it is a ForwardingObject.

Change-Id: I4baa3eff0623fd9cdc0629e50f8cbf136a5d5e04
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
8 months agoBump yangtools to 13.0.1 32/109832/1
Robert Varga [Thu, 18 Jan 2024 10:42:04 +0000 (11:42 +0100)]
Bump yangtools to 13.0.1

Adopt fixes from upstream that are needed downstream.

Change-Id: I5b31163fff4ab9c1206167f57815014e24010817
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
8 months agoOverride Rpc/Action invoke method 27/109827/3
Robert Varga [Thu, 18 Jan 2024 06:56:56 +0000 (07:56 +0100)]
Override Rpc/Action invoke method

Add a plain @Override method for Rpc/Action's invoke method, so that it
is manifested in the generated type.

JIRA: MDSAL-852
Change-Id: I7db7c9036bdb3051ae48a903b66df933fb338fae
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
8 months agoChanged $Yang* generation package and name 05/107705/14
Oleksandr Panasiuk [Tue, 5 Sep 2023 08:04:23 +0000 (11:04 +0300)]
Changed $Yang* generation package and name

The naming of these classes is rather unfortunate, as it starts with $
due to the requirement not to conflict with other generated classes. So
they were renemed to avoid dollar sign usage.
Also the root package for theese classes was changed from
org.opendaylight.yang.gen.v1 to org.opendaylight.yang.svc.v1.
A lot of test classes are touched in this patch but no logic were
changed there, its just providing a new path for YangModuleInfoImpl.

JIRA: MDSAL-836
Change-Id: If9e43d21063c2fc48d8adbf0ccfc2406fe760054
Signed-off-by: Oleksandr Panasiuk <oleksandr.panasiuk@pantheon.tech>
Signed-off-by: lubos-cicut <lubos.cicut@pantheon.tech>
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
8 months agoRevert "Bump blueprint version" 12/109812/2
Robert Varga [Wed, 17 Jan 2024 07:15:59 +0000 (08:15 +0100)]
Revert "Bump blueprint version"

This reverts commit 2b732eb188c6b34a91488308318a590a14cf2c07, as the
version will not be moving.

JIRA: CONTROLLER-2090
Change-Id: I7c6a4ca583da85551e08d1fc124dc49802bc482e
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
8 months agoFix OSGiDOMSchemaService 05/109805/2
Robert Varga [Tue, 16 Jan 2024 17:27:53 +0000 (18:27 +0100)]
Fix OSGiDOMSchemaService

The conversion here got confused and has broken listeners -- these are
published through OSGi SR, so we failed to pick them up from SR.

Change-Id: I71ce644584ea3efbe6465aaff4c33d876e951e05
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
8 months agoTeach AbstractDOMDataBroker about commit cohorts 87/109787/4
Robert Varga [Mon, 15 Jan 2024 19:35:30 +0000 (20:35 +0100)]
Teach AbstractDOMDataBroker about commit cohorts

This is something the Controller version of this class recognizes, but
we do not. Close the gap.

JIRA: MDSAL-851
Change-Id: I248d471813054ae2b82cdeef8ea1ff58750d4baf
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
8 months agoMove AbstractDOMDataBroker to mdsal-dom-spi 86/109786/2
Robert Varga [Mon, 15 Jan 2024 19:23:25 +0000 (20:23 +0100)]
Move AbstractDOMDataBroker to mdsal-dom-spi

This patch publishes AbstractDOMDataBroker so it can be reused by other
implementations.

JIRA: MDSAL-851
Change-Id: I70a472ad27678f7c2e50be8ecc3ffbcf89249b86
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
8 months agoReport ExactDataObjectStep from DataObjectModification 85/109785/1
Robert Varga [Sat, 13 Jan 2024 15:42:21 +0000 (16:42 +0100)]
Report ExactDataObjectStep from DataObjectModification

DataObjectModification relates to an exact DataObject, hence it should
expose ExactDataObjecStep.

While we are at it, we clean up some of the method naming and disconnect
it from Identifiable.

JIRA: MDSAL-815
Change-Id: Iaa2650ee27611bb0cfa2912d5069ad6e79f01bc0
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
8 months agoClean up AugmentationCodecContext 81/109781/2
Robert Varga [Mon, 15 Jan 2024 16:02:59 +0000 (17:02 +0100)]
Clean up AugmentationCodecContext

Use A for Augmentation<?>, there is just no need to mix in DataObject.

JIRA: MDSAL-815
Change-Id: I8fc122a85e83878e7cda62420163ca0ed010299e
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
8 months agoBump blueprint version 78/109778/1
Robert Varga [Mon, 15 Jan 2024 13:18:35 +0000 (14:18 +0100)]
Bump blueprint version

The namespace version is going to change, adjust for that.

JIRA: CONTROLLER-2090
Change-Id: I6bbc9b82d650793c54f8cbf5c8f7f3054b7635c5
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
8 months agoCovert yang-binding to bnd-parent 66/109766/2
Robert Varga [Sun, 14 Jan 2024 15:32:18 +0000 (16:32 +0100)]
Covert yang-binding to bnd-parent

There are just a few exported packages, switch to bnd-parent.

Change-Id: Iaabeff023f27d25739f08f31560f339df2ee6dde
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
8 months agoClean up dependencies a bit 65/109765/3
Robert Varga [Sun, 14 Jan 2024 14:44:48 +0000 (15:44 +0100)]
Clean up dependencies a bit

Eliminate yet another set of warnings.

Change-Id: I16f659072a1c794c28daac43ccb37ffca9c327bb
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
8 months agoMigrate users of Builders/ImmutableNodes 64/109764/4
Robert Varga [Sun, 14 Jan 2024 10:15:30 +0000 (11:15 +0100)]
Migrate users of Builders/ImmutableNodes

Update references to use data.spi.node.ImmutableNodes.

Change-Id: Ide361652366ef8dc5ade34bb513219ce7cf448f3
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
8 months agoExpose completion future from WriteOperations 41/89141/19
Robert Varga [Mon, 20 Apr 2020 09:35:37 +0000 (11:35 +0200)]
Expose completion future from WriteOperations

WriteOperations (and its counterparts) does not allow code to control
when a transaction is committed or aborted. This adds a layer of
separation, but unfortunately also prevents the encapsulated code from
reacting to when the changes are actually committed (or not).

This capability is quite important for chaining cache updates and
similar tasks.

Expose a FluentFuture<?>. which is guaranteed to complete when its
transaction is completed -- either successfully or not.

JIRA: MDSAL-61
Change-Id: Ie75671842b93fb9e63f1c2aa9ec72f25904da039
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
8 months agoHide CodecContext methods 56/109756/8
Robert Varga [Fri, 12 Jan 2024 11:24:34 +0000 (12:24 +0100)]
Hide CodecContext methods

There is no point having these protected, just make them
package-private.

While we are here, also centralize implementations, as otherwise we have
duplicates.

JIRA: MDSAL-815
Change-Id: I7d708c5d508f49fb8c3224463d8c36fd9cf5e021
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
8 months agoSilence maven-javadoc-plugin 63/109763/1
Robert Varga [Sat, 13 Jan 2024 22:12:46 +0000 (23:12 +0100)]
Silence maven-javadoc-plugin

Sprinkle lint suppressions for missing javadocs, cleaning up build
output and focusing on real issues.

Change-Id: I022b6a2f86ab5e21ff74a19a85c3802664b5c7de
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
8 months agoExpose uuid/instant from CommitInfo 61/109761/2
Robert Varga [Sat, 13 Jan 2024 18:35:55 +0000 (19:35 +0100)]
Expose uuid/instant from CommitInfo

A particular commit can have an UUID or an Instant when it occurred, or
both. Also this information is something we would like to include in
Serializable contexts -- and therefore we promote CommitInfo to a
non-Beta Serializable.

JIRA: YANGTOOLS-1559
Change-Id: I1a2eb7f41484c4088e6ce310b3ab78a26022ad40
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
8 months agoCommitInfo forward compatibility 62/109762/2
Robert Varga [Sat, 13 Jan 2024 19:29:25 +0000 (20:29 +0100)]
CommitInfo forward compatibility

This patch refactors EmptyCommitInfo to implement the future CommitInfo
interaface -- carrying uuid/time information and being Serializable.

JIRA: YANGTOOLS-1554
Change-Id: Ibe5070b17fe50fc8aa7f75a7483aa9f0e9ef5139
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
8 months agoConvert mdsal-common-api to bnd-parent 60/109760/1
Robert Varga [Sat, 13 Jan 2024 18:07:09 +0000 (19:07 +0100)]
Convert mdsal-common-api to bnd-parent

Introduce a bnd-parent, which does not use maven-bundle-plugin, and
convert mdsal-common-api to use it.

Change-Id: I74046224b85e70970914867b56b8bcb3d31680ac
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
8 months agoPromote dom-parent to bundle-parent 59/109759/1
Robert Varga [Sat, 13 Jan 2024 17:01:39 +0000 (18:01 +0100)]
Promote dom-parent to bundle-parent

This parent is used all over place. It really is MD-SAL's
'bundle-parent', so let's promote and rename it.

While we are at it, also switch its parent to yangtools' bundle-parent
and define correct SCM.

Change-Id: Idf72a16eb6ceb1c2816d79d28470efd7665b02ce
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
8 months agoMake AugmentationCodecPrototype generic 50/109750/11
Robert Varga [Thu, 11 Jan 2024 23:35:38 +0000 (00:35 +0100)]
Make AugmentationCodecPrototype generic

Augmentations should capture their target type, which eliminates the
need for quite a few casts.

JIRA: MDSAL-815
Change-Id: I3d9c8326ac2bb24135c66ecfe240ed95cea98318
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
8 months agoDeprecate BindingCodecTreeNode.getSchema() 58/109758/1
Robert Varga [Fri, 12 Jan 2024 20:07:11 +0000 (21:07 +0100)]
Deprecate BindingCodecTreeNode.getSchema()

The BindingCodecTreeNode hierarchy should be expressive enough so that
users do not need the underlying schema. Deprecate getSchema() for
removal.

Change-Id: I58c18075ce78b11db2a922f5de4d4859c256bd35
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
8 months agoRefactor PathArgument to DataObjectStep 92/109692/21
Robert Varga [Tue, 9 Jan 2024 20:14:59 +0000 (21:14 +0100)]
Refactor PathArgument to DataObjectStep

InstanceIdentifier.PathArgument is the basic modeling construct for
expressing a path composed of DataObject type references.

Extract it to a top-level construct, DataObjectStep, which has tree
specializations. AbstractPathArgument is kept around for serialization
complatibility.

This has the nice property of capturing the three possible addressing
states, so we can discern them when we see them.

Furthermore there is now only YangInstanceIdentifier.PathArgument, which
makes for cleaner method signatures and imports.

JIRA: MDSAL-815
Change-Id: I22706ccaecae4b70e8afe2644fc74057953c32b0
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
8 months agoReparent ChoiceCodecContext 49/109749/6
Robert Varga [Thu, 11 Jan 2024 22:37:43 +0000 (23:37 +0100)]
Reparent ChoiceCodecContext

Choice as itself does not map to a DataObject, but rather to a ChoiceIn
-- it is the individual cases that also map to DataObject.

In this patch we reparent ChoiceCodecContext to be a subclass of
DataContainerCodecContext, which allows us to ditch the idea that a
there is a InstanceIdentifier.PathArgument corresponding to this
context.

A nice bonus is that we end up with exactly one serialization method,
which is delegating to the individual case.

Another nice thing is we have a natural place to host the case lookup
logic -- which fits squarely with
ChoiceCodecContext.bindingPathArgumentChild() contract.

JIRA: MDSAL-815
Change-Id: I12a80c849f6405e0e5723afc3f31704a2ad604a6
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
8 months agoRetain protype in DataContainerCodecContext 48/109748/2
Robert Varga [Thu, 11 Jan 2024 18:42:26 +0000 (19:42 +0100)]
Retain protype in DataContainerCodecContext

Acknowledge that DataContainerCodecContext is always instantiated from a
prototype and retain it in the base class.

This ends up centralizing things enough to eliminate an ugly cast we are
using in AugmentationCodecContext.

JIRA: MDSAL-815
Change-Id: Ib604918c2d9e180fece0583331fc2486797cf546
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
8 months agoLoosen BindingDataContainerCodecTreeNode.getBindingClass() 46/109746/2
Robert Varga [Thu, 11 Jan 2024 17:56:57 +0000 (18:56 +0100)]
Loosen BindingDataContainerCodecTreeNode.getBindingClass()

Do not require BindingObject, as we stream navigation encounters
ChoiceIn interface, which is not a BindingObject -- it defers to its
constituent children to provide the BindingObject contract through their
DataObject inheritence.

JIRA: MDSAL-815
Change-Id: I76d1c2405138da2f6985216aef2dfa4580cea724
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
8 months agoSeparate out DataContainerPrototype 45/109745/1
Robert Varga [Thu, 11 Jan 2024 15:38:56 +0000 (16:38 +0100)]
Separate out DataContainerPrototype

We have CommonDataObjectCodecPrototype defining strict prerequisites
while providing awefully little in terms of API worth.

Split out DataContainerPrototype, which exposes a typed javaClass() and
the corresponding runtimeType().

JIRA: MDSAL-815
Change-Id: Icaca2603e3b946764ff9d4157ab04be95bd4dde2
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
8 months agoHide CodecContextSupplier 42/109742/3
Robert Varga [Thu, 11 Jan 2024 12:05:53 +0000 (13:05 +0100)]
Hide CodecContextSupplier

Refactoring InstanceIdentifier.Item flushes out a problem with the class
hierarchy of ChoiceNodeContextPrototype.

Start off by refactoring CodecContextSupplier, introducing
LazyCodecContextSupplier base class.

JIRA: MDSAL-815
Change-Id: I79fe079d9fc4b0adf166c1a8b2561fb03a2f071f
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
8 months agoRemove (DOM)TransactionChainListener 82/109682/5
Robert Varga [Mon, 8 Jan 2024 22:35:31 +0000 (23:35 +0100)]
Remove (DOM)TransactionChainListener

Rework error reporting by attaching listeners to a separately exposed
ListenableFuture.

JIRA: MDSAL-850
Change-Id: I61766cb8691ca5f30cdef0908a351bda1f27881a
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
8 months agoUse ServiceGroupIdentifier in ServiceGroup 52/109252/7
Robert Varga [Sat, 9 Dec 2023 11:25:50 +0000 (12:25 +0100)]
Use ServiceGroupIdentifier in ServiceGroup

Squashing ServiceGroupIdentifier into a String is a bad idea when
interacting with ServiceGroup -- at the end of the day it is its
identifier.

Switch to using this identifier, but keep maps based on String.

Change-Id: I5270afa40f08939e9f9f1e191a036a50aa465678
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
8 months agoDo not use Builders in InMemoryDataStoreTest 83/109683/1
Robert Varga [Mon, 8 Jan 2024 23:14:43 +0000 (00:14 +0100)]
Do not use Builders in InMemoryDataStoreTest

This is a rather straightforward migration.

Change-Id: I763457f2e35e34ba2ec99a7304b8d9fbe846a6d5
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
8 months agoFix BindingStructuralType.isNotAddressable() 53/109653/7
Robert Varga [Sat, 6 Jan 2024 04:09:22 +0000 (05:09 +0100)]
Fix BindingStructuralType.isNotAddressable()

The check is missing the anydata case, fix that.

Change-Id: I73053c24afb69f28b13f42b68fc3a41e2fb78172
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
8 months agoRefactor DOMYangTextSourceProvider 52/109652/9
Robert Varga [Sat, 6 Jan 2024 03:48:25 +0000 (04:48 +0100)]
Refactor DOMYangTextSourceProvider

This should really be a proper extension with its own API. While we are
at it.

mdsal-binding-runtime-api is made synchronous, as there is just no need
to use futures.

Change-Id: I3711662242df8d912c2536a3d73d4f86beea2c33
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
8 months agoBump yangtools to 13.0.0 82/109282/15
Robert Varga [Mon, 11 Dec 2023 10:19:04 +0000 (11:19 +0100)]
Bump yangtools to 13.0.0

This adopts yangtools-13.0.0 and updates the various integration
surfaces.

Change-Id: Ie9e2ed6fec32bdb7cd98803552a4500a5b44f127
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
9 months agoClean up mdsal-eos-binding-adapter dependencies 83/109483/1
Robert Varga [Fri, 29 Dec 2023 11:16:38 +0000 (12:16 +0100)]
Clean up mdsal-eos-binding-adapter dependencies

We use JDT annotations and not SpotBugs annotations, adjust dependencies
accordingly.

Change-Id: I6c0a5824eba297f99a244aedd52c67077061d0d9
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
9 months agoDo not use mockito-subclass 82/109482/1
Robert Varga [Fri, 29 Dec 2023 11:12:31 +0000 (12:12 +0100)]
Do not use mockito-subclass

Upgraded Mockito seems to cope well with the tests now, remove the
workaround.

Change-Id: I4130a2fff5a62e73d56b69354287b13a8caba615
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
9 months agoEliminate CodecDataObjectAnalysis 56/106856/4
Robert Varga [Mon, 10 Jul 2023 14:29:15 +0000 (16:29 +0200)]
Eliminate CodecDataObjectAnalysis

We really do not want to have a ton of specializations -- at the end of
the day we just need to properly specialize generation and constructor
access.

While this introduces a bit of code duplication, it also attaches more
properly the individual types to their implementations and the contracts
therein.

JIRA: MDSAL-805
Change-Id: I88b9222835817d2f52469c219844b2f05485dbc2
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
9 months agoBump byte-buddy to 1.14.11 51/109451/1
Robert Varga [Thu, 28 Dec 2023 21:48:23 +0000 (22:48 +0100)]
Bump byte-buddy to 1.14.11

https://github.com/raphw/byte-buddy/releases/tag/byte-buddy-1.14.10
https://github.com/raphw/byte-buddy/releases/tag/byte-buddy-1.14.11

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