Release A: A1 Controller - Implementation Options

(NOTE: This discussion is targeted toward Release A and Release B time-frames)

There are a number of options for how we could implement an A1 controller function for NONRTRIC.

To implement an A1 controller function in an NONRTRIC based on ONAP the 2 main options for comparison here are: A) CCSDK/SDNC-based controller, or B) a CDS-based controller.

The controller function should implement the REST-based A1 interface southbound toward the near-RealTime-RIC, and should have a REST-based and DMaaP-based interface northbound.

Option A - An A1 Controller function based on CCSDK/SDNC

Components required

  • To be developed and maintained in OSC:
    • RESTCONF A1 mediation interface defined in YANG (interface subject to change)
  • To be developed and maintained in ONAP:
    • ODL-based provider function to intercept RESTCONF operations and redirect them toward the A1 REST Adapter
    • OSGI-based DMaaP Adapter (?), which may also require an SLI DG to map towards the A1 REST Adapter
    • OSGI-based A1 REST Client that (initially) implements parts of the Policy Management function defined for the A1 interface

Advantages

  • Relatively easy to implement an initial version.
  • Proven stability and maturity in SDNC platform.
  • Options to extend A1 mediation logic without additional coding using SLI DG definitions

Disadvantages

  • Any change to the the northbound- or southbound-interface the  requires a full re-compile and re-release of the bundles.
  • Code would be homed in the ONAP CCSDK/SDNC project gerrit/repo - so changes would need to be integrated across 2 separate projects (CCSDK & NONRTRIC) in separate programs (ONAP & OSC)
  • Significant coordination challenges wrt. upstreaming code, integration, testing, release cadences, requirements gathering/approval, etc

Option B - An A1 Controller function based on CDS

Components required

  • To be developed and maintained in ONAP:
    • Generic Self-Service-API ↔ DMaaP adapter
  • To be developed and maintained in OSC:
    • A1 Controller Blueprint

      • Self-Service-API definition for A1-mediation northbound interface
      • Information model for SS-API message elements
      • A1 Interface model for southbound REST client
      • Logic to map SS-API operations to A1 messages

Advantages

  • Much of the platform functionality already exists in ONAP El-Alto - except the SS-API DMaaP Adapter
  • Entirely model-driven - Requires no code change or impact in ONAP
  • Proprietary/advanced mediation logic can be embedded in the blueprint
  • No inter-platform development/integration challenges - clean decoupling / separation of concerns 

Disadvantages

  • Does not align with OSC NONRTRIC Release A plans - existing early work would be deprecated
  • Flexible/Easily-evolving SS-API NBI may require evolution in clients using the controller (e.g. payload information models)
  • CDS platform is still evolving/maturing
  • SS-API DMaaP Adapter development needs prioritization in ONAP Frankfurt backlog.
  • SS-API puts some requirements on message formats (e.g. required "headers" in messages)

Decision

Release A - Option A

Release B+ - Option B (TBC)

  • Option A solution will be in Release A deprecated