-
Epic
-
Resolution: Duplicate
-
Highest
-
None
-
None
-
None
-
Reorganize netconf.git
Current netconf.git layout and artifact naming and artifact split up is far from navigable. Reorganize the repository and artifacts to split the individual layers and interactions, so that common RESTCONF/NETCONF bits are shared and there is a clear distinction as to which layer a particular artifact belongs to.
Overall theme here is that we have three basic layers:
- protocol handlers, i.e. session setup, communication and low-level logic
- protocol plugins, i.e. how protocols interact with MD-SAL
- applications, i.e. high-level components providing things like netconf-topology
Baseline layout is something along the lines of:
protocol/common protocol/netconf protocol/restconf plugin/netconf-nb plugin/netconf-sb plugin/restconf-nb apps/netconf-topology apps/openapi-nb
This will entail renaming artifacts and moving code around to fit the architecture. On netconf side, this also means we need to take into account for the 4 layers in NETCONF,] i.e.
- transport (Netty, SSHD)
- messages (netconf.xsd and its manifestation in Java)
- operations (specific operations, bound to NormalizedNode)
- content (NormalizedNode backend)
This split seems to be beneficial to RESTCONF as well, although the boundaries there are less clear (transport is HTTP, messages map 1:1 to operations, operations are HTTP requests).