From: Ruslan Kashapov Date: Tue, 2 Mar 2021 14:48:41 +0000 (+0200) Subject: Docs: overview, architecture, design, modeling X-Git-Tag: 1.1.0~103 X-Git-Url: https://gerrit.onap.org/r/gitweb?p=cps.git;a=commitdiff_plain;h=55dc654964942aa67c48f09b0ba56059be8e923b Docs: overview, architecture, design, modeling Issue-ID: CPS-268 Change-Id: I31480a9a6186af0ddedae4f0eca06a744a2e2d64 Signed-off-by: Ruslan Kashapov --- diff --git a/.gitignore b/.gitignore index f19749247..8fff71092 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 000000000..d6fd9f089 Binary files /dev/null and b/docs/_static/cps-modeling-concepts.png differ diff --git a/docs/_static/cps-r8-arch-diagram.png b/docs/_static/cps-r8-arch-diagram.png new file mode 100644 index 000000000..f5a90a6ea Binary files /dev/null and b/docs/_static/cps-r8-arch-diagram.png differ diff --git a/docs/architecture.rst b/docs/architecture.rst index c613e4ff9..51acf66f0 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 `_ + +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 similarity index 80% rename from docs/offeredapis.rst rename to docs/design.rst index 1f11905a4..4f1bf1ee1 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 ` -.. 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://:/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 a7c1b93df..f389a6768 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 000000000..74ee8ec86 --- /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 000000000..776e17948 --- /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 `_ + +Contact Information +------------------- + +onap-discuss@lists.onap.org