netconf.git
3 years agoMissing notification model. 84/95284/4
Iaroslav [Mon, 22 Feb 2021 16:33:17 +0000 (18:33 +0200)]
Missing notification model.

In case server provides schema it should check if notifications
supported by the remote session. According to this it should provide schema
with notifications or without.

JIRA: NETCONF-754
Change-Id: Ifc37ebded7051aabf9150f9f49ecadaf81746261
Signed-off-by: Iaroslav <iaroslav.kholiavko@pantheon.tech>
3 years agoBump versions to 1.13.2-SNAPSHOT 25/95425/2
Robert Varga [Mon, 8 Mar 2021 20:24:13 +0000 (21:24 +0100)]
Bump versions to 1.13.2-SNAPSHOT

THis starts the next development iteration.

Change-Id: I49f970edb50f658cc5f1534c09351d9dae584f7a
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
3 years agoAdd diffie-hellman-group14-sha1 to the list of default key exchange algorithms 60/95460/2
Oleksii Mozghovyi [Wed, 10 Mar 2021 10:47:55 +0000 (12:47 +0200)]
Add diffie-hellman-group14-sha1 to the list of default key exchange algorithms

The list of key exchange algorithms enabled by default has been changed
with a Mina SSHD uplift to the version of 2.6.0, leaving some of the
SHA1 algorithms disabled by default. Some the devices might still use
this algorithm, so this change brings back the
'diffie-hellman-group14-sha1' algorithm to the list.

JIRA: NETCONF-765
Change-Id: Iea58448981e19f1632799d05dbda8784415ebf1f
Signed-off-by: Oleksii Mozghovyi <oleksii.mozghovyi@pantheon.tech>
3 years agoFix lock/unlock/commit issues for the NetconfRestconfTransactions 59/95359/26
Oleksii Mozghovyi [Wed, 24 Feb 2021 20:11:04 +0000 (22:11 +0200)]
Fix lock/unlock/commit issues for the NetconfRestconfTransactions

- Fix the problem when one transaction could suddenly remove
configuration-lock created by another one.
- Fix the problem when transaction without successful lock operation
could execute edit-config operations
- Fix the problem when failure to acquire a lock on a candidate could
lead to unexpected unlocking of the running configuration
- Fix the problem when commit didn't take into account results of
previous operations
- Execute operation futures in a chain to guarantee the correct order of
operations inside the transaction
- Fix the problem when commit operation was executed for yang-patch even
if some operations failed (JIRA: NETCONF-746)

JIRA: NETCONF-705
Change-Id: I588c6e2788983aef20b92726463930038abde3c9
Signed-off-by: Oleksii Mozghovyi <oleksii.mozghovyi@pantheon.tech>
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
3 years agoFix permanent lock on the running configuration via RESTconf 58/95358/3
Oleksii Mozghovyi [Wed, 24 Feb 2021 21:41:34 +0000 (23:41 +0200)]
Fix permanent lock on the running configuration via RESTconf

This resolves the issue when the NETCONF device with both
:writable-running and :candidate capabilities gets permanently
locked after the commit happens via RESTconf.

JIRA: NETCONF-705
Change-Id: I90c6ec104a9309dd25fc66cd74f469c2f033ee5f
Signed-off-by: Oleksii Mozghovyi <oleksii.mozghovyi@pantheon.tech>
3 years agoBump MRI upstreams 69/95369/1
Robert Varga [Fri, 26 Feb 2021 15:18:30 +0000 (16:18 +0100)]
Bump MRI upstreams

Adopt following versions:
- odlparent-8.1.1
- infrautils-1.9.6
- yangtools-6.0.5
- mdsal-7.0.6
- controller-3.0.7
- aaa-0.13.2

Change-Id: Id8e35132aeb7eb902514e3373ef14c6d2b26cd18
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
3 years agoUse java.nio.file for file operations 43/95243/3
Robert Varga [Sun, 21 Feb 2021 15:55:05 +0000 (16:55 +0100)]
Use java.nio.file for file operations

java.nio.file is more expressive than java.io.File, use it to
perform reads and atomic renames.

Also clean up constant use and assertions a bit.

JIRA: NETCONF-756
Change-Id: Ia42c61f8cca4253a7db297e188053fcf2b63ec35
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
3 years agoFix futures handling in the NetconfRestconfTransaction 27/95327/2
Oleksii Mozghovyi [Tue, 23 Feb 2021 16:06:05 +0000 (18:06 +0200)]
Fix futures handling in the NetconfRestconfTransaction

This change solves the problem when the NetconfDataTreeService.lock()
returns an immutable list of futures, and the NetconfRestconfTransaction
wrapper can't change items on the list.

JIRA: NETCONF-705
Change-Id: Ie98f23382660683e269d3c1cdad6419be72545e5
Signed-off-by: Oleksii Mozghovyi <oleksii.mozghovyi@pantheon.tech>
3 years agoBump versions to 0.13.1-SNAPSHOT 55/95255/1
Robert Varga [Sun, 21 Feb 2021 18:16:42 +0000 (19:16 +0100)]
Bump versions to 0.13.1-SNAPSHOT

This starts the next development iteration.

Change-Id: I0802546c10d5c845869a19bb7b150fe8c823aa21
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
3 years agoAdd feature-parent 25/83825/17
Robert Varga [Tue, 20 Aug 2019 18:16:15 +0000 (20:16 +0200)]
Add feature-parent

This centralizes a feature-parent pom.xml for reuse in single
feature artifacts.

Change-Id: I7153166a86721dea9d732e5a13174f82865e24c4
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
3 years agoBump project version 23/83823/13
Robert Varga [Sun, 21 Feb 2021 16:56:25 +0000 (17:56 +0100)]
Bump project version

This bumps project version to 1.13.0-SNAPSHOT in preparation for unifying
artifact versions.

Change-Id: I4a230e8e0cadb23e34ba57ed77c365ae302cea6b
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
3 years agoFixed reading whole list/leaf-list using GET/GET-CONFIG RPC 21/94921/7
Jaroslav Tóth [Mon, 25 Jan 2021 15:00:20 +0000 (16:00 +0100)]
Fixed reading whole list/leaf-list using GET/GET-CONFIG RPC

- The source of the issue was in skipping of empty list/leaf-list
  nodes in XMLStreamNormalizedNodeStreamWriter - the NETCONF
  filter structure was created correctly, but it wasn't correctly
  serialized into XML. However, in NETCONF, it is valid to read
  whole list/leaf-list - we must be able to build NormalizedNode
  structure from subtree-filter which "ends" by list/leaf-list.
- Fixed by introduction EmptyListXmlWriter which is responsible
  for serialization of empty list/leaf-list. Other operations
  are delegated to XMLStreamNormalizedNodeStreamWriter
  implementation.

JIRA: NETCONF-744
Change-Id: Id4b665aa45a397ab25a53e12f4eb7c1a6539d428
Signed-off-by: Jaroslav Tóth <jtoth@frinx.io>
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
3 years agoAdded schemaless creation of filter structure 52/93352/12
Jaroslav Tóth [Sun, 25 Oct 2020 18:31:56 +0000 (19:31 +0100)]
Added schemaless creation of filter structure

- Added procedure for creation of filter structure for schemaless
  mountpoints.
- Added two unit tests that cover most of the cases.

JIRA: NETCONF-735
Change-Id: Ib276ddaf79e5306ff6c2193a03a8b0f57f005991
Signed-off-by: Jaroslav Tóth <jtoth@frinx.io>
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
3 years agoExplicit reading of list keys using subtree filtering 51/93351/12
Jaroslav Tóth [Sun, 25 Oct 2020 07:43:08 +0000 (08:43 +0100)]
Explicit reading of list keys using subtree filtering

- According to RFC-6241, section 6.2.5, NETCONF server doesn't
  have to provide values of list keys, if NETCONF client doesn't
  ask for these fields; see following statement:

  o  If any sibling nodes of the selection node are instance
     identifier components for a conceptual data structure (e.g.,
     list key leaf), then they MAY also be included
     in the filter output.

JIRA: NETCONF-735
Change-Id: I9bb048010578fd89190f616664e2175c3d3326ae
Signed-off-by: Jaroslav Tóth <jtoth@frinx.io>
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
3 years agoImplement subtree filtering using fields 54/93154/19
Jaroslav Tóth [Mon, 19 Oct 2020 07:28:13 +0000 (09:28 +0200)]
Implement subtree filtering using fields

- Fields are used for selection of specific subtrees under
  parent path - this way it is possible to limit requested
  data to specific entities without the necessity to send
  multiple get/get-config RPCs.
- Look at added unit tests to understand the functionality.

JIRA: NETCONF-735
Change-Id: I17cd364e11f8c8e61e5537fcff71a7ecedefdba3
Signed-off-by: Jaroslav Tóth <jtoth@frinx.io>
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
3 years agoFile should be closed before rename 06/95106/10
Iaroslav [Wed, 10 Feb 2021 09:47:03 +0000 (11:47 +0200)]
File should be closed before rename

Rename file will make clone of file with new name and remove initial
file. This file not closed while removing so it will make impossible
file deletion on Windows due to default locking.

JIRA: NETCONF-756
Change-Id: I0f81507285811607a7ee8d40c0b50018603dd557
Signed-off-by: Iaroslav Kholiavko <iaroslav.kholiavko@pantheon.tech>
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
3 years agoAdd tool to measure southbound notification performance 15/94915/7
Oleksii Mozghovyi [Wed, 27 Jan 2021 12:37:19 +0000 (14:37 +0200)]
Add tool to measure southbound notification performance

This is an updated version of the tool existed in coretutorials project,
aligned with the latest API changes
- Tool is packaged into a new feature odl-netconf-test-tools
- For the testing purposes models from the original coretutorials
project are used
- Tool listens for mounted devices with prefix "perf-"
- Notification counter is only applied for devices that end with the following
pattern '*-notif-([0-9]+)', and the number after notif suffix indicates
how many notifications should be counted
- Once the mounted device is ready tool invokes create subscription
  request towards device, and counts incoming notifications

JIRA: NETCONF-759
Change-Id: I5a584032dca9a40e90dec23186562543f8752bad
Signed-off-by: Oleksii Mozghovyi <oleksii.mozghovyi@pantheon.tech>
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
3 years agoUpgrade sshd to 2.6.0 64/94964/8
Iaroslav [Tue, 2 Feb 2021 14:31:46 +0000 (16:31 +0200)]
Upgrade sshd to 2.6.0

Upgrade sshd to version 2.6.0

JIRA: NETCONF-752
Change-Id: Iaf6fd1ab232458aeb58636590bc84d3d8d2036f6
Signed-off-by: Iaroslav <iaroslav.kholiavko@pantheon.tech>
3 years agoReturn correct code 503 when a mountpoint is not mounted. 12/94612/8
Iaroslav [Tue, 12 Jan 2021 10:31:59 +0000 (12:31 +0200)]
Return correct code 503 when a mountpoint is not mounted.

In case of mount point not mounted status code should be 503 and error
tag 'resource-denied-transport'

JIRA: NETCONF-341
Change-Id: I290b29e23952d30196c6d83d7984d5ebee4690a1
Signed-off-by: Iaroslav Kholiavko <iaroslav.kholiavko@pantheon.tech>
3 years agoAdd fields-aware NETCONF DOM API 74/93074/15
Jaroslav Tóth [Thu, 15 Oct 2020 06:17:25 +0000 (08:17 +0200)]
Add fields-aware NETCONF DOM API

- Added option to specify fields that are read from NETCONF device.
  Currently it is possible to only read one whole subtree
  using get/get-config NETCONF RPC. However, NETCONF RFC allows
  more complex subtree filtering including multiple subtrees
  in single RPC.
- It is implemented as:
  1) DOMDataBroker extension - option to create customized
     read-only, read-write transactions, and transaction chains.
  2) NetconfDataTreeService methods - using get(..) and
     getConfig(..) calls.

JIRA: NETCONF-735
Change-Id: I584bb9740f3ba6756ce283067198f9b344c75f9c
Signed-off-by: Jaroslav Tóth <jtoth@frinx.io>
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
3 years agoRefactor NetconfDataTreeServiceImpl 32/95232/3
Robert Varga [Fri, 19 Feb 2021 09:44:07 +0000 (10:44 +0100)]
Refactor NetconfDataTreeServiceImpl

Rather than using boolean dispatch, create three specific
implementations to drive the logic behind the calls.

JIRA: NETCONF-705
Change-Id: I5c394ca78f7a98853fd99b8060a36d0db86d443d
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
3 years agoDeprecate messagebus-netconf 28/95228/2
Robert Varga [Fri, 19 Feb 2021 06:07:23 +0000 (07:07 +0100)]
Deprecate messagebus-netconf

messagebus-netconf is not used by anyone and has a good number
of deficiencies -- in its implementation as well as in the
framework (from controller).

Deprecate it for removal in the next release.

JIRA: NETCONF-761
Change-Id: I852b23fc30362c4ae609f04da9145580d887eca9
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
3 years agoUnwanted commit to non candidate device fix 88/94988/3
mhurban [Fri, 5 Feb 2021 10:42:04 +0000 (11:42 +0100)]
Unwanted commit to non candidate device fix

- netconf is sending commits to non candidate devices
  while editing their running config which results into
  NetconfDocumentedException: Unknown element "commit".

JIRA: NETCONF-755
Signed-off-by: mhurban <mar.hurban@gmail.com>
Change-Id: I536b43394269c4dd5223e4322ae830b813016ff0
(cherry picked from commit bf199d0da1729e4e68ad4059cfa8089d70d1932f)

3 years agoFix unstable test for NetconfDeviceCommunicator 15/93715/5
Vladyslav Marchenko [Tue, 10 Nov 2020 11:47:34 +0000 (13:47 +0200)]
Fix unstable test for NetconfDeviceCommunicator

The root cause of the issue is that this test requires more time for
verification on Windows-type OS, and sometimes that was a reason for
test failure.

JIRA: NETCONF-760
Change-Id: I7aab0f89fe4c466e2cdf772afffe3d54eb0f19df
Signed-off-by: Vladyslav Marchenko <vladyslav.marchenko@pantheon.tech>
Signed-off-by: Oleksii Mozghovyi <oleksii.mozghovyi@pantheon.tech>
3 years agoGenerate new jax-rs Response for every /.well-known/* request 28/95128/1
Michal Banik [Wed, 10 Feb 2021 20:07:36 +0000 (21:07 +0100)]
Generate new jax-rs Response for every /.well-known/* request

Generate new javax.ws.rs.core.Response every single time when
 request on `/.well-known/*` is processed, so the new output-stream
 will be used for every response.

javax.ws.rs.core.Response.status(Status.OK) creates new
 OutboundMessageContext with CommittingOutputStream, which is
 closed during the process of sending the response to client.
 Closed output-stream caused
 `java.lang.IllegalStateException: The output stream has already
 been closed.` when `/.well-known/*` endpoint was requesting
 multiple times, which made the endpoint working only once.

JIRA: NETCONF-757
Change-Id: Id8759602261333976337b11aa2c0fbfd1d3b04b9
Signed-off-by: Michal Banik <michal.banik@pantheon.tech>
3 years agoAdopt akka-2.6.x 73/94973/5
Oleksii Mozghovyi [Tue, 2 Feb 2021 20:41:34 +0000 (22:41 +0200)]
Adopt akka-2.6.x

Adopt following upstreams to enable akka-2.6.x:
- controller-3.0.6
- aaa-0.13.1

Change-Id: Ib0ab4cb2f631559714383d4a4bae0ad672bf4e42
Signed-off-by: Oleksii Mozghovyi <oleksii.mozghovyi@pantheon.tech>
3 years agoFix AAA feature references 50/94950/1
Robert Varga [Mon, 1 Feb 2021 16:46:19 +0000 (17:46 +0100)]
Fix AAA feature references

We should be depending on version ranges for AAA dependencies,
add the corresponding overrides. Also remove a mistake in
features-netconf: it should not be depending on any AAA features
directly.

Change-Id: Ie27dcfa829ef14046ed5d746c6ff7ecd512d3845
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
3 years agoDepend on AAA 0.13.0 release 00/94900/3
Robert Varga [Sat, 30 Jan 2021 19:13:48 +0000 (20:13 +0100)]
Depend on AAA 0.13.0 release

Reflect the fact upstream has a release, dropping the -SNAPSHOT
suffix.

Change-Id: I4d4041f9f828070a9d9bb45059f7aba61e304d3f
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
3 years agoRequire odlparent-8.1 features 91/94891/1
Robert Varga [Sat, 30 Jan 2021 09:10:11 +0000 (10:10 +0100)]
Require odlparent-8.1 features

We really want to make sure we are using 8.1.x series features,
express that in feature.xmls.

Change-Id: Id5b2b34437835c1c2ddef76bc3e094aeff71e212
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
3 years agoBump upstream versions 10/94710/7
Robert Varga [Thu, 21 Jan 2021 16:51:33 +0000 (17:51 +0100)]
Bump upstream versions

Adopt following upstreams:
- odlparent-8.1.0
- infrautils-1.9.5
- yangtools-6.0.4
- mdsal-7.0.5
- controller-3.0.5

Change-Id: Ib063b72e30f405155a1c07d6cb853494d1991513
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
3 years agoFix authentication mechanism in RESTconf(rfc8040 northbound) 45/94845/3
Konstantin.Nosach [Wed, 27 Jan 2021 15:31:54 +0000 (17:31 +0200)]
Fix authentication mechanism in RESTconf(rfc8040 northbound)

Issue raised after https://git.opendaylight.org/gerrit/c/netconf/+/89419

JIRA: NETCONF-753
Change-Id: I50c13c3bf7d23f97f569fb53f45c315d0a3b72fe
Signed-off-by: Kostiantyn Nosach <kostiantyn.nosach@pantheon.tech>
3 years agoFixing errors check in RestconfDocumentedExceptionMapper 23/92423/6
Jaroslav Tóth [Fri, 22 May 2020 11:42:22 +0000 (13:42 +0200)]
Fixing errors check in RestconfDocumentedExceptionMapper

- Added check for number of errors that should not equal to 0;
  otherwise warning logs are generated.

Change-Id: I5e173d6389c0b17b278aae8abb0d585cb45e21d1
Signed-off-by: Jaroslav Tóth <jtoth@frinx.io>
3 years agoRemove netconf-topology-singleton's NetconfConnectorDTO 95/94595/2
Robert Varga [Mon, 11 Jan 2021 12:13:47 +0000 (13:13 +0100)]
Remove netconf-topology-singleton's NetconfConnectorDTO

This DTO is readily available from netconf.topology.spi, remove
code duplication and fix source registration leak -- allowing
modernizer to be enabled.

Change-Id: If5e619f74d451856d87f8d52500325166d2f6279
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
3 years agoFix a raw type warning 94/94594/1
Robert Varga [Mon, 11 Jan 2021 11:56:15 +0000 (12:56 +0100)]
Fix a raw type warning

Add proper wildcards to silence warnings.

Change-Id: I6749df25c37d4ce67f73a8740783f1590ee25fd0
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
3 years agoEnable modernizer in restconf-nb-bierman02 93/94593/1
Robert Varga [Mon, 11 Jan 2021 11:53:36 +0000 (12:53 +0100)]
Enable modernizer in restconf-nb-bierman02

Clean up violations and flip the switch.

Change-Id: I63f315fe0aad67e0591c830ff0dff75069e4e18f
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
3 years agoFix restconf-nb-rfc8040 mocking 23/94523/1
Robert Varga [Sat, 9 Jan 2021 08:12:36 +0000 (09:12 +0100)]
Fix restconf-nb-rfc8040 mocking

The structure of SchemaNode lookup has changed, migrate mocking
to the proper method.

Change-Id: I6edbcbfde6fea66a5f92f63692f39fb736e6b8ff
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
3 years agoBump MRI upstreams 09/94509/1
Robert Varga [Fri, 8 Jan 2021 20:44:42 +0000 (21:44 +0100)]
Bump MRI upstreams

Adopt following versions:
- odlparent-8.0.3
- infrautils-1.9.4
- yangtools-6.0.3
- mdsal-7.0.4
- controller-3.0.4

Change-Id: Iddd6126700561b6875a6893a841755785559888b
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
3 years agoRemove commented-out code 79/94479/2
Robert Varga [Thu, 7 Jan 2021 16:31:23 +0000 (17:31 +0100)]
Remove commented-out code

This got past review, fix it up.

JIRA: NETCONF-471
Change-Id: Ie9643a7765f267bdee5492a6d6e4a7a6677c765b
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
3 years agoUse java.util.Optional 80/94480/1
Robert Varga [Thu, 7 Jan 2021 16:39:56 +0000 (17:39 +0100)]
Use java.util.Optional

This is the last real place where we use Guava's Optional, migrate
it.

Change-Id: Iba87bc765af007a2db13cc68bf386b8931c0ff05
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
3 years agoEnable modernizer in where no errors are present 17/94417/3
Robert Varga [Tue, 5 Jan 2021 17:12:49 +0000 (18:12 +0100)]
Enable modernizer in where no errors are present

There are no violations present, flip enforcement on ensuring
it stays that way.

Change-Id: Id2a6aa1ca22eb1d92d95a2235095ef3454340b0b
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
3 years agoCleanup warnings 01/94401/2
Robert Varga [Mon, 4 Jan 2021 12:59:26 +0000 (13:59 +0100)]
Cleanup warnings

Migrate isFoo() callers to use getFoo() and add @NonNull annotations
to constants so as to reduce Eclipse warnings.

Change-Id: I4f9ee7181d90f7573ca0c5056512b38b15da8eeb
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
3 years agoLower org.json exposure 03/94303/1
Robert Varga [Sat, 26 Dec 2020 17:20:02 +0000 (18:20 +0100)]
Lower org.json exposure

osg.json package is now used only by bierman02 and unit tests,
adjust dependencies accordingly.

JIRA: NETCONF-471
Change-Id: Ifcefd3728ff349acfcbe52c47d1563d6f682ccbd
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
3 years agoBump MRI upstreams 46/94146/10
Robert Varga [Thu, 10 Dec 2020 12:41:41 +0000 (13:41 +0100)]
Bump MRI upstreams

Adopt following versions:
- odlparent-8.0.2
- infrautils-1.9.3
- yangtools-6.0.2
- mdsal-7.0.3
- controller-3.0.3

Change-Id: Ib0a37fff00f4d85dcab90fe606d5a0ab7184addd
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
3 years agoIntegrate NetconfTopologyRPCProvider 63/94263/4
Robert Varga [Thu, 17 Dec 2020 00:32:19 +0000 (01:32 +0100)]
Integrate NetconfTopologyRPCProvider

This splits off NetconfTopologyRPCProvider into baseline topolocy
providets, hence it gets stood up automatically when the component
starts up.

JIRA: NETCONF-750
Change-Id: I01855370b397b172ae7bec9e07d2d8be5cdf1c71
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
3 years agoFixed domain-name usage in NETCONF southbound 22/92422/5
Maros Marsalek [Tue, 10 Sep 2019 08:29:11 +0000 (10:29 +0200)]
Fixed domain-name usage in NETCONF southbound

- 'host' in the NETCONF mount request is described by union
  type - it accepts both IP address and domain-name.
- This domain-name wasn't considered as option during creation
  of connector to remote device - it ended with NPE.

Change-Id: I0f064aced76de3465da88376fcb6c6b589ed545f
Signed-off-by: Maros Marsalek <mmarsalek@frinx.io>
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
3 years agoImplement RESTCONF Extensibility (discovery) 19/89419/16
wsx25289 [Tue, 28 Apr 2020 07:58:36 +0000 (03:58 -0400)]
Implement RESTCONF Extensibility (discovery)

Added Root Resource Discovery mechanism according to RFC8040,
serving host-meta documents.

The copyright headers are the best we could back-engineer, as it
seems original code used copy&paste templating.

JIRA: NETCONF-499
Change-Id: I414ebda7e34db7cd468fb0e488bcac457d7cf7ff
Signed-off-by: Wsx25289 <10200860@zte.com.cn>
Signed-off-by: Iaroslav <iaroslav.kholiavko@pantheon.tech>
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
3 years agoHide NetconfTopologyRPCProvider.encryptPassword() 62/94262/1
Robert Varga [Wed, 16 Dec 2020 23:39:22 +0000 (00:39 +0100)]
Hide NetconfTopologyRPCProvider.encryptPassword()

This method is exposed for testing, move its correspoding test
to the same package, reducing the method's visibility.

Change-Id: I1bdb2d893e8343e16e96797c95e59f27e43aa7bb
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
3 years agoFix NETCONF session(channel) activation for the CallHome(over TLS) 48/94248/4
Oleksii Mozghovyi [Tue, 15 Dec 2020 13:55:16 +0000 (15:55 +0200)]
Fix NETCONF session(channel) activation for the CallHome(over TLS)

This patch fixes an issue when activation always fails with a message
saying that "Session is already activated". The root cause is the behavior
of the compareAndExchange method(returns the witness value, which will
be the same as the expected value if successful).

JIRA: NETCONF-5
Change-Id: Ib9b0acead1091c8e881330c22b99c9138605e1f1
Signed-off-by: Oleksii Mozghovyi <oleksii.mozghovyi@pantheon.tech>
3 years agoFix checkstyle 17/94217/3
Robert Varga [Fri, 11 Dec 2020 14:43:24 +0000 (15:43 +0100)]
Fix checkstyle

Upgraded checkstyle is catching a few errors, fix them up.

Change-Id: Icae05de3e623523025f0b9f2a1635b9c923a49ca
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
3 years agoRemove jaxb-api dependency 53/94253/3
Robert Varga [Tue, 15 Dec 2020 19:00:20 +0000 (20:00 +0100)]
Remove jaxb-api dependency

We need just a simple java.util.Base64 encoder, not the entire API.

Change-Id: I3ff7388bbf8f2cb3bf97c6141bb182483027578c
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
3 years agoRefactor KeepaliveSalFacade time tracking 68/93868/9
Robert Varga [Tue, 17 Nov 2020 20:01:31 +0000 (21:01 +0100)]
Refactor KeepaliveSalFacade time tracking

This is very simple state tracking, but unfortunately it is utterly
convoluted. Essentially want to be sending keepalives as long as there
is not something outstanding already.

JIRA: NETCONF-717
Change-Id: I4ee045b4d3395572a59167948ea8843bcac584ce
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
3 years agoDitch blueprint from netconf-util 44/93844/2
Robert Varga [Mon, 16 Nov 2020 12:37:00 +0000 (13:37 +0100)]
Ditch blueprint from netconf-util

We do not need manual blueprint, just use OSGi DS.

Change-Id: I8f7a3884e9b1dc3b826d358fa722003539065335
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
3 years agoSplit transaction lifecycle 64/93064/9
Robert Varga [Wed, 14 Oct 2020 21:42:04 +0000 (23:42 +0200)]
Split transaction lifecycle

Change-Id: I0ec27e3720e23639b379f8ae594cb84dfb814516
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
Signed-off-by: Vladyslav Marchenko <vladyslav.marchenko@pantheon.tech>
3 years agoSwitch default namespace for data-changed-notifications 73/93873/9
Tomas Cere [Wed, 18 Nov 2020 10:33:57 +0000 (11:33 +0100)]
Switch default namespace for data-changed-notifications

Oversight in the original patch, this namespace needs to be present
on the data-changed-notification element.
Close xml writer at the end.
Rename "data-changed-event" to "data-change-event".

JIRA: NETCONF-743
Change-Id: Ia53c04bd0ef9f608804d0f884dac1f2180240343
Signed-off-by: Tomas Cere <tomas.cere@pantheon.tech>
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
Signed-off-by: Vladyslav Marchenko <vladyslav.marchenko@pantheon.tech>
3 years agoLower NotificationListenerAdapter 71/93871/3
Robert Varga [Wed, 18 Nov 2020 09:51:26 +0000 (10:51 +0100)]
Lower NotificationListenerAdapter

We do not want to flood logs here, drop the message to debug.

Change-Id: I7711beabe083ac2c75cd742d4423b1482a80d8a9
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
3 years agoZero-out canceled transactions 70/93870/3
Robert Varga [Wed, 18 Nov 2020 09:49:14 +0000 (10:49 +0100)]
Zero-out canceled transactions

We may end up picking the transaction in read path, make sure we
null it away when closing.

JIRA: NETCONF-743
Change-Id: I537bace43a407a8a5f1adf5d6a7e8bbcb78e7da4
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
3 years agoConvert aaa-authn-odl-plugin to OSGi DS 04/93704/3
Robert Varga [Mon, 9 Nov 2020 17:30:34 +0000 (18:30 +0100)]
Convert aaa-authn-odl-plugin to OSGi DS

There is no point in keeping blueprint here, remove it.

Change-Id: I3819739d7042cd3d2fdee06b3457dc8bd3cd7ce5
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
3 years agoFixed handling of identityref type in list key 20/92420/5
Martin Sunal [Thu, 21 Nov 2019 17:21:51 +0000 (18:21 +0100)]
Fixed handling of identityref type in list key

- There was not covered a case when key was leafref to
  the node which has type identityref.
- Handling failed parsing of identityref value - throwing
  RestconfDocumentedException with better description.

Change-Id: I4aa296cbb1a62b6f607323cb5e944d70e67ba3ff
Signed-off-by: Martin Sunal <msunal@frinx.io>
Signed-off-by: Jaroslav Tóth <jtoth@frinx.io>
3 years agoCorrect operations input/output media types 67/93567/3
Robert Varga [Tue, 3 Nov 2020 13:45:09 +0000 (14:45 +0100)]
Correct operations input/output media types

We do not produce/consume raw yang-data, add the missing XML
qualifier.

JIRA: NETCONF-741
Change-Id: I2978527125c80ae142af1f0b307c3b99adbe3ba9
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
3 years agoMake ListenerAdapter serialize JSON directly 14/93214/9
Tomas Cere [Thu, 25 Jun 2020 09:00:47 +0000 (11:00 +0200)]
Make ListenerAdapter serialize JSON directly

Change websocket notification serialization to serialize
to json directly instead of first serializing to xml and
subsequently converting to json.
While we are here fixup the websocket notification format
so it actually conforms to the sal-remote.yang model and
encode namespaces according to the json-ietf standard
instead of bundling an xmlns node in the json ouptut.

JIRA: NETCONF-471
Change-Id: I1b90c99980c0692b217523640bd6f67050f21e14
Signed-off-by: Tomas Cere <tomas.cere@pantheon.tech>
3 years agoEliminate unnecessary blocking checks 46/92446/21
Vladyslav Marchenko [Tue, 15 Sep 2020 10:29:46 +0000 (13:29 +0300)]
Eliminate unnecessary blocking checks

According to RFC6241:
1) "delete" operation must first check if the configuration data
   currently exists in the configuration datastore.
2) "create" operation must first check if the configuration data does
   not already exist in the configuration datastore.
3) "replace" operation replaces any related configuration in the
   configuration datastore. If no such configuration data exists in
   the configuration datastore, it is created.

If request goes via NetconfRestconfStrategy, we do not need to check
existence on the controller side, as the implied checks are part of
the underlyig behavior.

If request goes via MdsalRestconfStrategy, first we need to do
"if exists" check. Read requests in this case are collected in a batch
and then collecting the results.

JIRA: NETCONF-403
Change-Id: I6354c345d099017c1e82878af36ac37bbf5662c9
Signed-off-by: Vladyslav Marchenko <vladyslav.marchenko@pantheon.tech>
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
3 years agofix example string generation for types with isBasicLatin pattern 64/93464/2
Cmarada, Michal [Tue, 27 Oct 2020 13:30:10 +0000 (14:30 +0100)]
fix example string generation for types with isBasicLatin pattern

Generex generator fails to create example if pattern contains
{isBasicLatin} condition. The issue is fixed by replacing original
condition by range of allowed basic latin characters (0x00 - 0x7F).

JIRA: NETCONF-737
Signed-off-by: Cmarada, Michal <michal.cmarada@pantheon.tech>
Change-Id: I7bc5bf3621a40804122acd4604cfe8c132ffff24

3 years agoAdd new revision for odl-netconf-callhome-server.yang 80/93080/5
Vladyslav Marchenko [Thu, 15 Oct 2020 14:53:22 +0000 (17:53 +0300)]
Add new revision for odl-netconf-callhome-server.yang

JIRA: NETCONF-5
Change-Id: If5c9ca2045f7a13074da839b0c55d7484ac6a650
Signed-off-by: Vladyslav Marchenko <vladyslav.marchenko@pantheon.tech>
3 years agoIdentify Call-Home device connected over TLS by the provided certificate 13/90613/31
Oleksii Mozghovyi [Wed, 24 Jun 2020 00:59:20 +0000 (03:59 +0300)]
Identify Call-Home device connected over TLS by the provided certificate

JIRA: NETCONF-5
Change-Id: Ie5008ac806e875902e1b28bc3aa94f6f7d3d466b
Signed-off-by: Oleksii Mozghovyi <oleksii.mozghovyi@pantheon.tech>
Signed-off-by: Vladyslav Marchenko <vladyslav.marchenko@pantheon.tech>
3 years agoTest JSONRestconfServiceModule 69/54969/17
Jakub Toth [Thu, 13 Apr 2017 11:49:03 +0000 (13:49 +0200)]
Test JSONRestconfServiceModule

Change-Id: Ida7cc08713224fcab39ab743952ba66bd7598b1a
Signed-off-by: Jakub Toth <jatoth@cisco.com>
3 years agoSplit error messages 59/93159/3
Vladyslav Marchenko [Mon, 19 Oct 2020 10:27:31 +0000 (13:27 +0300)]
Split error messages

If there are more than one error message, we will split them by space

JIRA: NETCONF-403
Change-Id: I0136c8579916ccdf9fe06dc031f371ec17d8ee11
Signed-off-by: Vladyslav Marchenko <vladyslav.marchenko@pantheon.tech>
3 years agoAdd Call-Home implementation for the TLS secure-transport 39/90539/41
Oleksii Mozghovyi [Mon, 15 Jun 2020 20:07:04 +0000 (23:07 +0300)]
Add Call-Home implementation for the TLS secure-transport

This is a quick implementation of TLS transport. There are a few
wiring issues, which will need a follow up.

JIRA: NETCONF-5
Change-Id: I666444b7c187d2afbc8869a32331cba4a1393add
Signed-off-by: Oleksii Mozghovyi <oleksii.mozghovyi@pantheon.tech>
Signed-off-by: Vladyslav Marchenko <vladyslav.marchenko@pantheon.tech>
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
3 years agoDo not use org.opendaylight.controller.sal.common.util.NoopAutoCloseable 21/93421/4
Vladyslav Marchenko [Tue, 27 Oct 2020 14:21:23 +0000 (16:21 +0200)]
Do not use org.opendaylight.controller.sal.common.util.NoopAutoCloseable

NoopAutoCloseable hards back to Java 7 days and is an anachronism
with advent of lambdas. Replace its use with no-op lambdas.

As this is the last class used from sal-common-util in both components,
remove that dependency as well.

A quick follow-up audit shows we can remove the dependency from two
other artifacts, leaving rest-nb-bierman02 the only artifact still
needing it for AbstractMXBean.

Change-Id: Id97d3cdf110047778248e21021db39a6da2c3a5b
Signed-off-by: Vladyslav Marchenko <vladyslav.marchenko@pantheon.tech>
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
3 years agoUse @RunWith(MockitoJUnitRunner.StrictStubs.class) 88/93388/6
Vladyslav Marchenko [Mon, 26 Oct 2020 12:42:56 +0000 (14:42 +0200)]
Use @RunWith(MockitoJUnitRunner.StrictStubs.class)

MockitoAnnotations.initMocks(this) is replaced with @RunWith(MockitoJUnitRunner.StrictStubs.class)
Remove unnecessary Mockito stubbings

Change-Id: If775073f721a312e1126084aaabbf6ee22d2a77b
Signed-off-by: Vladyslav Marchenko <vladyslav.marchenko@pantheon.tech>
3 years agoUpdate infrautils to 1.9.1 30/93430/2
Robert Varga [Tue, 27 Oct 2020 22:36:33 +0000 (23:36 +0100)]
Update infrautils to 1.9.1

We have 1.9.0 integrated, but downstreams are using 1.9.1. Align
versions.

Change-Id: I7be3481999d55abb314e256838dd5517140c504e
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
3 years agoAdd workaround for SSH connection issue related to SSHD-1028 17/93117/1
Tibor Král [Mon, 26 Oct 2020 03:03:02 +0000 (04:03 +0100)]
Add workaround for SSH connection issue related to SSHD-1028

Provide custom version of Nio2Session which overrides the
bugged method.

JIRA: NETCONF-736
Change-Id: I0ef091680a9bdbe6bcab889335bb5ff48e91b703
Signed-off-by: Tibor Král <tibor.kral@pantheon.tech>
(cherry picked from commit 28925cdfe32f72ebcd034c9c7c9c107f176ca452)

3 years agoTest SchemaExportContentYangBodyWriter 72/54972/12
Jakub Toth [Thu, 13 Apr 2017 12:44:20 +0000 (14:44 +0200)]
Test SchemaExportContentYangBodyWriter

Change-Id: Ib40451621d5f20731186003ab88f4054e98546e7
Signed-off-by: Jakub Toth <jatoth@cisco.com>
3 years agoRemove Jakub Morvay from committers 72/93072/3
Robert Varga [Thu, 15 Oct 2020 10:46:24 +0000 (12:46 +0200)]
Remove Jakub Morvay from committers

Jakub's last contribution was on 29.3.2019, i.e. more than
18 months ago. Remove him from committers due to inactivity.

Change-Id: I18fba8ba6456b9a74b1edc327725001d5e72e80a
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
3 years agoAdd an explicit constants for WithDefaults parameter 59/93059/7
Robert Varga [Wed, 14 Oct 2020 15:58:33 +0000 (17:58 +0200)]
Add an explicit constants for WithDefaults parameter

RFC8040 explicitly enumerates allowed values, make sure we validate
them accordingly. Also fix the bug of ignoring unknown values.

JIRA: NETCONF-733
Change-Id: I5e4a19061c2c082563385a32ba574ddf97a8c967
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
3 years agoFixes from modernizer maven plugin in rfc8040 module 85/93285/2
Vladyslav Marchenko [Fri, 23 Oct 2020 10:02:48 +0000 (13:02 +0300)]
Fixes from modernizer maven plugin in rfc8040 module

Remove some legacy APIs

Change-Id: I689190caf9be2357b2ffb2d2197783ebaba694d9
Signed-off-by: Vladyslav Marchenko <vladyslav.marchenko@pantheon.tech>
3 years agoFix for enum constant 15/93215/1
Vladyslav Marchenko [Tue, 20 Oct 2020 13:01:59 +0000 (16:01 +0300)]
Fix for enum constant

Now correct method name is calling

JIRA: NETCONF-403
Change-Id: Ia7b7531ab937fa346562fc4367c5e01aecbbb598
Signed-off-by: Vladyslav Marchenko <vladyslav.marchenko@pantheon.tech>
3 years agoBump to mdsal-7.0.1/controller-3.0.1 89/93189/1
Robert Varga [Mon, 19 Oct 2020 19:24:16 +0000 (21:24 +0200)]
Bump to mdsal-7.0.1/controller-3.0.1

Pick up mdsal fixes and improvements.

Change-Id: Ic26b38d79cba583b496080ae2f3c0b8316e68470
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
3 years agoRemove dependency on MavenProjectAware 39/93139/1
Robert Varga [Sun, 18 Oct 2020 12:26:28 +0000 (14:26 +0200)]
Remove dependency on MavenProjectAware

We will be deprecating this interface, so that everyone codegen
can work in other build systems. This plugin is not using, hence
the removal.

Change-Id: If20e9a8a503d85f950a9d2c6ca294210373a1405
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
3 years agoAdd TLS data to call-home yang-models 84/91284/11
Oleksii Mozghovyi [Tue, 30 Jun 2020 09:16:01 +0000 (12:16 +0300)]
Add TLS data to call-home yang-models

The configuration model for callhome-server does not allow TLS to
be configured -- i.e. we are blindly assuming the devices will be
connecting via SSH.

Rectify this by deprecating the old configuration leaf and adding
the option to configure authentication on a per-transport basis.

JIRA: NETCONF-5
Change-Id: I56f14ad9472b5e87836be326a02c6663c229fb32
Signed-off-by: Oleksii Mozghovyi <oleksii.mozghovyi@pantheon.tech>
Signed-off-by: Vladyslav Marchenko <vladyslav.marchenko@pantheon.tech>
3 years agoUse SchemaPath->Absolute bridge methods 91/92991/3
Robert Varga [Thu, 8 Oct 2020 08:00:28 +0000 (10:00 +0200)]
Use SchemaPath->Absolute bridge methods

SchemaPath allows for easy transformation to ease migration, use
the methods as they improve readability.

Change-Id: I4b92ef9681e4bb722d2d9f4e6d4c5ac21d2368f3
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
3 years agoBump upstreams for Silicon 35/92935/24
Robert Varga [Wed, 7 Oct 2020 12:33:02 +0000 (14:33 +0200)]
Bump upstreams for Silicon

Adopt the following upstream versions:
- odlparent-8.0.0
- yangtools-6.0.0
- mdsal-7.0.0
- controller-3.0.0
- infrautils-1.9.0

Since mdsal's testing infrastructure now operates on binding packaging,
we ditch multiple testing copies of models, as we can now reuse already
existing packaging.

Change-Id: Iafa5e702e1e84fa9980a1168ec8d53b4f152b823
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
3 years agoRemove Tom Pantelis from committers 73/93073/2
Robert Varga [Thu, 15 Oct 2020 10:53:50 +0000 (12:53 +0200)]
Remove Tom Pantelis from committers

Tom has been inactive in this project since 28.1.2019, i.e. more
than 21 months. Remove him from committers on grounds of inactivity.

Change-Id: I7ca74ef27782834c5d3941031e127129cc2eb736
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
3 years agoMove ReadData.READ_TX_TYPE 83/93083/2
Robert Varga [Thu, 15 Oct 2020 15:28:34 +0000 (17:28 +0200)]
Move ReadData.READ_TX_TYPE

This is a private constant, which ends up being misused in tests,
move it to its proper place and update tests accordingly. This
ends up simplifying callers.

Change-Id: I13eaf5d4c37b38efd87cc6542c0814858846d117
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
3 years agoRemove RestconfDataServiceConstant.PatchData 82/93082/2
Robert Varga [Thu, 15 Oct 2020 15:21:13 +0000 (17:21 +0200)]
Remove RestconfDataServiceConstant.PatchData

This is a useless holder class for a constant which should be private.
Move the string constant and remove the class.

Change-Id: Ic8d9c6f9be5bea1dc828470601bd6fb14dd6dabd
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
3 years agoRemove RestconfDataServiceConstant.PostData 79/93079/2
Robert Varga [Thu, 15 Oct 2020 14:20:30 +0000 (16:20 +0200)]
Remove RestconfDataServiceConstant.PostData

This is a useless holder of a single String, move it towards its
majority user, noting a FIXME for reuse.

Change-Id: Ifa296fd3d34f707a3e7e58ad15632b68b53d7c05
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
3 years agoRemove RestconfDataServiceConstant.PutData 78/93078/2
Robert Varga [Thu, 15 Oct 2020 14:16:38 +0000 (16:16 +0200)]
Remove RestconfDataServiceConstant.PutData

This is a useless holder class for a single constant, move the String
it its sole user and remove it.

Change-Id: Ib6512d5b903074cb0dd479d0641ae9ccbaca5f96
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
3 years agoRemove RestconfDataServiceConstant.DeleteData 77/93077/2
Robert Varga [Thu, 15 Oct 2020 14:14:24 +0000 (16:14 +0200)]
Remove RestconfDataServiceConstant.DeleteData

This is a useless holder class for a private string, move the string
to its sole user and ditch the holder.

Change-Id: I11073700d2c1071b3cb3ee6bb20b14c3064b0ec6
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
3 years agoInline checkItemExistsWithinTransaction() 63/93063/1
Robert Varga [Wed, 14 Oct 2020 17:49:31 +0000 (19:49 +0200)]
Inline checkItemExistsWithinTransaction()

This is a very simplistic method, inline it so we can properly
evolve it.

Change-Id: Ic5fefc63c9e095be430bf93b603a970be652a056
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
3 years agoFix insert/before logic error 62/93062/1
Robert Varga [Wed, 14 Oct 2020 21:22:22 +0000 (23:22 +0200)]
Fix insert/before logic error

Previous patch has made a logic mistake around negation and complements,
leaving Insert.AFTER broken. Fix it up.

Change-Id: Id10c0e0f9e73bebae40b82ff471e3f23b17a3c97
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
3 years agoFold PlainPatchDataTransactionUtil.mergeDataWithinTransaction() 61/93061/1
Robert Varga [Wed, 14 Oct 2020 17:07:25 +0000 (19:07 +0200)]
Fold PlainPatchDataTransactionUtil.mergeDataWithinTransaction()

This is a very simple method, fold it into its sole caller.

Change-Id: I2a17ec37443346c8f46b9b066458ef7552a1413c
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
3 years agoAdd explicit enumeration of allowed "insert" parameters 60/93060/2
Robert Varga [Wed, 14 Oct 2020 16:15:25 +0000 (18:15 +0200)]
Add explicit enumeration of allowed "insert" parameters

Using an enum allows us to simplify things and in future make sure
we have covered all possibilities.

Change-Id: Id6c89122fc2fc76e8baab3a6291e65e338372868
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
3 years agoShortcut PutDataTransactionUtil.readData() 58/93058/2
Robert Varga [Wed, 14 Oct 2020 15:35:22 +0000 (17:35 +0200)]
Shortcut PutDataTransactionUtil.readData()

Simplify the dispatch between utils, making it clear we do not need
a SchemaContext in this path. It also clarifies the contract to the
point it is clear PutDataTransactionUtil.readList() is an utter
misnomer and the wrong place to do things.

Change-Id: I6669e5982cfe84c44cefc769ed7dca22d924d86c
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
3 years agoEliminate a ReadDataTransactionUtil.readData() alternative 57/93057/2
Robert Varga [Wed, 14 Oct 2020 15:25:10 +0000 (17:25 +0200)]
Eliminate a ReadDataTransactionUtil.readData() alternative

We have a slew of readData() methods, eliminate one of them, which
is used only from tests and PutDataTransactionUtil.

Change-Id: Iccf5fcf4b3856ce12081fc5b07cf555322a33197
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
3 years agoCentralize RestconfStrategy allocation 52/93052/5
Robert Varga [Wed, 14 Oct 2020 13:27:27 +0000 (15:27 +0200)]
Centralize RestconfStrategy allocation

Move dispatch logic for various implementations to RestconfStrategy,
so we have explicit control over it.

Change-Id: I68f3d5ea9eb4f2c9ba512d3d07a8e4adcb5c7cf7
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
3 years agoMis a whitespace problem 56/93056/2
Robert Varga [Wed, 14 Oct 2020 15:00:35 +0000 (17:00 +0200)]
Mis a whitespace problem

We have a slight mis-alignment here, fix it up.

Change-Id: I5a5d27b14ea57a22cfbb373c28aec2c4a9f57107
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
3 years agoBinding QName constants to YANG Library model 53/93053/2
Robert Varga [Wed, 14 Oct 2020 13:59:30 +0000 (15:59 +0200)]
Binding QName constants to YANG Library model

We are depending on the model enum, hence we might as well bind
QNames to it, so that we have a consistent view.

JIRA: NETCONF-725
Change-Id: Ia04e7c9369c1f48f154d4694bc254ff126d6f35e
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
3 years agoSimplify RestconfStrategy instantiation 51/93051/3
Robert Varga [Wed, 14 Oct 2020 12:59:40 +0000 (14:59 +0200)]
Simplify RestconfStrategy instantiation

Do not check mount point nullness twice.

Change-Id: I3d2af3b2407c0dc8a76ef2e4a72d1b76d02732cd
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
3 years agoTurn RestconfStrategy into an abstract class 50/93050/3
Robert Varga [Wed, 14 Oct 2020 12:47:36 +0000 (14:47 +0200)]
Turn RestconfStrategy into an abstract class

The interactions between RestconfStrategy and FooBarUtil.bazXyzzy()
show that strategies may have some common logic. We do want to
properly specialize these and have them hosted somewhere, where
they can be decomposed.

Turn RestconfStrategy into an abstract class, so that we gain full
control of it and mark an earmark
TransactionUtil.ensureParentsByMerge() for migration.

Change-Id: Ia68321f8020f5f08880ffcacb0ccbbac5cc5cc18
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
3 years agoEliminate ParametersUtil 49/93049/3
Robert Varga [Wed, 14 Oct 2020 12:40:10 +0000 (14:40 +0200)]
Eliminate ParametersUtil

Methods here are only used by ReadDataTransactionUtil, rehost
them to eliminate some of the spaghetti.

Change-Id: I8f1aa463c5b01c9225204c030bf4ac12a56df4a1
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
3 years agoMove TransactionUtil.checkItemDoesNotExists() 48/93048/4
Robert Varga [Wed, 14 Oct 2020 12:28:06 +0000 (14:28 +0200)]
Move TransactionUtil.checkItemDoesNotExists()

This method has callers only in PostDataTransactionUtil. Move it
there and hide it.

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