diff options
-rw-r--r-- | docs/_static/cps-r8-arch-diagram.png | bin | 62879 -> 0 bytes | |||
-rw-r--r-- | docs/_static/cps-r9-arch-diagram.png | bin | 0 -> 61907 bytes | |||
-rw-r--r-- | docs/_static/star.png | bin | 0 -> 486 bytes | |||
-rw-r--r-- | docs/api/yang/dmiYangResource.yang | 46 | ||||
-rw-r--r-- | docs/architecture.rst | 30 | ||||
-rwxr-xr-x | docs/design.rst | 24 | ||||
-rw-r--r-- | docs/modeling.rst | 50 | ||||
-rw-r--r-- | docs/overview.rst | 31 |
8 files changed, 154 insertions, 27 deletions
diff --git a/docs/_static/cps-r8-arch-diagram.png b/docs/_static/cps-r8-arch-diagram.png Binary files differdeleted file mode 100644 index f5a90a6ea..000000000 --- a/docs/_static/cps-r8-arch-diagram.png +++ /dev/null diff --git a/docs/_static/cps-r9-arch-diagram.png b/docs/_static/cps-r9-arch-diagram.png Binary files differnew file mode 100644 index 000000000..181804139 --- /dev/null +++ b/docs/_static/cps-r9-arch-diagram.png diff --git a/docs/_static/star.png b/docs/_static/star.png Binary files differnew file mode 100644 index 000000000..570345c77 --- /dev/null +++ b/docs/_static/star.png diff --git a/docs/api/yang/dmiYangResource.yang b/docs/api/yang/dmiYangResource.yang new file mode 100644 index 000000000..8e06a2694 --- /dev/null +++ b/docs/api/yang/dmiYangResource.yang @@ -0,0 +1,46 @@ +module dmi-registry { + + yang-version 1.1; + + namespace \"org:onap:cps:ncmp\"; + + prefix dmi-reg; + + organization \"Nordix Foundation\"; + + contact \"rahul.tyagi@est.tech\"; + + revision \"2021-05-20\" { + description + \"Initial Version\"; + } + + container dmi-registry { + + list cm-handles { + + key \"id\"; + + leaf id { + type string; + } + + leaf dmi-service-name { + type string; + } + + list additional-properties { + + key \"name\"; + + leaf name { + type string; + } + + leaf value { + type string; + } + } + } + } +}
\ No newline at end of file diff --git a/docs/architecture.rst b/docs/architecture.rst index b703cfa53..12a51e222 100644 --- a/docs/architecture.rst +++ b/docs/architecture.rst @@ -6,8 +6,6 @@ CPS Architecture ################ -.. warning:: draft - .. toctree:: :maxdepth: 1 @@ -25,12 +23,17 @@ Project page describing eventual scope and ambition is here: This page reflects the state for Istanbul-R9 release. -.. image:: _static/cps-r8-arch-diagram.png +.. image:: _static/star.png + :class: float-left + +**Note:** SDC and AAI interfaces have not yet been implemented. + +.. image:: _static/cps-r9-arch-diagram.png API definitions =============== -Configuration Persistence Service provides following interfaces. +Configuration Persistence Service provides the following interfaces. .. list-table:: :header-rows: 1 @@ -41,7 +44,7 @@ Configuration Persistence Service provides following interfaces. - Protocol * - CPS-E-01 - Administrative Data Management - - - create/delete dataspace + - - create dataspace - create/delete schema set - create/delete anchor - REST @@ -57,12 +60,25 @@ Configuration Persistence Service provides following interfaces. - REST * - CPS-E-04 - Change Notification - - *Not available in Honolulu-R8* - - *N/A* + - - Kafka is used as the event messaging system + - running instance is supplied independently from ONAP DMaaP component or any Kafka instance deployed from ONAP + - published events contain Timestamp, Dataspace, Schema set, Anchor and JSON Data Payload + - DMaaP * - CPS-E-05 - xNF Data Access - - read xNF data - query xNF data - REST + * - CPS-E-06 + - Temporal Data Access + - - data storage and access + - REST + * - CPS-E-07 + - Admin + - - logging levels and configuration + - monitoring + - health including liveliness state and readiness state + - metrics through Prometheus + - Various The CPS Basic Concepts are described in :doc:`modeling`. diff --git a/docs/design.rst b/docs/design.rst index f9f12de43..ce419caed 100755 --- a/docs/design.rst +++ b/docs/design.rst @@ -9,8 +9,6 @@ CPS Design ########## -.. warning:: draft - .. toctree:: :maxdepth: 1 @@ -23,8 +21,8 @@ CPS supports the public APIs listed in the link below: :download:`CPS NCMP RestOpenApi Specification <api/swagger/ncmp/openapi.yaml>` -Exposed API ------------ +View Offered APIs +----------------- The standard for API definition in the RESTful API world is the OpenAPI Specification (OAS). The OAS 3, which is based on the original "Swagger Specification", is being widely used in API developments. @@ -33,7 +31,23 @@ Specification can be accessed using following URI: .. code-block:: bash - “http://<hostname>:<port>/v3/api-docs?group=cps-docket” + http://<hostname>:<port>/v3/api-docs?group=cps-docket + +Additionally, the Swagger User Interface can be found at the following URI. The component may be changed between CPS-Core +and CPS-NCMP using the drop down table in the top right: + +.. code-block:: bash + + http://<hostname>:<port>/swagger-ui/index.html?configUrl=/v3/api-docs/swagger-config#/ + +Consumed APIs +------------- + +CPS Core uses API's from the following ONAP components + +* DMI-Plugin: REST based interface which is used to provide integration + and allow the DMI registry API's have access to the corresponding NCMP API's within CPS Core. + More information on the DMI Plugins offered APIs can be found on the `DMI Plugin's Design Page <https://docs.onap.org/projects/onap-cps-ncmp-dmi-plugin/en/latest/design.html>`_. CPS Path ======== diff --git a/docs/modeling.rst b/docs/modeling.rst index 22c4b0ba3..863e93263 100644 --- a/docs/modeling.rst +++ b/docs/modeling.rst @@ -3,20 +3,24 @@ .. Copyright (C) 2021 Pantheon.tech .. _modeling: +.. toctree:: + :maxdepth: 1 + CPS Modeling ############ -.. warning:: draft +CPS-Core Modeling +================= -.. toctree:: - :maxdepth: 1 - -Basic Concepts -============== +Data Model +---------- .. image:: _static/cps-modeling-concepts.png :alt: Basic entities relationship +Basic Concepts +-------------- + Administrative entities - **Dataspace** is a primary logical separation of data. @@ -30,7 +34,7 @@ Administrative entities and uniquely identified by its name (within its own dataspace). Same YANG resources (source files) can be referenced by multiple schema sets from different dataspaces. -- **Anchor** identifies the unique data set (data record) within a dataspace +- **Anchor** identifies the unique data set (data record) within a dataspace. Anchor always references a schema set within same dataspace which describes a data model of associated data. Multiple anchors may reference same schema set. Anchor is uniquely identified by its name (within own dataspace). @@ -50,13 +54,33 @@ Data Querying -- **CPS Path** is used to query data nodes. The CPS Path is described in detail in the :doc:`cps-path` sub-page. +- **CPS Path** is used to query data nodes. The CPS Path is described in detail in :doc:`cps-path`. -CPS Path -======== +NCMP Modeling +============= -.. toctree:: - :maxdepth: 1 +Data Model +---------- + +NCMP stores DMI Plugin and CM Handle relations using a data model described as per this Yang module. + +:download:`DMI Yang Module <api/yang/dmiYangResource.yang>` + +Basic Concepts +-------------- + +- **CM-Handle** represents an instance a modeled Network Function(node) in ONAP. + + These are stored as Anchors within CPS-Core. + +- **Datastores** represent different views of the cm data. - cps-path.rst + Datastores are defined for NCMP to access the CPS running or operational datastores. Currently supported datastores are: + +--------------------------------+-------------------------------------+-------------------------+ + | Datastore | Configurations | Data access type | + +================================+=====================================+=========================+ + | Passthrough-operational | config-true, config-false | read-only | + +--------------------------------+-------------------------------------+-------------------------+ + | Passthrough-running | config-true | read-write | + +--------------------------------+-------------------------------------+-------------------------+
\ No newline at end of file diff --git a/docs/overview.rst b/docs/overview.rst index b1f4755b6..1333e66fc 100644 --- a/docs/overview.rst +++ b/docs/overview.rst @@ -6,8 +6,6 @@ CPS Overview ============ -.. warning:: draft - The Configuration Persistence Service (CPS) is a platform component that is designed to serve as a data repository for runtime data that needs persistence. @@ -29,6 +27,35 @@ Types of data that is stored: information, meaning it is information that doesn't belong in A&AI. In principle, some parameters might be both configuration and operational parameters depending on how they are used. +CPS Components +-------------- + +CPS-Core +######## +This is the component of CPS which encompasses the generic storage of Yang module data. + +**NCMP** + +The Network Configuration Management Proxy (NCMP) provides access to network configuration data and is a part of CPS-Core. +NCMP accesses all network Data-Model-Inventory (DMI) information via NCMP-DMI-Plugins. The ONAP DMI Plugin described in the next section is one such plugin. + +**Note:** This documentation will often refer to "CPS-NCMP" which is the component (container image) that contains both CPS-Core and NCMP since NCMP is not a stand-alone component +even though CPS-Core could be deployed without the NCMP extension. + +ONAP NCMP-DMI-Plugin +#################### + +The Data-Model-Inventory (DMI) Plugin is a rest interface used to synchronize CM-Handles data between CPS and DMI through the DMI Plugin. +This is built previously from the CPS-NF-Proxy component. + +CPS Temporal +############ + +This service is responsible to provide a time oriented perspective for +operational network data. It provides features to store and retrieve sequences +of configurations or states along with the associated times when they occurred +or have been observed. + CPS Project ----------- |