[NETCONF-892] Reorganize NETCONF source code repository Created: 12/Jul/22  Updated: 05/May/23  Resolved: 05/May/23

Status: Resolved
Project: netconf
Component/s: netconf, restconf-nb, restconf-openapi
Affects Version/s: None
Fix Version/s: None

Type: Epic Priority: Highest
Reporter: Robert Varga Assignee: Robert Varga
Resolution: Duplicate Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Epic Name: Reorganize netconf.git

 Description   

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:

  1. protocol handlers, i.e. session setup, communication and low-level logic
  2. protocol plugins, i.e. how protocols interact with MD-SAL
  3. 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.

  1. transport (Netty, SSHD)
  2. messages (netconf.xsd and its manifestation in Java)
  3. operations (specific operations, bound to NormalizedNode)
  4. 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).



 Comments   
Comment by Robert Varga [ 11/Jan/23 ]

We have updated layout a bit:

/transport
/protocol
/plugins
/apps

are a thing now. More cleanup is needed, but that also entails modifying more code.

Comment by Robert Varga [ 05/May/23 ]

For some reason we have NETCONF-944, which executes on this work and has way more items. There is no point in having two epics, and since NETCONF-944 wins in terms of links, I am choosing to close this down.

Generated at Wed Feb 07 20:16:10 UTC 2024 using Jira 8.20.10#820010-sha1:ace47f9899e9ee25d7157d59aa17ab06aee30d3d.