diff options
Diffstat (limited to 'docs')
-rw-r--r-- | docs/api/swagger/cps/openapi.yaml | 21 | ||||
-rw-r--r-- | docs/api/swagger/ncmp/openapi-inventory.yaml | 2 | ||||
-rw-r--r-- | docs/api/swagger/ncmp/openapi.yaml | 2 | ||||
-rw-r--r-- | docs/cps-scheduled-processes.rst | 14 | ||||
-rw-r--r-- | docs/deployment.rst | 44 | ||||
-rw-r--r-- | docs/release-notes.rst | 40 |
6 files changed, 82 insertions, 41 deletions
diff --git a/docs/api/swagger/cps/openapi.yaml b/docs/api/swagger/cps/openapi.yaml index d22b2887a6..3069b18d1e 100644 --- a/docs/api/swagger/cps/openapi.yaml +++ b/docs/api/swagger/cps/openapi.yaml @@ -9,7 +9,7 @@ info: name: Apache 2.0 url: http://www.apache.org/licenses/LICENSE-2.0 title: ONAP Open API v3 Configuration Persistence Service - version: 3.5.2 + version: 3.5.4 servers: - url: /cps/api security: @@ -1451,6 +1451,15 @@ paths: schema: default: / type: string + - description: "Boolean flag to validate data, without persisting it. Default\ + \ value is set to false." + in: query + name: dry-run + required: false + schema: + default: false + example: false + type: boolean - description: observed-timestamp in: query name: observed-timestamp @@ -2550,6 +2559,16 @@ components: schema: example: application/json type: string + dryRunInQuery: + description: "Boolean flag to validate data, without persisting it. Default\ + \ value is set to false." + in: query + name: dry-run + required: false + schema: + default: false + example: false + type: boolean requiredXpathInQuery: description: "For more details on xpath, please refer https://docs.onap.org/projects/onap-cps/en/latest/xpath.html" examples: diff --git a/docs/api/swagger/ncmp/openapi-inventory.yaml b/docs/api/swagger/ncmp/openapi-inventory.yaml index d710316fc3..a2c7af6fda 100644 --- a/docs/api/swagger/ncmp/openapi-inventory.yaml +++ b/docs/api/swagger/ncmp/openapi-inventory.yaml @@ -2,7 +2,7 @@ openapi: 3.0.3 info: description: NCMP Inventory API title: NCMP Inventory API - version: 3.5.2 + version: 3.5.4 servers: - url: /ncmpInventory security: diff --git a/docs/api/swagger/ncmp/openapi.yaml b/docs/api/swagger/ncmp/openapi.yaml index 871090fc7c..f93395a6db 100644 --- a/docs/api/swagger/ncmp/openapi.yaml +++ b/docs/api/swagger/ncmp/openapi.yaml @@ -2,7 +2,7 @@ openapi: 3.0.3 info: description: NCMP to CPS Proxy API title: NCMP to CPS Proxy API - version: 3.5.2 + version: 3.5.4 servers: - url: /ncmp security: diff --git a/docs/cps-scheduled-processes.rst b/docs/cps-scheduled-processes.rst index 032b4b143b..c204e6ca0a 100644 --- a/docs/cps-scheduled-processes.rst +++ b/docs/cps-scheduled-processes.rst @@ -22,9 +22,11 @@ Module Sync ----------- The module sync is a user :ref:`configurable timed process<additional-cps-ncmp-customizations>`, which is set to search for CM-Handles within CPS with an *'ADVISED'* state. -Once the CM-Handle(s) is processed by the module sync, the CM-Handle state is then set to *'READY'*, if the process completes successfully. +Once the CM-Handle is processed by the module sync, the CM-Handle state is then set to *'READY'*, if the process completes successfully. If for any reason the module sync fails, the CM-Handle state will then be set to *'LOCKED'*, and the reason for the lock will also be stored within CPS. +CM-Handles in the *'LOCKED'* state will be retried when the system has availability. CM-Handles in a *'LOCKED'* +state are processed by the retry mechanism, by setting CM-Handle state back to *'ADVISED'* so the next sync cycle will process those again. Data Sync --------- @@ -33,13 +35,3 @@ which is set to search for CM-Handles with a sync state of *'UNSYNCHRONIZED'*. Once the CM-Handle(s) with a sync state of *'UNSYNCHRONIZED'* is processed by the data sync, the CM-Handle sync state is then set to *'SYNCHRONIZED'*, if the process completes successfully. If the data sync fails, the CM-Handle sync state will remain as *'UNSYNCHRONIZED'*, and will be re-attempted. - -Retry Mechanism ---------------- -The retry mechanism is a user :ref:`configurable timed process<additional-cps-ncmp-customizations>`, -which is used to search for CM-Handles which are currently in a *'LOCKED'* state. -If the CM-Handle is ready to be retried then, the CM-Handle(s) in a *'LOCKED'* state is processed by the retry mechanism, -the CM-Handle state is then set to *'ADVISED'*. -Whether the CM-Handle is ready to be retried is dependent on both the number of attempts to sync the CM-Handle, -and the last update time of the CM-Handle state. -With each new attempt to unlock the CM-Handle, the time until the CM-Handle can next be retried is doubled. diff --git a/docs/deployment.rst b/docs/deployment.rst index ba8fcd9347..3f0c1eddc5 100644 --- a/docs/deployment.rst +++ b/docs/deployment.rst @@ -19,6 +19,24 @@ CPS uses PostgreSQL database. As per the `PostgreSQL documentation on resource c parameter should be set between 25% and 40% of total memory. It has a default value of 128 megabytes, so this should be set appropriately. For example, given a database with 2GB of memory, 512MB is a recommended value. +CPS and NCMP Configuration +========================== + +JVM Memory Allocation + +Allocating 75% of the container's memory to the JVM heap ensures efficient memory management. +This helps the JVM make the best use of the allocated resources while leaving enough memory for other processes. + +.. code-block:: yaml + + JAVA_TOOL_OPTIONS: "-XX:InitialRAMPercentage=75.0 -XX:MaxRAMPercentage=75.0" + +Load balancer configuration +=========================== + +For optimal performance in CPS/NCMP, load balancers should be configured to use a least-requests policy, also known as +least-connected. Use of round-robin load balancing can lead to instability. + CPS OOM Charts ============== The CPS kubernetes chart is located in the `OOM repository <https://github.com/onap/oom/tree/master/kubernetes/cps>`_. @@ -284,20 +302,15 @@ Additional CPS-NCMP Customizations | | | | | | See also :ref:`cps_common_credentials_retrieval`. | | +-------------------------------------------+---------------------------------------------------------------------------------------------------------+-------------------------------+ -| config.ncmp.timers | Specifies the delay in milliseconds in which the module sync watch dog will wake again after finishing. | ``30000`` | +| config.ncmp.timers | Specifies the delay in milliseconds in which the module sync watch dog will wake again after finishing. | ``5000`` | | .advised-modules-sync.sleep-time-ms | | | | | | | +-------------------------------------------+---------------------------------------------------------------------------------------------------------+-------------------------------+ -| config.ncmp.timers | Specifies the delay in milliseconds in which the retry mechanism watch dog | | -| .locked-modules-sync.sleep-time-ms | will wake again after finishing. | ``300000`` | -| | | | -| | | | -+-------------------------------------------+---------------------------------------------------------------------------------------------------------+-------------------------------+ | config.ncmp.timers | Specifies the delay in milliseconds in which the data sync watch dog will wake again after finishing. | ``30000`` | | .cm-handle-data-sync.sleep-time-ms | | | | | | | +-------------------------------------------+---------------------------------------------------------------------------------------------------------+-------------------------------+ -| config.additional.ncmp.dmi.httpclient | Specifies the maximum time in seconds, to wait for establishing a connection for the HTTP Client. | ``180`` | +| config.additional.ncmp.dmi.httpclient | Specifies the maximum time in seconds, to wait for establishing a connection for the HTTP Client. | ``30`` | | .connectionTimeoutInSeconds | | | +-------------------------------------------+---------------------------------------------------------------------------------------------------------+-------------------------------+ | config.additional.ncmp.dmi.httpclient | Specifies the maximum number of connections allowed per route in the HTTP client. | ``50`` | @@ -319,32 +332,27 @@ The latest instructions are covered in the `README <https://github.com/onap/cps/ .. Below Label is used by documentation for other CPS components to link here, do not remove even if it gives a warning .. _cps_common_distributed_datastructures: -CPS-Core and NCMP Distributed Datastructures -============================================ +NCMP Distributed Data Structures +================================ -CPS-Core and NCMP both internally uses embedded distributed datastructure to replicate the state across various instances for low latency. -These instances require some additional ports to be available. The default range starts from 5701 and based on the number of instances configured they are incremented sequentially. +NCMP utilizes embedded distributed data structures to replicate state across various instances, ensuring low latency and high performance. Each JVM runs a Hazelcast instance to manage these data structures. To facilitate member visibility and cluster formation, an additional port (defaulting to 5701) must be available. Below are the list of distributed datastructures that we have. +--------------+------------------------------------+-----------------------------------------------------------+ -| Component | Datastructure name | Use | +| Component | Data Structure Name | Use | +==============+====================================+===========================================================+ -| cps-core | anchorDataCache | Used to resolve prefix for the container name. | -+--------------+------------------------------------+-----------------------------------------------------------+ | cps-ncmp | moduleSyncStartedOnCmHandles | Watchdog process to register cm handles. | +--------------+------------------------------------+-----------------------------------------------------------+ | cps-ncmp | dataSyncSemaphores | Watchdog process to sync data from the nodes. | +--------------+------------------------------------+-----------------------------------------------------------+ | cps-ncmp | moduleSyncWorkQueue | Queue used internally for workers to pick the task. | +--------------+------------------------------------+-----------------------------------------------------------+ -| cps-ncmp | untrustworthyCmHandlesSet | Stores untrustworthy cm handles whose trust level is NONE.| +| cps-ncmp | trustLevelPerCmHandle | Stores the trust level per cm handle id | +--------------+------------------------------------+-----------------------------------------------------------+ | cps-ncmp | trustLevelPerDmiPlugin | Stores the trust level for the dmi-plugins. | +--------------+------------------------------------+-----------------------------------------------------------+ -| cps-ncmp | moduleSetTagCacheMapConfig | Stores the module set tags for cm handles. | -+--------------+------------------------------------+-----------------------------------------------------------+ | cps-ncmp | cmNotificationSubscriptionCache | Stores and tracks cm notification subscription requests. | +--------------+------------------------------------+-----------------------------------------------------------+ -Total number of caches : 8 +Total number of caches : 6 diff --git a/docs/release-notes.rst b/docs/release-notes.rst index cebb1c0800..c5b00d6888 100644 --- a/docs/release-notes.rst +++ b/docs/release-notes.rst @@ -16,6 +16,34 @@ CPS Release Notes .. * * * OSLO * * * .. ==================== +Version: 3.5.5 +============== + +Release Data +------------ + ++--------------------------------------+--------------------------------------------------------+ +| **CPS Project** | | +| | | ++--------------------------------------+--------------------------------------------------------+ +| **Docker images** | onap/cps-and-ncmp:3.5.5 | +| | | ++--------------------------------------+--------------------------------------------------------+ +| **Release designation** | 3.5.5 Oslo | +| | | ++--------------------------------------+--------------------------------------------------------+ +| **Release date** | Not yet released | +| | | ++--------------------------------------+--------------------------------------------------------+ + +Bug Fixes +--------- +3.5.5 + +Features +-------- +3.5.5 + Version: 3.5.4 ============== @@ -32,17 +60,19 @@ Release Data | **Release designation** | 3.5.4 Oslo | | | | +--------------------------------------+--------------------------------------------------------+ -| **Release date** | Not yet released | +| **Release date** | 2024 October 17 | | | | +--------------------------------------+--------------------------------------------------------+ Bug Fixes --------- 3.5.4 + - `CPS-2403 <https://lf-onap.atlassian.net/browse/CPS-2403>`_ Improve lock handling and queue management during CM-handle Module Sync. Features -------- 3.5.4 + - `CPS-2408 <https://lf-onap.atlassian.net/browse/CPS-2408>`_ One Hazelcast instance per JVM to manage the distributed data structures. Version: 3.5.3 ============== @@ -1588,10 +1618,6 @@ Following CPS components are available with default ONAP/CPS installation. - Postgres Database -Below service components (mS) are available to be deployed on-demand. - - CPS-TBDMT - - Under OOM (Kubernetes) all CPS component containers are deployed as Kubernetes Pods/Deployments/Services into Kubernetes cluster. Known Limitations, Issues and Workarounds @@ -1701,10 +1727,6 @@ Following CPS components are available with default ONAP/CPS installation. - Postgres Database -Below service components (mS) are available to be deployed on-demand. - - CPS-TBDMT - - Under OOM (Kubernetes) all CPS component containers are deployed as Kubernetes Pods/Deployments/Services into Kubernetes cluster. |