blob: 7ebf6fecd57f3d9d350081ae354400030f051ea7 [file] [log] [blame]
Ruslan Kashapov55dc6542021-03-02 16:48:41 +02001.. This work is licensed under a Creative Commons Attribution 4.0 International License.
2.. http://creativecommons.org/licenses/by/4.0
3.. Copyright (C) 2021 Pantheon.tech
sourabh_sourabh9a76aa32023-07-25 10:58:52 +01004.. Modifications Copyright (C) 2021-2023 Nordix Foundation
Ruslan Kashapov55dc6542021-03-02 16:48:41 +02005.. _modeling:
6
Ruslan Kashapov55dc6542021-03-02 16:48:41 +02007.. toctree::
8 :maxdepth: 1
9
lukegleesone1308ac2021-09-30 13:36:37 +010010CPS Modeling
11############
12
13CPS-Core Modeling
14=================
15
16Data Model
17----------
Ruslan Kashapov55dc6542021-03-02 16:48:41 +020018
19.. image:: _static/cps-modeling-concepts.png
20 :alt: Basic entities relationship
21
lukegleesone1308ac2021-09-30 13:36:37 +010022Basic Concepts
23--------------
24
Ruslan Kashapov55dc6542021-03-02 16:48:41 +020025Administrative entities
26
27- **Dataspace** is a primary logical separation of data.
28
29 Any application can define its own dataspace to store the model(s) and data it owns.
30 Dataspace is uniquely identified by it's name.
31
32- **Schema Set** describes a data model(s).
33
34 Schema Set holds reference(s) to single or multiple YANG modules. Schema Set belongs to dataspace
35 and uniquely identified by its name (within its own dataspace). Same YANG resources (source files) can be
36 referenced by multiple schema sets from different dataspaces.
37
lukegleesone1308ac2021-09-30 13:36:37 +010038- **Anchor** identifies the unique data set (data record) within a dataspace.
Ruslan Kashapov55dc6542021-03-02 16:48:41 +020039
40 Anchor always references a schema set within same dataspace which describes a data model of associated data.
41 Multiple anchors may reference same schema set. Anchor is uniquely identified by its name (within own dataspace).
42
43Data
44
45- **Data Node** represents a data fragment.
46
47 Each data node can have zero or more descendants and together they form a data instance tree.
48 The data node tree belongs to an anchor.
49
50 Data node is representing a data fragment described in a YANG model as a *container* and/or a *list*.
51 The data described as a *leaf* and/or a *leaf-list* are stored within a parent data node.
52
53 The data node position within a tree is uniquely identified by the node's unique **xpath** which can be used
54 for partial data query.
ToineSiebelink98c07872021-04-20 17:33:09 +010055
56Querying
57
lukegleesonf027cfb2021-11-08 15:53:12 +000058- **CPS Path** is used to query data nodes.
emacleeb176de22022-08-31 15:53:10 +010059
lukegleesonf027cfb2021-11-08 15:53:12 +000060.. toctree::
61 :maxdepth: 1
62
emaclee50e000f2023-04-18 14:49:24 +010063 xpath.rst
lukegleesonf027cfb2021-11-08 15:53:12 +000064 cps-path.rst
lukegleeson209c3852021-09-28 16:07:25 +010065
Arpit Singhc45db422024-01-30 10:51:28 +053066Additional information on CPS-Core Interfaces
67---------------------------------------------
68
69.. toctree::
70 :maxdepth: 1
71
72 cps-delta-feature.rst
73
ToineSiebelink980089c2021-10-21 13:35:34 +010074.. Below Label is used by documentation for other CPS components to link here, do not remove even if it gives a warning
75.. _cps_ncmp_modelling:
76
lukegleesone1308ac2021-09-30 13:36:37 +010077NCMP Modeling
78=============
lukegleeson209c3852021-09-28 16:07:25 +010079
lukegleesone1308ac2021-09-30 13:36:37 +010080Data Model
81----------
lukegleeson209c3852021-09-28 16:07:25 +010082
DylanB95EST3fcf8692021-10-11 16:29:16 +010083NCMP stores DMI-Plugin and CM Handle relations using a data model described as per this Yang module.
lukegleeson209c3852021-09-28 16:07:25 +010084
lukegleesonde294742022-07-25 11:00:11 +010085:download:`DMI Yang Module <api/yang/dmi-registry@2022-05-10.yang>`
86
87Note: Although additional-properties are present in the model of the dmi-registry, these are considered private metadata and as such are not queryable.
lukegleesone1308ac2021-09-30 13:36:37 +010088
89Basic Concepts
90--------------
91
92- **CM-Handle** represents an instance a modeled Network Function(node) in ONAP.
93
94 These are stored as Anchors within CPS-Core.
95
DylanB95EST52029452022-08-04 14:16:33 +010096 - **CM-Handle States** are used to represent the potential states in which a CM-Handle can transition between.
97
98 The 5 possible CM-Handle states are: ADVISED, READY, LOCKED, DELETING, DELETED
99
100 **ADVISED** indicates that a CM-Handle has been registered successfully, and is waiting for the module synchronization process to sync the CM-Handle.
101
102 **READY** indicates that the CM-Handle has been synced successfully.
103
104 **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.
105
106 **DELETING** indicates that the CM-Handle is currently being deleted.
107
108 **DELETED** indicates that the CM-Handle has been deleted successfully.
109
bmiklose7578752022-08-04 15:36:11 +0200110 - **Data-sync state** is the state of the data synchronization process of the CM-Handle
111
112 There are 3 possibles states: NONE_REQUESTED, UNSYNCHRONIZED, SYNCHRONIZED
113
114 **NONE_REQUESTED** indicates that the data sync is not requested by the user
115
116 **UNSYNCHRONIZED** indicates the cm-handle is waiting for the data sync watchdog operation to carry out the sync process
117
118 **SYNCHRONIZED** indicates the watchdog process has finished the data synchronization successfully
119
lukegleesone1308ac2021-09-30 13:36:37 +0100120- **Datastores** represent different views of the cm data.
121
122 Datastores are defined for NCMP to access the CPS running or operational datastores. Currently supported datastores are:
123
124 +--------------------------------+-------------------------------------+-------------------------+
125 | Datastore | Configurations | Data access type |
126 +================================+=====================================+=========================+
127 | Passthrough-operational | config-true, config-false | read-only |
128 +--------------------------------+-------------------------------------+-------------------------+
129 | Passthrough-running | config-true | read-write |
ToineSiebelink980089c2021-10-21 13:35:34 +0100130 +--------------------------------+-------------------------------------+-------------------------+
lukegleesonde294742022-07-25 11:00:11 +0100131
sourabh_sourabh9a76aa32023-07-25 10:58:52 +0100132Additional information on CPS-NCMP interfaces
133---------------------------------------------
emacleeb176de22022-08-31 15:53:10 +0100134
lukegleesonde294742022-07-25 11:00:11 +0100135.. toctree::
136 :maxdepth: 1
137
DylanB95ESTdc656472022-08-08 15:22:54 +0100138 ncmp-cmhandle-querying.rst
seanbeirnef5a3a212023-03-06 09:12:49 +0000139 ncmp-inventory-querying.rst
sourabh_sourabh9a76aa32023-07-25 10:58:52 +0100140 ncmp-data-operation.rst
141
142CPS-NCMP Scheduled Processes
143----------------------------
144
145.. toctree::
146 :maxdepth: 1
147
emacleeb176de22022-08-31 15:53:10 +0100148 cps-scheduled-processes.rst