Merge "moduleSetTag and cmhandle upgrade functionalities fix"
[cps.git] / docs / modeling.rst
index 4e46e71..7ebf6fe 100644 (file)
@@ -1,22 +1,27 @@
 .. 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
 .. 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
+.. Modifications Copyright (C) 2021-2023 Nordix Foundation
 .. _modeling:
 
 .. _modeling:
 
+.. toctree::
+   :maxdepth: 1
+
 CPS Modeling
 ############
 
 CPS Modeling
 ############
 
-.. warning:: draft
+CPS-Core Modeling
+=================
 
 
-.. toctree::
-   :maxdepth: 1
-
-Basic Concepts
-==============
+Data Model
+----------
 
 .. image:: _static/cps-modeling-concepts.png
    :alt: Basic entities relationship
 
 
 .. image:: _static/cps-modeling-concepts.png
    :alt: Basic entities relationship
 
+Basic Concepts
+--------------
+
 Administrative entities
 
 - **Dataspace** is a primary logical separation of data.
 Administrative entities
 
 - **Dataspace** is a primary logical separation of data.
@@ -30,7 +35,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.
 
   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).
 
   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,4 +55,94 @@ Data
 
 Querying
 
 
 Querying
 
-- **CPS Path** is used to query data nodes. The CPS Path is described in detail in :doc:`cps-path`.
+- **CPS Path** is used to query data nodes.
+
+.. toctree::
+   :maxdepth: 1
+
+   xpath.rst
+   cps-path.rst
+
+Additional information on CPS-Core Interfaces
+---------------------------------------------
+
+.. toctree::
+   :maxdepth: 1
+
+   cps-delta-feature.rst
+
+.. Below Label is used by documentation for other CPS components to link here, do not remove even if it gives a warning
+.. _cps_ncmp_modelling:
+
+NCMP Modeling
+=============
+
+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/dmi-registry@2022-05-10.yang>`
+
+Note: Although additional-properties are present in the model of the dmi-registry, these are considered private metadata and as such are not queryable.
+
+Basic Concepts
+--------------
+
+- **CM-Handle** represents an instance a modeled Network Function(node) in ONAP.
+
+    These are stored as Anchors within CPS-Core.
+
+    - **CM-Handle States** are used to represent the potential states in which a CM-Handle can transition between.
+
+        The 5 possible CM-Handle states are: ADVISED, READY, LOCKED, DELETING, DELETED
+
+        **ADVISED** indicates that a CM-Handle has been registered successfully, and is waiting for the module synchronization process to sync the CM-Handle.
+
+        **READY** indicates that the CM-Handle has been synced successfully.
+
+        **LOCKED** indicates that the CM-Handle has not synced successfully. A retry mechanism within CPS will set the state back to ADVISED after a set time.
+
+        **DELETING** indicates that the CM-Handle is currently being deleted.
+
+        **DELETED** indicates that the CM-Handle has been deleted successfully.
+
+    - **Data-sync state** is the state of the data synchronization process of the CM-Handle
+
+        There are 3 possibles states: NONE_REQUESTED, UNSYNCHRONIZED, SYNCHRONIZED
+
+        **NONE_REQUESTED** indicates that the data sync is not requested by the user
+
+        **UNSYNCHRONIZED** indicates the cm-handle is waiting for the data sync watchdog operation to carry out the sync process
+
+        **SYNCHRONIZED** indicates the watchdog process has finished the data synchronization successfully
+
+- **Datastores** represent different views of the cm data.
+
+    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              |
+    +--------------------------------+-------------------------------------+-------------------------+
+
+Additional information on CPS-NCMP interfaces
+---------------------------------------------
+
+.. toctree::
+   :maxdepth: 1
+
+   ncmp-cmhandle-querying.rst
+   ncmp-inventory-querying.rst
+   ncmp-data-operation.rst
+
+CPS-NCMP Scheduled Processes
+----------------------------
+
+.. toctree::
+   :maxdepth: 1
+
+   cps-scheduled-processes.rst