High Level Design (PoC)

High Level Design (PoC)

The purpose of the page is to:

  1. Design the Model Driven CPS PoCREQ-384: Define and prove the concept of model driven in the context of CPSDone

  2. Start the design of a stand-alone CPS

  3. Engage with the CPS community on the design of the stand-alone CPS

  4. Review with the ARCHCOM to ensure broad ONAP community awareness and agreed direction

PoC Overview Diagram

Topic Areas

Topic Area

Description

Topic Area

Description

MODEL DRIVEN SCHEMA: Relates to Design time activities. SDC operation. Distribution of the CSAR and the Model-driven Schema coming from Design time

UPDATE: Takes incoming Standards Defined VES event from DCAE (PNF) and is published on DMAAP

SYNCHRONIZATION: C&PS synchronizes to A&AI, which allows it to get the latest view of what is in A&AI and align it with the C&PS data records.

SERVICE PROVIDER INTERFACE: The C&PS interface to the DBMS

C&PS API: The API that allows other micro-services and other components to access C&PS DB with CRUD operations.

Scope

Base scope

  • Read/write persisted Configuration Management data:

    • defined by xNF (simple YANG model), published as YANG

  • Models deployed @ runtime with no ONAP platform impacts or LCM events

  • Show the benefits in terms of constraint validation, access and upgrade

Stretch target

Adapt behavior of CPS on read/write based on information in the model:

  • Change notification emissions driven by the model

  • Interaction with temporal data store, synergize with State Management PoC

  • Volatile/prolific xNF data read-through (e.g. state data) – may be used to support histogram

  • Model made available to CPS (Configuration and Persistency Service) using existing onboarding via SDC

  • Provide some indication of dimension and user access characteristics that will be provided by CPS

Proof points

  • Demonstrate Create/read operations using YANG fragments against a CPS backed by very simple schema / schema-less repository

  • Demonstrate ability to deploy / upgrade YANG fragments at run-time

  • Demonstrate CPS behavior driven by YANG model

  • Provide architecture vision and roadmap for a target architecture, supported use cases, non-functional requirements towards an ONAP Project

Out of scope

  • Automating the ingestion of models from SDC or controller (unless we get to it in the stretch target). The model LCM interface will be exercised manually during the PoC.

  • Syncing with A&AI. The PoC will work on a fixed topology

High Level Design

Context of CPS

Interface Id

Purpose





Interface Id

Purpose





AAIE-1

Read and maintain relevant parts of the topology





SDCE-6

React to CSAR packages (on-boarded in SDC) that contain models of interest





CPS-E-01

Model lifecycle (add and remove models)





CPS-E-02

Data access interface (CRUD)





CPS-E-03

Notification of data change (configured by model)





C4 diagram of main components

Logical view of the CPS as a project

Participant Name

Functional purpose

PoC handling

Participant Name

Functional purpose

PoC handling

YANG Model parser

Converts YANG models into java objects

Required

YANG Data parser

Converts data compliant with a YANG model into java primitives, assists the CPS core

Required

Model store

Keeps a local cache of the structures and relationships (generated from the YANG models) required by the CPS

Required

SDC Model loader

Subscribes to DMaaP for CSAR publication. Parses and extracts the models from the CSAR and gives them to the xNF Model Data Proxy

Not required

Topology sync

Does initial sync and maintains an up to date view of the active topology state. Informs the mirror service of any changes

Not required

xNF Model Data Proxy

Encapsulation of all model and data access that relates to xNF

Not required

xNF Proxy Data access

REST interface that provides access to xNF data

Not required

CPS Core

Provides validation of and access to data. Is agnostic to the DB technology and schema

Required

CPS Data access

Provides REST CRUD access to the data

Required

CPS notification

Provides a DMaaP notification in the event that (1) data is changed and (2) it has been tagged/marked for notifcation

Required for stretch

PostgreSQL plugin

Maps the java primitive representation of the YANG data objects to their DB technology (PostgreSQL) and schema specifics (SQL)

Required

PostgreSQL

Database Management System for current data

Required

Temporal [Stack]

Placeholder for logical components representing the temporal handling of data

Not required

Temporal DB

Database Management System for temporal data

Not required