Uploaded image for project: 'ONAP Architecture Committee'
  1. ONAP Architecture Committee
  2. ONAPARC-736

(Jakarta-R10) - Infra - OpenDayLight RESTCONF / RFC-8040 support (SDNC)

XMLWordPrintable

      Sponsor(s): djtimoney

      Synopsis:

      Per Dan Timoney's email on Mar 29, 2022

      The SDNC (SDN Controller)  – which is an extension of OpenDaylight’s – is based on the RESTCONF protocol.  RESTCONF was originally defined by an internet draft, referred to as “Biermann-RESTCONF” after its primary author.  This internet draft has since been superceded by RFC 8040, which is NOT backwards compatible.  The following link has some helpful information about the differences between the 2 versions: [ https://wiki.onap.org/display/DW/Switch+from+Biermann-RestConf+to+RFC8040+interface|https://nam11.safelinks.protection.outlook.com/?url=https%3A%2F%2Fwiki.onap.org%2Fdisplay%2FDW%2FSwitch%2Bfrom%2BBiermann-RestConf%2Bto%2BRFC8040%2Binterface&data=04%7C01%7Ccalhakim%40futurewei.com%7C4fa67be385fe40722b4708da118bee65%7C0fee8ff2a3b240189c753a1d5591fedc%7C1%7C0%7C637841589990385591%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000&sdata=TNTA2GxEwIKfaHFR4FpfzoKFs%2Fe%2Ba2Eh2quxKVCtS%2Bg%3D&reserved=0]

      OpenDaylight has supported both versions of RESTCONF for the past several releases.  Some of the newer use cases (notably ORAN) have started to use the RFC 8040 version.  However, we have quite a few use cases that still use the Biermann-RESTCONF API.

      In Jakarta, we are on the OpenDaylight Phosphorus release, which supports both Biermann-RESTCONF and RFC 8040.   The next OpenDaylight release – Sulfur – has announced that the Biermann-RESTCONF API is deprecated.  It will be removed in the following OpenDaylight release – Chlorine.

      When we compare our ONAP and OpenDaylight release schedules, it would be desirable for us to skip Sulfur and instead migrate to Chlorine.  However,  doing so would mean that any interfaces that we have that still use Biermann-RESTCONF will break.  I’m particularly concerned with some of the older use cases and the ‘smoke’ tests, which are no longer actively supported.

      I see 3 alternatives,  from what I consider best to worst:

      1. In the Kohn release, move to OpenDaylight Sulfur and declare the Biermann-RESTCONF API deprecated in Kohn and to be removed in the ‘L’ release.  Any interfaces using that would then have to move to RFC 8040 in Kohn or , at the latest, in the L release.
      2. In the Kohn release, move to OpenDaylight Chlorine and introduce a new mediation layer that can accept Biermann-RESTCONF and translate to RFC 8040.  Declare the Biermann-RESTCONF API deprecated, and plan to remove in the L release.
      3. In the Kohn release, move to OpenDaylight Chlorine and force any interfaces using Biermann-RESTCONF to change. 

      I was hoping to get feedback from the architecture committee on these alternatives.

      Documents to be reviewed:  

      Test Plan:

      platform changes planned.

      Meeting Notes:

      Committee Decision:

            ca2853 ca2853
            ca2853 ca2853
            Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

              Created:
              Updated:
              Resolved: