OleksandrZharov [Wed, 9 Mar 2022 13:10:50 +0000 (14:10 +0100)]
Remove SchemaNode#getPath from RestconfImpl
Removed getPath method and replaced it with Absolute#of Qname.
JIRA: NETCONF-818
Change-Id: I1a8c6e9d0117072036cd68cac50c3ae3849da46a
Signed-off-by: OleksandrZharov <[email protected]>
Robert Varga [Wed, 9 Mar 2022 10:14:27 +0000 (11:14 +0100)]
Fix odl-netconf-callhome-server unique statement
We have two unique references which do not correctly resolve, fix that
up.
Change-Id: I84f0f467e651329ff06dab74bd3de64f4c1c3373
Signed-off-by: Robert Varga <[email protected]>
OleksandrZharov [Thu, 10 Feb 2022 10:08:18 +0000 (11:08 +0100)]
Remove SchemaNode#getPath from NormalizedNodeXmlBodyWriter
Removed deprecated SchemaNode#getPath from NormalizedNodeXmlBodyWriter
class by using getQName and Absolute#of path.
Added YangInstanceIdentifier to tests according to logic of QNames. It
allows get parent path properly.
JIRA: NETCONF-818
Change-Id: I8db3481b9413040ad60ba3ce1ceec824b8533b79
Signed-off-by: OleksandrZharov <[email protected]>
OleksandrZharov [Wed, 9 Feb 2022 16:42:32 +0000 (17:42 +0100)]
Remove SchemaNode#getPath from NormalizedNodeJsonBodyWriter
Removed deprecated SchemaNode#getPath from NormalizedNodeJsonBodyWriter
class by using getQName and Absolute#of path.
Now we rely on YangInstanceIdentifier of target resource thus we need
to create QNames for Modules and Streams in RestconfImpl.
JIRA: NETCONF-818
Change-Id: I2d4f95540fc6ddc66233029dcdb1000ccbcd3524
Signed-off-by: OleksandrZharov <[email protected]>
Signed-off-by: Ivan Hrasko <[email protected]>
OleksandrZharov [Mon, 14 Feb 2022 10:27:34 +0000 (11:27 +0100)]
Remove SchemaNode#getPath usage from RestconfDocumentedExceptionMapper
Removed deprecated SchemaNode#getPath from
RestconfDocumentedExceptionMapper class and replaced by new logic
of getting path via QNames and Absolute path.
Added YangInstanceIdentifier into NormalizedNodeContext instaed of null.
It used later for getting SchemaPath from QNames.
JIRA: NETCONF-818
Change-Id: I636ab83e4c1b89500d8face06777d2e931639035
Signed-off-by: OleksandrZharov <[email protected]>
OleksandrZharov [Tue, 8 Feb 2022 10:55:16 +0000 (11:55 +0100)]
Remove SchemaNode#getPath usage from JsonToPatchBodyReader
Removed deprecated SchemaNode#getPath from JsonToPatchBodyReader class
by using getNodeType and methods of SchemaInferenceStack.
Removed SchemaNode from PachEdit since we don't need it and replaced
it with SchemaInference.
JIRA: NETCONF-818
Change-Id: Id0c89c5f5b98addac4f7d38749248956e010f5ab
Signed-off-by: OleksandrZharov <[email protected]>
OleksandrZharov [Tue, 15 Feb 2022 11:06:33 +0000 (12:06 +0100)]
Remove SchemaNode#getPath usage from XmlPatchBodyReader
Removed deprecated SchemaNode#getPath from XmlPatchBodyReader class
by using YangInstanceIdentifier and QNames that it contain to create
SchemaInferenceStack based on it.
JIRA: NETCONF-818
Change-Id: I550db7c94e0434e87769b8972f70eb88f73a0c27
Signed-off-by: OleksandrZharov <[email protected]>
Signed-off-by: Ivan Hrasko <[email protected]>
OleksandrZharov [Mon, 14 Feb 2022 11:20:45 +0000 (12:20 +0100)]
Remove SchemaNode#getPath usage from XmlToPatchBodyReader
Removed deprecated SchemaNode#getPath from XmlToPatchBodyReader class
by using YangInstanceIdentifier and QNames that it contain to create
SchemaInferenceStack based on it.
JIRA: NETCONF-818
Change-Id: I03226866ac910d21b96982963f4671392af7cf8d
Signed-off-by: OleksandrZharov <[email protected]>
Signed-off-by: Ivan Hrasko <[email protected]>
OleksandrZharov [Tue, 15 Feb 2022 10:40:18 +0000 (11:40 +0100)]
Remove SchemaNode#getPath from JSON writer in rfc8040
Removed deprecated SchemaNode#getPath from JsonNormalizedNodeBodyWriter
class by replacing it with path created from QNames via Absolute#of
method.
JIRA: NETCONF-818
Change-Id: I93a2f6121d8635f5046b18c02624fb1f386e75eb
Signed-off-by: OleksandrZharov <[email protected]>
Signed-off-by: Ivan Hrasko <[email protected]>
OleksandrZharov [Mon, 14 Feb 2022 12:51:52 +0000 (13:51 +0100)]
Remove SchemaNode#getPath usage from ListenerAdapter
Removed deprecated SchemaNode#getPath from ListenerAdapter class
and replaced by new logic using SchemaInference.
JIRA: NETCONF-818
Change-Id: I6e4b87ab32382f2f1eb88c742652f636945dd9d0
Signed-off-by: OleksandrZharov <[email protected]>
Signed-off-by: Ivan Hrasko <[email protected]>
OleksandrZharov [Wed, 2 Mar 2022 14:33:24 +0000 (15:33 +0100)]
Improve validation for invalid files in schemas dir
Previous validation of schema files was not very specific if
there was problems with files. Now there is more direct message if
something wrong with yang files.
Removed logic that rename not yang files into .yang in schema dir.
We are storing yang models only in .yang files. Therefore all other
files should be rejected.
JIRA: NETCONF-707
Change-Id: Iad4b91fd534eef8ea134a9463de3dab618fe969e
Signed-off-by: OleksandrZharov <[email protected]>
OleksandrZharov [Tue, 15 Feb 2022 10:59:51 +0000 (11:59 +0100)]
Remove SchemaNode#getPath usage from JsonPatchBodyReader
Removed deprecated SchemaNode#getPath from JsonPatchBodyReader class
by using getNodeType and methods of SchemaInferenceStack.
Removed SchemaNode from PachEdit since we don't need it and replaced
it with SchemaInference.
JIRA: NETCONF-818
Change-Id: I9b82db327b9eb2711db651856ab76a4957b9a8ac
Signed-off-by: OleksandrZharov <[email protected]>
Ivan Hrasko [Thu, 17 Feb 2022 19:32:29 +0000 (20:32 +0100)]
Don't use getPath() to initialize leafref resolver
Track absolute path to leaf with SchemaInferenceStack
and use this way initialized stack as leafref resolver.
JIRA: NETCONF-819
Change-Id: I2fd180b61e8ca4ca119e4fac1eb05af2a319d1d5
Signed-off-by: Ivan Hrasko <[email protected]>
Signed-off-by: OleksandrZharov <[email protected]>
Ivan Hrasko [Mon, 6 Dec 2021 19:31:16 +0000 (20:31 +0100)]
Set call-home SSH port to 4334
According to RFC 8071 the default port
for NETCONF call-home SSH is 4334 not 6666.
JIRA: NETCONF-846
Change-Id: I24c087f5d0797178c676ddf6ece001c82af6ed4a
Signed-off-by: Ivan Hrasko <[email protected]>
Robert Varga [Mon, 28 Feb 2022 21:42:12 +0000 (22:42 +0100)]
Bump versions to 3.0.0-SNAPSHOT
This starts the next major development iteration.
Change-Id: I0341e10177f3a0a8202d1f70d173271e4f272a57
Signed-off-by: Robert Varga <[email protected]>
OleksandrZharov [Wed, 16 Feb 2022 10:16:26 +0000 (11:16 +0100)]
Remove SchemaNode#getPath from XML writer test in rfc8040
Removed deprecated SchemaNode#getPath from
XmlNormalizedNodeBodyWriterTest class
JIRA: NETCONF-818
Change-Id: I488296e26b929bf2cab6acee8254ac47ed7162d9
Signed-off-by: OleksandrZharov <[email protected]>
OleksandrZharov [Tue, 15 Feb 2022 11:19:27 +0000 (12:19 +0100)]
Remove SchemaNode#getPath from XML writer in rfc8040
Removed deprecated SchemaNode#getPath from XmlNormalizedNodeBodyWriter
class by using getQName and Absolute#of path.
JIRA: NETCONF-818
Change-Id: Ibb88ccce1a987bf4e6ea979edd74ca0d2179cd9c
Signed-off-by: OleksandrZharov <[email protected]>
OleksandrZharov [Mon, 14 Feb 2022 15:13:39 +0000 (16:13 +0100)]
Remove SchemaNode#getPath from JSON reader in rfc8040
Removed deprecated SchemaNode#getPath from JsonNormalizedNodeBodyReader
class by using getNodeType and methods of SchemaInferenceStack.
JIRA: NETCONF-818
Change-Id: I874d8246e54d5a0d042d7da19bdcfe264d58cd4a
Signed-off-by: OleksandrZharov <[email protected]>
Ivan Hrasko [Fri, 18 Feb 2022 19:12:31 +0000 (20:12 +0100)]
Check error conditions before processing
First we have to check if yangIIdContext empty content does not mean
the error and only then we can use it in further processing.
JIRA: NETCONF-818
Change-Id: I81593f323a48ea47d91f5aeb424729408efed2ad
Signed-off-by: Ivan Hrasko <[email protected]>
OleksandrZharov [Tue, 15 Feb 2022 16:22:43 +0000 (17:22 +0100)]
Remove SchemaNode#getPath usage from CreateStreamUtil for rfc8040
Removed deprecated SchemaNode#getPath from CreateStreamUtil class
by using Qnames. We always process notifications from schema root
so just Qname of notification is just enough.
JIRA: NETCONF-818
Change-Id: If9f1054fd7a1ddcef0c681b7549a52e806dd7183
Signed-off-by: OleksandrZharov <[email protected]>
OleksandrZharov [Wed, 2 Feb 2022 11:48:47 +0000 (12:48 +0100)]
Remove SchemaNode#getPath usage from JsonNormalizedNodeBodyReader
Removed deprecated SchemaNode#getPath from JsonNormalizedNodeBodyReader
class by using getNodeType and methods of SchemaInferenceStack.
JIRA: NETCONF-818
Change-Id: Ic717f06d259cf1269aa1aa6b48395ef86edad50d
Signed-off-by: OleksandrZharov <[email protected]>
Ivan Hrasko [Fri, 11 Feb 2022 19:57:19 +0000 (20:57 +0100)]
Replace #getPath in processInstanceIdentifierType
DefinitionGenerator#processInstanceIdentifierType method was used to
create an example of the instance-identifier leaf node's value.
For this purpose SchemaPath#getPath method was used to search for 'root'
container.
In fact, this approach leads to incorrect results because it can for example
find an RPC definition as 'root' container. RPC definition cannot be used as
instance-identifier value because its not a data node.
We have reworked this method to use as an example the first container child
of the node's model.
This way we can also get-rid of deprecated SchemaPath#getPath method.
Signed-off-by: Ivan Hrasko <[email protected]>
Change-Id: I2a4f1dc2e76ae9117bc826e45b0d9c0379cb5213
Manoj Chokka [Mon, 1 Nov 2021 05:20:10 +0000 (05:20 +0000)]
Do not use SchemaNode.getPath() in RestDocgenUtil
Instead of investigating full schema path we can just use
the parent node QName to determine if a child is in the same module
as its parent.
To compare name-space and revision we work with QNames -
we have adapted method resolvePathArgumentsName(..) parameters
to require QNames.
We can go further and mark all parameters as NonNull because
the use-case when parent is null has no sense - we are at direct
child of module - so full path should be used.
Align parameter usage across the methods -
first is node's QName the second is node's parent's QName.
In addition, mark not-used resolveNodesName(SchemaNode, Module) method
as deprecated for removal.
To simplify situation in callers we can resolve resource path before
addPaths or addOperations methods are called. This way we do not need
to increase the number of parameters.
JIRA: NETCONF-819
Change-Id: Ib7a7614a70c9573521c47716c62ec74f887e6132
Signed-off-by: Manoj Chokka <[email protected]>
Signed-off-by: OleksandrZharov <[email protected]>
Signed-off-by: Ivan Hrasko <[email protected]>
OleksandrZharov [Mon, 14 Feb 2022 14:37:44 +0000 (15:37 +0100)]
Remove SchemaNode#getPath usage from RestconfImplTest
Removed deprecated SchemaNode#getPath from RestconfImplTest
class
JIRA: NETCONF-818
Change-Id: I27bb6c8dd56527b546d27d03c0683d42cefefe1e
Signed-off-by: OleksandrZharov <[email protected]>
OleksandrZharov [Tue, 15 Feb 2022 12:30:17 +0000 (13:30 +0100)]
Remove SchemaNode#getPath usage from RestconfDataServiceImpl for rfc8040
Removed deprecated SchemaNode#getPath from RestconfDataServiceImpl
class by using getQName and Absolute#of path.
JIRA: NETCONF-818
Change-Id: I88d23c1da5a381774ab093b50839328c282647a7
Signed-off-by: OleksandrZharov <[email protected]>
Robert Varga [Mon, 14 Feb 2022 18:00:14 +0000 (19:00 +0100)]
Bump versions to 2.0.15-SNAPSHOT
This starts the next development iteration.
Change-Id: I0f52ffc910d55d56d3b73e331cd42a5304cf2f19
Signed-off-by: Robert Varga <[email protected]>
Robert Varga [Mon, 14 Feb 2022 17:58:58 +0000 (18:58 +0100)]
Fix yangtools mis-alignment
Previous version bump is causing multiple versions of yangtools to be
pulled in. Fix this by bumping controller/aaa/yangtools.
Change-Id: I8db1c662a88380982dd856d2b23b0488747a9a9c
Signed-off-by: Robert Varga <[email protected]>
Robert Varga [Mon, 14 Feb 2022 11:33:50 +0000 (12:33 +0100)]
Bump versions to 2.0.14-SNAPSHOT
This starts the next development iteration.
Change-Id: I0c09e8f96fbade26e5e2a3dc1faeeca39a913f98
Signed-off-by: Robert Varga <[email protected]>
Robert Varga [Mon, 14 Feb 2022 11:33:13 +0000 (12:33 +0100)]
Bump upstreams
Adopt:
- odlparent-9.0.13
- infrautils-2.0.13
- mdsal-8.0.11
- controller-4.0.9
- aaa-0.14.9
Change-Id: I56b8cf3a7e2a9cec14253fc37d362be165fc0055
Signed-off-by: Robert Varga <[email protected]>
Peter Puškár [Fri, 4 Feb 2022 08:38:37 +0000 (09:38 +0100)]
Fix links to RFC8040 query parameters documentation
Previous ones were pointing incorrectly to other parameters
Signed-off-by: Peter Puškár <[email protected]>
Change-Id: Ie1e88333517482c9da893fa32a8cc13ff672af51
Robert Varga [Fri, 11 Feb 2022 15:31:41 +0000 (16:31 +0100)]
Retain certificate-chain ordering
The order of certificats in the chain is significant and therefore
needs to be marked 'ordered-by user', otherwise the datastore
implementation is free to reorder the elements.
JIRA: NETCONF-854
Change-Id: Icc2e5793a214ab374ad08fdba5518396587de263
Signed-off-by: Robert Varga <[email protected]>
Robert Varga [Tue, 8 Feb 2022 18:12:15 +0000 (19:12 +0100)]
Enable ignored test
We do not have a singleton ControllerContext anymore, re-enable ignored
test. Also remove unused throws declarations.
Change-Id: Ifdeb48aa085fea312a9579e27bd1359c30f26913
Signed-off-by: Robert Varga <[email protected]>
Robert Varga [Tue, 8 Feb 2022 18:10:29 +0000 (19:10 +0100)]
Migrate to assertThrows()
ExpectedException.none() is deprecated, use assertThrows() for the same
function.
Change-Id: I6baa6ff28e572d2070adf15017ba21f4a09b0b25
Signed-off-by: Robert Varga <[email protected]>
Robert Varga [Tue, 8 Feb 2022 09:24:29 +0000 (10:24 +0100)]
Do not instantiate JsonParser
The class should not be instantiated, use utility methods instead.
Change-Id: Ifc225ea36906232264dcb338ae66dfab41f55c91
Signed-off-by: Robert Varga <[email protected]>
Ivan Hrasko [Wed, 2 Feb 2022 09:56:37 +0000 (10:56 +0100)]
Remove ScaleUtilParameters
Scale util is using TesttoolParameters to store its commnad line arguments.
ScaleUtilParameters is no more used.
JIRA: NETCONF-798
Change-Id: I4b7ccbf0535fc6fdb415594d1e7609ba847abb6b
Signed-off-by: Ivan Hrasko <[email protected]>
OleksandrZharov [Wed, 5 Jan 2022 10:56:24 +0000 (11:56 +0100)]
Fix scale util test tool
Fixed karaf session readiness checking for features installation.
Fixed duplicate data directory deletion.
Changed restconf url according to rfc-8040.
Added authorization for HttpClient so we can send requests.
Added PATCH requests for creating simulated devices.
Added default controller-ip and controller-port in parameters.
Added mechanism to check that netconf topology via restconf is ready.
JIRA: NETCONF-798
Change-Id: Ice05ab77cd0f479c5cbfc307d0fdca9104f8843b
Signed-off-by: OleksandrZharov <[email protected]>
Signed-off-by: Ivan Hrasko <[email protected]>
Tomas Cere [Thu, 27 Jan 2022 09:55:02 +0000 (10:55 +0100)]
Fix RFC8040 root access
Requests targetting root need to be wrapped in <data> container
to conform to the RFC, otherwise we end up with multiple roots
when serializing requests targetting root(either rests/data or
root of mounted device).
JIRA: NETCONF-853
Change-Id: I6d2a8d7b235a11779da134ed9c9abec8e8afe27c
Signed-off-by: Tomas Cere <[email protected]>
Signed-off-by: Robert Varga <[email protected]>
Robert Varga [Thu, 27 Jan 2022 19:27:20 +0000 (20:27 +0100)]
Migrate to Empty.value()
Empty.getInstance() is being removed, migrate to its replacement.
Change-Id: Ic12e07df3c16827afcddf32f2fb595389e4efdbe
Signed-off-by: Robert Varga <[email protected]>
Robert Varga [Wed, 26 Jan 2022 09:09:21 +0000 (10:09 +0100)]
Do not reuse inactive handler
We have a simple event dispatch handler here, which is stateless and can
be reused, except Netty's defences are rejecting such reuse. Since it is
a very simple object, just do not bother with its reuse.
JIRA: NETCONF-852
Change-Id: I40b48b0a8e14a0a271043bb9fb4b471cfd56a8e7
Signed-off-by: Robert Varga <[email protected]>
Robert Varga [Thu, 20 Jan 2022 14:27:29 +0000 (15:27 +0100)]
Bump versions to 2.0.13-SNAPSHOT
This starts the next development iteration.
Change-Id: I204b572bd2ad4c02c6d449605c7fea1e359f0b7d
Signed-off-by: Robert Varga <[email protected]>
Robert Varga [Thu, 20 Jan 2022 16:54:02 +0000 (17:54 +0100)]
Issue a mild warning when draft RESTCONF is activated
draft-bierman-netconf-restconf-02 is an ancient revision of the RESTCONF
protocol which we are still supporting. We are phasing this code out,
hence issue a mild warning when this is activated, so that users have a
fair warning and a chance to migrate.
JIRA: NETCONF-838
Change-Id: I42c61a1853bf789b488c6ce97348d269a7257bef
Signed-off-by: Robert Varga <[email protected]>
Tomas Cere [Tue, 4 Jan 2022 11:14:38 +0000 (12:14 +0100)]
Fix empty get failing on mounted devices when using xml
The ParameterAwareNormalizedNodeWriter was not setting an
empty container node with root path as handled so fix that.
Also make sure we actually return an empty data node when
its processed instead of empty response.
JIRA: NETCONF-847
Change-Id: Iab271a93fd13176dd061d5c26ab1d7f9a8b8263b
Signed-off-by: Tomas Cere <[email protected]>
Signed-off-by: Robert Varga <[email protected]>
Robert Varga [Thu, 20 Jan 2022 14:16:26 +0000 (15:16 +0100)]
Bump upstreams
Adopt:
- odlparent-9.0.12
- infrautils-2.0.12
- mdsal-8.0.10
- controller-4.0.8
- aaa-0.14.8
Change-Id: I0c9c3b3b76b217a6b7f933cfdc570fef9e925aa3
Signed-off-by: Robert Varga <[email protected]>
Robert Varga [Thu, 13 Jan 2022 11:09:30 +0000 (12:09 +0100)]
Unify variable naming
We really dealing with three writers: xmlWriter, streamWriter and a
NormalizedNodeWriter (i.e. writer). Make sure we use the same names in
all methods and use try/finally blocks consistently.
Change-Id: Idc6eafa8467e836a78c784257179aee09239620a
Signed-off-by: Robert Varga <[email protected]>
Robert Varga [Thu, 13 Jan 2022 11:00:47 +0000 (12:00 +0100)]
Eliminate illegal catch clausules
Closing an XMLStreamWriter does not thrown any exception, but rather
XMLStreamException, which the callers need to be ready to handle anyway.
Eliminate useless null checks and make sure we propagate close failures
to callers.
Change-Id: I963749afbfa667a8ef071a8b1a438e171668c28b
Signed-off-by: Robert Varga <[email protected]>
Robert Varga [Thu, 13 Jan 2022 10:51:24 +0000 (11:51 +0100)]
Use Map.of() instead of ImmutableMap.of()
We have an equivalent utility available, use it to lower Guava
dependencies a bit.
Change-Id: Id946b6576dfc79875f2dfef020c8a104121984d3
Signed-off-by: Robert Varga <[email protected]>
Robert Varga [Thu, 13 Jan 2022 10:49:13 +0000 (11:49 +0100)]
Lower setPrefix() warning
Our initial check is quite noisy when we get wired to JDK's
XMLDOMWriterImpl implementation. We very much expect things to work
anyway, so let's lower the message down to debug.
Change-Id: Ie47bb886c1557b6f685bf8ee42ee65f8972a1898
Signed-off-by: Robert Varga <[email protected]>
Ivan Hrasko [Mon, 13 Dec 2021 19:31:34 +0000 (20:31 +0100)]
Fix delete operation for leaf nodes
In case of delete operation we do not have
NormalizedNode representing data.
To create NormalizedNode we cannot use
ImmutableNodes.fromInstanceId() because it violates
leaf node non-null value contract.
Instead we have to emit data to delete using
EmptyListXmlWriter the similar way as its
done with filters.
Similar way we have to emit data together
with metadata using EmptyListXmlMetadatWriter
to overcome NormalizedMetadataWriter' write
method which requires data in the form of NormalizedNode.
JIRA: NETCONF-833
Change-Id: I2dc2921a78e7fc41d1d5eda101978c3a2e36ec12
Signed-off-by: Ivan Hrasko <[email protected]>
Ivan Hrasko [Tue, 11 Jan 2022 14:58:57 +0000 (15:58 +0100)]
Add documentation
Add and fix documentation for NetconfUtil class methods.
Change-Id: I696f3c074e82764b686f36009baead09b8646ae2
Signed-off-by: Ivan Hrasko <[email protected]>
Ivan Hrasko [Tue, 11 Jan 2022 14:47:03 +0000 (15:47 +0100)]
Fix method name typo
We have NetconfBaseOps#createEditConfigStructure method
Change-Id: I75c36ea739c30fddaf864f958bccd49b6ca08bce
Signed-off-by: Ivan Hrasko <[email protected]>
Robert Varga [Wed, 12 Jan 2022 14:48:09 +0000 (15:48 +0100)]
Expose WebSocketSessionHandler
Jetty is mucking around with reflection, publish the handler class so it
can access its methods.
JIRA: NETCONF-844
Change-Id: I502cdf439f52b45e69e3261199ec13436eac9f95
Signed-off-by: Robert Varga <[email protected]>
Dominik Vrbovsky [Wed, 5 Jan 2022 09:19:17 +0000 (10:19 +0100)]
Fix the showing up mounted devices in apidocs Swagger
Currently all mounted devices show up in the drop down list as
"topology-netconfnode". If there are many mounted devices
there is no way to find the mounted node you are looking for
without clicking on each selection on the list. Fix this to
show up particular node ID instead of "topology-netconfnode".
JIRA: NETCONF-843
Change-Id: Iecbc2e27f66719d2a9a7024ab9813077ff7cfdb3
Signed-off-by: Dominik Vrbovsky <[email protected]>
Ivan Hrasko [Tue, 9 Nov 2021 19:45:09 +0000 (20:45 +0100)]
Do not use SchemaNode.getPath() in mdsal-netconf-connector
We are using SchemaPath identification of what are strictly root
nodes. Use SchemaTreeInference instead, so that the lookup is captured
once and then reused, without multiple round-trips to acquire
EffectiveModelContext.
This also flushes out a potential inconsistency w.r.t. handling of
top-level choice containers. This is marked with a FIXME for a future
follow-up.
JIRA: NETCONF-816
Change-Id: I9061c3cf8b871d2947ecae41d6c57d51545990d5
Signed-off-by: Ivan Hrasko <[email protected]>
Signed-off-by: Robert Varga <[email protected]>
Robert Varga [Wed, 22 Dec 2021 11:05:16 +0000 (12:05 +0100)]
Package jquery internally
We are referencing code.jquery.com, but we can load a minified
version internally. Package jquery-3.6.0.min.js and refer to it.
JIRA: NETCONF-764
Change-Id: Id9abaed8a8bc732066778dad2025ebba5c6a9b0f
Signed-off-by: Robert Varga <[email protected]>
Robert Varga [Tue, 21 Dec 2021 10:01:42 +0000 (11:01 +0100)]
Bump sshd to 2.8.0
https://github.com/apache/mina-sshd/blob/master/docs/changes/2.8.0.md
Change-Id: I60f9f5476a07966f69bfbb0842ba785f1362704a
Signed-off-by: Robert Varga <[email protected]>
Robert Varga [Mon, 20 Dec 2021 12:13:23 +0000 (13:13 +0100)]
Upgrade automaton to 1.12-3
Fixed RegExp.toString() and built for Java 11.
Change-Id: I5d02a7cde7811904383cc67a5307a43753744968
Signed-off-by: Robert Varga <[email protected]>
Ivan Hrasko [Mon, 6 Dec 2021 10:58:02 +0000 (11:58 +0100)]
Refactor NETCONF node defaults
In fact, the difference between devices connected by call-home and
created manually in NETCONF topology is that call-home devices do
not have any data in configuration data-store.
Configuration data is used during the connection setup.
We can create full default configuration node for call-home connected
device to unify the processing of both kind of devices.
In addition, MDSAL now supports default values in data-store so we
can remove those values from AbstractNetconfTopology.
JIRA: NETCONF-832
Change-Id: Ib58ca344a7d74612cb7d049805a3e3c9279986d4
Signed-off-by: Ivan Hrasko <[email protected]>
Signed-off-by: Robert Varga <[email protected]>
Dominik Vrbovsky [Tue, 14 Dec 2021 14:56:55 +0000 (15:56 +0100)]
Update rest-perf-client tool to RFC 8040
Rework old draft-bierman-netconf-restconf-02 paths to RFC 8040 paths.
Set default auth credentials.
JIRA: NETCONF-797
Change-Id: I35338b66a54b574d5eb45c241fb76c2ed3f2aced
Signed-off-by: Dominik Vrbovsky <[email protected]>
Robert Varga [Thu, 25 Nov 2021 12:16:14 +0000 (13:16 +0100)]
Bump versions to 2.0.12-SNAPSHOT
This starts the next development iteration.
Change-Id: I3378ab170b63b9ed77654fd480585a3bde6a8be5
Signed-off-by: Robert Varga <[email protected]>
Robert Varga [Thu, 25 Nov 2021 11:56:22 +0000 (12:56 +0100)]
Disable SSHD/Netty integration
SSHDd's Netty integration logs everything at INFO, disable it until
it is fixed.
JIRA: NETCONF-835
Change-Id: I4ee0cf07727425ff690bf28095855bfb15387785
Signed-off-by: Robert Varga <[email protected]>
Robert Varga [Tue, 23 Nov 2021 10:42:43 +0000 (11:42 +0100)]
Bump versions to 2.0.11-SNAPSHOT
This starts the next development iteration.
Change-Id: I965375ab3c76b5425ba4a30e75be7214fc56ef1a
Signed-off-by: Robert Varga <[email protected]>
Robert Varga [Tue, 23 Nov 2021 08:21:22 +0000 (09:21 +0100)]
Fix infinite loop in augment resolution
We should be pushing using 'result' as source, not 'found' here.
JIRA: NETCONF-834
Change-Id: I169c97e1b18682ad7296e6e0272de1c362efe6d2
Signed-off-by: Robert Varga <[email protected]>
Robert Varga [Sun, 14 Nov 2021 11:32:24 +0000 (12:32 +0100)]
Bump versions to 2.0.10-SNAPSHOT
This starts the next development iteration.
Change-Id: I248df1d579696991e67da53b71090d70c7df02b8
Signed-off-by: Robert Varga <[email protected]>
Robert Varga [Sun, 14 Nov 2021 14:38:59 +0000 (15:38 +0100)]
Fix AbstractNetconfSessionNegotiator state access
Eliminate anonymous class which was mistakenly used as a synchronization
point.
JIRA: NETCONF-827
Change-Id: I3f81c7bda5f08bfc421859c2b0960beca5269c9a
Signed-off-by: Jaroslav Tóth <[email protected]>
Signed-off-by: Robert Varga <[email protected]>
Robert Varga [Sun, 24 Oct 2021 16:25:45 +0000 (18:25 +0200)]
Propagate WriteDataParams in utilities
We have the two variables neatly tied together, there is no reason
to split in invocation paths.
JIRA: NETCONF-718
Change-Id: Ic3befbb97538a2ef3e8352f6585a76572523581f
Signed-off-by: Robert Varga <[email protected]>
Robert Varga [Sun, 14 Nov 2021 09:16:58 +0000 (10:16 +0100)]
Adopt controller-4.0.7/aaa-0.14.7
Pick up latest fixes from upstream.
Change-Id: Icf1b51a8ec9dbd4b3fda9c54dd1b5e2ea7a1f31c
Signed-off-by: Robert Varga <[email protected]>
Robert Varga [Sun, 14 Nov 2021 08:59:57 +0000 (09:59 +0100)]
Add test for netconf-config-change notifications
Add an explicit test for deserializing a netconf-config-change
notification containing an instance identifier.
JIRA: YANGTOOLS-1362
Change-Id: I7eee431a233e28ab7dd9b6753214d6535846bac3
Signed-off-by: Robert Varga <[email protected]>
Jaroslav Tóth [Tue, 26 Oct 2021 18:27:25 +0000 (20:27 +0200)]
Added channel to logs in NETCONF negotiator
- It simplifies debugging and investigation of deployment
with a lot of NETCONF MPs.
JIRA: NETCONF-827
Change-Id: I221aab35e8d8d63481130678e1c755077125ad74
Signed-off-by: Jaroslav Tóth <[email protected]>
Signed-off-by: Robert Varga <[email protected]>
Robert Varga [Thu, 11 Nov 2021 10:30:47 +0000 (11:30 +0100)]
Cleanup AbstractNetconfSessionNegotiatorTest
We have stubbing errors and various warnings here, fix them up.
Change-Id: I24b2e45583190c93a26cdf25d066505bef911492
Signed-off-by: Robert Varga <[email protected]>
Robert Varga [Sun, 7 Nov 2021 18:28:23 +0000 (19:28 +0100)]
Bump versions to 2.0.9-SNAPSHOT
This starts the next development iteration.
Change-Id: I1b66a83f0204199dac099ec53148615cbce76270
Signed-off-by: Robert Varga <[email protected]>
Robert Varga [Thu, 4 Nov 2021 11:40:14 +0000 (12:40 +0100)]
Bump sshd to 2.7.0
https://github.com/apache/mina-sshd/blob/master/docs/changes/2.7.0.md
JIRA: NETCONF-829
Change-Id: I8ff777f3f8ec97d710e743bb5486b31ec54fe27f
Signed-off-by: Robert Varga <[email protected]>
Robert Varga [Sun, 7 Nov 2021 13:12:32 +0000 (14:12 +0100)]
Remove unused dependency
netconf-util is not using netty-common, ditch that dependency.
Change-Id: I77053e25d6aef62fca78a2b635e1d58c9eb26c9d
Signed-off-by: Robert Varga <[email protected]>
Robert Varga [Sun, 7 Nov 2021 12:07:06 +0000 (13:07 +0100)]
Adopt controller-4.0.6/aaa-0.14.6
Pick up fixes from upstreams.
Change-Id: I661cfe2152e3f1aad4c275711bf91b8915239a55
Signed-off-by: Robert Varga <[email protected]>
Robert Varga [Thu, 4 Nov 2021 13:43:31 +0000 (14:43 +0100)]
Implement NodeContainerProxy.getPath()
getPath() is being used for diagnostics in XML parser, let's implement
it in the obviously-correct way to get some more information.
Also modermize NodeContainerProxyTest and move it netconf-util, so it
is co-located with the class it is testing.
JIRA: NETCONF-828
Change-Id: Idfac9d779366d3465db29dcadc27af51dc16b956
Signed-off-by: Robert Varga <[email protected]>
(cherry picked from commit
6379e64a96f5d510b3f298ef207a2ea3c3fc0b63)
Robert Varga [Thu, 4 Nov 2021 22:26:02 +0000 (23:26 +0100)]
Cleanup NetconfDeviceCommunicator a bit
We can bail early from processing to make the code a bit more linear.
Change-Id: I61f3526761b30aa9cf78f9c12ba3763ecffed0b4
Signed-off-by: Robert Varga <[email protected]>
ajay_dp001 [Tue, 17 Sep 2019 15:50:29 +0000 (16:50 +0100)]
Add choice/case tests
Add two unit tests for traversal of choice/case nodes, asserting we
create a correct YangInstanceIdentifier.
JIRA: NETCONF-631
Change-Id: Icf9a00728bf4707f1951cdce208be225bba0b40c
Signed-off-by: ajay_dp001 <[email protected]>
Signed-off-by: Robert Varga <[email protected]>
Robert Varga [Mon, 4 Oct 2021 18:20:21 +0000 (20:20 +0200)]
Use ApiPath in YangInstanceIdentifierDeserializer
We are performing URL parsing in ApiPath, hence we can skip doing the
same thing in YangInstanceIdentifierDeserializer. This also improves
error reporting, as we provide additional info when we encounter parsing
errors. Error messages are also differentiated between parse errors and
semantic binding errors.
Escaping test has also updated, as ApiPathParser is intelligent enough
to understand both : and %3A in identityref name.
JIRA: NETCONF-631
Change-Id: I5fdb438d656b79199ea4bf316183d37280261eff
Signed-off-by: Robert Varga <[email protected]>
Robert Varga [Thu, 4 Nov 2021 11:45:25 +0000 (12:45 +0100)]
Transform ServiceLoader services
Rather than excluding services, process them through a proper
transformer, so they work okay.
Change-Id: I43d5b5b6f5bbc13d2027e861bc4b1535437d0caf
Signed-off-by: Robert Varga <[email protected]>
Robert Varga [Thu, 4 Nov 2021 11:44:28 +0000 (12:44 +0100)]
Exclude formatter-maven-cache.properties
We are getting a resource overlap warning, fix it by suppressing the
offending file.
Change-Id: I19d4f506b00496150f7dd9915d6daa47a83ee1b4
Signed-off-by: Robert Varga <[email protected]>
Robert Varga [Thu, 4 Nov 2021 10:03:16 +0000 (11:03 +0100)]
Cleanup TestRestconfUtils
We should be ignoring non-yang files, as otherwise things like vim
.swp files are wrecking our day.
Change-Id: I4144f60e44f5b01c0521912213ea08707c78d938
Signed-off-by: Robert Varga <[email protected]>
Robert Varga [Wed, 3 Nov 2021 20:59:19 +0000 (21:59 +0100)]
Bump jsonunit to 2.28.0
https://github.com/lukas-krecan/JsonUnit#2280
Change-Id: I219d04fe3f29c6e5bd53ca116d0f09db5bfe53b7
Signed-off-by: Robert Varga <[email protected]>
Robert Varga [Wed, 3 Nov 2021 20:55:04 +0000 (21:55 +0100)]
Remove an unneeded exclusion
The exclusion is carried since odlparent-7.0.11/8.1.3/9.0.2, remove it.
Change-Id: Ia0374569f1c32b0f22c407702d2d5fcaf09f2bfe
Signed-off-by: Robert Varga <[email protected]>
Robert Varga [Wed, 3 Nov 2021 18:48:22 +0000 (19:48 +0100)]
Improve YangInstanceIdentifierDeserializerTest
We have very few assertions about behaviour, improve overall coverage
before we switch things around. Also mark down bad behaviour and fixup
two invalid test vectors.
JIRA: NETCONF-631
Change-Id: I5c2e2140d20df57f62e65653c70bebd76793cb9e
Signed-off-by: Robert Varga <[email protected]>
Robert Varga [Wed, 27 Oct 2021 13:44:03 +0000 (15:44 +0200)]
Bump versions to 2.0.8-SNAPSHOT
This starts the next development iteration.
Change-Id: Ic129270424fe62bf25fa687f24d0108de082ff1a
Signed-off-by: Robert Varga <[email protected]>
Robert Varga [Wed, 27 Oct 2021 13:43:26 +0000 (15:43 +0200)]
Repair accidental version bump
We do not want to bump to 2.0.8-SNAPSHOT here.
Change-Id: Ie670d495f71a38509c1c1f2f878a6834ced70135
Signed-off-by: Robert Varga <[email protected]>
Robert Varga [Wed, 27 Oct 2021 11:27:01 +0000 (13:27 +0200)]
Bump upstreams
Adopt:
- odlparent-9.0.8
- infrautils-2.0.8
- mdsal-8.0.7
- controller-4.0.5
- aaa-0.14.5
JIRA: NETCONF-826
Change-Id: Idf5447495442d5cd0015f91cec3393070e913b02
Signed-off-by: Robert Varga <[email protected]>
Robert Varga [Tue, 26 Oct 2021 12:33:34 +0000 (14:33 +0200)]
Bump versions to 2.0.7-SNAPSHOT
This starts the next development iteration.
Change-Id: Ibf6fab309efd077c576a10fcd6c1a87817f387b8
Signed-off-by: Robert Varga <[email protected]>
Robert Varga [Tue, 26 Oct 2021 12:16:37 +0000 (14:16 +0200)]
Unify parameter parsing
We have a number of different ways to parse a query parameter, make the
contracts more consistent.
JIRA: NETCONF-773
Change-Id: I7c3090998efaeb9b7d713e595640a6d1e156fc65
Signed-off-by: Robert Varga <[email protected]>
Robert Varga [Tue, 26 Oct 2021 11:37:48 +0000 (13:37 +0200)]
Add support for odl-pretty-print
Somehow we did not have plumbing for this simple usability extension,
make sure we have feature parity with bierman02.
JIRA: NETCONF-825
Change-Id: I011e7369826ca7e07fcb5df1abdada726fa532d6
Signed-off-by: Robert Varga <[email protected]>
Robert Varga [Tue, 26 Oct 2021 09:38:42 +0000 (11:38 +0200)]
Integrate AbstractCommonSubscriber more tightly
We have a ton of duplicate code, make sure to reign it in by extending
what AbstractCommonSubscriber really does.
JIRA: NETCONF-773
Change-Id: I89451e646acdacc326c48d6276e20c299e5881e1
Signed-off-by: Robert Varga <[email protected]>
Robert Varga [Tue, 26 Oct 2021 09:06:53 +0000 (11:06 +0200)]
Eliminate AbstractQueryParams
We have a separate NotificationQueryParams which holds the request
fields. AbstractQueryParams is only subclassed from
AbstractCommonSubscriber, hence we have combine the two to keep things
a tad more compact.
JIRA: NETCONF-773
Change-Id: I188b4444bf81e57b6c3a6e672bd1ea90db041bca
Signed-off-by: Robert Varga <[email protected]>
Robert Varga [Tue, 26 Oct 2021 07:53:57 +0000 (09:53 +0200)]
Update AbstractQueryParams
We now have properly-encapsulated notification query parameters, make
sure we use them as a whole rather than breaking them apart in callers.
JIRA: NETCONF-773
Change-Id: I53bca1d2404e887de16f4e6c3f827c54db45945d
Signed-off-by: Robert Varga <[email protected]>
Robert Varga [Tue, 26 Oct 2021 08:43:37 +0000 (10:43 +0200)]
Support leaf-nodes-only in RFC8040 northbound
We have somehow lost (or never had) parity with bierman02 extension
for this option. The code to support it is in place, but due to the
legacy structure it fell off the truck in terms of parsing URIs, so
it could never be activated for a request.
Add the proper structure to support it again and define a capability
URI to let users know it is available.
JIRA: NETCONF-824
Change-Id: Ib05cc361d6bc3cc534f598276ecc84c9353f4cc2
Signed-off-by: Robert Varga <[email protected]>
Robert Varga [Tue, 26 Oct 2021 08:27:43 +0000 (10:27 +0200)]
Advertize skip-notification-data capability
Add SkipNotificationDataParam to hold the details abound
skip-notification-data. Also define a new capability URI and advertize
it in the datastore.
JIRA: NETCONF-823
Change-Id: I4c907a2d359afaa4e47fbd8cb2790dd3395b3c16
Signed-off-by: Robert Varga <[email protected]>
Robert Varga [Mon, 25 Oct 2021 19:54:57 +0000 (21:54 +0200)]
Refactor ParserFieldsParameter
We have two distinct parser tangled in a single file, making it hard
to understand what is going on. Split out the implementations and
rename the base class to have a more friendly name.
JIRA: NETCONF-773
Change-Id: Ida4eb4e39f802efbb85ea236d9e9c3b508d9ae34
Signed-off-by: Robert Varga <[email protected]>
Robert Varga [Mon, 25 Oct 2021 19:25:52 +0000 (21:25 +0200)]
Cleanup FieldsParam
We can reconstruct paramName() from the data we have in a rather
straightforward fashion. Do that and clean up various bits and pieces
that changed over the course of development.
JIRA: NETCONF-773
Change-Id: Id037b202fb24290ca710d4aa527d63ad5bbb2a36
Signed-off-by: Robert Varga <[email protected]>
Robert Varga [Mon, 25 Oct 2021 17:20:05 +0000 (19:20 +0200)]
Integrate ParserFieldsParameter with FieldsParameter
We have the baseline string parser reimplemented, which means we can
just interpret the list of selection nodes. Take out all the string
parsing code and reimplement the core loop, making things a lot clearer.
JIRA: NETCONF-820
Change-Id: I915794323a75937996a6a3ba693a10ab2878d910
Signed-off-by: Robert Varga <[email protected]>
Robert Varga [Mon, 25 Oct 2021 17:58:15 +0000 (19:58 +0200)]
Eliminate parenthesis* variables
These three variables are in fact constant and record initial state --
i.e. they shadow two of the method's arguments. So let's remove them
them and create a startLevel variable to hold the initial set.
JIRA: NETCONF-820
Change-Id: Ic31bf706b28c94edd8e63159c62455422b2f890f
Signed-off-by: Robert Varga <[email protected]>
Robert Varga [Mon, 25 Oct 2021 17:48:27 +0000 (19:48 +0200)]
Use full QName in ParserFieldsParameter
We have two subclasses, both of which end up creating a QName and
only use that. Create an intermediate private method to hold this
dispatch. This will make transition to FieldsParam easier.
JIRA: NETCONF-820
Change-Id: I036da1bad49ae5caa0333fac3ad1b868c8f42d94
Signed-off-by: Robert Varga <[email protected]>
Robert Varga [Mon, 25 Oct 2021 00:59:29 +0000 (02:59 +0200)]
Expose parameter names as String constants
Remove static methods in favor of proper constants. This allows us to
use switch statements instead of if/else. Since we are at it,
differentiate between unknown and known-but-invalid parameters.
JIRA: NETCONF-773
Change-Id: Id2a9b09f8cbb5688d1722fc7ee932be4c46ceac6
Signed-off-by: Robert Varga <[email protected]>