netconf.git
4 years agoUpdate user-guide.rst 13/83613/2 stable/fluorine
Mario Abraham [Wed, 14 Aug 2019 10:18:22 +0000 (12:18 +0200)]
Update user-guide.rst

- added info about 2 different endpoints
related to RESTCONF

Issue-ID: NETCONF-500
Signed-off-by: Mario Abraham <mario.abraham@pantheon.tech>
Change-Id: I3ab9517e6ac2afe3e061eb31dfa8b642e1d34614
(cherry picked from commit 5bc455ab7471a308b77e1455da43f1d8202aa89c)

4 years agoCustom scheme-cache-directory yang models are not replicated among 97/83597/1
Jakub Toth [Thu, 8 Aug 2019 12:15:17 +0000 (08:15 -0400)]
Custom scheme-cache-directory yang models are not replicated among
cluster members

The problem was talking about the MissingSchemaSources, where in
the master wasn't setup schema repo & schema registry correctly
based on the data from NetconfNode (from NetconfTopologySetup).
Espacially if the node was using the specific schema cache directory.
According to, slaves were trying to ask the master for sources
(YangTextSchemaSource). In this way, master was trying to resolve
sources from the empty schema repo and it was failing there.

JIRA: NETCONF-610
Change-Id: I84290c085b8a54a9758a85b68113c18aee284a1c
Signed-off-by: Jakub Toth <jtoth@luminanetworks.com>
4 years agoBump versions by x.y.(z+1) 20/82620/1
jenkins-releng [Thu, 20 Jun 2019 21:11:15 +0000 (21:11 +0000)]
Bump versions by x.y.(z+1)

Change-Id: Iadc4a4127d0a1c710a92ad26fa2089da62388ea2
Signed-off-by: jenkins-releng <jenkins-releng@opendaylight.org>
4 years agoBump yangtools to 2.0.20 98/82098/5
Robert Varga [Wed, 15 May 2019 13:16:15 +0000 (15:16 +0200)]
Bump yangtools to 2.0.20

This brings in latest fixes and fixes test models to coply with
RFC6020.

Change-Id: If92adc72e25ee1187707c6e9e3d7b4a57721f105
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
4 years agoBump odlparent to 3.1.7 97/82097/4
Robert Varga [Wed, 15 May 2019 13:15:58 +0000 (15:15 +0200)]
Bump odlparent to 3.1.7

This brings in latest upstream upgrades.

Change-Id: Icc954f7e3e71495e3cee40df5c876b9a7b16ae91
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
4 years agoFix unsafe global config access 87/82187/1
Robert Varga [Tue, 21 May 2019 11:27:02 +0000 (13:27 +0200)]
Fix unsafe global config access

Current global config is a volatile variable, hence it must be
acquired into a local variable for proper nullness checks --
otherwise it is open to TOCTOU race conditions leading to NPEs.

Change-Id: I9316b3ed976575726da7a065668c507e15fe0ddf
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
4 years agoFix DeviceOp DTCL 80/82180/1
Robert Varga [Thu, 16 May 2019 15:32:36 +0000 (17:32 +0200)]
Fix DeviceOp DTCL

The did not account for the possiblity of null host keys, hence
it incurred NPEs when it was attempting to update its internal
cache.

This also refactor the code so that we share the code path between
DeviceOp and DeviceConfig.

JIRA: NETCONF-615
Change-Id: I1e3329604e1686ee4a79baeea96dc354c49c9e04
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
(cherry picked from commit be977cc2f87dc153beb8542c2924c340848a453a)

4 years agoFix preparing action with path containing augment 74/82174/1
Anna Bencurova [Mon, 20 May 2019 15:08:41 +0000 (17:08 +0200)]
Fix preparing action with path containing augment

- Augment does not have QName, so call getNodeType causes exception.

JIRA: NETCONF-620

Change-Id: Ib5f64eb1980784ad8df617a1ad9676cad9c2111c
Signed-off-by: Anna Bencurova <Anna.Bencurova@pantheon.tech>
4 years agoDo not deploy shaded-exificient-jar 82/82082/1
Robert Varga [Wed, 15 May 2019 09:18:14 +0000 (11:18 +0200)]
Do not deploy shaded-exificient-jar

This artifact should not be necessary for our operation, do not
deploy it.

Change-Id: I853b301c6c99db652c13d8a67b1a7049ba19dc53
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
4 years agoFixed deadlock between AsyncSshHandlerReader and AsyncSshHandler 25/81925/1
Jaroslav Tóth [Sat, 30 Mar 2019 18:12:03 +0000 (19:12 +0100)]
Fixed deadlock between AsyncSshHandlerReader and AsyncSshHandler

First was fix in AsyncSshHandlerReader but there was another
deadlock after that. Therefore a change in AsyncSshHandler is also
needed. Both ABBA deadlockw occur when AsyncSshHandler.disconnect
(..) and AsyncSshHandlerReader.invokeDisconnect(..) methods are
executed concurrently within the same SSH session that is going
to be closed.

Note: Snippets from stack-traces are from Oxygen distribution, so
the line numbers don't have to match exactly.

Deadlock #1:
"nioEventLoopGroupCloseable-3-20":
at org.opendaylight.netconf.nettyutil.handler.ssh.client
.AsyncSshHandlerReader.close(AsyncSshHandlerReader.java:96)
- waiting to lock <0x000000072ecffff8> (a org.opendaylight
.netconf.nettyutil.handler.ssh.client.AsyncSshHandlerReader)
at org.opendaylight.netconf.nettyutil.handler.ssh.client
.AsyncSshHandler.disconnect(AsyncSshHandler.java:235)
- locked <0x000000072ed00020> (a org.opendaylight.netconf
.nettyutil.handler.ssh.client.AsyncSshHandler)
at org.opendaylight.netconf.nettyutil.handler.ssh.client
.AsyncSshHandler.close(AsyncSshHandler.java:215)
...

"sshd-SshClient[57f78db1]-nio2-thread-1":
at org.opendaylight.netconf.nettyutil.handler.ssh.client
.AsyncSshHandler.disconnect(AsyncSshHandler.java:221)
- waiting to lock <0x000000072ed00020> (a org.opendaylight
.netconf.nettyutil.handler.ssh.client.AsyncSshHandler)
...
org.opendaylight.netconf.nettyutil.handler.ssh.client
.AsyncSshHandlerReader.operationComplete(AsyncSshHandlerReader
.java:64)
- locked <0x000000072ecffff8> (a org.opendaylight.netconf
.nettyutil.handler.ssh.client.AsyncSshHandlerReader)
...

Deadlock #2:
"nioEventLoopGroupCloseable-3-19":
at org.apache.sshd.client.session.ClientSessionImpl
.signalAuthFailure(ClientSessionImpl.java:138)
- waiting to lock <0x000000072c800218> (a java.lang.Object)
at org.apache.sshd.client.session.ClientSessionImpl
.preClose(ClientSessionImpl.java:126)
at org.apache.sshd.common.util.closeable.AbstractCloseable
.close(AbstractCloseable.java:95)
        at org.opendaylight.netconf.nettyutil.handler.ssh.client
.AsyncSshHandler.disconnect(AsyncSshHandler.java:251)
- locked <0x000000072c800480> (a org.opendaylight.netconf
.nettyutil.handler.ssh.client.AsyncSshHandler)
...

"sshd-SshClient[411a406d]-nio2-thread-8":
at org.opendaylight.netconf.nettyutil.handler.ssh.client
.AsyncSshHandler.disconnect(AsyncSshHandler.java:221)
- waiting to lock <0x000000072c800480> (a org.opendaylight
.netconf.nettyutil.handler.ssh.client.AsyncSshHandler)
...
org.apache.sshd.common.session.helpers.AbstractSession
.handleMessage(AbstractSession.java:499)
- locked <0x000000072c800218> (a java.lang.Object)
...

Change-Id: I42260213cad82250832451539d6ce11035ba37e2
Signed-off-by: Martin Sunal <msunal@frinx.io>
Signed-off-by: Jaroslav Tóth <jtoth@frinx.io>
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
4 years agoFixed deadlock in AsyncSshHandlerWriter 84/81784/2
Jaroslav Tóth [Tue, 2 Apr 2019 03:41:32 +0000 (05:41 +0200)]
Fixed deadlock in AsyncSshHandlerWriter

Deadlock happened when listener for window is resized
and write is invoked at the same time.

Change-Id: I8c662d6cd5edbc3e36b31a754d826f79bec76434
Signed-off-by: Martin Sunal <msunal@frinx.io>
Signed-off-by: Jaroslav Tóth <jtoth@frinx.io>
(cherry picked from commit 0f45153d60a0fc71a08d011e21fdf5e83c174290)

5 years agoReduce the use of AttrBuilders 21/81421/2
Robert Varga [Fri, 5 Apr 2019 21:38:53 +0000 (23:38 +0200)]
Reduce the use of AttrBuilders

NormalizedNode*AttrBuilders are going away, remove them from where
they are not necessary.

Change-Id: I72cb68e6565f9c05864e1c465d5db7611e5a9c02
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
(cherry picked from commit 682d341bba757ccc88436a635c19d5c7dec86c81)
(cherry picked from commit 982e75ece2483e413befe3edd8fd90022a644f72)

5 years agoFix logging arguments 20/81420/2
Robert Varga [Fri, 5 Apr 2019 18:54:50 +0000 (20:54 +0200)]
Fix logging arguments

These are pointed out by upgraded spotbugs, fix them up.

Change-Id: I520c8be21d69c73c0ca9b51d15e63df158fd242a
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
(cherry picked from commit 07fba4b036ae0df44f814f53b7d13a9fc79c0a75)
(cherry picked from commit f0b0a99508a36b2087b507ad1ab976255599f4af)

5 years agoFix logging arguments 12/81412/1
Robert Varga [Fri, 5 Apr 2019 18:54:50 +0000 (20:54 +0200)]
Fix logging arguments

These are pointed out by upgraded spotbugs, fix them up.

Change-Id: I766f1f26444fd10cc6858e5f064209fcf3d9860a
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
(cherry picked from commit d41edebb31eda9b92e1d00a054472322e1da7d0a)

5 years agoRemove a FindBugs suppression 29/81329/1
Robert Varga [Thu, 28 Mar 2019 20:21:06 +0000 (21:21 +0100)]
Remove a FindBugs suppression

Use Deque.remove() keeps SpotBugs happy, and does not change
anything, as we know the queue is non-empty at this point.

Change-Id: I307dd22eb9a2a56a9a18490ff1e45aa6d4f2a5e0
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
(cherry picked from commit 998aca7de4bc5ceff15646acefd6be3ed46ca260)

5 years agoReplace GsonProvider to JacksonJaxbJsonProvider 23/80523/1
wsd [Mon, 17 Dec 2018 14:05:46 +0000 (22:05 +0800)]
Replace GsonProvider to JacksonJaxbJsonProvider

Problem: GsonProvider uses com.google.gson.Gson to convert a javabean to a json string
and is not compatitble with ApiDelaration which has a defined field:
com.fasterxml.jackson.databind.node.ObjectNode models for the swagger model object.
So it should use ObjectMapper to convert swagger api object instead of google Gson.
Obviously, com.fasterxml.jackson.jaxrs.json.JacksonJaxbJsonProvider can achieve this conversion
by using the org.opendaylight.netconf.sal.rest.doc.jaxrs.JaxbContextResolver.

JIRA: NETCONF-588
Change-Id: Iee8a0528a29601a8737ed0247f183fddc9c5ebe5
Signed-off-by: wsd <wusandi@163.com>
5 years agoAllow no payload for RPCs with no input 38/80238/1
Jakub Morvay [Fri, 8 Feb 2019 13:01:16 +0000 (14:01 +0100)]
Allow no payload for RPCs with no input

Do not require empty payload for RPCs with no input defined. Invoking
such RPCs without any payload at all should be also supported.

JIRA: NETCONF-607
Change-Id: Ibf8ca7d65cf25ac54f8283f65f4706ad3f69c5ee
Signed-off-by: Jakub Morvay <jmorvay@frinx.io>
5 years agoFix Revision confusion 28/80228/1
Robert Varga [Thu, 7 Feb 2019 19:07:27 +0000 (20:07 +0100)]
Fix Revision confusion

yag-library-version is a YANG string, hence the leaf needs to be
set appropriately.

JIRA: NETCONF-606
Change-Id: Iae705bf924de943871b49a8d3b39f7b7b4a55906
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
(cherry picked from commit c3338ee3c2a3250ec98a4a6a0f4fcf3322e0dec2)
(cherry picked from commit 6c603388033f870807dfd8e284cb938d24d68f27)

5 years agoBump versions by x.y.(z+1) 97/80197/1
jenkins-releng [Thu, 7 Feb 2019 09:45:04 +0000 (09:45 +0000)]
Bump versions by x.y.(z+1)

Change-Id: Ia3274d9ab1d217f430f35c5803b1247ba8ed1766
Signed-off-by: jenkins-releng <jenkins-releng@opendaylight.org>
5 years agoAdd custom EXI buffer management 69/80069/1
Robert Varga [Wed, 30 Jan 2019 23:25:02 +0000 (00:25 +0100)]
Add custom EXI buffer management

Exificient's SAXDecoder by default does not free its internal buffer,
and allocates one for each decoder. With version 1.0.4 we have enough
visibility to perform buffer management.

This adds a thread-local buffer, which is reused during parse operation
and retained if it is under 64kB after the operation completes.

Change-Id: Ie2f7c72b1160d389a07c473fda6739b7eb7212cb
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
(cherry picked from commit 791a6a25f6670a23d390bfdeb786f70588d622a5)

5 years agoBump exificient to 1.0.4 64/80064/1
Robert Varga [Wed, 30 Jan 2019 22:52:45 +0000 (23:52 +0100)]
Bump exificient to 1.0.4

This brings in a xerces upgrade, allowing us to remove the override
we have been carrying.

Change-Id: If2c8cd061b5c034ad62fedd15d76966785863d97
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
(cherry picked from commit 29a5734afedc18e37bfa1fc2c3baa18d8521a799)

5 years agoMerge "Simplify NotificationListenerAdapter" into stable/fluorine
Jakub Morvay [Mon, 21 Jan 2019 08:31:11 +0000 (08:31 +0000)]
Merge "Simplify NotificationListenerAdapter" into stable/fluorine

5 years agoFix bierman02 ListenerAdapter memory leak 61/79761/1
Robert Varga [Sun, 20 Jan 2019 15:05:22 +0000 (16:05 +0100)]
Fix bierman02 ListenerAdapter memory leak

Storing notifications in a field causes them to be retained for
longer than needed. Pass them as arguments, fixing the leak and
making the adapter stateless.

Change-Id: I8cfb335db0ad21d37d5cce79e6fdbe31efc1ab8a
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
(cherry picked from commit 27e4675aacd7095eafb7ccb6e03b62108b0451f5)

5 years agoSimplify NotificationListenerAdapter 60/79760/1
Robert Varga [Sun, 20 Jan 2019 13:52:19 +0000 (14:52 +0100)]
Simplify NotificationListenerAdapter

There is just no need for the ceremony around what sort of normalized
node a DOMNotification has -- just use ContainerNode.

Change-Id: I66e2e0e72b75b0ce58be359eaa40668bc0c53b81
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
(cherry picked from commit 394fbe42b4c445fc7958e976233066c9b03151c4)

5 years agoBump to yangtools-2.0.16 35/79735/1
Robert Varga [Sat, 19 Jan 2019 12:29:02 +0000 (13:29 +0100)]
Bump to yangtools-2.0.16

This aligns with odlparent-3.1.6.

Change-Id: Iadf5ade55f5936abc9131c9df5f2e2f896a57043
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
5 years agoBump to odlparent 3.1.6 43/79643/1
Stephen Kitt [Fri, 18 Jan 2019 09:19:21 +0000 (10:19 +0100)]
Bump to odlparent 3.1.6

Change-Id: I48f901c2d29f1c3b812b46f5aa29f1ec8206e603
Signed-off-by: Stephen Kitt <skitt@redhat.com>
5 years agoFix NetconfKeystoreAdapter onDataTreeChanged method 19/79619/3
Jakub Morvay [Thu, 17 Jan 2019 14:19:32 +0000 (15:19 +0100)]
Fix NetconfKeystoreAdapter onDataTreeChanged method

Make sure to process all incoming DataObject modifications under
netconf-keystore:keystore container. Do not stop after handling
key-credential list items, handle also modified private-key and
trusted-certificate list items.

JIRA: NETCONF-598
Change-Id: I7e56791c46bd860f98259f73f2832e49abc2e3dc
Signed-off-by: Jakub Morvay <jmorvay@frinx.io>
5 years agoMerge changes Ib4c234b0,I93b1cba1 into stable/fluorine
Jakub Morvay [Thu, 17 Jan 2019 14:29:02 +0000 (14:29 +0000)]
Merge changes Ib4c234b0,I93b1cba1 into stable/fluorine

* changes:
  Support Netconf over TLS in clustered topology
  Factor out SslHandlerFactoryImpl

5 years agoMerge "Provide NetconfKeystoreService RPCs in clustered topology" into stable/fluorine
Jakub Morvay [Thu, 17 Jan 2019 14:11:37 +0000 (14:11 +0000)]
Merge "Provide NetconfKeystoreService RPCs in clustered topology" into stable/fluorine

5 years agoSupport Netconf over TLS in clustered topology 17/79617/1
Jakub Morvay [Wed, 16 Jan 2019 15:40:37 +0000 (16:40 +0100)]
Support Netconf over TLS in clustered topology

Netconf over TLS support is already there, enable it also in
odl-netconf-clustered-topology.

JIRA: NETCONF-594
Change-Id: Ib4c234b070cb96bb6188fe99eab6ebe22efecf59
Signed-off-by: Jakub Morvay <jmorvay@frinx.io>
5 years agoFactor out SslHandlerFactoryImpl 16/79616/2
Robert Varga [Fri, 4 Jan 2019 09:44:12 +0000 (10:44 +0100)]
Factor out SslHandlerFactoryImpl

SslHandlerFactoryImpl is a separate piece of logic independent
of AbstractNetconfTopology. Move it to its own package-protected
class and cleanup its use of Optional.

Change-Id: I93b1cba1c77185fd79e345e08a7d5be76b15509a
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
(cherry picked from commit 3c6b26a05d26cf69eeb4cf05757873d94c932eaf)

5 years agoProvide NetconfKeystoreService RPCs in clustered topology 14/79614/1
Jakub Morvay [Wed, 16 Jan 2019 15:55:33 +0000 (16:55 +0100)]
Provide NetconfKeystoreService RPCs in clustered topology

Since now we support Netconf over TLS in odl-netconf-clustered-topology,
we should provide users with RPCs for configuring keys and certificates
used in Netconf over TLS.

Make sure NetconfKeystoreService RPCs are exposed once
odl-netconf-clustered-topology is installed.

JIRA: NETCONF-595
Change-Id: Id435cabe44916e01171203dc4f6b6a9a49f3239b
Signed-off-by: Jakub Morvay <jmorvay@frinx.io>
(cherry picked from commit d76dec7f0cd65399967800a09df6f906f860836b)

5 years agoMigrate netconf-console to Karaf 4 way 12/79612/2
Jakub Morvay [Thu, 17 Jan 2019 11:06:09 +0000 (12:06 +0100)]
Migrate netconf-console to Karaf 4 way

Some migration of netconf-console commands has been already done. We
updated commands to use new Karaf shell-related APIs, but we are still
using blueprint XML to create and register these commands.

This does not work with the new API. Avoid using blueprint, use new
available annotations and refactor commands to be more Karaf 4
compliant.

See https://karaf.apache.org/manual/latest/update-notes.html#_commands
for more detail.

JIRA: NETCONF-599
Change-Id: Ib43ecf01e168f77528dadc6a9224dbf70fba4606
Signed-off-by: Jakub Morvay <jmorvay@frinx.io>
5 years agoMerge "Propagate error status codes correctly" into stable/fluorine
Jakub Morvay [Wed, 16 Jan 2019 11:54:10 +0000 (11:54 +0000)]
Merge "Propagate error status codes correctly" into stable/fluorine

5 years agoMerge "Include namespace in output element of json rpc responses" into stable/fluorine
Jakub Morvay [Wed, 16 Jan 2019 10:55:15 +0000 (10:55 +0000)]
Merge "Include namespace in output element of json rpc responses" into stable/fluorine

5 years agoMerge "Do not check whether two nodes can be merged with reference comparison" into...
Jakub Morvay [Wed, 16 Jan 2019 10:54:14 +0000 (10:54 +0000)]
Merge "Do not check whether two nodes can be merged with reference comparison" into stable/fluorine

5 years agoPropagate error status codes correctly 68/79568/1
Tomas Cere [Wed, 16 Jan 2019 10:47:14 +0000 (11:47 +0100)]
Propagate error status codes correctly

All RestconfDocumentedExceptions were being incorrectly
reported with status code 50x since the status code was not
correctly forwared to the underlying WebApplicationException.

Change-Id: Ibe53c560053607abff665a2f36a524dece51a2fc
JIRA: NETCONF-511
Signed-off-by: Tomas Cere <tomas.cere@pantheon.tech>
5 years agoDo not suppress module name for top-level elements 59/79559/1
Tomas Cere [Thu, 10 Jan 2019 14:25:45 +0000 (15:25 +0100)]
Do not suppress module name for top-level elements

RFC8040 states that top-level elements should start off fully
qualified -- hence we should disregard initial namespace when
for them.

JIRA: NETCONF-497
Change-Id: I1e638957510fe2efa8a42a430fb4c2ded48082ec
Signed-off-by: Tomas Cere <tomas.cere@pantheon.tech>
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
(cherry picked from commit 562b1c7b11119b8dd4676082628f2c64a14d735f)

5 years agoInclude namespace in output element of json rpc responses 58/79558/1
Tomas Cere [Mon, 14 Jan 2019 11:04:39 +0000 (12:04 +0100)]
Include namespace in output element of json rpc responses

According to the rfc these should be present.

JIRA: NETCONF-592
Change-Id: I461a04726ce8ab5bd4963902070000f5f78d5d45
Signed-off-by: Tomas Cere <tomas.cere@pantheon.tech>
(cherry picked from commit 957041a9007098020d9123aec2768adf1e980b53)

5 years agoDo not check whether two nodes can be merged with reference comparison 57/79557/1
Tomas Cere [Tue, 15 Jan 2019 13:14:15 +0000 (14:14 +0100)]
Do not check whether two nodes can be merged with reference comparison

These need to be compared with .equals().
Also fixup the wording slightly.

Change-Id: Ib723a9a2de9810234bdbd725326d6ebd7c4c4151
JIRA: NETCONF-600
Signed-off-by: Tomas Cere <tomas.cere@pantheon.tech>
(cherry picked from commit d475b0d49527a175421f3e0d665a3c61c9b43099)

5 years agoMerge "Make swagger generators configurable" into stable/fluorine
Jakub Morvay [Mon, 14 Jan 2019 10:55:55 +0000 (10:55 +0000)]
Merge "Make swagger generators configurable" into stable/fluorine

5 years agoMerge "GET on /rests/operations with json always fails with 500" into stable/fluorine
Jakub Morvay [Mon, 14 Jan 2019 10:42:00 +0000 (10:42 +0000)]
Merge "GET on /rests/operations with json always fails with 500" into stable/fluorine

5 years agoMerge "Update exificient shading" into stable/fluorine
Jakub Morvay [Mon, 14 Jan 2019 08:49:10 +0000 (08:49 +0000)]
Merge "Update exificient shading" into stable/fluorine

5 years agoUpdate exificient shading 96/79496/3
Robert Varga [Sat, 12 Jan 2019 14:03:43 +0000 (15:03 +0100)]
Update exificient shading

This updates shaded exificient to include xerces classes required
for grammer-informed coding, making sure the result is consistent
referentially.

JIRA: NETCONF-591
Change-Id: Icc15e9a633635187ff1b0295ac73b477faed3834
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
5 years agoFix preparing of action request 19/79419/6
Anna Bencurova [Thu, 10 Jan 2019 14:58:04 +0000 (15:58 +0100)]
Fix preparing of action request

When the YangInstanceIdentifier used for creation of action request
contained mixin path argument (e.g. list as whole), the list ID was in
request twice. Once for list as whole and once for the list entry.

Change-Id: Ic6507c0137abedb6c87718c4a536c983033488f6
JIRA: NETCONF-566
Signed-off-by: Anna Bencurova <Anna.Bencurova@pantheon.tech>
Signed-off-by: Jakub Morvay <jmorvay@frinx.io>
5 years agoGET on /rests/operations with json always fails with 500 73/79473/1
Tomas Cere [Fri, 11 Jan 2019 12:20:41 +0000 (13:20 +0100)]
GET on /rests/operations with json always fails with 500

Stop throwing UnsupportedOperationException in FakeContainerSchemaNode
isPresence() method, since this container is only used for get on /rests/operations
we can assume this container is not a presence container.

JIRA: NETCONF-593
Change-Id: I06692da9d77e4230f32aa19aa25989ab72dd114a
Signed-off-by: Tomas Cere <tomas.cere@pantheon.tech>
5 years agoFix preparing result of action 17/79417/2
Anna Bencurova [Thu, 10 Jan 2019 14:21:17 +0000 (15:21 +0100)]
Fix preparing result of action

NullPointerException was thrown when action with no output
was defined and used and OK reply returned.

Change-Id: I2bcf846c501a650d754c943d2e1dc69e73a8dd37
JIRA: NETCONF-567
Signed-off-by: Anna Bencurova <Anna.Bencurova@pantheon.tech>
5 years agoMake swagger generators configurable 24/78824/7
Juraj Veverka [Sun, 16 Dec 2018 09:48:02 +0000 (10:48 +0100)]
Make swagger generators configurable

Swagger generators use configurable base URL paths with defaults:
- BaseYangSwaggerGeneratorDraft02 uses "restconf"
- BaseYangSwaggerGeneratorRFC8040 uses "rests"
Defaults may be overridden per deployment scenario. This makes Swagger
document generator more flexible in out-of karaf deployment scenarios.

Change-Id: I5fdda329dd2911913137d25a48450a5e161af679
Signed-off-by: Juraj Veverka <juraj.veverka@pantheon.tech>
Signed-off-by: Jakub Morvay <jmorvay@frinx.io>
5 years agoPrevent ssh hang during shutdown 70/79270/1
Tomas Cere [Mon, 7 Jan 2019 10:21:09 +0000 (11:21 +0100)]
Prevent ssh hang during shutdown

Add a reference listener for netty executor service provided by blueprint
so we can close ssh servers while the bundle still exists. This prevents
the hang seen during shutdown since the executor was being shutdown before
the mdsal-netconf-ssh.

JIRA: NETCONF-577
Change-Id: I062c9e8afb349817435ea0b1dde796a54ebb22d2
Signed-off-by: Tomas Cere <tomas.cere@pantheon.tech>
(cherry picked from commit e7f9ea2cd02cc8ffb743cff4d07ba7068d1e7c73)

5 years agoBump yangtools to 2.0.15 52/78652/2
Robert Varga [Tue, 11 Dec 2018 13:40:34 +0000 (14:40 +0100)]
Bump yangtools to 2.0.15

This brings in the latest fixes.

Change-Id: I8d2fc3f8b598c18a6d86d14358cd5f7af9fcd116
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
5 years agoBump to odlparent 3.1.5 41/78941/1
Stephen Kitt [Fri, 21 Dec 2018 10:48:23 +0000 (11:48 +0100)]
Bump to odlparent 3.1.5

Change-Id: I4551ba745bfffa0987701acbbc85c9f852c153e3
Signed-off-by: Stephen Kitt <skitt@redhat.com>
5 years agoSupport modules w/o revision in restconf/modules 24/78324/1
Jakub Morvay [Wed, 28 Nov 2018 11:24:51 +0000 (12:24 +0100)]
Support modules w/o revision in restconf/modules

Modules do not have to have revision. We should be able to handle such
modules in RescontfImpl getModules methods (GET resconf/modules invokes
these). When building modules container (as a response to such request)
use empty string for revision leaf to indicate that model does not have
revision.

Change-Id: Ie639c419dd27a4531194ee92a7d2d0bde4e89f70
Signed-off-by: Jakub Morvay <jmorvay@frinx.io>
(cherry picked from commit 6f5894dade9c88d2bbc5f3825eed4f329b29e419)

5 years agoLog the address and port on bind errors 59/78259/1
Stephen Kitt [Wed, 28 Nov 2018 09:23:02 +0000 (10:23 +0100)]
Log the address and port on bind errors

This ensures the address and port are available in the logs when we
fail to bind.

Change-Id: I100f68112d90573333340b4dc3e0a6f73c8ad90a
JIRA: NETCONF-585
Signed-off-by: Stephen Kitt <skitt@redhat.com>
(cherry picked from commit 1fca5bf02873a124ea0dfcf91ea44ac9bc57acd4)

5 years agoBump yangtools to 2.0.13 36/78136/1
Robert Varga [Mon, 26 Nov 2018 08:54:08 +0000 (09:54 +0100)]
Bump yangtools to 2.0.13

This bumps yantools to latest 2.0.x release.

Change-Id: Iea45ef759513d1386c13aabcdcf164db5a2385b3
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
5 years agoDo not use deprecated mountpoint registration 73/77673/3
Robert Varga [Sun, 11 Nov 2018 18:09:23 +0000 (19:09 +0100)]
Do not use deprecated mountpoint registration

Use proper builder pattern to talk to the mount point.

Change-Id: I7b4463e7fa5d04ef309b09e0f6ce5ecd8146271a
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
(cherry picked from commit 21c08452040a1f9a8628f2b95c8818a9f6d57c8b)

5 years agoMerge "Use odl hello message capabilities" into stable/fluorine
Jakub Morvay [Wed, 21 Nov 2018 11:28:05 +0000 (11:28 +0000)]
Merge "Use odl hello message capabilities" into stable/fluorine

5 years agoBump versions by x.y.(z+1) 03/78003/1
jenkins-releng [Tue, 20 Nov 2018 23:48:14 +0000 (23:48 +0000)]
Bump versions by x.y.(z+1)

Change-Id: Ie5c82e1f99dfdaa70b711c7e2b52db6c81cfed1e
Signed-off-by: jenkins-releng <jenkins-releng@opendaylight.org>
5 years agoUse odl hello message capabilities 27/77727/2
Anna Puchyova [Tue, 13 Nov 2018 14:27:36 +0000 (15:27 +0100)]
Use odl hello message capabilities

Fill the parameter of odl hello message capabilities
into NetconfReconnectingClientConfiguration to be used,
when connecting to the device.

JIRA: NETCONF-580
Change-Id: I9a4b2b97f335c2db330f0c1c7e86b76c4e2cffae
Signed-off-by: Anna Puchyova <Anna.Puchyova@pantheon.tech>
5 years agoAdd subscribeToStream to JSONRestConfService 77/77477/1
Josh [Sun, 28 Oct 2018 12:34:50 +0000 (14:34 +0200)]
Add subscribeToStream to JSONRestConfService

The idea here is to allow applications to
pre-register websocket listeners.

Change-Id: Ic7e55f19251e0b139256435ad215b44a596b84d9
Signed-off-by: Josh <jhershbe@redhat.com>
(cherry picked from commit b31e56f1104a15bee56d1dce9d2829707cd12b5e)

5 years agoShade exificient 77/77277/11
Robert Varga [Thu, 25 Oct 2018 00:02:50 +0000 (02:02 +0200)]
Shade exificient

Shade exificient and xerces, so they do not end up polluting
the container with a full XML stack.

JIRA: CONTROLLER-1867
Change-Id: If9e5d468de08dd820636a5eeb8ecdb2871fe1a3f
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
5 years agoRemove test dependency on xerces 96/77296/1
Robert Varga [Fri, 26 Oct 2018 09:25:05 +0000 (11:25 +0200)]
Remove test dependency on xerces

The test is mucking into a concrete implementation, use normal
API method to acquire the value for assertion.

Change-Id: I32699f6e37f922ca43d1791d0fa2604dd0aa9412
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
(cherry picked from commit cc20caf752d137f0cfef2cdb3daa9083697b6f42)

5 years agoFix mounting logic in clustered topology 54/77154/5
Jakub Morvay [Thu, 25 Oct 2018 17:28:58 +0000 (19:28 +0200)]
Fix mounting logic in clustered topology

https://git.opendaylight.org/gerrit/#/c/75655/ prepared netconf
southbound plugin to support action statements, but it missed to adjust
clustered netconf topology MasterSalFacade to the changes.

Fix that.

JIRA: NETCONF-575
Change-Id: I0b2fa9258cf362d1227f62127c2c3b44126677f3
Signed-off-by: Jakub Morvay <jmorvay@frinx.io>
5 years agoFix callhome start problem 27/77227/2
Luis Gomez [Tue, 23 Oct 2018 18:10:08 +0000 (11:10 -0700)]
Fix callhome start problem

Make sure we align bootstrap class with the service factory.

Change-Id: I84baad3d7ab816ec67f50c8445c38e7f2433eae4
Signed-off-by: Luis Gomez <ecelgp@gmail.com>
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
5 years agoBump to odlparent 3.1.4 and yangtools 2.0.12 58/76858/6
Stephen Kitt [Thu, 11 Oct 2018 09:49:43 +0000 (11:49 +0200)]
Bump to odlparent 3.1.4 and yangtools 2.0.12

Change-Id: Iecbabe3e9a975b6d1e394d09179c4340f9993709
Signed-off-by: Stephen Kitt <skitt@redhat.com>
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
5 years agoRelease the buffer only after we are done with it 83/77083/1
Robert Varga [Thu, 18 Oct 2018 15:25:55 +0000 (17:25 +0200)]
Release the buffer only after we are done with it

We may end up touching the buffer after we have release()'d it,
which means it may have been recycled by the time we call
resetReaderIndex().

Move the release() call to after the check so we do not end up
releasing it prematurely.

Change-Id: I43156dbe2e6c53a552a322e7b5ea27f8da3873c2
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
5 years agoFix Fluorine docs version 84/76884/1
Lorand Jakab [Thu, 11 Oct 2018 15:08:56 +0000 (17:08 +0200)]
Fix Fluorine docs version

Change-Id: I51919b420a9f1b5145d53baf1e2e787b3483b397
Signed-off-by: Lorand Jakab <lojakab@cisco.com>
5 years agoMerge "Remove use of ThreadPools in sal-netconf-connector" into stable/fluorine
Jakub Morvay [Tue, 2 Oct 2018 07:43:16 +0000 (07:43 +0000)]
Merge "Remove use of ThreadPools in sal-netconf-connector" into stable/fluorine

5 years agoMerge changes I629c0bbd,Ia47c3163 into stable/fluorine
Jakub Morvay [Tue, 2 Oct 2018 07:43:05 +0000 (07:43 +0000)]
Merge changes I629c0bbd,Ia47c3163 into stable/fluorine

* changes:
  Use a dedicated no-op listener class
  Do not retain the list of RPCs

5 years agoRemove use of ThreadPools in sal-netconf-connector 54/76554/2
Robert Varga [Mon, 1 Oct 2018 16:20:15 +0000 (18:20 +0200)]
Remove use of ThreadPools in sal-netconf-connector

We really just need a {Listening,Scheduled}ExecutorService, nothing
else. Propagating this outwords from NetconfDevice(Builder), eliminates
the need for per-session ListeningDecorator and proxies, saving us
at least 56 bytes for each connected device.

Change-Id: Ide69bd1a8f36eca1473313e3fd2cafb76d754464
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
(cherry picked from commit ec116112a7ac49a718ca81a21484201dbfa1c836)

5 years agoAbstractEdit: improve error message on missing schema node 82/75382/2
Marek Gradzki [Tue, 21 Aug 2018 13:47:45 +0000 (15:47 +0200)]
AbstractEdit: improve error message on missing schema node

Include node name in the error message.

Change-Id: Ife8f95cb333e2e1065c2c27d51acb406710cc375
Signed-off-by: Marek Gradzki <mgradzki@cisco.com>
(cherry picked from commit 16996157a9a6f0360b11f1caeb91dbde855360c5)

5 years agoUse a dedicated no-op listener class 48/76548/1
Robert Varga [Mon, 1 Oct 2018 16:50:17 +0000 (18:50 +0200)]
Use a dedicated no-op listener class

This saves a few bytes per session by not retaining anything
but the listener implementation.

Change-Id: I629c0bbd686ec734f36d8e8d307df3f1f733fa1c
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
(cherry picked from commit cf5c624854874f3603b20d296233485b37b99abd)

5 years agoDo not retain the list of RPCs 47/76547/2
Robert Varga [Mon, 1 Oct 2018 16:45:43 +0000 (18:45 +0200)]
Do not retain the list of RPCs

These RPCs are only used when a listener registers, there is simply
no point to retain them in a transformed collection. We can always
re-create them as needed from the SchemaContext.

Change-Id: Ia47c3163bff5232d079f8768420bfa6360fe3b49
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
(cherry picked from commit 354472dc8d3afa557522c8ea18634b11b4bea20b)

5 years agoCleanup SimulatedCreateSubscription 34/76534/1
Robert Varga [Thu, 27 Sep 2018 12:04:11 +0000 (14:04 +0200)]
Cleanup SimulatedCreateSubscription

Using .get().get() twice is ugly, create a local variable.

Change-Id: I0c18c9138146c349c4c1c4003b5c53439893354e
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
(cherry picked from commit a4ac79f5adaceb503100ba3bb0a45edf7e2cc363)

5 years agoMerge "Fix config-only thinko" into stable/fluorine
Tom Pantelis [Wed, 26 Sep 2018 11:59:50 +0000 (11:59 +0000)]
Merge "Fix config-only thinko" into stable/fluorine

5 years agoMerge "Allow SshProxyServer to share AsynchronousChannelGroup" into stable/fluorine
Jakub Morvay [Wed, 26 Sep 2018 11:54:45 +0000 (11:54 +0000)]
Merge "Allow SshProxyServer to share AsynchronousChannelGroup" into stable/fluorine

5 years agoHonor EXI flag in testtool 55/76455/1
Robert Varga [Wed, 26 Sep 2018 09:47:19 +0000 (11:47 +0200)]
Honor EXI flag in testtool

NETCONF test tool should honor the exi flag and translate it to
proper capabilities.

Change-Id: I50acf9188eb5fd2aea60d593dfd9713e54badda4
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
5 years agoAllow SshProxyServer to share AsynchronousChannelGroup 53/76453/1
Robert Varga [Tue, 25 Sep 2018 17:51:33 +0000 (19:51 +0200)]
Allow SshProxyServer to share AsynchronousChannelGroup

For testing purposes it is good to have the ability to share a single
thread group, as ach of them implies a dedicated thread. This patch
exposes an alternative constructor and allows multiple SshProxyServers
to share that group -- lowering resources needed significantly, both
in terms of threads, memory and file descriptors used.

Change-Id: I237ab0790e9a70c26288a116c59f5a541f236a74
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
5 years agoFix config-only thinko 51/76451/1
Robert Varga [Tue, 25 Sep 2018 13:07:24 +0000 (15:07 +0200)]
Fix config-only thinko

This fixes JSON template thinko, so that the variable matches
XML.

Change-Id: Ief03b46dc61a0be733a4f139837d19c8c981da7f
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
5 years agoBump yangtools-2.0.11 42/76142/2
Robert Varga [Mon, 17 Sep 2018 09:06:27 +0000 (11:06 +0200)]
Bump yangtools-2.0.11

This brinsg in the latest fixes.

Change-Id: I39bb25417e4331d32db8985901083cadb38f3a8e
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
5 years agoMigrate netconf docs to project repo 90/76190/1
Thanh Ha [Mon, 17 Sep 2018 16:41:56 +0000 (12:41 -0400)]
Migrate netconf docs to project repo

Issue: DOCS-69
Change-Id: I2941d5aa1ea90ee99c9ffe9269b118ea70648fcb
Signed-off-by: Thanh Ha <thanh.ha@linuxfoundation.org>
5 years agoBootstrap netconf documentation 89/76189/1
Thanh Ha [Mon, 17 Sep 2018 16:38:37 +0000 (12:38 -0400)]
Bootstrap netconf documentation

Issue: DOCS-69
Change-Id: I131c540aca45c6ad742565193801204227554d43
Signed-off-by: Thanh Ha <thanh.ha@linuxfoundation.org>
5 years agoFix missing support of actions in KeepaliveSalFacade 04/75804/1
Jakub Tóth [Thu, 6 Sep 2018 09:23:38 +0000 (11:23 +0200)]
Fix missing support of actions in KeepaliveSalFacade

Change-Id: I1696a92d699debbd5d97219769f9beabc6ef8624
Signed-off-by: Jakub Tóth <jakub.toth@pantheon.tech>
5 years agoPrepare netconf to support YANG 1.1 actions 55/75655/1
Jakub Tóth [Mon, 6 Aug 2018 14:11:29 +0000 (16:11 +0200)]
Prepare netconf to support YANG 1.1 actions

This allows implementation of a factory for creating of DOMActionService
of a connected device. This service is going to be part of services provided
by the device's mountpoint.

Change-Id: I1c79b4bc8f1b1c63f7ffb2306f07ea9872f15882
Signed-off-by: Jakub Tóth <jakub.toth@pantheon.tech>
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
(cherry picked from commit fc71e17ca46e029ad6535613498842ff2854868d)

5 years agoDo not instantiate NormalizedNodes for filter 26/75526/3
Robert Varga [Mon, 27 Aug 2018 10:43:27 +0000 (12:43 +0200)]
Do not instantiate NormalizedNodes for filter

Using ImmutableNodes.fromInstanceId() does not work for leaf nodes,
as we do not have a value, which violates LeafNode contract -- leading
to an IllegalStateException when a user attempts to read() a single
leaf via a transaction.

As it turns out, this is completely unnecessary, as all we are doing
is iterating through the temporary NormalizedNode and creating
NormalizedNodeStreamWriter events based on that.

This patch replicates ImmutableNodes.fromInstanceId() logic, but
simplifies it for this particular task, short-cutting NormalizedNode
creation and emitting events directly as we are iterating over
the YangInstanceIdentifier.

JIRA: NETCONF-563
Change-Id: I0781e81d812ee979deaafb9dfa811e143866f4af
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
(cherry picked from commit 1c545b9883f64305983a9c0ef73acdaa97866cc7)

5 years agoBump versions by x.y.(z+1) 84/75584/1
jenkins-releng [Thu, 30 Aug 2018 16:51:20 +0000 (16:51 +0000)]
Bump versions by x.y.(z+1)

Change-Id: I30584a64ca197d765c2a2c28dd31f74529850cef
Signed-off-by: jenkins-releng <jenkins-releng@opendaylight.org>
5 years agoUpdate .gitreview to stable/fluorine 77/74977/1
Anil Belur [Thu, 9 Aug 2018 12:12:25 +0000 (17:42 +0530)]
Update .gitreview to stable/fluorine

Change-Id: Ia5f20a21419c93881462945c04dac63fa3101474
Signed-off-by: Anil Belur <abelur@linuxfoundation.org>
5 years agoBump yangtools to 2.0.10 81/74881/1
Robert Varga [Mon, 6 Aug 2018 15:45:12 +0000 (17:45 +0200)]
Bump yangtools to 2.0.10

This fixes an issue with actions, hence we need it in Fluorine.

Change-Id: Ic6b2c3e7f118512f04bce3d223b480e2ab784098
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
5 years agoMerge "NECONF-524 : Setting the netconf keepalive logic to be more proactive."
Jakub Morvay [Mon, 6 Aug 2018 14:50:23 +0000 (14:50 +0000)]
Merge "NECONF-524 : Setting the netconf keepalive logic to be more proactive."

5 years agoMerge "Improve error message on <validate> failure"
Jakub Morvay [Mon, 6 Aug 2018 08:01:19 +0000 (08:01 +0000)]
Merge "Improve error message on <validate> failure"

5 years agoUse Controller's MappingCheckedFuture 28/74828/3
Robert Varga [Sat, 4 Aug 2018 01:14:22 +0000 (03:14 +0200)]
Use Controller's MappingCheckedFuture

This class is being moved from mdsal to controller, adjust for that.

Change-Id: I0b680405789a8bc230cfac54f8cf23ecde768494
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
5 years agoBump exificient to 1.0.1 20/74820/6
Robert Varga [Fri, 3 Aug 2018 22:35:19 +0000 (00:35 +0200)]
Bump exificient to 1.0.1

https://github.com/EXIficient/exificient/compare/exificient-0.9.7...exificient-1.0.0
https://github.com/EXIficient/exificient/compare/exificient-1.0.0...exificient-1.0.1
https://github.com/EXIficient/exificient-core/compare/exificient-core-0.9.7...exificient-core-1.0.0
https://github.com/EXIficient/exificient-core/compare/exificient-core-1.0.0...exificient-core-1.0.1

Change-Id: Id811993f3232f6e96dd4c3c4da95c86db9038c24
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
5 years agoRemove unneeded version declaration 19/74819/1
Robert Varga [Fri, 3 Aug 2018 22:34:02 +0000 (00:34 +0200)]
Remove unneeded version declaration

We are getting aaa versions from dependencyManagement, do not repeat
them again.

Change-Id: I860d63075e5fb004518c1c5955cb96d88f24cc55
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
5 years agoImprove error message on <validate> failure 96/74796/2
Marek Gradzki [Fri, 3 Aug 2018 12:28:56 +0000 (14:28 +0200)]
Improve error message on <validate> failure

Change-Id: I1af1c918c0a21645380ce3ce55c608729365f140
Signed-off-by: Marek Gradzki <mgradzki@cisco.com>
5 years agoBump yangtools to 2.0.9 74/74574/2
Robert Varga [Fri, 27 Jul 2018 12:09:39 +0000 (14:09 +0200)]
Bump yangtools to 2.0.9

This patch bumps yangtools to latest release.

Change-Id: I9b170a51f632a9ef059cdfd3a434c909d46d1cb2
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
5 years agoNETCONF-551 : Invalid CSS URI in apidocs explorer 90/74590/1
Richard Kosegi [Fri, 27 Jul 2018 16:02:27 +0000 (18:02 +0200)]
NETCONF-551 : Invalid CSS URI in apidocs explorer

Change-Id: Iaabea829d3fa03be019075045ee86bdd233ed066
Signed-off-by: Richard Kosegi <richard.kosegi@gmail.com>
5 years agoMerge "Simplify code using Java 8 features"
Jakub Morvay [Fri, 27 Jul 2018 14:27:16 +0000 (14:27 +0000)]
Merge "Simplify code using Java 8 features"

5 years agoSimplify code using Java 8 features 86/74486/3
Stephen Kitt [Thu, 26 Jul 2018 08:35:02 +0000 (10:35 +0200)]
Simplify code using Java 8 features

* method references
* lambda expressions
* Map::computeIfAbsent

Change-Id: Icbfa5c0a76b5b6f2b4339dbbd49b8a44e7b14fb2
Signed-off-by: Stephen Kitt <skitt@redhat.com>
5 years agoBump to odlparent 3.1.3 00/74200/2
Stephen Kitt [Wed, 18 Jul 2018 16:06:41 +0000 (18:06 +0200)]
Bump to odlparent 3.1.3

Change-Id: I8e2d3a5dd33195daaf2884e2093a5720fd31a7f1
Signed-off-by: Stephen Kitt <skitt@redhat.com>
5 years agoMerge "Remove unused exceptions"
Jakub Morvay [Wed, 25 Jul 2018 10:35:45 +0000 (10:35 +0000)]
Merge "Remove unused exceptions"

5 years agoMerge "Remove netconf-it"
Jakub Morvay [Wed, 25 Jul 2018 10:35:34 +0000 (10:35 +0000)]
Merge "Remove netconf-it"