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>
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>
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>
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>
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>
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>
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>
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
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>
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>
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>
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>
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>
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>
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>
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>
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)
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
Robert Varga [Wed, 14 Oct 2020 12:20:12 +0000 (14:20 +0200)]
Move TransactionUtil.checkItemExists()
This method has a single user, move it there. Also mark
FutureCallbackTx.addCallback() for elimination, as it is obviously
blocking.
Change-Id: I2ce44a92b413f3b0fe1d381b63dd074f0dd55ea2
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
Robert Varga [Wed, 14 Oct 2020 11:26:29 +0000 (13:26 +0200)]
Refactor RestconfStrategy
This is part one of refactoring: a strategy implementation is only
dependent on the backing services, not on data being accessed.
Every caller should supply a strategy and the path separately, as
the strategy is an invariant.
Change-Id: Ibd6fbe8a8a734478cf764627402b2e02dd9fcd87
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
Robert Varga [Wed, 14 Oct 2020 10:45:40 +0000 (12:45 +0200)]
Remove an unneeded dependency
restconf-nb-bierman02 does not use yang-library, remove this
dependency.
JIRA: NETCONF-725
Change-Id: I7f24f8cf3e4347a0c5f64d517c74db5b69afd0be
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
Robert Varga [Wed, 14 Oct 2020 10:26:44 +0000 (12:26 +0200)]
Upgrade yang-library schema in sal-netconf-connector
Upgrade the schema used for determining the model set present
on the device. We will end up interpreting RFC7895 as RFC8525, which
is just fine.
JIRA: NETCONF-725
Change-Id: If74baa5476f84d511b7c28278cfc54749fb698b1
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
Robert Varga [Wed, 14 Oct 2020 09:42:07 +0000 (11:42 +0200)]
Squash registrations
Use a minimally-sized List instead of default allocation.
Change-Id: I58ce1082a96d546d66ce4ca59df14c20b2bc9d2a
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
PeterSuna [Wed, 7 Oct 2020 08:52:14 +0000 (10:52 +0200)]
Add SchemaSourceRegistration list to NetconfConnectorDTO
When a NetconfDevice is initialized, we keep track of it via
NetconfConnectorDTO. As a device actually can have some YANG Library
source attached to it, we are registering them as well, but we are
failing to unregister them.
Keep the registration list in the DTO and route close requests
towards it -- allowing us to also remove the registrations.
JIRA: NETCONF-675
Change-Id: Id1d5fb2ff23aad766273e22d5f6f6639300fb3a5
Signed-off-by: PeterSuna <peter.suna@pantheon.tech>
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
Luis Gomez [Mon, 12 Oct 2020 01:19:54 +0000 (18:19 -0700)]
Update NETCONF user documentation
- Remove old CSS configuration
- Add JSON payloads
Change-Id: I8eddf4f4cc505d9c3f872cdadacc9fc5a972380d
Signed-off-by: Luis Gomez <ecelgp@gmail.com>
Nikhil Soni [Mon, 25 May 2020 09:41:29 +0000 (15:11 +0530)]
Extend Websocket streams for data-less notifications
A new filter named "odl-skip-notification-data", similar to "odl-leaf-nodes-only", is added in the subscription API.
Using this filter, Client can get notification without data.
JIRA: NETCONF-689
Change-Id: I0cec77f69cb141fabc9f839c9a91626d3c667655
Signed-off-by: Nikhil Soni <nsoni@luminanetworks.com>
Robert Varga [Tue, 22 Sep 2020 15:45:10 +0000 (17:45 +0200)]
Bump MRI projects
This patch adopts:
- odlparent-7.0.6
- infrautils-1.8.1
- yangtools-5.0.6
- mdsal-6.0.5
- controller-2.0.4
Also adjust schema managers to work with IRSchemaSource instead
of ASTSchemaSource.
Change-Id: If1658111aad5f4c39a6e9dff844d3193994e943d
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
Vladyslav Marchenko [Tue, 25 Aug 2020 07:32:29 +0000 (10:32 +0300)]
If there is only one revision is present, return it.
JIRA: NETCONF-720
Signed-off-by: Vladyslav Marchenko <vladyslav.marchenko@pantheon.tech>
Change-Id: I9103ef41af9bda1681baddf853fb3f739c20b620
Robert Varga [Tue, 7 Jul 2020 18:05:01 +0000 (20:05 +0200)]
Use YangConstants.RFC6020_YIN_MEDIA_TYPE
application/yin+xml media type is an RFC6020 definition, and hence
its common definition lives in YangConstants. Use it for there
instead of brewing our own.
Change-Id: I6d9f9fd123ffa6db41994d55400bd8c640c6a1f4
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
Robert Varga [Wed, 26 Aug 2020 18:30:07 +0000 (20:30 +0200)]
Revert "Revert "Upgrade mina-sshd to 2.4.0""
This reverts commit
f25f45ff27c8a7c7df780df609ec33f6662ea61e,
re-bumping to 2.5.1.
JIRA: NETCONF-716
Change-Id: I520d807c50a8107c0189745cf56e0fbc75871230
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
Robert Varga [Fri, 31 Jul 2020 08:38:30 +0000 (10:38 +0200)]
Enable server heartbeats
When we configure the server to have any timeout, make sure we give
initiate a heartbeat at least three times before timing out. Also, if
we do not specify the idle timer, we need to disable NIO2 read timeout.
JIRA: NETCONF-716
Change-Id: I2c6ed07b5d3b29f6524b0ed99067895c4dfdc020
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
Robert Varga [Tue, 4 Aug 2020 16:57:21 +0000 (18:57 +0200)]
Disable NIO read timeout by default
Rework which timeouts are disabled, as we are hitting timeout
after 615 seconds.
JIRA: NETCONF-716
Change-Id: I98ef51b4346c2aee0c9c87d58035bc08ef2c77d1
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
Jamo Luhrsen [Tue, 4 Aug 2020 22:54:11 +0000 (15:54 -0700)]
Revert "Upgrade mina-sshd to 2.4.0"
This reverts commit
560e49a0c5d879e763eb82f737db92bc78a276d3
as well as
c2e07b76734c34a2fe88262530b4ac4a387b8ee7, as these
are suspected to cause a regression.
JIRA: NETCONF-716
Change-Id: Ie73f3a7b0b4f41e690b368035f212938916b40dd
Signed-off-by: Jamo Luhrsen <jluhrsen@gmail.com>
Jamo Luhrsen [Tue, 4 Aug 2020 22:06:18 +0000 (15:06 -0700)]
Revert "Expand rsa-ssh2 signatures"
This reverts commit
3453c508f27c64feb7220c84160a34df732b9738.
Signed-off-by: Jamo Luhrsen <jluhrsen@gmail.com>
Change-Id: Ib3d442178877c82c760a625ff5acaa546ba797d4
Jamo Luhrsen [Wed, 12 Aug 2020 22:54:35 +0000 (15:54 -0700)]
Extra superfluous edit-config RPC sent
Extra superfluous edit-config RPC sent just prior to correct edit-config
RPC for top-level lists POST & PUT to certain top-level lists in a
mounted device's model returns a 500 error via Restconf, although in
some cases (device-dependent) the config appears to have committed.
This problem first appeared in Boron-SR3, and continues in Carbon SR-1.
JIRA: NETCONF-482
Signed-off-by: Jamo Luhrsen <jluhrsen@gmail.com>
Change-Id: I718bda377245d884864e160f2566e7c3d8e62e47
Thanh Ha [Tue, 11 Aug 2020 19:28:32 +0000 (15:28 -0400)]
Bump conf.yaml versions to Silicon
Signed-off-by: Thanh Ha <zxiiro@gmail.com>
Change-Id: I010ef27ac4307e4b2b2c3a501ffb7561ece5ddaa
Robert Varga [Mon, 3 Aug 2020 16:56:38 +0000 (18:56 +0200)]
Do not use pattern matching for simple removal
This is a follow-up patch to improvee CR/LF stripping, as this
can be done much more efficiently.
Change-Id: If8104af82228ce94c3b40f3a3cd4f7baa12172ad
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
Oleksii Mozghovyi [Tue, 28 Jul 2020 13:09:29 +0000 (16:09 +0300)]
Remove deprecated GzipFilter from restconf
Issue-ID: NETCONF-602
Change-Id: I1aa08ccb83f45f26a6f8373d68feb35aa980d599
Signed-off-by: Oleksii Mozghovyi <oleksii.mozghovyi@pantheon.tech>
Thanh Ha [Wed, 5 Aug 2020 21:02:32 +0000 (17:02 -0400)]
Bump versions by x.(y+1).z for next dev cycle
Signed-off-by: Thanh Ha <zxiiro@gmail.com>
Change-Id: Ib353bd4b62d93941e45fa26cd58d1813d959675d
Lukas Baca [Wed, 3 Jun 2020 10:19:13 +0000 (12:19 +0200)]
RESTCONF RFC8040 compliance: SSE support
Add implementation of Server-Sent Events according to RFC8040
(https://tools.ietf.org/html/rfc8040#section-6) and make it the default behavior.
Previous behavior(websocket) is possible turn on by configuration.
Add example of config file which is located
in etc/org.opendaylight.restconf.nb.rfc8040.cfg, plus some javadocs.
JIRA: NETCONF-679
Change-Id: I3be8f25e10512b9972dbd42d3e48c03719e0704f
Signed-off-by: Lukas Baca <lbaca@luminanetworks.com>
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
Robert Varga [Mon, 3 Aug 2020 16:40:41 +0000 (18:40 +0200)]
Fix javadoc warnings
We have a number of warnings, fix them up.
Change-Id: I19525f5fb2b2f468fc74cef0ab4311d5ab95065d
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
Anna Bencurova [Tue, 28 Jul 2020 12:19:45 +0000 (14:19 +0200)]
Synchronize stop and reschedule keepalive methods
Synchronize to avoid stucked scheduled keepalive task. This is not
a perfect solution, but should work for now.
JIRA: NETCONF-715
Change-Id: I130507f3e6472c8b15eb027e40ab41c972f075ec
Signed-off-by: Anna Bencurova <Anna.Bencurova@pantheon.tech>
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
Robert Varga [Sun, 2 Aug 2020 08:18:43 +0000 (10:18 +0200)]
Clean up NetconfKeystoreAdapter
We can safely import java.security.KeyStore, simplifying code. Also
migrate to Objects.requireNonNull().
Change-Id: Iddd3cbfc8adb919833643294b7e99a5a0a07ace0
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
Robert Varga [Sun, 2 Aug 2020 08:07:40 +0000 (10:07 +0200)]
Convert sal-netconf-connector to OSGi DS
This is a very simple blueprint container, eliminate it in favor
of OSGi components.
Change-Id: I1b6636bc94b77cf33fb79fec65168c18b3c9794d
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
Nikhil Soni [Fri, 3 Jul 2020 07:35:54 +0000 (13:05 +0530)]
Add import for netconf-node-optional
This was missed in the initial work to add the
optional schema first added here:
https://git.opendaylight.org/gerrit/c/netconf/+/82521
Because of that, adding any of the optional configs
(e.g., datastore-lock) to the body of the create device
RPC was failing. importing it in netconf-node-topology
fixes that.
JIRA: NETCONF-670
Change-Id: I5fc72d9714e0fb4f1dfd26f161d2eb3dcfe8862a
Signed-off-by: Nikhil Soni <nsoni@luminanetworks.com>
Vladyslav Marchenko [Thu, 9 Jul 2020 14:27:22 +0000 (17:27 +0300)]
Add support of new a NetconfDataTreeService in clustered netconf
In NETCONF-312 was introduced a new service (NetconfDataTreeService) for exposing operations in their NETCONF-native form.
We need a proxy implementation of this new service for the slave which would forward the requests to master.
JIRA: NETCONF-706
Signed-off-by: Vladyslav Marchenko <vladyslav.marchenko@pantheon.tech>
Change-Id: I58cdc6791fb4476e64b474e95c12292a3a52e771
Robert Varga [Tue, 28 Jul 2020 11:26:18 +0000 (13:26 +0200)]
Use released version of infrautils
infrautils-1.8.0 has been released, use released version instead
of snapshots.
Change-Id: Iedc0e527b5ad4f5a43b9320561ee9935e4bd768e
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
Robert Varga [Sat, 11 Jul 2020 20:18:19 +0000 (22:18 +0200)]
Bump odlparent/yangtools/mdsal/controller
Adopt upstream versions:
- odlparent-7.0.5
- yangtools-5.0.5
- mdsal-6.0.4
- controller-2.0.3
Change-Id: Ia9d798ea1594582c563549a19c53d2b86871caf0
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
Anna Bencurova [Thu, 25 Jun 2020 12:16:02 +0000 (14:16 +0200)]
Add support for nested notifications to NetconfMessageTransformer
RFC7950 nested notifications are becoming the norm, yet we cannot
seem to grasp them. This patch adds preliminary support for decoding
them and shuffling them towards whoever may be consuming them.
JIRA: NETCONF-704
Change-Id: I63bebf87de93611f7c887f8b077e59000876aa84
Signed-off-by: Anna Bencurova <Anna.Bencurova@pantheon.tech>
(cherry picked from commit
a78077ff87fb40fe37eaddfbdd17e150a6b93e8c)
Nikhil Soni [Thu, 18 Jun 2020 16:31:36 +0000 (22:01 +0530)]
Fix missing stream leaf value
If any subscription is present, attempting to build the tree will be
rejected, as the leaf will not have a set value.
JIRA: NETCONF-700
Change-Id: I6d448ceb42605b268408c91844c5b08b0c8929eb
Signed-off-by: Nikhil Soni <nsoni@luminanetworks.com>
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
ajay_dp001 [Sun, 12 Jul 2020 07:21:17 +0000 (12:51 +0530)]
Fix Nested YANG 1.1 Action invocation
Invocation of action fails if the action is defined as an augmentation.
As it turns out the logic can be very much simplified by just cutting
the last item from YangInstanceIdentifier, as that points to the parent
(and hence context) of the action.
JIRA: NETCONF-696
Signed-off-by: ajay_dp001 <ajay.deep.singh@est.tech>
Change-Id: I1d5cd6f65ae4d040d36de5f24f6d76fe5076991f
Vladyslav Marchenko [Wed, 10 Jun 2020 09:19:19 +0000 (12:19 +0300)]
Create NetconfDataTreeService with base and additional operations for netconf
Service provided by netconf mountpoints. It provides an api for all netconf operations, instead of mapping mdsal api to netconf requests. Restconf now uses the new NetconfDataTreeService when available. If no - fall back to DOMDataBroker.
JIRA: NETCONF-312
Signed-off-by: Vladyslav Marchenko <vladyslav.marchenko@pantheon.tech>
Change-Id: I354449883b54c8a3a4e7ffdc12d7d532c8120b6a
Thanh Ha [Fri, 10 Jul 2020 14:30:22 +0000 (10:30 -0400)]
Do not fail on warnings for docs-linkcheck
This is a workaround due to sphinx-tabs being incompatible with the
Sphinx linkchecker which throws a warning. We mainly use linkchecker
to catch broken links so we don't really need to fail on warnings as
the main "docs" builder will still fail for warning level issues so
this is a reasonable workaround.
This patch also fixes some current broken links in the docs, mainly
wiki.odl to wiki-archive.odl as these docs have not been migrated
to the new wiki as of yet.
Signed-off-by: Thanh Ha <zxiiro@gmail.com>
Change-Id: I94d09ad6740efde204b4bb649623eedf346c3208
Anil Belur [Sun, 12 Jul 2020 00:54:24 +0000 (10:54 +1000)]
Add INFO.yaml for netconf
Signed-off-by: Anil Belur <abelur@linuxfoundation.org>
Change-Id: I63b57b8ebceae8f16e5588479580d50b6d7391de
Robert Varga [Fri, 10 Jul 2020 10:46:02 +0000 (12:46 +0200)]
Fix OperationsCreator javadoc
checkstyle is a bit more touchy, fix it up.
Change-Id: I39ad689d10ba508f2284cbc6cdf9c915ab5796c9
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
(cherry picked from commit
bdd71505b92999ea46d6aa683314100439cd8008)
Kailash Khalasi [Thu, 25 Jun 2020 00:30:48 +0000 (17:30 -0700)]
Make ETag header value more readable
for example:
this:
'ETag': '"2017-01-26streams"
is now this:
'ETag': '"2017-01-26-streams"
Change-Id: I44f943a0b77838f83c9dff123a750727f17ea98c
Signed-off-by: Kailash Khalasi <kailash.khalasi@gmail.com>
Robert Varga [Thu, 9 Jul 2020 14:50:44 +0000 (16:50 +0200)]
Fix module file name
Modules should have the same file name. While we are normalizing
them during processing, finding a particular model is troublesome.
Change-Id: I8b4bfb7cc8a5cda2c89f977b8b6d31cd9f3af1b6
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
Robert Varga [Wed, 8 Jul 2020 07:01:58 +0000 (09:01 +0200)]
Expand rsa-ssh2 signatures
With mina-sshd 2.5.0 we can also support openssh.com versions,
update the list to match.
Change-Id: I4440329912e928ba035e3f7ee9f73ef0f7cc9257
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
Robert Varga [Tue, 7 Jul 2020 16:46:41 +0000 (18:46 +0200)]
Bump mina-sshd to 2.5.1
https://github.com/apache/mina-sshd/blob/master/docs/changes/2.5.0.md
https://github.com/apache/mina-sshd/blob/master/docs/changes/2.5.1.md
Change-Id: I95b25909fad428a3ba61472cedc7d98c3ebe1532
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
Robert Varga [Tue, 7 Jul 2020 21:38:03 +0000 (23:38 +0200)]
Add rsa-sha2 signatures to default client
Netopeer2 can be configured to only allow rsa-sha2 signatures, in
which case we fail to connect to it. Add these to the list of
supported signatures by default.
Change-Id: I00a961e23c06c99dfca0043dd2129fc1438d0b94
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
Robert Varga [Wed, 8 Jul 2020 14:59:56 +0000 (16:59 +0200)]
Move CreateStreamUtil to rests.services.impl
Continue with elimination of 'util' classes by rehosting
CreateStreamUtil to the same package as the baseline implementation,
further simplifying things.
Change-Id: I5a6ace24daa05925645af542237724e83adfa4f4
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
Robert Varga [Wed, 8 Jul 2020 14:55:50 +0000 (16:55 +0200)]
Eliminate RestconfStreamsConstants.EQUAL
This is a simple character, inlining it into its users makes them
actually cleaner.
Change-Id: I5c41a81eb814fdf5403cf5696a892291981f29c5
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
Robert Varga [Wed, 8 Jul 2020 13:16:57 +0000 (15:16 +0200)]
Eliminate RestconfConstants.SLASH
This is a rather useless constant, which is just muddling things
up. Inline it into users, clearing some very surprising ways of use.
Change-Id: I7d98f670238c32fab32681d6084a9fe28bc8f0b3
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
Robert Varga [Wed, 8 Jul 2020 12:53:33 +0000 (14:53 +0200)]
Move SubscribeToStreamUtil to rests.services.impl
Overall structure of RestconfDataServiceImpl relying on a random
mix if 'util' classes is quite wrong, as demonstrated by
ReadDataTransactionUtil.readData(), which actually is very much
stream-specific and ends up *writing* data.
Start with SubscribeToStreamUtil, which pulls a chunk of utility
methods into rests/services/impl. This cleans up other utilities
and makes the package dependency graph a bit simpler.
Change-Id: Ia327182edde23364570f6f5d46044d3efe319fe2
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
Robert Varga [Wed, 8 Jul 2020 12:34:56 +0000 (14:34 +0200)]
Remove RestconfMapping{Node,Stream}Constants
These two classes are completely unreferenced, remove them.
Change-Id: I9d9fc3a94cadb245adc6a6bae3c39230bfc1898a
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
Robert Varga [Wed, 8 Jul 2020 11:58:01 +0000 (13:58 +0200)]
Cleanup ParserFieldsParameter
Parsing here is quite contrived, with character checks muddled by
constants, leading to multiply-checked conditions. Clean the code
up.
Change-Id: I89214596da5a714ea798eda9f8860c9d57656d83
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
Robert Varga [Wed, 8 Jul 2020 11:34:06 +0000 (13:34 +0200)]
Remove org.opendaylight.restconf.nb.rfc8040.utils.parser.builder
This package holds only a few constants, which are better
redistributed and kept where they are actually used.
Change-Id: I0fc614072e17df463615b1ea3544a3fae0fd659d
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
Robert Varga [Wed, 8 Jul 2020 13:06:05 +0000 (15:06 +0200)]
Migrate stream-related RestconfStreamsConstants
These protocol constants are referenced from a single implementation
place, make sure to move them there.
Change-Id: I273ceb9f4cfed698bd856deb49edd5bef8264310
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
Robert Varga [Wed, 8 Jul 2020 13:39:12 +0000 (15:39 +0200)]
JSONRestconfServiceRfc8040Impl is not AutoCloseable
This service has no cleanup, remove useless @PreDestroy method.
Change-Id: I113e0a08e301b9d4eae6b6706d3ce45bb8086002
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
Robert Varga [Wed, 8 Jul 2020 08:40:41 +0000 (10:40 +0200)]
Fix illegalCatch suppressions
We are catching multiple checked exceptions here, but really we are
being lazy. Enumerate caught exceptions and remove suppression.
Change-Id: Ia2d57baf109e19459c662d9e1e3ccd9373b7c08d
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
Robert Varga [Wed, 8 Jul 2020 08:57:12 +0000 (10:57 +0200)]
Remove bogus suppression
checkstyle:MissingSwitchDefault is no longer relevant here, remove
the suppression.
Change-Id: I7eea2b4b303a14160d461df52efd0f47afa26b5f
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
Robert Varga [Wed, 8 Jul 2020 08:44:44 +0000 (10:44 +0200)]
Package test-jar sources
Navigating sources tests in downstreams without sources is not
particularly nice. Add tests-sources.jar to all artifacts which
are producting test-jar.
Change-Id: I4b77ca4f9e45638271eec68370db1658f4c20779
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>