aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRuslan Kashapov <ruslan.kashapov@pantheon.tech>2021-03-02 16:48:41 +0200
committerRuslan Kashapov <ruslan.kashapov@pantheon.tech>2021-03-16 17:26:10 +0200
commit55dc654964942aa67c48f09b0ba56059be8e923b (patch)
treef5191e02b3a29335b541480894dc87863e18ad95
parent344434b68c2418c6e901e7acab02886be6e6b1cb (diff)
Docs: overview, architecture, design, modeling
Issue-ID: CPS-268 Change-Id: I31480a9a6186af0ddedae4f0eca06a744a2e2d64 Signed-off-by: Ruslan Kashapov <ruslan.kashapov@pantheon.tech>
-rwxr-xr-x.gitignore5
-rw-r--r--docs/_static/cps-modeling-concepts.pngbin0 -> 53884 bytes
-rw-r--r--docs/_static/cps-r8-arch-diagram.pngbin0 -> 62879 bytes
-rw-r--r--docs/architecture.rst65
-rwxr-xr-xdocs/design.rst (renamed from docs/offeredapis.rst)22
-rwxr-xr-xdocs/index.rst14
-rw-r--r--docs/modeling.rst47
-rw-r--r--docs/overview.rst38
8 files changed, 171 insertions, 20 deletions
diff --git a/.gitignore b/.gitignore
index f197492474..8fff710922 100755
--- a/.gitignore
+++ b/.gitignore
@@ -24,4 +24,7 @@ tmp/
/.tox
/_build/*
-/__pycache__/* \ No newline at end of file
+/__pycache__/*
+
+/docs/docs/
+/docs/.vscode/ \ No newline at end of file
diff --git a/docs/_static/cps-modeling-concepts.png b/docs/_static/cps-modeling-concepts.png
new file mode 100644
index 0000000000..d6fd9f089e
--- /dev/null
+++ b/docs/_static/cps-modeling-concepts.png
Binary files differ
diff --git a/docs/_static/cps-r8-arch-diagram.png b/docs/_static/cps-r8-arch-diagram.png
new file mode 100644
index 0000000000..f5a90a6ea1
--- /dev/null
+++ b/docs/_static/cps-r8-arch-diagram.png
Binary files differ
diff --git a/docs/architecture.rst b/docs/architecture.rst
index c613e4ff95..51acf66f0e 100644
--- a/docs/architecture.rst
+++ b/docs/architecture.rst
@@ -1,5 +1,64 @@
-.. Copyright (C) 2021 Nordix Foundation
+.. This work is licensed under a Creative Commons Attribution 4.0 International License.
+.. http://creativecommons.org/licenses/by/4.0
+.. Copyright (C) 2021 Nordix Foundation, Pantheon.tech
.. _architecture:
-CPS in ONAP Architecture
--------------------------- \ No newline at end of file
+CPS Architecture
+################
+
+.. toctree::
+ :maxdepth: 1
+
+
+High Level Component Definition and Architectural Relationships
+===============================================================
+
+The Configuration Persistence Service (CPS) provides storage for run-time configuration and operational
+parameters that need to be used by ONAP.
+
+In this release the CPS is a stand-alone component. Project page describing eventual scope and ambition is here:
+`Configuration Persistence Service Project <https://wiki.onap.org/display/DW/Configuration+Persistence+Service+Project>`_
+
+This page reflects the state for Honolulu-R8 release.
+
+.. image:: _static/cps-r8-arch-diagram.png
+
+API definitions
+===============
+
+Configuration Persistence Service provides following interfaces.
+
+.. list-table::
+ :header-rows: 1
+
+ * - Interface name
+ - Interface definition
+ - Interface capabilities
+ - Protocol
+ * - CPS-E-01
+ - Administrative Data Management
+ - - create/delete dataspace
+ - create/delete schema set
+ - create/delete anchor
+ - REST
+ * - CPS-E-02
+ - Generic Data Access
+ - - create data node
+ - read data node by xpath with or without descendants
+ - update data node by xpath with or without descendants
+ - REST
+ * - CPS-E-03
+ - Generic Data Search
+ - - query data nodes by xpath prefix and attribute value
+ - REST
+ * - CPS-E-04
+ - Change Notification
+ - *Not available in Honolulu-R8*
+ - *N/A*
+ * - CPS-E-05
+ - xNF Data Access
+ - - read xNF data
+ - query xNF data
+ - REST
+
+The CPS Basic Concepts are described in :doc:`modeling`.
diff --git a/docs/offeredapis.rst b/docs/design.rst
index 1f11905a4e..4f1bf1ee13 100755
--- a/docs/offeredapis.rst
+++ b/docs/design.rst
@@ -2,32 +2,30 @@
.. http://creativecommons.org/licenses/by/4.0
.. DO NOT CHANGE THIS LABEL FOR RELEASE NOTES - EVEN THOUGH IT GIVES A WARNING
-.. _offeredapis:
+.. _design:
-CPS Offered APIs
-================
+CPS Design
+##########
+
+.. toctree::
+ :maxdepth: 1
+
+Offered APIs
+============
CPS supports the public APIs listed in the link below:
:download:`OpenApi Specification <api/swagger/openapi.yml>`
-.. toctree::
- :maxdepth: 1
-
Exposed API
-----------
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.
-Specification can be accesed locally at :
+Specification can be accessed using following URI:
.. code-block:: bash
“http://<hostname>:<port>/v3/api-docs?group=cps-docket”
-
-Contact Information
--------------------
-
-onap-discuss@lists.onap.org \ No newline at end of file
diff --git a/docs/index.rst b/docs/index.rst
index a7c1b93df6..f389a6768c 100755
--- a/docs/index.rst
+++ b/docs/index.rst
@@ -1,17 +1,23 @@
.. This work is licensed under a Creative Commons Attribution 4.0 International License.
+.. http://creativecommons.org/licenses/by/4.0
+
.. DO NOT CHANGE THIS LABEL FOR RELEASE NOTES - EVEN THOUGH IT GIVES A WARNING
.. _master_index:
.. THIS IS USED INTERNALLY IN CPS ONLY
.. _cps-framework-doc:
-CPS Documentation Repository
------------------------------
+CPS Documentation for the Honolulu-R8 Release
+---------------------------------------------
.. toctree::
:maxdepth: 1
- architecure.rst
- offeredapis.rst
+ overview.rst
+ architecture.rst
+ design.rst
+ modeling.rst
+ deployment.rst
+ user-guide.rst
release-notes.rst
diff --git a/docs/modeling.rst b/docs/modeling.rst
new file mode 100644
index 0000000000..74ee8ec86a
--- /dev/null
+++ b/docs/modeling.rst
@@ -0,0 +1,47 @@
+.. This work is licensed under a Creative Commons Attribution 4.0 International License.
+.. http://creativecommons.org/licenses/by/4.0
+.. Copyright (C) 2021 Pantheon.tech
+.. _modeling:
+
+CPS Modeling
+############
+
+.. toctree::
+ :maxdepth: 1
+
+Basic Concepts
+==============
+
+.. image:: _static/cps-modeling-concepts.png
+ :alt: Basic entities relationship
+
+Administrative entities
+
+- **Dataspace** is a primary logical separation of data.
+
+ Any application can define its own dataspace to store the model(s) and data it owns.
+ Dataspace is uniquely identified by it's name.
+
+- **Schema Set** describes a data model(s).
+
+ Schema Set holds reference(s) to single or multiple YANG modules. Schema Set belongs to dataspace
+ 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 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).
+
+Data
+
+- **Data Node** represents a data fragment.
+
+ Each data node can have zero or more descendants and together they form a data instance tree.
+ The data node tree belongs to an anchor.
+
+ Data node is representing a data fragment described in a YANG model as a *container* and/or a *list*.
+ The data described as a *leaf* and/or a *leaf-list* are stored within a parent data node.
+
+ The data node position within a tree is uniquely identified by the node's unique **xpath** which can be used
+ for partial data query.
diff --git a/docs/overview.rst b/docs/overview.rst
new file mode 100644
index 0000000000..776e179482
--- /dev/null
+++ b/docs/overview.rst
@@ -0,0 +1,38 @@
+.. This work is licensed under a Creative Commons Attribution 4.0 International License.
+.. http://creativecommons.org/licenses/by/4.0
+.. Copyright (C) 2021 Pantheon.tech
+.. _overview:
+
+CPS Overview
+============
+
+The Configuration Persistence Service (CPS) is a platform component that is designed to serve as a
+data repository for runtime data that needs persistence.
+
+Types of data that is stored:
+
+- **Configuration Parameters**
+
+ These are configuration parameters that are used by xNFs during installation & commissioning. Configuration
+ parameters are typically used before the xNF has been brought up or is operational. For example, a 5G Network
+ configuration parameter for a PNFs that sets the mechanical tilt which is a configuration setting upon
+ installation.
+
+- **Operational Parameters**
+
+ This operational information could be either an actual state or configuration of a network service or device.
+ These are parameters that are derived, discovered, computed that are used by xNFs during run time AFTER the
+ xNF becomes operational i.e. AFTER it has "booted up", been installed or configured. For example, in 5G Network,
+ 5G PNFs may need to adjust a tower electrical antenna tilt. These operational parameters are Exo-inventory
+ 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 Project
+-----------
+
+Wiki: `Configuration Persistence Service Project <https://wiki.onap.org/display/DW/Configuration+Persistence+Service+Project>`_
+
+Contact Information
+-------------------
+
+onap-discuss@lists.onap.org