netconf.git
15 months agoRelease netconf v5.0.0
jenkins-releng [Wed, 11 Jan 2023 22:50:57 +0000 (22:50 +0000)]
Release netconf

15 months agoRemove Optional wrapping 74/103974/3
Robert Varga [Tue, 10 Jan 2023 22:57:00 +0000 (23:57 +0100)]
Remove Optional wrapping

We are needlessly verbose in what is essentially internal comms. Remove
the indirection, getting right of a weird .map(Function.identity()).

Change-Id: Ibe162079f9eb08b8602b8fa5216c217a9d33e333
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
15 months agoRemove ListenersBroker's enumerators 73/103973/3
Robert Varga [Tue, 10 Jan 2023 21:50:03 +0000 (22:50 +0100)]
Remove ListenersBroker's enumerators

We never enumerate these, remove the accessors.

Change-Id: If4a5a30ce803de4bdb5fa36c560636d1ad72a318
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
15 months agoDeprecate netconf-node-topology RPCs 94/103994/1
Robert Varga [Wed, 11 Jan 2023 17:43:37 +0000 (18:43 +0100)]
Deprecate netconf-node-topology RPCs

These RPCs are just augmenting the configuration datastore, deprecate
them for later removal.

JIRA: NETCONF-931
Change-Id: I6820a6111e9405dc58e198f8b782378efdf2bab8
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
15 months agoAdd WebContext names 93/103993/1
Robert Varga [Wed, 11 Jan 2023 17:30:05 +0000 (18:30 +0100)]
Add WebContext names

Provide descriptive names to each context we publish.

JIRA: NETCONF-940
Change-Id: I25558ad49bb6c5897a6c8bfb2a7195843cc48d61
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
15 months agoSimplify YangLibProvider 92/103992/1
Robert Varga [Wed, 11 Jan 2023 17:29:14 +0000 (18:29 +0100)]
Simplify YangLibProvider

Use a CharSource with UTF-8 encoding instead of manually constructing
strings.

Change-Id: Ib87a30321ccebb4c22920966fec86cf872ba2173
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
15 months agoModernize YangLibRestApp 91/103991/1
Robert Varga [Wed, 11 Jan 2023 17:28:27 +0000 (18:28 +0100)]
Modernize YangLibRestApp

Use Set.of() and make sure the service is not null.

Change-Id: I63c3feb978344ad08d794c3441890bfecb36d5cd
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
15 months agoBump aaa to 0.17.2 85/103985/2
Robert Varga [Wed, 11 Jan 2023 12:14:02 +0000 (13:14 +0100)]
Bump aaa to 0.17.2

Pick up features from upstream.

Change-Id: I8e0ce2bd0e291bd557e47ee2591aa0e3cbf9b0a2
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
15 months agoBind /notif to WebInitializer 83/103983/3
Robert Varga [Wed, 11 Jan 2023 01:01:13 +0000 (02:01 +0100)]
Bind /notif to WebInitializer

"/notif" is actually tied through WebInitializer, make sure that
connection is expressed in code.

Change-Id: I893fbece36ab8ec4d2fe30b3db9947f1521c9c71
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
15 months agoRemove LocalUriInfo 82/103982/2
Robert Varga [Wed, 11 Jan 2023 00:39:51 +0000 (01:39 +0100)]
Remove LocalUriInfo

This is a rather shortcut to jax-rs, ditch the indirection.

Change-Id: I4bf70723c3cc58396c32df3db24d3618759e7cfe
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
15 months agoMark RestconfStreamsSubscriptionService's fate 72/103972/2
Robert Varga [Tue, 10 Jan 2023 21:49:21 +0000 (22:49 +0100)]
Mark RestconfStreamsSubscriptionService's fate

This interface is going to be removed, mark a FIXME to that effect.

Change-Id: I4c6d43abca9b465c4467721c9196ba17fd8bd021
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
15 months agoNetconf Device Notification 67/93967/48
Nikhil Soni [Thu, 25 Aug 2022 11:36:59 +0000 (17:06 +0530)]
Netconf Device Notification

Requirement - HTTP client should be able to get Device notification
after subscription.

Implementation:
1. Added a new Device Notification Yang for Rest request which takes
 input of Device mount point path
2. Added a DeviceNotificationListenerAdaptor which is get registered
in Device Notification service (on Mount point)
3. Created a dynamic Rest Notification SSE HTTP rest url (Response of 1st rest
call )
4. Updated Test-tool for Notification

JIRA: NETCONF-745
Change-Id: I9cac35d0a7b0f79382d223ae4ec0ac4a3ce2bae9
Signed-off-by: Nikhil Soni <nikk.sonitech@gmail.com>
Signed-off-by: nikhil.soni.lumina <nikk.sonitech@gmail.com>
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
15 months agoSplit out restconf-api 25/103925/3
Robert Varga [Wed, 4 Jan 2023 20:28:50 +0000 (21:28 +0100)]
Split out restconf-api

We have a ton of constructs which constitute a RFC8040 binding to Java.
Split those out into restconf-api.

Change-Id: I2660b6b17c0d024534e630c5a62c82844b3894f0
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
15 months agoUse switch expressions in QueryParams 24/103924/1
Robert Varga [Wed, 4 Jan 2023 20:51:35 +0000 (21:51 +0100)]
Use switch expressions in QueryParams

This is a tad more expressive.

Change-Id: I52a42c01227228823516021586da07d472f9f8ff
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
15 months agoModernize ApiPath 23/103923/1
Robert Varga [Wed, 4 Jan 2023 19:11:40 +0000 (20:11 +0100)]
Modernize ApiPath

Use instanceof patterns throughout to reduce explicit casts.

Change-Id: I7b25e311686f0fb91b764f6a4e4f7e0e0dc44b04
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
15 months agoCorrect CREDENTIALS_NODE_IDENTIFIER 17/103917/2
Robert Varga [Tue, 3 Jan 2023 22:13:27 +0000 (23:13 +0100)]
Correct CREDENTIALS_NODE_IDENTIFIER

The 'credentials' item needs to be properly rooted in
netconf-node-topology, otherwise we will end up with failures to
serialize the payload. Also intern new QNames while we are near them.

JIRA: NETCONF-936
Change-Id: Iaf2c067d1b1ae0ceed732f52964ce586ec6ea819
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
15 months agoMove netconf{-client,impl,util} to protocol/ 02/103902/1
Robert Varga [Tue, 3 Jan 2023 09:23:20 +0000 (10:23 +0100)]
Move netconf{-client,impl,util} to protocol/

These three artifacts are the API and client and server implementations
-- make sure we keep them in protocol/.

Change-Id: Iba32fb7533c5f1214bcb43a57cb06d2ccc2920df
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
15 months agoMove netconf-dom-api 00/103900/1
Robert Varga [Tue, 3 Jan 2023 09:12:26 +0000 (10:12 +0100)]
Move netconf-dom-api

netconf-dom-api is part of MD-SAL level integration, hence it should
live among plugins.

Change-Id: I887071ee77336e2da8b97d7849c425db18574da2
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
15 months agoMove netconf-api to protocol/ 99/103899/1
Robert Varga [Mon, 2 Jan 2023 18:39:25 +0000 (19:39 +0100)]
Move netconf-api to protocol/

netconf-api is MD-SAL independent protocol-level API, move it to
protocol/ top-level directory.

Change-Id: I5fc4f3fed415bed00f6a84a1cbba9a7eb2e1b99b
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
15 months agoMove sal-netconf-connector to plugins/ 98/103898/1
Robert Varga [Mon, 2 Jan 2023 18:37:06 +0000 (19:37 +0100)]
Move sal-netconf-connector to plugins/

sal-netconf-connector provides integration with MD-SAL, move it to
plugins/ directory.

Change-Id: I3b632f93ecf2fe4f7646b9127fead420de2cc2c5
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
15 months agoMove netconf-console to apps/ 97/103897/1
Robert Varga [Mon, 2 Jan 2023 18:34:08 +0000 (19:34 +0100)]
Move netconf-console to apps/

netconf-console a typical application, move it to apps.

Change-Id: I35f81c663f910d1cdefa8e6c147fa88e405a0a88
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
15 months agoMove shaded components to third-party/ 95/103895/2
Robert Varga [Mon, 2 Jan 2023 17:12:47 +0000 (18:12 +0100)]
Move shaded components to third-party/

In order to make the project more navigable, separate out shaded
artifacts to a new top-level directory.

Change-Id: I227c8338c61b8f341cf4c6aa37cb6715db1f7ff3
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
15 months agoMove netconf topology applications in apps/ 94/103894/2
Robert Varga [Mon, 2 Jan 2023 17:01:03 +0000 (18:01 +0100)]
Move netconf topology applications in apps/

As of making the project better navigable, introduce apps/ top-level
directory, which hosts end-to-end applications.

Populate this with netconf-topology-* and callhome-provider, as these
are "NETCONF over network-topology" applications.

Change-Id: Ia1d9ca8bed3ec644261ab268008245c463beeb60
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
15 months agoAdd changed-leaf-nodes-only subscription extension 55/99855/22
Peter Puškár [Mon, 7 Nov 2022 12:37:17 +0000 (13:37 +0100)]
Add changed-leaf-nodes-only subscription extension

The behaviour of this extension is almost the same of
the odl-leaf-nodes-only except additional check is performed
where nodes containing the same data after write into them
are not contained in the notification that is being sent.
Unit tests contain cases for nested choice node serialization

JIRA: NETCONF-862
Change-Id: I9775b51b782f30161c6e33f5a0ac36326eb47d44
Signed-off-by: Peter Puškár <ppuskar@frinx.io>
Signed-off-by: Branislav Malo <bmalo@frinx.io>
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
15 months agoCleanup netconf dependencies a bit 83/103883/3
Robert Varga [Mon, 2 Jan 2023 10:47:02 +0000 (11:47 +0100)]
Cleanup netconf dependencies a bit

We have a ton of warnings on used/unused dependencies, clean them up a
bit.

Change-Id: I4435e95f547cd86873031f911188746363b2d82f
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
15 months agoMove netconf-node-{optional,topology}.yang 80/103880/2
Robert Varga [Sun, 1 Jan 2023 22:34:05 +0000 (23:34 +0100)]
Move netconf-node-{optional,topology}.yang

This is the final bit of making sal-netconf-connector independent of
netconf-topology.yang

JIRA: NETCONF-913
Change-Id: If94b2623bba3d5576e27075eecc3ca5772626eaf
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
15 months agoMove DEFAULT_TOPOLOGY_NAME 77/103877/2
Robert Varga [Sun, 1 Jan 2023 21:54:48 +0000 (22:54 +0100)]
Move DEFAULT_TOPOLOGY_NAME

RemoteDeviceId has no connection to topology, move DEFAULT_TOPOLOGY_NAME
and related constants to a better place.

JIRA: NETCONF-913
Change-Id: Ic54f8484c052a74579f9c35751f3e31478de557c
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
15 months agoMove DEFAULT_TOPOLOGY_IID 76/103876/3
Robert Varga [Sun, 1 Jan 2023 20:52:48 +0000 (21:52 +0100)]
Move DEFAULT_TOPOLOGY_IID

This is a pure topology construct, move it up one layer, further
reducing dependencies.

Change-Id: I3d10bc9caa53f2d1a0dcda2415effbd595a0ffc6
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
15 months agoMove RemoteDeviceId 75/103875/3
Robert Varga [Sun, 1 Jan 2023 20:45:34 +0000 (21:45 +0100)]
Move RemoteDeviceId

The class has lost most of its baggage and can now be promoted to an API
contract next to NetconfDeviceSchemasResolver, which is using it.
Reduces package tangle quite a bit.

JIRA: NETCONF-913
Change-Id: Ic662a9d972ac6f2e7adeb0a26ad5f976a5199ac8
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
15 months agoTurn RemoteDeviceId into a simple record 74/103874/2
Robert Varga [Sun, 1 Jan 2023 20:21:52 +0000 (21:21 +0100)]
Turn RemoteDeviceId into a simple record

There is no logic here and it is absolutely clear that this is just a
holder for two arguments.

Having record semantics actually helps, as we include the IP address
with toString(), which helps debugging.

JIRA: NETCONF-913
Change-Id: I1749d1d458a3ad2ba3b82b121b850caf5b9471b6
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
15 months agoRemove RemoteDeviceId.getTopologyPath() 73/103873/1
Robert Varga [Sun, 1 Jan 2023 20:09:54 +0000 (21:09 +0100)]
Remove RemoteDeviceId.getTopologyPath()

The name 'topologyPath()' implies attachment to network-topology,
whereas we only care about this being a valid path for
DOMMountPointService.

Eliminate this property and push the singleton value out to
NetconfDeviceMount for further processing.

JIRA: NETCONF-913
Change-Id: I70b4ac06a78c01fa3e0caf530bc4d6b36acae925
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
15 months agoRemove RemoteDeviceId.getTopologyBindingPath() 72/103872/3
Robert Varga [Sun, 1 Jan 2023 19:17:58 +0000 (20:17 +0100)]
Remove RemoteDeviceId.getTopologyBindingPath()

This path is only used transiently by netconf-topology components,
move the responsibility back to them, instantiating the path as needed.

JIRA: NETCONF-913
Change-Id: Iee8a62b9b181324a7ccc51cf3d9e70d37bf3c66f
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
15 months agoReuse bindingTopologyPath key 71/103871/2
Robert Varga [Sun, 1 Jan 2023 18:45:47 +0000 (19:45 +0100)]
Reuse bindingTopologyPath key

Since we are accessing the path, we really can just use the key created
therein.

JIRA: NETCONF-913
Change-Id: I853103803905d310e385be6968afe26a5f597f9c
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
15 months agoAnnotate non-null properties 70/103870/2
Robert Varga [Sun, 1 Jan 2023 18:45:01 +0000 (19:45 +0100)]
Annotate non-null properties

We will be passing things around from RemoteDeviceId, make sure
users get the best possible service.

JIRA: NETCONF-913
Change-Id: I6d8871d3d6befc052725281345333b6dbeb3c8f8
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
15 months agoSwitch RemoteDeviceId equality to topologyPath 69/103869/2
Robert Varga [Sun, 1 Jan 2023 18:30:15 +0000 (19:30 +0100)]
Switch RemoteDeviceId equality to topologyPath

We have two requivalent representations here, but topologyPath really
wants to be called mountPath().

JIRA: NETCONF-913
Change-Id: I2be7da552ab4cea5185b589d84878d7e6bb5f5ef
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
15 months agoRemove RemoteDeviceId.getBindingKey() 68/103868/2
Robert Varga [Sun, 1 Jan 2023 18:23:17 +0000 (19:23 +0100)]
Remove RemoteDeviceId.getBindingKey()

We expose this as the instance identifier already and there are no users
anyway.

JIRA: NETCONF-913
Change-Id: I38ad921fb321014167d59fe1f2a7932fcdc06087
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
15 months agoRename MountInstance to NetconfDeviceMount 65/103865/2
Robert Varga [Sun, 1 Jan 2023 17:20:58 +0000 (18:20 +0100)]
Rename MountInstance to NetconfDeviceMount

We have a rather useless indirection of components via
NetconfDeviceSalProvider. Eliminate it and promote the only part we care
about to a top-level construct.

Even this may prove unnecessary, as proper lifecycle would just track
the mount point within NetconfDeviceSalFacade. That requires more work
though, so we correctly integrate with netconf-topology-singleton, which
is doing its own thing.

JIRA: NETCONF-918
Change-Id: I014fe4953d4f832b8a9ad43cec95d3d961949716
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
15 months agoMove NetconfDeviceTopologyAdapter 61/103861/4
Robert Varga [Sun, 1 Jan 2023 16:05:41 +0000 (17:05 +0100)]
Move NetconfDeviceTopologyAdapter

NetconfDeviceTopologyAdapter is updating the datastore view of the
device, and as such is tied to the fact that this is network topology.
Move the class out, opting to specialize NetconfDeviceSalFacade instead.

JIRA: NETCONF-918
Change-Id: I24115bee0f97852d4c4cfa09152fdeeab2395965
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
15 months agoUse Files.readString() 60/103860/1
Robert Varga [Sun, 1 Jan 2023 15:03:08 +0000 (16:03 +0100)]
Use Files.readString()

Rather than relying on default charset and going through bytes
ourselves, use the Java 11+ method for that.

Change-Id: Ibea40f0d28a6627237ee21c4257356f21237f0f0
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
15 months agoRename netconf.api.ModifyAction to EffectiveOperation 58/103858/3
Robert Varga [Sun, 1 Jan 2023 14:20:30 +0000 (15:20 +0100)]
Rename netconf.api.ModifyAction to EffectiveOperation

This enum has a rather misleading name, as it really is talking about
operations in two contexts -- either an actual operation or the set
default operation. Combined this amounts to the effective operation on
a DataTree.

Let us call it EffectiveOperation, as it ends up being the combination
of default-operation and a potentially-absent explicit operation.

JIRA: NETCONF-932
Change-Id: I1dcf0ffd54fdcf7c7cc853ef595e1a04e69a3147
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
15 months agoEliminate LockChangeListener 44/103844/2
Robert Varga [Sat, 31 Dec 2022 17:45:16 +0000 (18:45 +0100)]
Eliminate LockChangeListener

Configuration of netconf-sal-provider should not directly depend on the
datastore. Move the single leaf from netconf-node-optional into
odl-netconf-device:datastore-access grouping and let users propagate it
via normal configuration updates.

This removes a race as well as explicitly deals with lifecycle of the
device when the configuration is changed.

JIRA: NETCONF-921
Change-Id: I07ba946bdef56dfc9ba958384188d93a32e2d974
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
15 months agoIntegrate createTopologyListPath() 43/103843/1
Robert Varga [Sat, 31 Dec 2022 17:01:57 +0000 (18:01 +0100)]
Integrate createTopologyListPath()

This is a single-user private method, just inline it to its sole caller.

Change-Id: I998bd1548e4f8e125d429f708b398c691c33c4de
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
15 months agoMove NetconfTopologyRPCProvider 42/103842/1
Robert Varga [Sat, 31 Dec 2022 16:39:55 +0000 (17:39 +0100)]
Move NetconfTopologyRPCProvider

We have a proper place for topology-related classes, move
NetconfTopologyRPCProvider so it does not clutter sal-netconf-connector.

JIRA: NETCONF-935
Change-Id: Idbe894671fcc53ac18972e3e9385eed831108ae6
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
15 months agoDo not use null input for discard-changes 25/103725/2
Sangwook Ha [Wed, 21 Dec 2022 18:27:10 +0000 (10:27 -0800)]
Do not use null input for discard-changes

There is already a NormalizedNode defined in NetconfMessageTransformUtil
for the content of the 'discard-changes' RPC.

Use the static variable instead of 'null'. This would make message
transformation more robust and fix an error caused by an augmentation
to the RPC input while generating NetconfMessage.

JIRA: NETCONF-934
Change-Id: I38777313d74e92bd955248ceea78e765729d9259
Signed-off-by: Sangwook Ha <sangwook.ha@verizon.com>
15 months agoEliminate TransportType 70/103770/2
Robert Varga [Thu, 29 Dec 2022 20:35:26 +0000 (21:35 +0100)]
Eliminate TransportType

This enumeration mirrors Protocol.Name we have already modeled in
odl-netconf-device. Reuse the definition, bringing the two plugins
closer together.

Change-Id: Id0b046d44ea14afb82247bdb8bcd08a3bedec4e5
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
15 months agoSplit out odl-netconf-device.yang 46/103746/4
Robert Varga [Sun, 25 Dec 2022 22:57:48 +0000 (23:57 +0100)]
Split out odl-netconf-device.yang

We have a ton of configuration details tied directly to
ietf-network-topology. We want these constructs to be reusable, so that
the equivalent can be modeled in contexts.

This patch splits out the groupings into their own module, allowing them
to be reused.

JIRA: NETCONF-922
Change-Id: Idc8d6bed4f58137b75d2b4f798d972545274144f
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
15 months agoMigrate getResult()/getErrors() callers 48/103748/2
Robert Varga [Thu, 29 Dec 2022 20:11:15 +0000 (21:11 +0100)]
Migrate getResult()/getErrors() callers

These are deprecated, migrate their users.

Change-Id: I069d6e535ba1edcbd56f8ef2953db351c9837140
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
15 months agoFix duplicate in error message 56/103656/4
Ivan Hrasko [Mon, 12 Dec 2022 08:46:47 +0000 (09:46 +0100)]
Fix duplicate in error message

Fix duplicate occurrence of yang-ext:mount in error message
when operation is not found.

JIRA: NETCONF-926
Change-Id: I2d8f9f1e2f1c4257e3802f7e2df983597f34c6c4
Signed-off-by: Ivan Hrasko <ivan.hrasko@pantheon.tech>
15 months agoBump upstreams 68/103168/26
Robert Varga [Tue, 8 Nov 2022 21:12:45 +0000 (22:12 +0100)]
Bump upstreams

Adopt:
- odlparent-12.0.1
- infrautils-5.0.1
- yangtools-10.0.2
- mdsal-11.0.3
- controller-7.0.1
- aaa-0.17.1

Change-Id: I08a761ecedf214fa7cb451eb7e97b0c10a652753
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
15 months agoSplit up RESTCONF contexts 47/103747/1
Robert Varga [Mon, 26 Dec 2022 12:47:08 +0000 (13:47 +0100)]
Split up RESTCONF contexts

contextPath("/") is not valid and the only reason we need to use it that
we register two separate entities: /rests for RFC8040 endpoints and
/.well-known for resource discovery.

Split these into two registrations, so that we can form a proper prefix.
Also note that discovery is only started after RESTCONF is started.

Change-Id: I9cda36f86296399b78a19be36ea20fda38e35c79
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
15 months agoSpecialize SchemalessRpcService 24/103724/5
Robert Varga [Tue, 20 Dec 2022 18:27:59 +0000 (19:27 +0100)]
Specialize SchemalessRpcService

SchemalessRpcService really operates on DOMSources, without the need to
explicitly encapsulate with DOMSourceAnyxmlNode. This forces us to
specialize RpcTransformer, which in turn flushes out the need to remove
default handling and actually pass down RpcResult<M> -- which only makes
sense.

JIRA: NETCONF-669
Change-Id: Id0764cf6c00d764168c3b42c83fdc7a3e41d5ae6
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
15 months agoSplit up MessageTransformer 23/103723/3
Robert Varga [Tue, 20 Dec 2022 17:50:48 +0000 (18:50 +0100)]
Split up MessageTransformer

We have three groups of methods in one interface and we need to
correctly separate their implementations, as not everything can be a
DOMRpcResult.

JIRA: NETCONF-669
Change-Id: I39452c7050cd5c7da46910f708d37ef17caac279
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
15 months agoDitch use of SchemaAwareBuilders 00/103400/19
Robert Varga [Sun, 18 Dec 2022 22:25:39 +0000 (23:25 +0100)]
Ditch use of SchemaAwareBuilders

We use the builders only for output validation and creating node
identifiers. Let's not to that and use simple builders.

Also change calling convention to use children, so that we can have some
code reuse independent of the parent, leading to a significant reduction
of duplicate code.

JIRA: NETCONF-917
Change-Id: I754213530ac5407a06dce5c3144d8a0a30a3ba1f
Signed-off-by: tobias.pobocik <tobias.pobocik@pantheon.tech>
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
15 months agoDo not send 'commit' to the devices without candidate 93/103693/6
Sangwook Ha [Fri, 16 Dec 2022 01:06:05 +0000 (17:06 -0800)]
Do not send 'commit' to the devices without candidate

The 'commit' RPC should not be sent to the devices only with
'writable-running' and without 'candidate' capability.

Override the commit method for the 'Running' NetconfDataTreeService
to immediately return a DomRpcResult without any errors.

JIRA: NETCONF-933
Change-Id: Ic0e51135e3ae347213d8ef8dbc03deb282d47af3
Signed-off-by: Sangwook Ha <sangwook.ha@verizon.com>
15 months agoCreate RemoteDeviceServices.{Actions,Rpcs} 10/103210/19
Robert Varga [Fri, 11 Nov 2022 18:26:31 +0000 (19:26 +0100)]
Create RemoteDeviceServices.{Actions,Rpcs}

Provide proper encapsulation of action and RPC invocation strategies. We
do not define schema-less actions, as those cannot be supported, but
keep our options open for future.

This flushes out the need to have SchemalessRpcService to cover generic
schema-less use case, but also NetconfRpcService, which works on base
NETCONF rpcs -- and that is used by most of sal-netconf-connector.

Also update tests to use Futures instead of FluentFutures and simplify
any(Class) to any(), as we have accurate types already.

JIRA: NETCONF-930
Change-Id: I75f1cb67f50a295bbce6638009d663444a48ca9c
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
16 months agoRework KeepaliveTask lifecycle 91/103691/1
Robert Varga [Thu, 15 Dec 2022 18:58:05 +0000 (19:58 +0100)]
Rework KeepaliveTask lifecycle

We will need to specialize KeepaliveTask for particular device RPCs,
which makes its interplay with deviceServices problematic. Make sure
the RPCs are passed to the task and guard task access with null checks,
clearing them on disconnect.

JIRA: NETCONF-930
Change-Id: Ib376118a67c0d1688d5e6a6b1c1354911c734d5f
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
16 months agoSimplify OperationsContext with yangtools 7.0.9+ 73/103673/8
OleksandrZharov [Wed, 14 Dec 2022 16:18:23 +0000 (17:18 +0100)]
Simplify OperationsContext with yangtools 7.0.9+

Simplified the logic in OperationsContent class with usage of
features available in yangtools 7.0.9.

Now we use EffectiveModelContext#findModuleStatements to find module
statements already sorted by revision.

JIRA: NETCONF-927
Change-Id: I5f0d3e310ac6cf499cb93c6e47e7142cf8653962
Signed-off-by: OleksandrZharov <Oleksandr.Zharov@pantheon.tech>
Signed-off-by: Ivan Hrasko <ivan.hrasko@pantheon.tech>
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
16 months agoDo not pass SchemaContext to DeviceActionFactory 77/103677/2
Robert Varga [Wed, 14 Dec 2022 22:33:04 +0000 (23:33 +0100)]
Do not pass SchemaContext to DeviceActionFactory

The transformer already holds a MountPointContext and we are not using
the SchemaContext anyway.

Change-Id: Ifa49153ad3e534854a6fcdde7997e080ff13962f
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
16 months agoUpdate Patterns.ask() interactions 76/103676/2
Robert Varga [Wed, 14 Dec 2022 22:34:19 +0000 (23:34 +0100)]
Update Patterns.ask() interactions

User a direct OnComplete callback instead of declaring a local variable.
Makes for cleaner code.

Change-Id: I0b147a660d4e54c68eec3f7471251bfe40b989ab
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
16 months agoAdd RemoteDeviceServices 53/103653/10
Robert Varga [Sat, 10 Dec 2022 14:52:08 +0000 (15:52 +0100)]
Add RemoteDeviceServices

Centralize services to allow their being partially implemented. Also
clean up device instantiation, so that we get some clarity as to what
is (mostly) going on.

JIRA: NETCONF-914
Change-Id: I4195ff5b94b2d4fb5f074ae86fd7b4e6b0ad7f9d
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
16 months agoUse NodeIdentifier to identify datastores 75/103675/1
Robert Varga [Wed, 14 Dec 2022 16:52:24 +0000 (17:52 +0100)]
Use NodeIdentifier to identify datastores

We can use pre-cached NodeIdentifiers to lower GC pressure when flinging
documents.

Change-Id: I2913c109677a3ffb40263bbadf69216a082e19b1
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
16 months agoReuse rollback leaf 74/103674/1
Robert Varga [Wed, 14 Dec 2022 16:13:27 +0000 (17:13 +0100)]
Reuse rollback leaf

This is a constant document, reuse it across invocations.

Change-Id: I28b5e234aaba5c6c0e44bf42637ea8c4101c8185
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
16 months agoClean up NetconfBaseOps 70/103670/3
Robert Varga [Wed, 14 Dec 2022 02:39:44 +0000 (03:39 +0100)]
Clean up NetconfBaseOps

Eliminate duplicated code and modernize dispatch.

Change-Id: I8c37057fb1993541df7ce772777cba891c42a097
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
16 months agoClean up ModifyAction 69/103669/1
Robert Varga [Wed, 14 Dec 2022 01:55:59 +0000 (02:55 +0100)]
Clean up ModifyAction

Document ModifyAction and modernize it. This allows a number of users to
rely on new interfaces, eliminating interactions with Locale.

Change-Id: If471c823e38c363e06a69cfd05923cdcb2f68a1a
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
16 months agoUse local deviceRpc 58/103658/1
Robert Varga [Mon, 12 Dec 2022 13:51:39 +0000 (14:51 +0100)]
Use local deviceRpc

Do not access the field, use local variable instead.

Change-Id: Ie8cb80e346fea5efa28d16d6aaee1e4c4c0db53d
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
16 months agoAdd tests for ReadDataTransactionUtil WithDefaultParameters 91/103491/4
tobias.pobocik [Thu, 1 Dec 2022 08:19:17 +0000 (09:19 +0100)]
Add tests for ReadDataTransactionUtil WithDefaultParameters

The part of code where default parameter is used was entirely not tested.
Added model to create schema context and tests for testing the functionality.

Signed-off-by: tobias.pobocik <tobias.pobocik@pantheon.tech>
Change-Id: I53493185c40748fa00bfc0c489df743b209fbf43

16 months agoFixup NetconfDeviceCommunicator 52/103652/1
Robert Varga [Sat, 10 Dec 2022 08:55:59 +0000 (09:55 +0100)]
Fixup NetconfDeviceCommunicator

UserPreferences changed methods, fix that up.

JIRA: NETCONF-920
Change-Id: Ie1d15c8f4b1fcbd17f4ebe0a357416c38fb15af8
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
16 months agoTurn UserPreferences into a record 29/103629/7
Robert Varga [Thu, 8 Dec 2022 02:08:52 +0000 (03:08 +0100)]
Turn UserPreferences into a record

This is a pure DTO, turn it into a record.

JIRA: NETCONF-920
Change-Id: I413d6ae35d498f98774e3570588c777a5b605519
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
16 months agoNetconfSessionPreferences is a record 28/103628/6
Robert Varga [Thu, 8 Dec 2022 02:04:08 +0000 (03:04 +0100)]
NetconfSessionPreferences is a record

Make this class a record, as it is just a simple holder. Mutators are
still confusing, we will deal with that later.

JIRA: NETCONF-920
Change-Id: I72bea3729591b46167c025d62b0c6f91ef04c810
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
16 months agoDisconnect NetconfDeviceCapabilities and NetconfSessionPreferences 12/103612/32
Robert Varga [Tue, 6 Dec 2022 11:13:46 +0000 (12:13 +0100)]
Disconnect NetconfDeviceCapabilities and NetconfSessionPreferences

NetconfDeviceCapabilities are schema-dependent and dynamically derived
during schema match. Split these two, so that both can become
completely immutable.

This requires reworking NetconfDevice, so that it keeps the fields
needed for tracking internally.

JIRA: NETCONF-920
Change-Id: Iaed0452680a625b5bf62f5a4d617aad30d86c971
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
16 months agoRemove no-schema reconnect 22/103622/22
Robert Varga [Tue, 6 Dec 2022 23:19:17 +0000 (00:19 +0100)]
Remove no-schema reconnect

AbstractNetconfTopology has all the tools it needs to react to device's
failure to establish context, yet we use bonkers routing to the config
datastore and tickle reconnect there.

Remove this code and issue a warning when an attempt to use is made. At
some point we will reimplement this correctly.

JIRA: NETCONF-925
Change-Id: Iaf52f268d7e12f60fd2300d345fbc8c9d30a4c21
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
16 months agoCreate extractUserCapabilities() 34/103634/3
Robert Varga [Thu, 8 Dec 2022 19:52:27 +0000 (20:52 +0100)]
Create extractUserCapabilities()

We have a masked code duplication. Make sure we remove it, so that
we allocate UserPreferences in a unified way.

Change-Id: I0fd938ca4c54898c0c899fc92d114199c00bfa42
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
16 months agoRemove NetconfDeviceFacade.salRegistrations() 35/103635/3
Robert Varga [Thu, 8 Dec 2022 19:56:40 +0000 (20:56 +0100)]
Remove NetconfDeviceFacade.salRegistrations()

This field is unused, remove it.

Change-Id: If7ede429196a5136f8680cef2ba245a4c996cf65
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
16 months agoDo not store Optional in NetconfDeviceCommunicator 33/103633/2
Robert Varga [Thu, 8 Dec 2022 18:32:19 +0000 (19:32 +0100)]
Do not store Optional in NetconfDeviceCommunicator

The instantiation pattern can be made significantly better without an
Optional, which leads to quite a bit of simplification.

Change-Id: I9e67ff28faa1d4ac4fc99c3632409ed77cdf381e
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
16 months agoRemove AbstractNetconfTopology.createSalFacade() 32/103632/2
Robert Varga [Thu, 8 Dec 2022 18:13:13 +0000 (19:13 +0100)]
Remove AbstractNetconfTopology.createSalFacade()

This method is implemented twice in the same manner -- remove it
and clean up its sole user based on the newly-found type safety,
as we are always routing to a NetconfDeviceSalFacade.

Change-Id: Ia7173652241fc6f6f4cfbcea914f9611eebbe869
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
16 months agoClean up NetconfTopologyContext 31/103631/2
Robert Varga [Thu, 8 Dec 2022 17:56:56 +0000 (18:56 +0100)]
Clean up NetconfTopologyContext

Do not import scala.Future, simplify OnComplete declaration and require
serviceGroupIdent.

Change-Id: I8d82f8482a4b0d3afc85aca0715c3ae95409a589
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
16 months agoNotificationFilter should be a predicate 30/103630/1
Robert Varga [Thu, 8 Dec 2022 17:00:00 +0000 (18:00 +0100)]
NotificationFilter should be a predicate

There is no point in passing back the notification through an optional,
just return filtering true/false.

Change-Id: I1275247cdfcf3c1c683b218ae4170263da54a3f5
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
16 months agoImprove failure message 20/103620/13
Robert Varga [Tue, 6 Dec 2022 23:07:14 +0000 (00:07 +0100)]
Improve failure message

When we are failing a future, make sure to include the name of the node.

Change-Id: If721b9dcef4b9fca23d087db6be3b73897008575
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
16 months agoComplete future outside of lock 19/103619/14
Robert Varga [Tue, 6 Dec 2022 22:41:32 +0000 (23:41 +0100)]
Complete future outside of lock

We should not be completing futures while holding locks, as that can
lead to deadlocks. Move completion to once we have released to lock.

JIRA: NETCONF-924
Change-Id: Ic75e953bafa0b15372588a9f5c79c9436a876002
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
16 months agoMove DeviceSources registration 17/103617/13
Robert Varga [Tue, 6 Dec 2022 17:56:09 +0000 (18:56 +0100)]
Move DeviceSources registration

Minimize DeviceSources collection exposure by defining better APIs.
This improves isolation and potential clashes.

JIRA: NETCONF-920
Change-Id: I20132725b538f46680f2546d4c91c9960e3b367a
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
16 months agoClean up buildDataForNetconfNode() 21/103621/14
Robert Varga [Tue, 6 Dec 2022 23:21:37 +0000 (00:21 +0100)]
Clean up buildDataForNetconfNode()

This method does not use node or dsType, do not pass them in. Also
inline builders and use ImmutableList for capabilities. As it turns
out we have code duplication here, which we squash as well.

Change-Id: I9bc535ff968a1a017787a65b226f4fc8898cd652
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
16 months agoMake sure NetconfSessionPreferences are immutable 09/103609/16
Robert Varga [Tue, 6 Dec 2022 10:46:30 +0000 (11:46 +0100)]
Make sure NetconfSessionPreferences are immutable

Make sure internal maps are immutable and juggle things around a bit for
clarity -- especially NetconfDeviceCapabilities which was hiding at the
very bottom of the file.

JIRA: NETCONF-920
Change-Id: Ice1224ad2291912221c321d74ac7e2e66439cb89
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
16 months agoMove transaction chain handling 07/103607/17
Robert Varga [Mon, 5 Dec 2022 23:36:25 +0000 (00:36 +0100)]
Move transaction chain handling

NetconfDeviceTopologyAdapter is the only thing using DataBroker, push
the transaction chain lifecycle management into it.

JIRA: NETCONF-918
Change-Id: I137bd759204be283e09e98ae88dfc4d8484ce8be
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
16 months agoSimplify NetconfDeviceTopologyAdapter datastore interactions 06/103606/16
Robert Varga [Mon, 5 Dec 2022 21:29:56 +0000 (22:29 +0100)]
Simplify NetconfDeviceTopologyAdapter datastore interactions

RemoteDeviceId holds a reference to device topology, which should be
managed by the user before an adapter is ever instantiated for that
device.

Reduce implicit coupling to default topology by requiring the source of
RemoteDeviceId to properly initialize the operational datastore, such
that it ensures the referenced topology actually exists.

This reduces the overhead for each adapter by two fields, as they are
absolutely superfluous when proper lifecycle is present.

To ensure this happens for AbstractTopology-derived topologies,
initialize the datastore during instantiation.

JIRA: NETCONF-918
Change-Id: Ib641cc65861bf25fe34ea2ef313ff2a1843e0f97
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
16 months agoDo not touch config datastore during initiliazation 05/103605/15
Robert Varga [Mon, 5 Dec 2022 20:06:50 +0000 (21:06 +0100)]
Do not touch config datastore during initiliazation

We should not be introducing configuration items in the datastore, as
that places onus on operator and/or the datastore to deal with this
magic occuring. This also removes a cross-datastore transtion -- which
is no longer supported in Argon.

This means the configuration datastore is empty on startup, hence tests
need to initialize it. This also provides a stepping stone towards
allowing multiple netconf-capable topologies to exist.

JIRA: NETCONF-919
Change-Id: I0218b19f37dbd9ccd3196040193f305d5d147a89
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
16 months agoFix a raw type warning 23/103623/1
Robert Varga [Wed, 7 Dec 2022 11:31:18 +0000 (12:31 +0100)]
Fix a raw type warning

We have leafNode<Integer>, fix that up.

Change-Id: Icffa181cca4490ee9dad3cd90ac7da67a24dd956
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
16 months agoModernize NetconfKeystoreAdapterTest 11/103611/9
Robert Varga [Tue, 6 Dec 2022 11:25:27 +0000 (12:25 +0100)]
Modernize NetconfKeystoreAdapterTest

Use local variable type inference, assertThrows/assertThat and
List.of().

Change-Id: I1657becb2c030550de99f4246f81417b80eb5ae9
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
16 months agoClean up NetconfTopology methods 18/103618/8
Robert Varga [Tue, 6 Dec 2022 22:32:55 +0000 (23:32 +0100)]
Clean up NetconfTopology methods

No caller cares about NetconfDeviceCapabilities and we should not be
using Void. Switch both futures to result in Empty, which is always
non-null.

This also removes one call site which assumes NetconfSessionPreferences
contain NetconfDeviceCapabilities -- which they will not.

JIRA: NETCONF-923
Change-Id: I934d8b1cd5915117500b1c0d6028838b727a2353
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
16 months agoRemove AbstractNetconfDispatcher.customizeBootstrap() 93/102693/3
Robert Varga [Fri, 14 Oct 2022 16:44:55 +0000 (18:44 +0200)]
Remove AbstractNetconfDispatcher.customizeBootstrap()

This method is not used anywhere, remove it.

Change-Id: Ie4260315b09a4b1331289d928175587336daa6a7
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
16 months agoSimplify initTopology() 04/103604/3
Robert Varga [Mon, 5 Dec 2022 20:03:13 +0000 (21:03 +0100)]
Simplify initTopology()

The topology container is not a presence container, so for a long time
datastore is handling its lifecycle -- we do not need to issue an
intermediate merge. Also add FIXMEs for follow up on initialization.

Change-Id: If9257b8f1c77ab1c2e2914948bc00767a3f01d84
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
16 months agoSpecialize RemoteDeviceHandler to NetconfSessionPreferences 18/103218/3
Robert Varga [Sun, 13 Nov 2022 15:30:10 +0000 (16:30 +0100)]
Specialize RemoteDeviceHandler to NetconfSessionPreferences

The only specialization is NetconfSessionPreferences, codify that,
simplifying our code.

JIRA: NETCONF-912
Change-Id: I728d7b4a530adf2280719a3f7ee911a13a68477e
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
16 months agoClean up WebInitializers 00/103600/2
Robert Varga [Mon, 5 Dec 2022 17:18:28 +0000 (18:18 +0100)]
Clean up WebInitializers

Use local variable type inference to disconnect from WebContextBuilder,
which is going to be renamed. Implement AutoCloseable to make it clear
these should be closed at some point. Finally do not instantiate a
temporary list for adding URL patterns.

Change-Id: I5950e921ff500608ba2aa682fd6faf71bddaf429
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
16 months agoDo not use raw NormalizedNode 02/103602/2
Robert Varga [Mon, 5 Dec 2022 17:22:58 +0000 (18:22 +0100)]
Do not use raw NormalizedNode

We usually have a ContainerNode, hence we should be using that instead
of a randon NormalizedNode.

Change-Id: I9f490cd0a04e94a6f9dcf54a6fc2736c8a357553
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
16 months agoMigrate UnresolvedQName.unqualified() callers 01/103601/2
Robert Varga [Mon, 5 Dec 2022 17:24:44 +0000 (18:24 +0100)]
Migrate UnresolvedQName.unqualified() callers

This method has a better replacement, migrate to using it.

Change-Id: Ie8b59777665af8312a4453cf1aa6c8e932e143c6
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
16 months agoSpecialize RPC input/output 99/103599/1
Robert Varga [Mon, 5 Dec 2022 11:16:21 +0000 (12:16 +0100)]
Specialize RPC input/output

We can easily guarantee ContainerNodes, let's do that to make things
simpler to migrate later.

Change-Id: Ic3f41a9d3ad09fdea8baaddfa728584b341e4ee4
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
16 months agoBump SSHD to 2.9.2 88/103288/3
Robert Varga [Wed, 16 Nov 2022 22:30:08 +0000 (23:30 +0100)]
Bump SSHD to 2.9.2

https://github.com/apache/mina-sshd/blob/master/docs/changes/2.9.2.md

Change-Id: I7bc6d261e0666929abde410cad64cfaabf8506e8
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
17 months agoClean up instantiation a bit 67/103167/3
Robert Varga [Tue, 8 Nov 2022 21:09:01 +0000 (22:09 +0100)]
Clean up instantiation a bit

Remove weird method names and use a simple constructor.

Change-Id: Ie569b82d7de7dcc3b4e1ce228843ea33bd25644c
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
17 months agoLookup schema nodes one item at a time 28/103228/1
Robert Varga [Tue, 15 Nov 2022 18:13:30 +0000 (19:13 +0100)]
Lookup schema nodes one item at a time

Our current code is using YangInstanceIdentifier to always lookup nodes
from root. This ends up being inefficient as we end up looking up things
we already crossed over (and have on-stack).

Change-Id: I4e8aa2d7a787843fe570ed75a46cc867d5efd28d
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
17 months agoUse EffectiveModelContext in NetconfDeviceRpc 17/103217/2
Robert Varga [Sun, 13 Nov 2022 13:13:58 +0000 (14:13 +0100)]
Use EffectiveModelContext in NetconfDeviceRpc

Modernize the requirement here, as SchemaContext is considered
deprecated.

Change-Id: If43456dfb8652be71ff2d9b6952eeec67f3561a6
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
17 months agoSpecialize RemoteDevice to NetconfSessionPreferences 16/103216/4
Robert Varga [Sun, 13 Nov 2022 10:20:29 +0000 (11:20 +0100)]
Specialize RemoteDevice to NetconfSessionPreferences

This is the only specialization we are using, make sure to remove
generic argument.

JIRA: NETCONF-912
Change-Id: Ie82080f3654d41bbd69fd709ed77c5e66ae92d13
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>