diff options
Diffstat (limited to 'docs')
28 files changed, 1550 insertions, 407 deletions
diff --git a/docs/_static/cps-delta-mechanism.png b/docs/_static/cps-delta-mechanism.png Binary files differindex ab78ad9a1b..07923d4c26 100644 --- a/docs/_static/cps-delta-mechanism.png +++ b/docs/_static/cps-delta-mechanism.png diff --git a/docs/_static/logo_onap_2024.png b/docs/_static/logo_onap_2024.png Binary files differnew file mode 100644 index 0000000000..55d307fc34 --- /dev/null +++ b/docs/_static/logo_onap_2024.png diff --git a/docs/admin-guide.rst b/docs/admin-guide.rst index 1c4d7455f0..4a40f9b29c 100644 --- a/docs/admin-guide.rst +++ b/docs/admin-guide.rst @@ -111,9 +111,9 @@ Execute CPS service that you want to calculate total elapsed time and log as sho .. code-block:: - 2022-01-28 18:39:17.679 DEBUG [cps-application,e17da1571e518c59,e17da1571e518c59] 11128 --- [tp1901272535-29] o.onap.cps.aop.CpsLoggingAspectService : Execution time of : DataspaceRepository.getByName() with argument[s] = [test42] having result = org.onap.cps.spi.entities.DataspaceEntity@68ded236 :: 205 ms + 2022-01-28 18:39:17.679 DEBUG [cps-application,e17da1571e518c59,e17da1571e518c59] 11128 --- [tp1901272535-29] o.onap.cps.aop.CpsLoggingAspectService : Execution time of : DataspaceRepository.getByName() with argument[s] = [test42] having result = org.onap.cps.impl.models.DataspaceEntity@68ded236 :: 205 ms - 2022-01-28 18:39:17.726 DEBUG [cps-application,e17da1571e518c59,e17da1571e518c59] 11128 --- [tp1901272535-29] o.onap.cps.aop.CpsLoggingAspectService : Execution time of : AnchorRepository.getByDataspaceAndName() with argument[s] = [org.onap.cps.spi.entities.DataspaceEntity@68ded236, bookstore] having result = org.onap.cps.spi.entities.AnchorEntity@71c47fb1 :: 46 ms + 2022-01-28 18:39:17.726 DEBUG [cps-application,e17da1571e518c59,e17da1571e518c59] 11128 --- [tp1901272535-29] o.onap.cps.aop.CpsLoggingAspectService : Execution time of : AnchorRepository.getByDataspaceAndName() with argument[s] = [org.onap.cps.impl.models.DataspaceEntity@68ded236, bookstore] having result = org.onap.cps.impl.models.AnchorEntity@71c47fb1 :: 46 ms 2022-01-28 18:39:17.768 DEBUG [cps-application,e17da1571e518c59,e17da1571e518c59] 11128 --- [tp1901272535-29] o.onap.cps.aop.CpsLoggingAspectService : Execution time of : CpsAdminPersistenceServiceImpl.getAnchor() with argument[s] = [test42, bookstore] having result = Anchor(name=bookstore, dataspaceName=test42, schemaSetName=bookstore) :: 299 ms diff --git a/docs/api/swagger/cps/openapi.yaml b/docs/api/swagger/cps/openapi.yaml index 2798b78643..3f889c1e6c 100644 --- a/docs/api/swagger/cps/openapi.yaml +++ b/docs/api/swagger/cps/openapi.yaml @@ -9,11 +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: 1.0.0 - x-planned-retirement-date: "202212" - x-component: Modeling - x-logo: - url: cps_logo.png + version: 3.5.4 servers: - url: /cps/api security: @@ -40,7 +36,7 @@ paths: responses: "201": content: - text/plain: + application/json: schema: example: my-resource type: string @@ -364,7 +360,7 @@ paths: responses: "201": content: - text/plain: + application/json: schema: example: my-resource type: string @@ -711,7 +707,7 @@ paths: responses: "201": content: - text/plain: + application/json: schema: example: my-resource type: string @@ -1166,6 +1162,15 @@ paths: default: none example: "3" type: string + - description: Content type in header + in: header + name: Content-Type + required: true + schema: + enum: + - application/json + - application/xml + type: string responses: "200": content: @@ -1176,6 +1181,15 @@ paths: value: null schema: type: object + application/xml: + examples: + dataSample: + $ref: '#/components/examples/dataSampleXml' + value: null + schema: + type: object + xml: + name: stores description: OK "400": content: @@ -1346,6 +1360,15 @@ paths: schema: example: 2021-03-21T00:10:34.030-0100 type: string + - description: Content type in header + in: header + name: Content-Type + required: true + schema: + enum: + - application/json + - application/xml + type: string requestBody: content: application/json: @@ -1354,7 +1377,16 @@ paths: $ref: '#/components/examples/dataSample' value: null schema: + type: string + application/xml: + examples: + dataSample: + $ref: '#/components/examples/dataSampleXml' + value: null + schema: type: object + xml: + name: stores required: true responses: "200": @@ -1439,6 +1471,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 @@ -1446,12 +1487,14 @@ paths: schema: example: 2021-03-21T00:10:34.030-0100 type: string - - description: Content type header + - description: Content type in header in: header name: Content-Type required: true schema: - example: application/json + enum: + - application/json + - application/xml type: string requestBody: content: @@ -1475,7 +1518,7 @@ paths: responses: "201": content: - text/plain: + application/json: schema: example: my-resource type: string @@ -1571,6 +1614,15 @@ paths: schema: example: 2021-03-21T00:10:34.030-0100 type: string + - description: Content type in header + in: header + name: Content-Type + required: true + schema: + enum: + - application/json + - application/xml + type: string requestBody: content: application/json: @@ -1579,7 +1631,16 @@ paths: $ref: '#/components/examples/dataSample' value: null schema: + type: string + application/xml: + examples: + dataSample: + $ref: '#/components/examples/dataSampleXml' + value: null + schema: type: object + xml: + name: stores required: true responses: "200": @@ -1746,6 +1807,15 @@ paths: schema: example: 2021-03-21T00:10:34.030-0100 type: string + - description: Content type in header + in: header + name: Content-Type + required: true + schema: + enum: + - application/json + - application/xml + type: string requestBody: content: application/json: @@ -1754,12 +1824,21 @@ paths: $ref: '#/components/examples/dataSample' value: null schema: + type: string + application/xml: + examples: + dataSample: + $ref: '#/components/examples/dataSampleXml' + value: null + schema: type: object + xml: + name: stores required: true responses: "201": content: - text/plain: + application/json: schema: example: my-resource type: string @@ -1896,7 +1975,7 @@ paths: summary: Replace list content tags: - cps-data - /v2/dataspaces/{dataspace-name}/anchors/{anchor-name}/delta: + /v2/dataspaces/{dataspace-name}/anchors/{source-anchor-name}/delta: get: description: Get delta between two anchors within a given dataspace operationId: getDeltaByDataspaceAndAnchors @@ -1908,9 +1987,9 @@ paths: schema: example: my-dataspace type: string - - description: anchor-name + - description: source-anchor-name in: path - name: anchor-name + name: source-anchor-name required: true schema: example: my-anchor @@ -1989,6 +2068,95 @@ paths: tags: - cps-data x-codegen-request-body-name: xpath + post: + description: Get delta between an anchor in a dataspace and JSON payload + operationId: getDeltaByDataspaceAnchorAndPayload + parameters: + - description: dataspace-name + in: path + name: dataspace-name + required: true + schema: + example: my-dataspace + type: string + - description: source-anchor-name + in: path + name: source-anchor-name + required: true + schema: + example: my-anchor + type: string + - description: "For more details on xpath, please refer https://docs.onap.org/projects/onap-cps/en/latest/xpath.html" + examples: + container xpath: + value: /shops/bookstore + list attributes xpath: + value: "/shops/bookstore/categories[@code=1]" + in: query + name: xpath + required: false + schema: + default: / + type: string + requestBody: + content: + multipart/form-data: + schema: + $ref: '#/components/schemas/getDeltaByDataspaceAnchorAndPayload_request' + responses: + "200": + content: + application/json: + examples: + dataSample: + $ref: '#/components/examples/deltaReportSample' + value: null + schema: + type: object + description: OK + "400": + content: + application/json: + example: + status: 400 + message: Bad Request + details: The provided request is not valid + schema: + $ref: '#/components/schemas/ErrorMessage' + description: Bad Request + "401": + content: + application/json: + example: + status: 401 + message: Unauthorized request + details: This request is unauthorized + schema: + $ref: '#/components/schemas/ErrorMessage' + description: Unauthorized + "403": + content: + application/json: + example: + status: 403 + message: Request Forbidden + details: This request is forbidden + schema: + $ref: '#/components/schemas/ErrorMessage' + description: Forbidden + "500": + content: + application/json: + example: + status: 500 + message: Internal Server Error + details: Internal Server Error occurred + schema: + $ref: '#/components/schemas/ErrorMessage' + description: Internal Server Error + summary: Get delta between an anchor and JSON payload + tags: + - cps-data /v1/dataspaces/{dataspace-name}/anchors/{anchor-name}/nodes/query: get: deprecated: true @@ -2270,20 +2438,20 @@ components: dataSampleXml: value: <stores xmlns="urn:ietf:params:xml:ns:netconf:base:1.0"> <bookstore xmlns="org:onap:ccsdk:sample"> <bookstore-name>Chapters</bookstore-name> <categories> <code>1</code> <name>SciFi</name> - </categories> </bookstore> </stores> + <code>2</code> <name>kids</name> </categories> </bookstore> </stores> deltaReportSample: value: - - action: ADD + - action: create xpath: "/bookstore/categories/[@code=3]" target-data: code: "3," name: kidz - - action: REMOVE + - action: remove xpath: "/bookstore/categories/[@code=1]" source-data: code: "1," name: Fiction - - action: UPDATE + - action: replace xpath: "/bookstore/categories/[@code=2]" source-data: name: Funny @@ -2401,6 +2569,16 @@ components: default: none example: "3" type: string + contentTypeInHeader: + description: Content type in header + in: header + name: Content-Type + required: true + schema: + enum: + - application/json + - application/xml + type: string observedTimestampInQuery: description: observed-timestamp in: query @@ -2409,14 +2587,16 @@ components: schema: example: 2021-03-21T00:10:34.030-0100 type: string - contentTypeHeader: - description: Content type header - in: header - name: Content-Type - required: true + dryRunInQuery: + description: "Boolean flag to validate data, without persisting it. Default\ + \ value is set to false." + in: query + name: dry-run + required: false schema: - example: application/json - type: string + 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: @@ -2429,6 +2609,14 @@ components: required: true schema: type: string + sourceAnchorNameInPath: + description: source-anchor-name + in: path + name: source-anchor-name + required: true + schema: + example: my-anchor + type: string targetAnchorNameInQuery: description: target-anchor-name in: query @@ -2471,7 +2659,7 @@ components: responses: Created: content: - text/plain: + application/json: schema: example: my-resource type: string @@ -2530,6 +2718,16 @@ components: schema: type: object description: OK + Unauthorized: + content: + application/json: + example: + status: 401 + message: Unauthorized request + details: This request is unauthorized + schema: + $ref: '#/components/schemas/ErrorMessage' + description: Unauthorized schemas: ErrorMessage: properties: @@ -2619,6 +2817,24 @@ components: type: string title: Module reference object type: object + getDeltaByDataspaceAnchorAndPayload_request: + properties: + json: + example: + test:bookstore: + bookstore-name: Chapters + categories: + - code: 1 + name: SciFi + - code: 2 + name: kids + type: object + file: + format: binary + type: string + required: + - json + type: object securitySchemes: basicAuth: scheme: basic diff --git a/docs/api/swagger/ncmp/openapi-inventory.yaml b/docs/api/swagger/ncmp/openapi-inventory.yaml index 4f5180d510..c72f47a428 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: "1.0" + version: 3.5.4 servers: - url: /ncmpInventory security: @@ -131,9 +131,19 @@ paths: - network-cm-proxy-inventory /v1/ch/searches: post: - description: "Query and get CMHandleIds for additional properties, public properties\ - \ and registered DMI plugin (DMI plugin, DMI data plugin, DMI model plugin)." + description: "Query and get CMHandle references for additional properties, public\ + \ properties and registered DMI plugin (DMI plugin, DMI data plugin, DMI model\ + \ plugin)." operationId: searchCmHandleIds + parameters: + - description: Boolean parameter to determine if returned value(s) will be cm + handle references for a given query + in: query + name: outputAlternateId + required: false + schema: + default: false + type: boolean requestBody: content: application/json: @@ -182,6 +192,15 @@ components: schema: example: my-dmi-plugin type: string + outputAlternateIdOptionInQuery: + description: Boolean parameter to determine if returned value(s) will be cmHandle + Ids or Alternate Ids for a given query + in: query + name: outputAlternateId + required: false + schema: + default: false + type: boolean responses: NoContent: content: {} diff --git a/docs/api/swagger/ncmp/openapi.yaml b/docs/api/swagger/ncmp/openapi.yaml index 9f6a1b2b66..024aed681c 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: "1.0" + version: 3.5.4 servers: - url: /ncmp security: @@ -20,16 +20,16 @@ paths: schema: example: ncmp-datastore:running type: string - - description: "The identifier for a network function, network element, subnetwork\ - \ or any other cm object by managed Network CM Proxy" + - description: "The identifier (cmHandle or alternate) for a network function,\ + \ network element, subnetwork or any other cm object by managed Network\ + \ CM Proxy" in: path name: cm-handle required: true schema: - example: my-cm-handle + example: my-cm-handle-reference type: string - - allowReserved: true - description: The format of resource identifier depend on the associated DMI + - description: The format of resource identifier depend on the associated DMI Plugin implementation. For ONAP DMI Plugin it will be RESTConf paths but it can really be anything. examples: @@ -131,16 +131,16 @@ paths: schema: example: ncmp-datastore:running type: string - - description: "The identifier for a network function, network element, subnetwork\ - \ or any other cm object by managed Network CM Proxy" + - description: "The identifier (cmHandle or alternate) for a network function,\ + \ network element, subnetwork or any other cm object by managed Network\ + \ CM Proxy" in: path name: cm-handle required: true schema: - example: my-cm-handle + example: my-cm-handle-reference type: string - - allowReserved: true - description: The format of resource identifier depend on the associated DMI + - description: The format of resource identifier depend on the associated DMI Plugin implementation. For ONAP DMI Plugin it will be RESTConf paths but it can really be anything. examples: @@ -158,8 +158,7 @@ paths: required: true schema: type: string - - allowReserved: true - description: "options parameter in query, it is mandatory to wrap key(s)=value(s)\ + - description: "options parameter in query, it is mandatory to wrap key(s)=value(s)\ \ in parenthesis'()'. The format of options parameter depend on the associated\ \ DMI Plugin implementation." examples: @@ -177,8 +176,7 @@ paths: required: false schema: type: string - - allowReserved: true - description: topic parameter in query. + - description: topic parameter in query. examples: sample 1: value: @@ -268,16 +266,16 @@ paths: schema: example: ncmp-datastore:running type: string - - description: "The identifier for a network function, network element, subnetwork\ - \ or any other cm object by managed Network CM Proxy" + - description: "The identifier (cmHandle or alternate) for a network function,\ + \ network element, subnetwork or any other cm object by managed Network\ + \ CM Proxy" in: path name: cm-handle required: true schema: - example: my-cm-handle + example: my-cm-handle-reference type: string - - allowReserved: true - description: The format of resource identifier depend on the associated DMI + - description: The format of resource identifier depend on the associated DMI Plugin implementation. For ONAP DMI Plugin it will be RESTConf paths but it can really be anything. examples: @@ -382,16 +380,16 @@ paths: schema: example: ncmp-datastore:running type: string - - description: "The identifier for a network function, network element, subnetwork\ - \ or any other cm object by managed Network CM Proxy" + - description: "The identifier (cmHandle or alternate) for a network function,\ + \ network element, subnetwork or any other cm object by managed Network\ + \ CM Proxy" in: path name: cm-handle required: true schema: - example: my-cm-handle + example: my-cm-handle-reference type: string - - allowReserved: true - description: The format of resource identifier depend on the associated DMI + - description: The format of resource identifier depend on the associated DMI Plugin implementation. For ONAP DMI Plugin it will be RESTConf paths but it can really be anything. examples: @@ -501,16 +499,16 @@ paths: schema: example: ncmp-datastore:running type: string - - description: "The identifier for a network function, network element, subnetwork\ - \ or any other cm object by managed Network CM Proxy" + - description: "The identifier (cmHandle or alternate) for a network function,\ + \ network element, subnetwork or any other cm object by managed Network\ + \ CM Proxy" in: path name: cm-handle required: true schema: - example: my-cm-handle + example: my-cm-handle-reference type: string - - allowReserved: true - description: The format of resource identifier depend on the associated DMI + - description: The format of resource identifier depend on the associated DMI Plugin implementation. For ONAP DMI Plugin it will be RESTConf paths but it can really be anything. examples: @@ -615,12 +613,11 @@ paths: post: description: This request will be handled asynchronously using messaging to the supplied topic. The rest response will be an acknowledge with a requestId - to identify the relevant messages. A maximum of 50 cm handles per operation + to identify the relevant messages. A maximum of 200 cm handles per operation is supported. operationId: executeDataOperationForCmHandles parameters: - - allowReserved: true - description: mandatory topic parameter in query. + - description: mandatory topic parameter in query. examples: sample 1: value: @@ -701,7 +698,7 @@ paths: schema: $ref: '#/components/schemas/DmiErrorMessage' description: Bad Gateway - summary: Execute a data operation for group of cm handle ids + summary: Execute a data operation for group of cm handle references tags: - network-cm-proxy /v1/ch/{cm-handle}/data/ds/{datastore-name}/query: @@ -736,8 +733,7 @@ paths: schema: default: / type: string - - allowReserved: true - description: "options parameter in query, it is mandatory to wrap key(s)=value(s)\ + - description: "options parameter in query, it is mandatory to wrap key(s)=value(s)\ \ in parenthesis'()'. The format of options parameter depend on the associated\ \ DMI Plugin implementation." examples: @@ -755,8 +751,7 @@ paths: required: false schema: type: string - - allowReserved: true - description: topic parameter in query. + - description: topic parameter in query. examples: sample 1: value: @@ -834,13 +829,14 @@ paths: handle operationId: getModuleReferencesByCmHandle parameters: - - description: "The identifier for a network function, network element, subnetwork\ - \ or any other cm object by managed Network CM Proxy" + - description: "The identifier (cmHandle or alternate) for a network function,\ + \ network element, subnetwork or any other cm object by managed Network\ + \ CM Proxy" in: path name: cm-handle required: true schema: - example: my-cm-handle + example: my-cm-handle-reference type: string responses: "200": @@ -890,13 +886,14 @@ paths: \ with options to filter on module name and revision" operationId: getModuleDefinitions parameters: - - description: "The identifier for a network function, network element, subnetwork\ - \ or any other cm object by managed Network CM Proxy" + - description: "The identifier (cmHandle or alternate) for a network function,\ + \ network element, subnetwork or any other cm object by managed Network\ + \ CM Proxy" in: path name: cm-handle required: true schema: - example: my-cm-handle + example: my-cm-handle-reference type: string - description: Filter for a module name.This is an optional parameter in: query @@ -1027,13 +1024,14 @@ paths: description: Retrieve CM handle details and properties by cm handle id operationId: retrieveCmHandleDetailsById parameters: - - description: "The identifier for a network function, network element, subnetwork\ - \ or any other cm object by managed Network CM Proxy" + - description: "The identifier (cmHandle or alternate) for a network function,\ + \ network element, subnetwork or any other cm object by managed Network\ + \ CM Proxy" in: path name: cm-handle required: true schema: - example: my-cm-handle + example: my-cm-handle-reference type: string responses: "200": @@ -1080,13 +1078,14 @@ paths: description: Get CM handle properties by cm handle id operationId: getCmHandlePublicPropertiesByCmHandleId parameters: - - description: "The identifier for a network function, network element, subnetwork\ - \ or any other cm object by managed Network CM Proxy" + - description: "The identifier (cmHandle or alternate) for a network function,\ + \ network element, subnetwork or any other cm object by managed Network\ + \ CM Proxy" in: path name: cm-handle required: true schema: - example: my-cm-handle + example: my-cm-handle-reference type: string responses: "200": @@ -1130,7 +1129,7 @@ paths: - network-cm-proxy /v1/ch/id-searches: post: - description: Execute cm handle query search and return a list of cm handle ids. + description: Execute cm handle query search and return a list of cm handle references. Any number of conditions can be applied. To be included in the result a cm-handle must fulfill ALL the conditions. An empty collection will be returned in the case that the cm handle does not match a condition. For more on cm handle @@ -1141,6 +1140,15 @@ paths: Path Read the Docs</a>. The cm handle ancestor is automatically returned for this query. operationId: searchCmHandleIds + parameters: + - description: Boolean parameter to determine if returned value(s) will be cm + handle references for a given query + in: query + name: outputAlternateId + required: false + schema: + default: false + type: boolean requestBody: content: application/json: @@ -1220,13 +1228,14 @@ paths: description: Get CM handle state by cm handle id operationId: getCmHandleStateByCmHandleId parameters: - - description: "The identifier for a network function, network element, subnetwork\ - \ or any other cm object by managed Network CM Proxy" + - description: "The identifier (cmHandle or alternate) for a network function,\ + \ network element, subnetwork or any other cm object by managed Network\ + \ CM Proxy" in: path name: cm-handle required: true schema: - example: my-cm-handle + example: my-cm-handle-reference type: string responses: "200": @@ -1474,17 +1483,17 @@ components: schema: example: ncmp-datastore:running type: string - cmHandleInPath: - description: "The identifier for a network function, network element, subnetwork\ - \ or any other cm object by managed Network CM Proxy" + cmHandleReferenceInPath: + description: "The identifier (cmHandle or alternate) for a network function,\ + \ network element, subnetwork or any other cm object by managed Network CM\ + \ Proxy" in: path name: cm-handle required: true schema: - example: my-cm-handle + example: my-cm-handle-reference type: string resourceIdentifierInQuery: - allowReserved: true description: The format of resource identifier depend on the associated DMI Plugin implementation. For ONAP DMI Plugin it will be RESTConf paths but it can really be anything. @@ -1504,7 +1513,6 @@ components: schema: type: string optionsParamInQuery: - allowReserved: true description: "options parameter in query, it is mandatory to wrap key(s)=value(s)\ \ in parenthesis'()'. The format of options parameter depend on the associated\ \ DMI Plugin implementation." @@ -1524,7 +1532,6 @@ components: schema: type: string topicParamInQuery: - allowReserved: true description: topic parameter in query. examples: sample 1: @@ -1561,7 +1568,6 @@ components: example: application/yang-data+json type: string requiredTopicParamInQuery: - allowReserved: true description: mandatory topic parameter in query. examples: sample 1: @@ -1572,6 +1578,15 @@ components: required: true schema: type: string + cmHandleInPath: + description: "The identifier for a network function, network element, subnetwork\ + \ or any other cm object by managed Network CM Proxy" + in: path + name: cm-handle + required: true + schema: + example: my-cm-handle + type: string cpsPathInQuery: description: "For more details on cps path, please refer https://docs.onap.org/projects/onap-cps/en/latest/cps-path.html" examples: @@ -1602,6 +1617,15 @@ components: schema: example: 2024-01-22 type: string + outputAlternateIdOptionInQuery: + description: Boolean parameter to determine if returned value(s) will be cm + handle references for a given query + in: query + name: outputAlternateId + required: false + schema: + default: false + type: boolean dataSyncEnabled: description: Is used to enable or disable the data synchronization flag in: query @@ -1765,8 +1789,8 @@ components: type: string targetIds: items: - description: "targeted cm handles, maximum of 50 supported. If this limit\ - \ is exceeded the request wil be refused." + description: "targeted cm handle references, maximum of 200 supported.\ + \ If this limit is exceeded the request wil be refused." example: "[\"da310eecdb8d44c2acc0ddaae01174b1\",\"c748c58f8e0b438f9fd1f28370b17d47\"\ ]" type: string diff --git a/docs/api/swagger/policy-executor/openapi.yaml b/docs/api/swagger/policy-executor/openapi.yaml new file mode 100644 index 0000000000..1248c0d08b --- /dev/null +++ b/docs/api/swagger/policy-executor/openapi.yaml @@ -0,0 +1,261 @@ +# ============LICENSE_START======================================================= +# Copyright (C) 2024 Nordix Foundation +# ================================================================================ +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# +# SPDX-License-Identifier: Apache-2.0 +# ============LICENSE_END========================================================= + +openapi: 3.0.3 +info: + description: Allows NCMP to execute a policy defined by a third party implementation + before proceeding with a CM operation + title: Policy Executor + version: 1.0.0 +servers: +- url: / +security: +- bearerAuth: [] +tags: +- description: Execute all your policies + name: policy-executor +paths: + /policy-executor/api/v1/{action}: + post: + description: Fire a Policy action + operationId: executePolicyAction + parameters: + - description: Bearer token may be used to identify client as part of a policy + explode: false + in: header + name: Authorization + required: false + schema: + type: string + style: simple + - description: "The policy action. Currently supported options: 'execute'" + explode: false + in: path + name: action + required: true + schema: + example: execute + type: string + style: simple + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/PolicyExecutionRequest' + description: The action request body + required: true + responses: + "200": + content: + application/json: + schema: + $ref: '#/components/schemas/PolicyExecutionResponse' + description: Successful policy execution + "400": + content: + application/json: + example: + status: 400 + message: Bad Request + details: The provided request is not valid + schema: + $ref: '#/components/schemas/ErrorMessage' + description: Bad request + "401": + content: + application/json: + example: + status: 401 + message: Unauthorized request + details: This request is unauthorized + schema: + $ref: '#/components/schemas/ErrorMessage' + description: Unauthorized request + "403": + content: + application/json: + example: + status: 403 + message: Request Forbidden + details: This request is forbidden + schema: + $ref: '#/components/schemas/ErrorMessage' + description: Request forbidden + "500": + content: + application/json: + example: + status: 500 + message: Internal Server Error + details: Internal server error occurred + schema: + $ref: '#/components/schemas/ErrorMessage' + description: Internal server error + tags: + - policy-executor +components: + parameters: + actionInPath: + description: "The policy action. Currently supported options: 'execute'" + explode: false + in: path + name: action + required: true + schema: + example: execute + type: string + style: simple + authorizationInHeader: + description: Bearer token may be used to identify client as part of a policy + explode: false + in: header + name: Authorization + required: false + schema: + type: string + style: simple + responses: + BadRequest: + content: + application/json: + example: + status: 400 + message: Bad Request + details: The provided request is not valid + schema: + $ref: '#/components/schemas/ErrorMessage' + description: Bad request + Unauthorized: + content: + application/json: + example: + status: 401 + message: Unauthorized request + details: This request is unauthorized + schema: + $ref: '#/components/schemas/ErrorMessage' + description: Unauthorized request + Forbidden: + content: + application/json: + example: + status: 403 + message: Request Forbidden + details: This request is forbidden + schema: + $ref: '#/components/schemas/ErrorMessage' + description: Request forbidden + InternalServerError: + content: + application/json: + example: + status: 500 + message: Internal Server Error + details: Internal server error occurred + schema: + $ref: '#/components/schemas/ErrorMessage' + description: Internal server error + NotImplemented: + content: + application/json: + example: + status: 501 + message: Not Implemented + details: Method not implemented + schema: + $ref: '#/components/schemas/ErrorMessage' + description: Method not (yet) implemented + schemas: + ErrorMessage: + properties: + status: + type: string + message: + type: string + details: + type: string + title: Error + type: object + Request: + example: + schema: org.onap.cps.ncmp.policy-executor:ncmp-create-schema:1.0.0 + data: "{}" + properties: + schema: + description: The schema for the data in this request. The schema name should + include the type of operation + example: org.onap.cps.ncmp.policy-executor:ncmp-create-schema:1.0.0 + type: string + data: + description: The data related to the request. The format of the object is + determined by the schema + type: object + required: + - data + - schema + type: object + PolicyExecutionRequest: + example: + decisionType: allow + requests: + - schema: org.onap.cps.ncmp.policy-executor:ncmp-create-schema:1.0.0 + data: "{}" + - schema: org.onap.cps.ncmp.policy-executor:ncmp-create-schema:1.0.0 + data: "{}" + properties: + decisionType: + description: "The type of decision. Currently supported options: 'allow'" + example: allow + type: string + requests: + items: + $ref: '#/components/schemas/Request' + type: array + required: + - decisionType + - requests + type: object + PolicyExecutionResponse: + example: + decision: deny + decisionId: 550e8400-e29b-41d4-a716-446655440000 + message: Object locked due to recent change + properties: + decisionId: + description: Unique ID for the decision (for auditing purposes) + example: 550e8400-e29b-41d4-a716-446655440000 + type: string + decision: + description: "The decision outcome. Currently supported values: 'allow','deny'" + example: deny + type: string + message: + description: Additional information regarding the decision outcome + example: Object locked due to recent change + type: string + required: + - decision + - decisionId + - message + type: object + securitySchemes: + bearerAuth: + description: "Bearer token (from client that called CPS-NCMP),used by policies\ + \ to identify the client" + scheme: bearer + type: http diff --git a/docs/architecture.rst b/docs/architecture.rst index d21b213bb8..3cb0a26ce7 100644 --- a/docs/architecture.rst +++ b/docs/architecture.rst @@ -19,7 +19,7 @@ parameters that need to be used by ONAP. CPS is no longer a stand alone component and is released along with and the NCMP-DMI-Plugin. Project page describing eventual scope and ambition is here: -`Configuration Persistence Service Project <https://wiki.onap.org/display/DW/Configuration+Persistence+Service+Project>`_ +`Configuration Persistence Service Project <https://lf-onap.atlassian.net/wiki/spaces/DW/pages/16398157/Configuration+Persistence+Service+Project>`_ This page reflects the state for the latest release. diff --git a/docs/cm-notification-subscriptions.rst b/docs/cm-notification-subscriptions.rst new file mode 100644 index 0000000000..e1d1c2f800 --- /dev/null +++ b/docs/cm-notification-subscriptions.rst @@ -0,0 +1,60 @@ +.. This work is licensed under a Creative Commons Attribution 4.0 International License. +.. http://creativecommons.org/licenses/by/4.0 +.. Copyright (C) 2024 Nordix Foundation + +.. DO NOT CHANGE THIS LABEL FOR RELEASE NOTES - EVEN THOUGH IT GIVES A WARNING +.. _cmNotificationSubscriptions: + + +CM Data Subscriptions and Notifications +####################################### + +.. toctree:: + :maxdepth: 1 + +CM Data Subscriptions +===================== +CM Subscriptions are created to subscribe to notifications for CM related changes that happened in the network based on predicates. +Predicates can be used to filter on CM Handle (id), Datastore and Xpath. + +The CM Subscription flow is event driven and adheres to the CNCF Cloud Events Specifications. + +Event to create and delete a subscription. + +:download:`CM Subscription Event Schema <schemas/ncmp-in-event-schema-1.0.0.json>` + +Event to receive status of participants in a subscription. + +:download:`CM Subscription Response Event Schema <schemas/ncmp-out-event-schema-1.0.0.json>` + +CM Subscriptions Creation +------------------------- +To create a subscription, a client sends an event to a configured topic to register its interest with NCMP allowing the client to receive notifications based on the subscription. + +CM Subscriptions Deletion +------------------------- +If a client no longer wishes to receive notifications based on a registered subscription, the client can delete the subscription by providing the subscription id. + +CM Subscriptions Response +------------------------- +The response for the involved subscription participants for the Create and Delete flow can be as follows based on how the DMI Plugin responds back to NCMP. + - **ACCEPTED:** DMI Plugin successfully applied the subscription. + - **REJECTED:** DMI Plugin failed to apply the subscription. + - **PENDING:** DMI Plugin failed to respond within a configured time. + +**Note.** The Cm Subscription feature relies on the DMI Plugin support for applying the subscriptions. This support is currently not implemented in the ONAP DMI Plugin. + +CM Data Notifications +===================== +CM Notifications are triggered by any change in the network, provided the client has already set up a CM Subscription to receive such notifications. Once the events are generated, they are processed by NCMP and forwarded to the client in the same format. + +**Note.** Currently, CM Notifications are sent regardless of the CM Subscriptions. Notifications controlled by CM Subscription have not yet been delivered. + +The CM Notification Event follows the structure outlined in the schema below: + +:download:`CM Data Notification Event Schema <schemas/dmidataavc/avc-event-schema-1.0.0.json>` + +**Note.** NCMP uses the CM Notification event key from the source topic to forward notifications to the client, ensuring that the order of notifications within a topic partition is maintained during forwarding. +**Note.** If the notification key from the source topic is null, NCMP cannot guarantee the order of events within a topic partition when forwarding. + + diff --git a/docs/conf.py b/docs/conf.py index e8bb6630f3..5d7a79941d 100755 --- a/docs/conf.py +++ b/docs/conf.py @@ -31,7 +31,7 @@ html_theme = "sphinx_rtd_theme" html_theme_options = { "style_nav_header_background": "white", "sticky_navigation": "False" } -html_logo = "_static/logo_onap_2017.png" +html_logo = "_static/logo_onap_2024.png" html_favicon = "_static/favicon.ico" html_static_path = ["_static"] html_show_sphinx = False diff --git a/docs/cps-delta-endpoints.rst b/docs/cps-delta-endpoints.rst index b2e4e6041b..47f52dc670 100644 --- a/docs/cps-delta-endpoints.rst +++ b/docs/cps-delta-endpoints.rst @@ -1,44 +1,59 @@ .. 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 .. Copyright (C) 2024 TechMahindra Ltd. .. _cpsDeltaEndpoints: -.. toctree:: - :maxdepth: 1 - CPS Delta Endpoints ################### -The CPS Delta feature provides 1 endpoint: +The CPS Delta feature provides two endpoints: + +1. GET /v2/dataspaces/{dataspace-name}/anchors/{source-anchor-name}/delta +2. POST /v2/dataspaces/{dataspace-name}/anchors/{source-anchor-name}/delta -- /v2/dataspaces/{dataspace-name}/anchors/{anchor-name}/delta +Common Parameters of both the endpoints +--------------------------------------- +Common Path Parameters +^^^^^^^^^^^^^^^^^^^^^^ +The following parameters are common inputs between the two endpoints: + - **dataspace-name:** name of dataspace where the anchor(s) to be used for delta generation are stored. + - **source-anchor-name:** the source anchor name, the data under this anchor will be the reference data for delta report generation -Description ------------ -The following is a Get endpoint, which allows the user to find the delta between configurations stored under two anchors within the same dataspace. +Common Query Parameter +^^^^^^^^^^^^^^^^^^^^^^ +Both the endpoint need the following query parameters as input: + - **xpath:** the xpath to a particular data node. + - Example: /bookstore/categories[@code='1'] -Path Parameters ---------------- -The endpoint takes 2 path parameters as input: - - **dataspace-name:** name of dataspace where the 2 anchors to be used for delta generation are stored. - - **anchor-name:** the source anchor name, the data under this anchor will be the reference data for delta report generation +Description of API 1: Delta between 2 Anchors +--------------------------------------------- +This API performs a GET operation, which allows the user to find the delta between configurations stored under two anchors within the same dataspace. The API has following input parameters: -Query Parameters ----------------- -The endpoint takes 3 query parameters as input: - - **target-anchor-name:** the data retrieved from target anchor gets compared against the data retrieved from source anchor - - **xpath:** the xpath to a particular data node, Example: /bookstore/categories[@code='1'] +Specific Query Parameters +^^^^^^^^^^^^^^^^^^^^^^^^^ +The endpoint takes following additional/specific query parameters as input: + - **target-anchor-name:** the data retrieved from target anchor is compared against the data retrieved from source anchor - **descendants:** specifies the number of descendants to query. +Description of API 2: Delta between Anchor and JSON payload +----------------------------------------------------------- +This API performs a POST operation, which allows the user to find the delta between configurations stored under an anchors and a JSON payload provided as part of the request. The API has the following input parameters: + +Request Body for Endpoint 2 +^^^^^^^^^^^^^^^^^^^^^^^^^^^ +The endpoint accepts a **multipart/form-data** input as part of request body. This allows the user to provide the following inputs as part of request body: + - **JSON payload:** this field accepts a valid JSON string as an input. The data provided as part of this JSON will be parsed using the schema, the schema is either retrieved using the anchor name or it can be provided as part of request body using the optional parameter of request body defined below. Once the JSON is parsed and validated, it is compared to the data fetched from the source anchor and the delta report is generated. + - **schema-context:** this is an optional parameter and allows the user to provide the schema of the JSON payload, as a yang or zip file, and this schema can be used to parse the JSON string in case the schema of JSON differs from the schema associated with source anchor. If the schema of JSON payload is similar to the schema associated with the anchor then this parameter can be left empty. + Sample Delta Report ------------------- +Both the APIs have the same format for the delta report. The format is as follows: .. code-block:: json [ { - "action": "ADD", + "action": "create", "xpath": "/bookstore/categories/[@code=3]", "target-data": { "code": "3,", @@ -46,7 +61,7 @@ Sample Delta Report } }, { - "action": "REMOVE", + "action": "remove", "xpath": "/bookstore/categories/[@code=1]", "source-data": { "code": "1,", @@ -54,7 +69,7 @@ Sample Delta Report } }, { - "action": "UPDATE", + "action": "replace", "xpath": "/bookstore/categories/[@code=2]", "source-data": { "name": "Funny" diff --git a/docs/cps-delta-feature.rst b/docs/cps-delta-feature.rst index f3a2f947e4..ee3df45378 100644 --- a/docs/cps-delta-feature.rst +++ b/docs/cps-delta-feature.rst @@ -1,6 +1,5 @@ .. 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 .. Copyright (C) 2024 TechMahindra Ltd. .. _cpsDelta: @@ -10,24 +9,26 @@ CPS Delta Feature ################# -- The concept of CPS Delta Feature is to have the ability to find the delta or difference between two configurations stored in CPS DB. +- The concept of CPS Delta Feature is to have the ability to find the delta or difference between two configurations in CPS. -- The Delta feature brings a new functionality: +- The Delta feature provides two new endpoints, providing the following functionalities: - Ability to find the delta between the configurations stored in two anchors within the same dataspace. + - Ability to find the delta between the configurations stored under an anchor and a JSON payload provided as part of REST request. -The calculated differences can then be used to generate a Delta Report which can be sent over the Kafka Notification Service to the user. +The difference found are compiled into a Delta Report returned by the server. This report can be used in several different ways, one such use case is sending it over the Kafka Notification Service to the user. Delta Report Format ------------------- -The Delta Report is based on the RFC 9144, which defines a set of parameters to be included in the Delta Report. In CPS only the relevant parameters defined in RFC 9144 are used. These include: - - **action:** This parameter defines how the data nodes changed between two configurations. If data nodes are added, deleted or modified then the 'action' parameter in the delta report will be set to ADD, DELETE or UPDATE respectively for each data node. +The Delta Report is based on the RFC 6902 and RFC 9144, which define a set of parameters to be included in the Delta Report. In CPS only the relevant parameters defined in the RFCs are used. These include: + - **action:** This parameter defines how the data nodes changed between two configurations. If data nodes are added, deleted or modified then the 'action' parameter in the delta report will be set to one of the following pre-defined operation values, i.e., 'create', 'remove' or 'replace' respectively for each data node. - **xpath:** This parameter will provide the xpath of each data node that has been either added, deleted or modified. - - **source-data:** this parameter is added to the delta report when a data node is deleted or updated, this represents the source/reference data against which the delta is being generated. In case of newly added data node this field is not included in the delta report. - - **target-data:** this parameter is added to the delta report when a data node is added or updated, this represents the data values that are being compared to the source data. In case of a data node being deleted this field is not included in the delta report. + - **source-data:** this parameter is added to the delta report when a data node is removed or updated, this represents the source/reference data against which the delta is being generated. In case of newly added data node this field is not included in the delta report. + - **target-data:** this parameter is added to the delta report when a data node is added or updated, this represents the data values that are being compared to the source data. In case of a data node being removed this field is not included in the delta report. **Note.** In case of an existing data node being modified, both the source-data and target-data fields are present in the delta report. +**Additional Information.** `Analysis of RFC 9144 and RFC 6902 for Delta Report generation <https://lf-onap.atlassian.net/wiki/spaces/DW/pages/16523520/Analysis+of+RFC+9144+and+RFC6902+for+Delta+Report+generation>`_ Mechanism for Delta generation ------------------------------ diff --git a/docs/cps-events.rst b/docs/cps-events.rst index 25a253bada..47aa73f12e 100644 --- a/docs/cps-events.rst +++ b/docs/cps-events.rst @@ -13,6 +13,7 @@ CPS Events cm-handle-lcm-events.rst data-operation-events.rst + cm-notification-subscriptions.rst .. note:: Legacy async response on a client supplied topic for single cm handle data request are no longer supported. Click link below for the legacy specification. diff --git a/docs/cps-ncmp-message-status-codes.rst b/docs/cps-ncmp-message-status-codes.rst index 0c6ce0e712..e0a3f0308b 100644 --- a/docs/cps-ncmp-message-status-codes.rst +++ b/docs/cps-ncmp-message-status-codes.rst @@ -14,7 +14,7 @@ CPS-NCMP Message Status Codes +=================+======================================================+===================================+ | 0 | Successfully applied changes | Data Operation | +-----------------+------------------------------------------------------+-----------------------------------+ - | 1 | successfully applied subscription | CM Data Notification Subscription | + | 1 | ACCEPTED | CM Data Notification Subscription | +-----------------+------------------------------------------------------+-----------------------------------+ | 100 | cm handle id(s) is(are) not found | All features | +-----------------+------------------------------------------------------+-----------------------------------+ @@ -24,11 +24,7 @@ CPS-NCMP Message Status Codes +-----------------+------------------------------------------------------+-----------------------------------+ | 103 | dmi plugin service is not able to read resource data | Data Operation | +-----------------+------------------------------------------------------+-----------------------------------+ - | 104 | partially applied subscription | CM Data Notification Subscription | - +-----------------+------------------------------------------------------+-----------------------------------+ - | 105 | subscription not applicable for all cm handles | CM Data Notification Subscription | - +-----------------+------------------------------------------------------+-----------------------------------+ - | 106 | subscription pending for all cm handles | CM Data Notification Subscription | + | 104 | REJECTED | CM Data Notification Subscription | +-----------------+------------------------------------------------------+-----------------------------------+ | 107 | southbound system is busy | Data Operation | +-----------------+------------------------------------------------------+-----------------------------------+ 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/design.rst b/docs/design.rst index af1f5abd4a..52f977a99a 100644 --- a/docs/design.rst +++ b/docs/design.rst @@ -60,11 +60,20 @@ and CPS-NCMP-Inventory using the drop down table in the top right: Consumed APIs ============= -CPS Core uses API's from the following ONAP components +DMI-Plugin +---------- -* DMI-Plugin: REST based interface which is used to provide integration - and allow the DMI registry API's have access to the corresponding NCMP API's within CPS Core. - More information on the DMI-Plugins offered APIs can be found on the :ref:`DMI-Plugin's Design Page <onap-cps-ncmp-dmi-plugin:design>`. +DMI-Plugin is a REST based interface which is used to provide integration +and allow the DMI registry API's have access to the corresponding NCMP API's within CPS Core. +More information on the DMI-Plugins offered APIs can be found on the :ref:`DMI-Plugin's Design Page <onap-cps-ncmp-dmi-plugin:design>`. + +Policy-Executor +--------------- + +.. toctree:: + :maxdepth: 1 + + policy-executor.rst CPS Path ======== diff --git a/docs/ncmp-inventory-querying.rst b/docs/ncmp-inventory-querying.rst index 349b984963..084eaaf696 100644 --- a/docs/ncmp-inventory-querying.rst +++ b/docs/ncmp-inventory-querying.rst @@ -156,3 +156,23 @@ With the *cmHandleWithDmiPlugin* condition, we can provide a dmiPluginName. The } ] } + +CM Handle search with CPS Path +------------------------------ + +The *cmHandleWithCpsPath* condition allows any data of the CM Handle to be queried as long as it is accessible by CPS path. CPS path is described in detail in :doc:`cps-path`. For this endpoint, the ancestor axis for CM Handles is appended automatically so that a CM Handle is always returned. For example ``/dmi-registry/cm-handles[@module-set-tag='']`` will become ``/dmi-registry/cm-handles[@module-set-tag='']/ancestor::cm-handles``. + +.. code-block:: json + + { + "cmHandleQueryParameters": [ + { + "conditionName": "cmHandleWithCpsPath", + "conditionParameters": [ + { + "cpsPath": "/dmi-registry/cm-handles[@module-set-tag='some-value or empty']" + } + ] + } + ] + }
\ No newline at end of file diff --git a/docs/overview.rst b/docs/overview.rst index 11ed519b64..19ab8b4847 100644 --- a/docs/overview.rst +++ b/docs/overview.rst @@ -51,6 +51,6 @@ This is built previously from the CPS-NF-Proxy component. CPS Project =========== -* Wiki: `Configuration Persistence Service Project <https://wiki.onap.org/display/DW/Configuration+Persistence+Service+Project>`_ +* Wiki: `Configuration Persistence Service Project <https://lf-onap.atlassian.net/wiki/spaces/DW/pages/16398157/Configuration+Persistence+Service+Project>`_ * Contact Information: onap-discuss@lists.onap.org -* Meeting details: `Join <https://zoom.us/j/836561560?pwd=TTZNcFhXTWYxMmZ4SlgzcVZZQXluUT09>`_ & `Agenda <https://wiki.onap.org/pages/viewpage.action?pageId=111117075>`_ +* Meeting details: `Join <https://zoom.us/j/836561560?pwd=TTZNcFhXTWYxMmZ4SlgzcVZZQXluUT09>`_ & `Agenda <https://lf-onap.atlassian.net/wiki/spaces/DW/pages/18644995>`_ diff --git a/docs/policy-executor.rst b/docs/policy-executor.rst new file mode 100644 index 0000000000..b934a579b1 --- /dev/null +++ b/docs/policy-executor.rst @@ -0,0 +1,23 @@ +.. This work is licensed under a Creative Commons Attribution 4.0 International License. +.. http://creativecommons.org/licenses/by/4.0 +.. Copyright (C) 2024 Nordix Foundation + +.. DO NOT CHANGE THIS LABEL FOR RELEASE NOTES - EVEN THOUGH IT GIVES A WARNING +.. _policy_executor: + + +Policy Executor +############### + +.. toctree:: + :maxdepth: 1 + +Introduction +============ + +Work In Progress: This feature is not yet completed and does not affect current NCMP functionality. + +Consumed APIs +------------- + +:download:`Policy Executor OpenApi Specification <api/swagger/policy-executor/openapi.yaml>` diff --git a/docs/release-notes.rst b/docs/release-notes.rst index 82a890d79c..c5b00d6888 100644 --- a/docs/release-notes.rst +++ b/docs/release-notes.rst @@ -12,12 +12,12 @@ CPS Release Notes :depth: 2 .. -.. ========================= -.. * * * NEW DELHI * * * -.. ========================= +.. ==================== +.. * * * OSLO * * * +.. ==================== -Version: 3.4.10 -=============== +Version: 3.5.5 +============== Release Data ------------ @@ -26,10 +26,10 @@ Release Data | **CPS Project** | | | | | +--------------------------------------+--------------------------------------------------------+ -| **Docker images** | onap/cps-and-ncmp:3.4.10 | +| **Docker images** | onap/cps-and-ncmp:3.5.5 | | | | +--------------------------------------+--------------------------------------------------------+ -| **Release designation** | 3.4.10 New Delhi | +| **Release designation** | 3.5.5 Oslo | | | | +--------------------------------------+--------------------------------------------------------+ | **Release date** | Not yet released | @@ -38,10 +38,178 @@ Release Data Bug Fixes --------- -3.4.10 +3.5.5 + +Features +-------- +3.5.5 + +Version: 3.5.4 +============== + +Release Data +------------ + ++--------------------------------------+--------------------------------------------------------+ +| **CPS Project** | | +| | | ++--------------------------------------+--------------------------------------------------------+ +| **Docker images** | onap/cps-and-ncmp:3.5.4 | +| | | ++--------------------------------------+--------------------------------------------------------+ +| **Release designation** | 3.5.4 Oslo | +| | | ++--------------------------------------+--------------------------------------------------------+ +| **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 +============== + +Release Data +------------ + ++--------------------------------------+--------------------------------------------------------+ +| **CPS Project** | | +| | | ++--------------------------------------+--------------------------------------------------------+ +| **Docker images** | onap/cps-and-ncmp:3.5.3 | +| | | ++--------------------------------------+--------------------------------------------------------+ +| **Release designation** | 3.5.3 Oslo | +| | | ++--------------------------------------+--------------------------------------------------------+ +| **Release date** | 2024 October 04 | +| | | ++--------------------------------------+--------------------------------------------------------+ + +Bug Fixes +--------- +3.5.3 + - `CPS-2353 <https://lf-onap.atlassian.net/browse/CPS-2353>`_ Slow cmHandle registration when we use moduleSetTag, alternateId and dataProducerIdentifier + - `CPS-2395 <https://lf-onap.atlassian.net/browse/CPS-2395>`_ Retry mechanism (with back off algorithm) is removed with more frequent watchdog poll + - `CPS-2409 <https://lf-onap.atlassian.net/browse/CPS-2409>`_ Return NONE for get effective trust level api if the trust level caches empty (restart case) + - `CPS-2430 <https://lf-onap.atlassian.net/browse/CPS-2430>`_ Fix memory leak related to using arrays in Hibernate + Features -------- +3.5.3 + - `CPS-2247 <https://lf-onap.atlassian.net/browse/CPS-2247>`_ Policy Executor: Invoke Policy Executor and handle 'deny' response + - `CPS-2412 <https://lf-onap.atlassian.net/browse/CPS-2412>`_ Policy Executor: handle errors + - `CPS-2417 <https://lf-onap.atlassian.net/browse/CPS-2417>`_ Remove Hazelcast cache for prefix resolver + + +Version: 3.5.2 +============== + +Release Data +------------ + ++--------------------------------------+--------------------------------------------------------+ +| **CPS Project** | | +| | | ++--------------------------------------+--------------------------------------------------------+ +| **Docker images** | onap/cps-and-ncmp:3.5.2 | +| | | ++--------------------------------------+--------------------------------------------------------+ +| **Release designation** | 3.5.2 Oslo | +| | | ++--------------------------------------+--------------------------------------------------------+ +| **Release date** | 2024 August 21 | +| | | ++--------------------------------------+--------------------------------------------------------+ + +Bug Fixes +--------- +3.5.2 + - `CPS-2306 <https://lf-onap.atlassian.net/browse/CPS-2306>`_ Update response message for data validation failure and make it consistent across APIs + - `CPS-2319 <https://lf-onap.atlassian.net/browse/CPS-2319>`_ Fix "Create a node" and "Add List Elements" APIs response code + - `CPS-2372 <https://lf-onap.atlassian.net/browse/CPS-2372>`_ Blank alternate ID overwrites existing one + +Features +-------- +3.5.2 + - `CPS-1812 <https://lf-onap.atlassian.net/browse/CPS-1812>`_ CM Data Subscriptions ( Create, Delete and Merging ) with positive scenarios + - `CPS-2326 <https://lf-onap.atlassian.net/browse/CPS-2326>`_ Uplift liquibase-core dependency to 4.28.0 + - `CPS-2353 <https://lf-onap.atlassian.net/browse/CPS-2353>`_ Improve registration performance with moduleSetTag + - `CPS-2366 <https://lf-onap.atlassian.net/browse/CPS-2366>`_ Improve registration performance with use of alternateID + +Version: 3.5.1 +============== + +Release Data +------------ + ++--------------------------------------+--------------------------------------------------------+ +| **CPS Project** | | +| | | ++--------------------------------------+--------------------------------------------------------+ +| **Docker images** | onap/cps-and-ncmp:3.5.1 | +| | | ++--------------------------------------+--------------------------------------------------------+ +| **Release designation** | 3.5.1 Oslo | +| | | ++--------------------------------------+--------------------------------------------------------+ +| **Release date** | 2024 July 15 | +| | | ++--------------------------------------+--------------------------------------------------------+ + +Bug Fixes +--------- +3.5.1 + - `CPS-2302 <https://lf-onap.atlassian.net/browse/CPS-2302>`_ Fix handling of special characters in moduleSetTag. + +Features +-------- +3.5.1 + - `CPS-2121 <https://lf-onap.atlassian.net/browse/CPS-2121>`_ Enabled http client prometheus metrics and manage high cardinality using URL template. + - `CPS-2289 <https://lf-onap.atlassian.net/browse/CPS-2289>`_ Support for CPS Path Query in NCMP Inventory Cm Handle Search. + +Version: 3.5.0 +============== + +Release Data +------------ + ++--------------------------------------+--------------------------------------------------------+ +| **CPS Project** | | +| | | ++--------------------------------------+--------------------------------------------------------+ +| **Docker images** | onap/cps-and-ncmp:3.5.0 | +| | | ++--------------------------------------+--------------------------------------------------------+ +| **Release designation** | 3.5.0 Oslo | +| | | ++--------------------------------------+--------------------------------------------------------+ +| **Release date** | 2024 June 20 | +| | | ++--------------------------------------+--------------------------------------------------------+ + +Bug Fixes +--------- +3.5.0 + +Features +-------- +3.5.0 + - `CPS-989 <https://lf-onap.atlassian.net/browse/CPS-989>`_ Replace RestTemplate with WebClient. + - `CPS-2172 <https://lf-onap.atlassian.net/browse/CPS-2172>`_ Support for OpenTelemetry Tracing. + +.. ========================= +.. * * * NEW DELHI * * * +.. ========================= Version: 3.4.9 ============== @@ -66,10 +234,12 @@ Release Data Bug Fixes --------- 3.4.9 - - `CPS-2211 <https://jira.onap.org/browse/CPS-2211>`_ Toggle switch to disable CPS Core change events if not used by application. Set CPS_CHANGE_EVENT_NOTIFICATIONS_ENABLED environment variable for the same. + - `CPS-2211 <https://lf-onap.atlassian.net/browse/CPS-2211>`_ Toggle switch to disable CPS Core change events if not used by application. Set CPS_CHANGE_EVENT_NOTIFICATIONS_ENABLED environment variable for the same. Features -------- +3.4.9 + - `CPS-1836 <https://lf-onap.atlassian.net/browse/CPS-1836>`_ Delta between anchor and JSON payload. Version: 3.4.8 ============== @@ -94,10 +264,10 @@ Release Data Bug Fixes --------- 3.4.8 - - `CPS-2186 <https://jira.onap.org/browse/CPS-2186>`_ Report async task failures to client topic during data operations request - - `CPS-2190 <https://jira.onap.org/browse/CPS-2190>`_ Improve performance of NCMP module searches - - `CPS-2194 <https://jira.onap.org/browse/CPS-2194>`_ Added defaults for CPS and DMI username and password - - `CPS-2204 <https://jira.onap.org/browse/CPS-2204>`_ Added error handling for yang module upgrade operation + - `CPS-2186 <https://lf-onap.atlassian.net/browse/CPS-2186>`_ Report async task failures to client topic during data operations request + - `CPS-2190 <https://lf-onap.atlassian.net/browse/CPS-2190>`_ Improve performance of NCMP module searches + - `CPS-2194 <https://lf-onap.atlassian.net/browse/CPS-2194>`_ Added defaults for CPS and DMI username and password + - `CPS-2204 <https://lf-onap.atlassian.net/browse/CPS-2204>`_ Added error handling for yang module upgrade operation Features -------- @@ -125,13 +295,13 @@ Release Data Bug Fixes --------- 3.4.7 - - `CPS-2150 <https://jira.onap.org/browse/CPS-2150>`_ Fix for Async task execution failed by TimeoutException. + - `CPS-2150 <https://lf-onap.atlassian.net/browse/CPS-2150>`_ Fix for Async task execution failed by TimeoutException. Features -------- 3.4.7 - - `CPS-2061 <https://jira.onap.org/browse/CPS-2061>`_ Liquibase Steps Condensing and Cleanup. - - `CPS-2101 <https://jira.onap.org/browse/CPS-2101>`_ Uplift Spring Boot to 3.2.4 version. + - `CPS-2061 <https://lf-onap.atlassian.net/browse/CPS-2061>`_ Liquibase Steps Condensing and Cleanup. + - `CPS-2101 <https://lf-onap.atlassian.net/browse/CPS-2101>`_ Uplift Spring Boot to 3.2.4 version. Version: 3.4.6 ============== @@ -156,12 +326,12 @@ Release Data Bug Fixes --------- 3.4.6 - - `CPS-2126 <https://jira.onap.org/browse/CPS-2126>`_ Passing HTTP Authorization Bearer Token to DMI Plugins. + - `CPS-2126 <https://lf-onap.atlassian.net/browse/CPS-2126>`_ Passing HTTP Authorization Bearer Token to DMI Plugins. Features -------- - - `CPS-2133 <https://jira.onap.org/browse/CPS-2133>`_ Revert Uplift of Spring Boot version from 3.2.2 to 3.1.2 + - `CPS-2133 <https://lf-onap.atlassian.net/browse/CPS-2133>`_ Revert Uplift of Spring Boot version from 3.2.2 to 3.1.2 Notes ----- @@ -198,7 +368,7 @@ Bug Fixes Features -------- - - `CPS-2101 <https://jira.onap.org/browse/CPS-2101>`_ Uplift Spring Boot version to 3.2.2 + - `CPS-2101 <https://lf-onap.atlassian.net/browse/CPS-2101>`_ Uplift Spring Boot version to 3.2.2 Version: 3.4.4 @@ -224,12 +394,12 @@ Release Data Bug Fixes --------- 3.4.4 - - `CPS-2027 <https://jira.onap.org/browse/CPS-2027>`_ Upgrade Yang modules using module set tag functionalities fix + - `CPS-2027 <https://lf-onap.atlassian.net/browse/CPS-2027>`_ Upgrade Yang modules using module set tag functionalities fix Features -------- - - `CPS-2057 <https://jira.onap.org/browse/CPS-2057>`_ Leaf lists are sorted by default if Yang model does not specify order. - - `CPS-2087 <https://jira.onap.org/browse/CPS-2087>`_ Performance improvement of CPS Path Queries. + - `CPS-2057 <https://lf-onap.atlassian.net/browse/CPS-2057>`_ Leaf lists are sorted by default if Yang model does not specify order. + - `CPS-2087 <https://lf-onap.atlassian.net/browse/CPS-2087>`_ Performance improvement of CPS Path Queries. Version: 3.4.3 @@ -255,20 +425,20 @@ Release Data Bug Fixes --------- 3.4.3 - - `CPS-2000 <https://jira.onap.org/browse/CPS-2000>`_ Fix for Schema object cache not being distributed. - - `CPS-2027 <https://jira.onap.org/browse/CPS-2027>`_ Fixes for upgrade yang modules using module set tag. - - `CPS-2070 <https://jira.onap.org/browse/CPS-2070>`_ Add retry interval for Kafka consumer. + - `CPS-2000 <https://lf-onap.atlassian.net/browse/CPS-2000>`_ Fix for Schema object cache not being distributed. + - `CPS-2027 <https://lf-onap.atlassian.net/browse/CPS-2027>`_ Fixes for upgrade yang modules using module set tag. + - `CPS-2070 <https://lf-onap.atlassian.net/browse/CPS-2070>`_ Add retry interval for Kafka consumer. Features -------- - - `CPS-1824 <https://jira.onap.org/browse/CPS-1824>`_ CPS Delta between 2 anchors. - - `CPS-2072 <https://jira.onap.org/browse/CPS-2072>`_ Add maven classifier to Spring Boot JAR. - - `CPS-1135 <https://jira.onap.org/browse/CPS-1135>`_ Extend CPS Module API to allow retrieval single module definition. + - `CPS-1824 <https://lf-onap.atlassian.net/browse/CPS-1824>`_ CPS Delta between 2 anchors. + - `CPS-2072 <https://lf-onap.atlassian.net/browse/CPS-2072>`_ Add maven classifier to Spring Boot JAR. + - `CPS-1135 <https://lf-onap.atlassian.net/browse/CPS-1135>`_ Extend CPS Module API to allow retrieval single module definition. Notes ----- The maven build of cps-application has been changed so that the JAR produced by spring-boot-maven-plugin has a -*-springboot* classifier (`CPS-2072 <https://jira.onap.org/browse/CPS-2072>`_). This means that the filename +*-springboot* classifier (`CPS-2072 <https://lf-onap.atlassian.net/browse/CPS-2072>`_). This means that the filename of the Spring Boot JAR is *cps-application-3.4.3-springboot.jar*. Version: 3.4.2 @@ -298,10 +468,10 @@ Bug Fixes Features -------- - - `CPS-1638 <https://jira.onap.org/browse/CPS-1638>`_ Introduce trust level for CM handle. - - `CPS-1795 <https://jira.onap.org/browse/CPS-1795>`_ Double performance of CPS write operations (via write batching) - - `CPS-2018 <https://jira.onap.org/browse/CPS-2018>`_ Improve performance of CPS update operations. - - `CPS-2019 <https://jira.onap.org/browse/CPS-2019>`_ Improve performance of saving CM handles. + - `CPS-1638 <https://lf-onap.atlassian.net/browse/CPS-1638>`_ Introduce trust level for CM handle. + - `CPS-1795 <https://lf-onap.atlassian.net/browse/CPS-1795>`_ Double performance of CPS write operations (via write batching) + - `CPS-2018 <https://lf-onap.atlassian.net/browse/CPS-2018>`_ Improve performance of CPS update operations. + - `CPS-2019 <https://lf-onap.atlassian.net/browse/CPS-2019>`_ Improve performance of saving CM handles. Notes ----- @@ -313,7 +483,7 @@ Known Limitations, Issues and Workarounds *System Limitations* For upgrading, CPS uses Liquibase for database upgrades. In order to enable Hibernate write batching -(`CPS-1795 <https://jira.onap.org/browse/CPS-1795>`_), a change to the database entity ID generation is required. +(`CPS-1795 <https://lf-onap.atlassian.net/browse/CPS-1795>`_), a change to the database entity ID generation is required. As such, *this release does not fully support In-Service Software Upgrade* - CPS will not store new DataNodes and NCMP will not register new CM-handles during an upgrade with old and new versions of CPS running concurrently. Other operations (read, update, delete) are not impacted. @@ -342,19 +512,19 @@ Release Data Bug Fixes --------- 3.4.1 - - `CPS-1979 <https://jira.onap.org/browse/CPS-1979>`_ Bug fix for Invalid topic name suffix. + - `CPS-1979 <https://lf-onap.atlassian.net/browse/CPS-1979>`_ Bug fix for Invalid topic name suffix. Features -------- - CPS-Temporal is no longer supported and any related documentation has been removed. - - `CPS-1733 <https://jira.onap.org/browse/CPS-1733>`_ Upgrade YANG schema-set for CM handle without removing and adding it. - - `CPS-1980 <https://jira.onap.org/browse/CPS-1980>`_ Exposing health and cluster metrics for hazelcast. - - `CPS-1994 <https://jira.onap.org/browse/CPS-1994>`_ Use Apache Http Client for DMI REST requests. - - `CPS-2005 <https://jira.onap.org/browse/CPS-2005>`_ Removing notification feature for cps updated events ( exclusively used by cps-temporal ) + - `CPS-1733 <https://lf-onap.atlassian.net/browse/CPS-1733>`_ Upgrade YANG schema-set for CM handle without removing and adding it. + - `CPS-1980 <https://lf-onap.atlassian.net/browse/CPS-1980>`_ Exposing health and cluster metrics for hazelcast. + - `CPS-1994 <https://lf-onap.atlassian.net/browse/CPS-1994>`_ Use Apache Http Client for DMI REST requests. + - `CPS-2005 <https://lf-onap.atlassian.net/browse/CPS-2005>`_ Removing notification feature for cps updated events ( exclusively used by cps-temporal ) Known Issues ------------ - - `CPS-2000 <https://jira.onap.org/browse/CPS-2000>`_ Schema object cache is not distributed. + - `CPS-2000 <https://lf-onap.atlassian.net/browse/CPS-2000>`_ Schema object cache is not distributed. Version: 3.4.0 @@ -380,7 +550,7 @@ Release Data Bug Fixes --------- 3.4.0 - - `CPS-1956 <https://jira.onap.org/browse/CPS-1956>`_ Bug fix for No yang resources stored during cmhandle discovery. + - `CPS-1956 <https://lf-onap.atlassian.net/browse/CPS-1956>`_ Bug fix for No yang resources stored during cmhandle discovery. .. ======================== .. * * * MONTREAL * * * @@ -409,8 +579,8 @@ Release Data Bug Fixes --------- 3.3.9 - - `CPS-1923 <https://jira.onap.org/browse/CPS-1923>`_ CPS and NCMP changed management endpoint and port from /manage to /actuator and port same as cps application port. - - `CPS-1933 <https://jira.onap.org/browse/CPS-1933>`_ Setting up the class loader explicitly in hazelcast config. + - `CPS-1923 <https://lf-onap.atlassian.net/browse/CPS-1923>`_ CPS and NCMP changed management endpoint and port from /manage to /actuator and port same as cps application port. + - `CPS-1933 <https://lf-onap.atlassian.net/browse/CPS-1933>`_ Setting up the class loader explicitly in hazelcast config. Features -------- @@ -441,7 +611,7 @@ Bug Fixes Features -------- - - `CPS-1888 <https://jira.onap.org/browse/CPS-1888>`_ Uplift Spring Boot to 3.1.2. + - `CPS-1888 <https://lf-onap.atlassian.net/browse/CPS-1888>`_ Uplift Spring Boot to 3.1.2. Version: 3.3.7 ============== @@ -466,11 +636,11 @@ Release Data Bug Fixes --------- 3.3.7 - - `CPS-1866 <https://jira.onap.org/browse/CPS-1866>`_ Fix ClassDefNotFoundError in opendaylight Yang parser + - `CPS-1866 <https://lf-onap.atlassian.net/browse/CPS-1866>`_ Fix ClassDefNotFoundError in opendaylight Yang parser Features -------- - - `CPS-1789 <https://jira.onap.org/browse/CPS-1789>`_ CPS Upgrade to Springboot 3.0. + - `CPS-1789 <https://lf-onap.atlassian.net/browse/CPS-1789>`_ CPS Upgrade to Springboot 3.0. Note ---- @@ -499,13 +669,13 @@ Release Data Bug Fixes --------- 3.3.6 - - `CPS-1841 <https://jira.onap.org/browse/CPS-1841>`_ Update of top-level data node fails with exception - - `CPS-1842 <https://jira.onap.org/browse/CPS-1842>`_ Replace event-id with correlation-id for data read operation cloud event + - `CPS-1841 <https://lf-onap.atlassian.net/browse/CPS-1841>`_ Update of top-level data node fails with exception + - `CPS-1842 <https://lf-onap.atlassian.net/browse/CPS-1842>`_ Replace event-id with correlation-id for data read operation cloud event Features -------- - - `CPS-1696 <https://jira.onap.org/browse/CPS-1696>`_ Get Data Node to return entire List data node. - - `CPS-1819 <https://jira.onap.org/browse/CPS-1819>`_ Ability to disable sending authorization header. + - `CPS-1696 <https://lf-onap.atlassian.net/browse/CPS-1696>`_ Get Data Node to return entire List data node. + - `CPS-1819 <https://lf-onap.atlassian.net/browse/CPS-1819>`_ Ability to disable sending authorization header. Version: 3.3.5 @@ -534,7 +704,7 @@ Bug Fixes Features -------- - - `CPS-1760 <https://jira.onap.org/browse/CPS-1760>`_ Improve handling of special characters in Cps Paths + - `CPS-1760 <https://lf-onap.atlassian.net/browse/CPS-1760>`_ Improve handling of special characters in Cps Paths Version: 3.3.4 ============== @@ -562,7 +732,7 @@ Bug Fixes Features -------- - - `CPS-1767 <https://jira.onap.org/browse/CPS-1767>`_ Upgrade CPS to java 17 + - `CPS-1767 <https://lf-onap.atlassian.net/browse/CPS-1767>`_ Upgrade CPS to java 17 Version: 3.3.3 ============== @@ -590,9 +760,9 @@ Bug Fixes Features -------- - - `CPS-1515 <https://jira.onap.org/browse/CPS-1515>`_ Support Multiple CM-Handles for NCMP Get Operation - - `CPS-1675 <https://jira.onap.org/browse/CPS-1675>`_ Persistence write performance improvement(s) - - `CPS-1745 <https://jira.onap.org/browse/CPS-1745>`_ Upgrade to Openapi 3.0.3 + - `CPS-1515 <https://lf-onap.atlassian.net/browse/CPS-1515>`_ Support Multiple CM-Handles for NCMP Get Operation + - `CPS-1675 <https://lf-onap.atlassian.net/browse/CPS-1675>`_ Persistence write performance improvement(s) + - `CPS-1745 <https://lf-onap.atlassian.net/browse/CPS-1745>`_ Upgrade to Openapi 3.0.3 Version: 3.3.2 ============== @@ -617,15 +787,15 @@ Release Data Bug Fixes --------- 3.3.2 - - `CPS-1716 <https://jira.onap.org/browse/CPS-1716>`_ NCMP: Java Heap OutOfMemory errors and slow registration in case of 20k cmhandles + - `CPS-1716 <https://lf-onap.atlassian.net/browse/CPS-1716>`_ NCMP: Java Heap OutOfMemory errors and slow registration in case of 20k cmhandles Features -------- - - `CPS-1006 <https://jira.onap.org/browse/CPS-1006>`_ Extend CPS PATCH API to allow update of leaves for multiple data nodes - - `CPS-1273 <https://jira.onap.org/browse/CPS-1273>`_ Add <,> operators support to cps-path - - `CPS-1664 <https://jira.onap.org/browse/CPS-1664>`_ Use recursive SQL to fetch descendants in CpsPath queries to improve query performance - - `CPS-1676 <https://jira.onap.org/browse/CPS-1676>`_ Entity ID types do not match types in database definition - - `CPS-1677 <https://jira.onap.org/browse/CPS-1677>`_ Remove dataspace_id column from Fragment table + - `CPS-1006 <https://lf-onap.atlassian.net/browse/CPS-1006>`_ Extend CPS PATCH API to allow update of leaves for multiple data nodes + - `CPS-1273 <https://lf-onap.atlassian.net/browse/CPS-1273>`_ Add <,> operators support to cps-path + - `CPS-1664 <https://lf-onap.atlassian.net/browse/CPS-1664>`_ Use recursive SQL to fetch descendants in CpsPath queries to improve query performance + - `CPS-1676 <https://lf-onap.atlassian.net/browse/CPS-1676>`_ Entity ID types do not match types in database definition + - `CPS-1677 <https://lf-onap.atlassian.net/browse/CPS-1677>`_ Remove dataspace_id column from Fragment table Version: 3.3.1 ============== @@ -654,11 +824,11 @@ Bug Fixes Features -------- - - `CPS-1272 <https://jira.onap.org/browse/CPS-1272>`_ Add Contains operation to CPS Path - - `CPS-1573 <https://jira.onap.org/browse/CPS-1573>`_ Remove 32K limit for DB operations - - `CPS-1627 <https://jira.onap.org/browse/CPS-1627>`_ Dependency versions uplift because of vulnerability issues - - `CPS-1629 <https://jira.onap.org/browse/CPS-1629>`_ Ordering of leaf elements to support combination of AND/OR in cps-path - - `CPS-1637 <https://jira.onap.org/browse/CPS-1637>`_ Extend hazelcast to work on kubernetes + - `CPS-1272 <https://lf-onap.atlassian.net/browse/CPS-1272>`_ Add Contains operation to CPS Path + - `CPS-1573 <https://lf-onap.atlassian.net/browse/CPS-1573>`_ Remove 32K limit for DB operations + - `CPS-1627 <https://lf-onap.atlassian.net/browse/CPS-1627>`_ Dependency versions uplift because of vulnerability issues + - `CPS-1629 <https://lf-onap.atlassian.net/browse/CPS-1629>`_ Ordering of leaf elements to support combination of AND/OR in cps-path + - `CPS-1637 <https://lf-onap.atlassian.net/browse/CPS-1637>`_ Extend hazelcast to work on kubernetes Version: 3.3.0 ============== @@ -687,8 +857,8 @@ Bug Fixes Features -------- - - `CPS-1215 <https://jira.onap.org/browse/CPS-1215>`_ Add OR operation for CPS Path - - `CPS-1617 <https://jira.onap.org/browse/CPS-1617>`_ Use cascade delete in fragments table + - `CPS-1215 <https://lf-onap.atlassian.net/browse/CPS-1215>`_ Add OR operation for CPS Path + - `CPS-1617 <https://lf-onap.atlassian.net/browse/CPS-1617>`_ Use cascade delete in fragments table .. ====================== .. * * * LONDON * * * @@ -717,12 +887,12 @@ Release Data Bug Fixes --------- 3.2.6 - - `CPS-1526 <https://jira.onap.org/browse/CPS-1526>`_ Fix response message for PATCH operation - - `CPS-1563 <https://jira.onap.org/browse/CPS-1563>`_ Fix 500 response error on id-searches with empty parameters + - `CPS-1526 <https://lf-onap.atlassian.net/browse/CPS-1526>`_ Fix response message for PATCH operation + - `CPS-1563 <https://lf-onap.atlassian.net/browse/CPS-1563>`_ Fix 500 response error on id-searches with empty parameters Features -------- - - `CPS-1396 <https://jira.onap.org/browse/CPS-1396>`_ Query data nodes across all anchors under one dataspace + - `CPS-1396 <https://lf-onap.atlassian.net/browse/CPS-1396>`_ Query data nodes across all anchors under one dataspace Version: 3.2.5 ============== @@ -747,7 +917,7 @@ Release Data Bug Fixes --------- 3.2.5 - - `CPS-1537 <https://jira.onap.org/browse/CPS-1537>`_ Introduce control switch for model loader functionality. + - `CPS-1537 <https://lf-onap.atlassian.net/browse/CPS-1537>`_ Introduce control switch for model loader functionality. Features -------- @@ -776,8 +946,8 @@ Release Data Bug Fixes --------- 3.2.4 - - `CPS-1533 <https://jira.onap.org/browse/CPS-1533>`_ Fix for Temp tables cause Out of shared memory errors in Postgres - - `CPS-1537 <https://jira.onap.org/browse/CPS-1537>`_ NCMP failed to start due to issue in SubscriptionModelLoader + - `CPS-1533 <https://lf-onap.atlassian.net/browse/CPS-1533>`_ Fix for Temp tables cause Out of shared memory errors in Postgres + - `CPS-1537 <https://lf-onap.atlassian.net/browse/CPS-1537>`_ NCMP failed to start due to issue in SubscriptionModelLoader Features -------- @@ -806,12 +976,12 @@ Release Data Bug Fixes --------- 3.2.3 - - `CPS-1494 <https://jira.onap.org/browse/CPS-1494>`_ NCMP Inventory Performance Improvements + - `CPS-1494 <https://lf-onap.atlassian.net/browse/CPS-1494>`_ NCMP Inventory Performance Improvements Features -------- - - `CPS-1401 <https://jira.onap.org/browse/CPS-1401>`_ Added V2 of Get Data Node API,support to retrieve all data nodes under an anchor - - `CPS-1502 <https://jira.onap.org/browse/CPS-1502>`_ Delete Performance Improvements + - `CPS-1401 <https://lf-onap.atlassian.net/browse/CPS-1401>`_ Added V2 of Get Data Node API,support to retrieve all data nodes under an anchor + - `CPS-1502 <https://lf-onap.atlassian.net/browse/CPS-1502>`_ Delete Performance Improvements Version: 3.2.2 ============== @@ -836,7 +1006,7 @@ Release Data Bug Fixes --------- 3.2.2 - - `CPS-1173 <https://jira.onap.org/browse/CPS-1173>`_ Delete Performance Improvements. + - `CPS-1173 <https://lf-onap.atlassian.net/browse/CPS-1173>`_ Delete Performance Improvements. Features -------- @@ -865,40 +1035,40 @@ Release Data Features -------- 3.2.1 - - `CPS-341 <https://jira.onap.org/browse/CPS-341>`_ Added support for multiple data tree instances under 1 anchor. - - `CPS-1002 <https://jira.onap.org/browse/CPS-1002>`_ Add CPS-E-05 endpoint for 'Query data, NCMP-Operational Datastore' using cpsPaths - - `CPS-1182 <https://jira.onap.org/browse/CPS-1182>`_ Upgrade Opendaylight - - `CPS-1185 <https://jira.onap.org/browse/CPS-1185>`_ Get all dataspaces. - - `CPS-1186 <https://jira.onap.org/browse/CPS-1186>`_ Get single dataspace. - - `CPS-1187 <https://jira.onap.org/browse/CPS-1187>`_ Added API to get all schema sets for a given dataspace. - - `CPS-1236 <https://jira.onap.org/browse/CPS-1236>`_ DMI audit support for NCMP: Filter on any properties of CM Handles - - `CPS-1257 <https://jira.onap.org/browse/CPS-1257>`_ Added support for application/xml Content-Type (write only). - - `CPS-1381 <https://jira.onap.org/browse/CPS-1381>`_ Query large outputs using limit/depth/pagination - - `CPS-1421 <https://jira.onap.org/browse/CPS-1421>`_ Optimized query for large number of hits with descendants. - - `CPS-1422 <https://jira.onap.org/browse/CPS-1422>`_ Fetch CM handles by collection of xpaths (CPS Core) - - `CPS-1424 <https://jira.onap.org/browse/CPS-1424>`_ Updating CmHandleStates using batch operation - - `CPS-1439 <https://jira.onap.org/browse/CPS-1439>`_ Use native query to delete data nodes + - `CPS-341 <https://lf-onap.atlassian.net/browse/CPS-341>`_ Added support for multiple data tree instances under 1 anchor. + - `CPS-1002 <https://lf-onap.atlassian.net/browse/CPS-1002>`_ Add CPS-E-05 endpoint for 'Query data, NCMP-Operational Datastore' using cpsPaths + - `CPS-1182 <https://lf-onap.atlassian.net/browse/CPS-1182>`_ Upgrade Opendaylight + - `CPS-1185 <https://lf-onap.atlassian.net/browse/CPS-1185>`_ Get all dataspaces. + - `CPS-1186 <https://lf-onap.atlassian.net/browse/CPS-1186>`_ Get single dataspace. + - `CPS-1187 <https://lf-onap.atlassian.net/browse/CPS-1187>`_ Added API to get all schema sets for a given dataspace. + - `CPS-1236 <https://lf-onap.atlassian.net/browse/CPS-1236>`_ DMI audit support for NCMP: Filter on any properties of CM Handles + - `CPS-1257 <https://lf-onap.atlassian.net/browse/CPS-1257>`_ Added support for application/xml Content-Type (write only). + - `CPS-1381 <https://lf-onap.atlassian.net/browse/CPS-1381>`_ Query large outputs using limit/depth/pagination + - `CPS-1421 <https://lf-onap.atlassian.net/browse/CPS-1421>`_ Optimized query for large number of hits with descendants. + - `CPS-1422 <https://lf-onap.atlassian.net/browse/CPS-1422>`_ Fetch CM handles by collection of xpaths (CPS Core) + - `CPS-1424 <https://lf-onap.atlassian.net/browse/CPS-1424>`_ Updating CmHandleStates using batch operation + - `CPS-1439 <https://lf-onap.atlassian.net/browse/CPS-1439>`_ Use native query to delete data nodes Bug Fixes --------- 3.2.1 - - `CPS-1171 <https://jira.onap.org/browse/CPS-1171>`_ Optimized retrieval of data nodes with many descendants. - - `CPS-1288 <https://jira.onap.org/browse/CPS-1288>`_ Hazelcast TTL for IMap is not working - - `CPS-1289 <https://jira.onap.org/browse/CPS-1289>`_ Getting wrong error code for create node api - - `CPS-1326 <https://jira.onap.org/browse/CPS-1326>`_ Creation of DataNodeBuilder with module name prefix is very slow - - `CPS-1344 <https://jira.onap.org/browse/CPS-1344>`_ Top level container (prefix) is not always the first module - - `CPS-1350 <https://jira.onap.org/browse/CPS-1350>`_ Add Basic Authentication to CPS/NCMP OpenAPI Definitions. - - `CPS-1352 <https://jira.onap.org/browse/CPS-1352>`_ Handle YangChoiceNode in right format. - - `CPS-1409 <https://jira.onap.org/browse/CPS-1409>`_ Fix Delete uses case with '/' in path. - - `CPS-1433 <https://jira.onap.org/browse/CPS-1433>`_ Fix to allow posting data with '/' key fields. - - `CPS-1442 <https://jira.onap.org/browse/CPS-1442>`_ CPS PATCH operation does not merge existing data - - `CPS-1446 <https://jira.onap.org/browse/CPS-1446>`_ Locked cmhandles and ready to locked state transitions causing long cmHandle discovery - - `CPS-1457 <https://jira.onap.org/browse/CPS-1457>`_ CpsDataPersistenceService#getDataNodes uses non-normalized xpaths - - `CPS-1458 <https://jira.onap.org/browse/CPS-1458>`_ CpsDataPersistenceService#getDataNodes does not handle root xpath - - `CPS-1460 <https://jira.onap.org/browse/CPS-1460>`_ CPS Path Processing Performance Test duration is too low + - `CPS-1171 <https://lf-onap.atlassian.net/browse/CPS-1171>`_ Optimized retrieval of data nodes with many descendants. + - `CPS-1288 <https://lf-onap.atlassian.net/browse/CPS-1288>`_ Hazelcast TTL for IMap is not working + - `CPS-1289 <https://lf-onap.atlassian.net/browse/CPS-1289>`_ Getting wrong error code for create node api + - `CPS-1326 <https://lf-onap.atlassian.net/browse/CPS-1326>`_ Creation of DataNodeBuilder with module name prefix is very slow + - `CPS-1344 <https://lf-onap.atlassian.net/browse/CPS-1344>`_ Top level container (prefix) is not always the first module + - `CPS-1350 <https://lf-onap.atlassian.net/browse/CPS-1350>`_ Add Basic Authentication to CPS/NCMP OpenAPI Definitions. + - `CPS-1352 <https://lf-onap.atlassian.net/browse/CPS-1352>`_ Handle YangChoiceNode in right format. + - `CPS-1409 <https://lf-onap.atlassian.net/browse/CPS-1409>`_ Fix Delete uses case with '/' in path. + - `CPS-1433 <https://lf-onap.atlassian.net/browse/CPS-1433>`_ Fix to allow posting data with '/' key fields. + - `CPS-1442 <https://lf-onap.atlassian.net/browse/CPS-1442>`_ CPS PATCH operation does not merge existing data + - `CPS-1446 <https://lf-onap.atlassian.net/browse/CPS-1446>`_ Locked cmhandles and ready to locked state transitions causing long cmHandle discovery + - `CPS-1457 <https://lf-onap.atlassian.net/browse/CPS-1457>`_ CpsDataPersistenceService#getDataNodes uses non-normalized xpaths + - `CPS-1458 <https://lf-onap.atlassian.net/browse/CPS-1458>`_ CpsDataPersistenceService#getDataNodes does not handle root xpath + - `CPS-1460 <https://lf-onap.atlassian.net/browse/CPS-1460>`_ CPS Path Processing Performance Test duration is too low 3.2.0 - - `CPS-1312 <https://jira.onap.org/browse/CPS-1312>`_ CPS(/NCMP) does not have version control. + - `CPS-1312 <https://lf-onap.atlassian.net/browse/CPS-1312>`_ CPS(/NCMP) does not have version control. Known Limitations, Issues and Workarounds ----------------------------------------- @@ -937,8 +1107,8 @@ Release Data Bug Fixes --------- - - `CPS-1265 <https://jira.onap.org/browse/CPS-1265>`_ Revision field should not be required (NotNull) on cps-ri YangResourceEntity - - `CPS-1294 <https://jira.onap.org/browse/CPS-1294>`_ Kafka communication fault caused cmHandle registration error + - `CPS-1265 <https://lf-onap.atlassian.net/browse/CPS-1265>`_ Revision field should not be required (NotNull) on cps-ri YangResourceEntity + - `CPS-1294 <https://lf-onap.atlassian.net/browse/CPS-1294>`_ Kafka communication fault caused cmHandle registration error Version: 3.1.3 ============== @@ -1017,7 +1187,7 @@ Security Notes *Fixed Security Issues* - - `CPS-1226 <https://jira.onap.org/browse/CPS-1226>`_ Security bug in the logs + - `CPS-1226 <https://lf-onap.atlassian.net/browse/CPS-1226>`_ Security bug in the logs Version: 3.1.0 ============== @@ -1041,48 +1211,48 @@ Release Data Features -------- - - `CPS-340 <https://jira.onap.org/browse/CPS-340>`_ Patch and update the root data node - - `CPS-575 <https://jira.onap.org/browse/CPS-575>`_ Write data for cmHandle using ncmp-datastores:passthrough-running (NCMP.) - - `CPS-731 <https://jira.onap.org/browse/CPS-731>`_ Query based on Public CM Properties - - `CPS-828 <https://jira.onap.org/browse/CPS-828>`_ Async: NCMP Rest impl. including Request ID generation - - `CPS-829 <https://jira.onap.org/browse/CPS-829>`_ Async: Internal message topic incl. basic producer & Consumer - - `CPS-830 <https://jira.onap.org/browse/CPS-830>`_ DMI-NCMP Asynchronously Publish Response Event to Client Topic - - `CPS-869 <https://jira.onap.org/browse/CPS-869>`_ Apply Standardized logging fields to adhere to ONAP Best practice REQ-1072 - - `CPS-870 <https://jira.onap.org/browse/CPS-870>`_ Align CPS-Core output with SDN-C output (add module name) - - `CPS-875 <https://jira.onap.org/browse/CPS-875>`_ CM Handle State: Watchdog-process that syncs 'ADVISED' CM Handles - - `CPS-877 <https://jira.onap.org/browse/CPS-877>`_ CM Handle State: Exclude any CM-Handles from queries/operations that are not in state 'READY' - - `CPS-899 <https://jira.onap.org/browse/CPS-899>`_ Start and stop sessions on Java API - - `CPS-909 <https://jira.onap.org/browse/CPS-909>`_ Separate NCMP endpoint for ch/{cm-handle}/properties and ch/{cm-handle}/state - - `CPS-917 <https://jira.onap.org/browse/CPS-917>`_ Structured Errors response for passthrough use-cases in NCMP - - `CPS-953 <https://jira.onap.org/browse/CPS-953>`_ Update maven deploy plugin version - - `CPS-977 <https://jira.onap.org/browse/CPS-977>`_ Query CM Handles using CpsPath - - `CPS-1000 <https://jira.onap.org/browse/CPS-1000>`_ Create Data Synchronization watchdog - - `CPS-1016 <https://jira.onap.org/browse/CPS-1016>`_ Merge 2 'query' end points in NCMP - - `CPS-1034 <https://jira.onap.org/browse/CPS-1034>`_ Publish lifecycle events for ADVISED , READY and LOCKED state transition" - - `CPS-1064 <https://jira.onap.org/browse/CPS-1064>`_ Support retrieval of YANG module sources for CM handle on the NCMP interface - - `CPS-1099 <https://jira.onap.org/browse/CPS-1099>`_ Expose simplified 'external' lock reason enum state over REST interface - - `CPS-1101 <https://jira.onap.org/browse/CPS-1101>`_ Introducing the DELETING and DELETED Cmhandle State - - `CPS-1102 <https://jira.onap.org/browse/CPS-1102>`_ Register the Cmhandle Sends Advised State notification. - - `CPS-1133 <https://jira.onap.org/browse/CPS-1133>`_ Enable/Disable Data Sync for Cm Handle - - `CPS-1136 <https://jira.onap.org/browse/CPS-1136>`_ DMI Audit Support (get all CM Handles for a registered DMI) + - `CPS-340 <https://lf-onap.atlassian.net/browse/CPS-340>`_ Patch and update the root data node + - `CPS-575 <https://lf-onap.atlassian.net/browse/CPS-575>`_ Write data for cmHandle using ncmp-datastores:passthrough-running (NCMP.) + - `CPS-731 <https://lf-onap.atlassian.net/browse/CPS-731>`_ Query based on Public CM Properties + - `CPS-828 <https://lf-onap.atlassian.net/browse/CPS-828>`_ Async: NCMP Rest impl. including Request ID generation + - `CPS-829 <https://lf-onap.atlassian.net/browse/CPS-829>`_ Async: Internal message topic incl. basic producer & Consumer + - `CPS-830 <https://lf-onap.atlassian.net/browse/CPS-830>`_ DMI-NCMP Asynchronously Publish Response Event to Client Topic + - `CPS-869 <https://lf-onap.atlassian.net/browse/CPS-869>`_ Apply Standardized logging fields to adhere to ONAP Best practice REQ-1072 + - `CPS-870 <https://lf-onap.atlassian.net/browse/CPS-870>`_ Align CPS-Core output with SDN-C output (add module name) + - `CPS-875 <https://lf-onap.atlassian.net/browse/CPS-875>`_ CM Handle State: Watchdog-process that syncs 'ADVISED' CM Handles + - `CPS-877 <https://lf-onap.atlassian.net/browse/CPS-877>`_ CM Handle State: Exclude any CM-Handles from queries/operations that are not in state 'READY' + - `CPS-899 <https://lf-onap.atlassian.net/browse/CPS-899>`_ Start and stop sessions on Java API + - `CPS-909 <https://lf-onap.atlassian.net/browse/CPS-909>`_ Separate NCMP endpoint for ch/{cm-handle}/properties and ch/{cm-handle}/state + - `CPS-917 <https://lf-onap.atlassian.net/browse/CPS-917>`_ Structured Errors response for passthrough use-cases in NCMP + - `CPS-953 <https://lf-onap.atlassian.net/browse/CPS-953>`_ Update maven deploy plugin version + - `CPS-977 <https://lf-onap.atlassian.net/browse/CPS-977>`_ Query CM Handles using CpsPath + - `CPS-1000 <https://lf-onap.atlassian.net/browse/CPS-1000>`_ Create Data Synchronization watchdog + - `CPS-1016 <https://lf-onap.atlassian.net/browse/CPS-1016>`_ Merge 2 'query' end points in NCMP + - `CPS-1034 <https://lf-onap.atlassian.net/browse/CPS-1034>`_ Publish lifecycle events for ADVISED , READY and LOCKED state transition" + - `CPS-1064 <https://lf-onap.atlassian.net/browse/CPS-1064>`_ Support retrieval of YANG module sources for CM handle on the NCMP interface + - `CPS-1099 <https://lf-onap.atlassian.net/browse/CPS-1099>`_ Expose simplified 'external' lock reason enum state over REST interface + - `CPS-1101 <https://lf-onap.atlassian.net/browse/CPS-1101>`_ Introducing the DELETING and DELETED Cmhandle State + - `CPS-1102 <https://lf-onap.atlassian.net/browse/CPS-1102>`_ Register the Cmhandle Sends Advised State notification. + - `CPS-1133 <https://lf-onap.atlassian.net/browse/CPS-1133>`_ Enable/Disable Data Sync for Cm Handle + - `CPS-1136 <https://lf-onap.atlassian.net/browse/CPS-1136>`_ DMI Audit Support (get all CM Handles for a registered DMI) Bug Fixes --------- - - `CPS-896 <https://jira.onap.org/browse/CPS-896>`_ CM Handle Registration Process only partially completes when exception is thrown - - `CPS-957 <https://jira.onap.org/browse/CPS-957>`_ NCMP: fix getResourceDataForPassthroughOperational endpoint - - `CPS-1020 <https://jira.onap.org/browse/CPS-1020>`_ DuplicatedYangResourceException error at parallel cmHandle registration - - `CPS-1056 <https://jira.onap.org/browse/CPS-1056>`_ Wrong error response format in case of Dmi plugin error - - `CPS-1067 <https://jira.onap.org/browse/CPS-1067>`_ NCMP returns 500 error on searches endpoint when No DMI Handles registered - - `CPS-1085 <https://jira.onap.org/browse/CPS-1085>`_ Performance degradation on ncmp/v1/ch/searches endpoint - - `CPS-1088 <https://jira.onap.org/browse/CPS-1088>`_ Kafka consumer can not be turned off - - `CPS-1097 <https://jira.onap.org/browse/CPS-1097>`_ Unable to change state from LOCKED to ADVISED - - `CPS-1126 <https://jira.onap.org/browse/CPS-1126>`_ CmHandle creation performance degradation - - `CPS-1175 <https://jira.onap.org/browse/CPS-1175>`_ Incorrect response when empty body executed for cmhandle id-searches - - `CPS-1179 <https://jira.onap.org/browse/CPS-1179>`_ Node API - GET method returns invalid response when identifier contains '/' - - `CPS-1212 <https://jira.onap.org/browse/CPS-1212>`_ Additional Properties for CM Handles not included when send to DMI Plugin - - `CPS-1217 <https://jira.onap.org/browse/CPS-1217>`_ Searches endpoint gives back empty list however there are already available cmhandles - - `CPS-1218 <https://jira.onap.org/browse/CPS-1218>`_ NCMP logs are flooded with SyncUtils logs + - `CPS-896 <https://lf-onap.atlassian.net/browse/CPS-896>`_ CM Handle Registration Process only partially completes when exception is thrown + - `CPS-957 <https://lf-onap.atlassian.net/browse/CPS-957>`_ NCMP: fix getResourceDataForPassthroughOperational endpoint + - `CPS-1020 <https://lf-onap.atlassian.net/browse/CPS-1020>`_ DuplicatedYangResourceException error at parallel cmHandle registration + - `CPS-1056 <https://lf-onap.atlassian.net/browse/CPS-1056>`_ Wrong error response format in case of Dmi plugin error + - `CPS-1067 <https://lf-onap.atlassian.net/browse/CPS-1067>`_ NCMP returns 500 error on searches endpoint when No DMI Handles registered + - `CPS-1085 <https://lf-onap.atlassian.net/browse/CPS-1085>`_ Performance degradation on ncmp/v1/ch/searches endpoint + - `CPS-1088 <https://lf-onap.atlassian.net/browse/CPS-1088>`_ Kafka consumer can not be turned off + - `CPS-1097 <https://lf-onap.atlassian.net/browse/CPS-1097>`_ Unable to change state from LOCKED to ADVISED + - `CPS-1126 <https://lf-onap.atlassian.net/browse/CPS-1126>`_ CmHandle creation performance degradation + - `CPS-1175 <https://lf-onap.atlassian.net/browse/CPS-1175>`_ Incorrect response when empty body executed for cmhandle id-searches + - `CPS-1179 <https://lf-onap.atlassian.net/browse/CPS-1179>`_ Node API - GET method returns invalid response when identifier contains '/' + - `CPS-1212 <https://lf-onap.atlassian.net/browse/CPS-1212>`_ Additional Properties for CM Handles not included when send to DMI Plugin + - `CPS-1217 <https://lf-onap.atlassian.net/browse/CPS-1217>`_ Searches endpoint gives back empty list however there are already available cmhandles + - `CPS-1218 <https://lf-onap.atlassian.net/browse/CPS-1218>`_ NCMP logs are flooded with SyncUtils logs Known Limitations, Issues and Workarounds ----------------------------------------- @@ -1105,7 +1275,7 @@ Security Notes *Fixed Security Issues* - - `CPS-963 <https://jira.onap.org/browse/CPS-963>`_ Liquibase has got serious vulnerability, upgrade required + - `CPS-963 <https://lf-onap.atlassian.net/browse/CPS-963>`_ Liquibase has got serious vulnerability, upgrade required *Known Security Issues* @@ -1137,7 +1307,7 @@ Release Data Bug Fixes --------- - - `CPS-961 <https://jira.onap.org/browse/CPS-961>`_ Updated ANTLR compiler version to 4.9.2 to be compatible with runtime version + - `CPS-961 <https://lf-onap.atlassian.net/browse/CPS-961>`_ Updated ANTLR compiler version to 4.9.2 to be compatible with runtime version Version: 3.0.0 ============== @@ -1161,31 +1331,31 @@ Release Data Features -------- - - `CPS-559 <https://jira.onap.org/browse/CPS-559>`_ Define response objects (schemas) in cps-ncmp - - `CPS-636 <https://jira.onap.org/browse/CPS-636>`_ Update operation for datastore pass through running - - `CPS-638 <https://jira.onap.org/browse/CPS-638>`_ Delete operation for datastore pass through running - - `CPS-677 <https://jira.onap.org/browse/CPS-677>`_ Support 'public' Cm Handle Properties - - `CPS-741 <https://jira.onap.org/browse/CPS-741>`_ Re sync after removing cm handles - - `CPS-777 <https://jira.onap.org/browse/CPS-777>`_ Ensure all DMI operations use POST method - - `CPS-780 <https://jira.onap.org/browse/CPS-780>`_ Add examples for parameters, request and response in openapi yaml for cps-core - - `CPS-789 <https://jira.onap.org/browse/CPS-789>`_ CPS Data Updated Event Schema V2 to support delete operation - - `CPS-791 <https://jira.onap.org/browse/CPS-791>`_ CPS-Core sends delete notification event - - `CPS-817 <https://jira.onap.org/browse/CPS-817>`_ Create Endpoint For Get Cm Handles (incl. public properties) By Name - - `CPS-837 <https://jira.onap.org/browse/CPS-837>`_ Add Remove and Update properties (DMI and Public) as part of CM Handle Registration update + - `CPS-559 <https://lf-onap.atlassian.net/browse/CPS-559>`_ Define response objects (schemas) in cps-ncmp + - `CPS-636 <https://lf-onap.atlassian.net/browse/CPS-636>`_ Update operation for datastore pass through running + - `CPS-638 <https://lf-onap.atlassian.net/browse/CPS-638>`_ Delete operation for datastore pass through running + - `CPS-677 <https://lf-onap.atlassian.net/browse/CPS-677>`_ Support 'public' Cm Handle Properties + - `CPS-741 <https://lf-onap.atlassian.net/browse/CPS-741>`_ Re sync after removing cm handles + - `CPS-777 <https://lf-onap.atlassian.net/browse/CPS-777>`_ Ensure all DMI operations use POST method + - `CPS-780 <https://lf-onap.atlassian.net/browse/CPS-780>`_ Add examples for parameters, request and response in openapi yaml for cps-core + - `CPS-789 <https://lf-onap.atlassian.net/browse/CPS-789>`_ CPS Data Updated Event Schema V2 to support delete operation + - `CPS-791 <https://lf-onap.atlassian.net/browse/CPS-791>`_ CPS-Core sends delete notification event + - `CPS-817 <https://lf-onap.atlassian.net/browse/CPS-817>`_ Create Endpoint For Get Cm Handles (incl. public properties) By Name + - `CPS-837 <https://lf-onap.atlassian.net/browse/CPS-837>`_ Add Remove and Update properties (DMI and Public) as part of CM Handle Registration update Bug Fixes --------- - - `CPS-762 <https://jira.onap.org/browse/CPS-762>`_ Query cm handles for module names returns incorrect cm handle identifiers - - `CPS-788 <https://jira.onap.org/browse/CPS-788>`_ Yang Resource formatting is incorrect - - `CPS-783 <https://jira.onap.org/browse/CPS-783>`_ Remove cm handle does not completely remove all cm handle information - - `CPS-841 <https://jira.onap.org/browse/CPS-841>`_ Upgrade log4j to 2.17.1 as recommended by ONAP SECCOM - - `CPS-856 <https://jira.onap.org/browse/CPS-856>`_ Retry mechanism not working for concurrent CmHandle registration - - `CPS-867 <https://jira.onap.org/browse/CPS-867>`_ Database port made configurable through env variable DB_PORT - - `CPS-886 <https://jira.onap.org/browse/CPS-886>`_ Fragment handling decreasing performance for large number of cmHandles - - `CPS-887 <https://jira.onap.org/browse/CPS-887>`_ Increase performance of cmHandle registration for large number of schema sets in DB - - `CPS-892 <https://jira.onap.org/browse/CPS-892>`_ Fixed the response code during CM-Handle Registration from 201 CREATED to 204 NO_CONTENT - - `CPS-893 <https://jira.onap.org/browse/CPS-893>`_ NCMP Java API depends on NCMP-Rest-API (cyclic) through json properties on Java API + - `CPS-762 <https://lf-onap.atlassian.net/browse/CPS-762>`_ Query cm handles for module names returns incorrect cm handle identifiers + - `CPS-788 <https://lf-onap.atlassian.net/browse/CPS-788>`_ Yang Resource formatting is incorrect + - `CPS-783 <https://lf-onap.atlassian.net/browse/CPS-783>`_ Remove cm handle does not completely remove all cm handle information + - `CPS-841 <https://lf-onap.atlassian.net/browse/CPS-841>`_ Upgrade log4j to 2.17.1 as recommended by ONAP SECCOM + - `CPS-856 <https://lf-onap.atlassian.net/browse/CPS-856>`_ Retry mechanism not working for concurrent CmHandle registration + - `CPS-867 <https://lf-onap.atlassian.net/browse/CPS-867>`_ Database port made configurable through env variable DB_PORT + - `CPS-886 <https://lf-onap.atlassian.net/browse/CPS-886>`_ Fragment handling decreasing performance for large number of cmHandles + - `CPS-887 <https://lf-onap.atlassian.net/browse/CPS-887>`_ Increase performance of cmHandle registration for large number of schema sets in DB + - `CPS-892 <https://lf-onap.atlassian.net/browse/CPS-892>`_ Fixed the response code during CM-Handle Registration from 201 CREATED to 204 NO_CONTENT + - `CPS-893 <https://lf-onap.atlassian.net/browse/CPS-893>`_ NCMP Java API depends on NCMP-Rest-API (cyclic) through json properties on Java API Known Limitations, Issues and Workarounds ----------------------------------------- @@ -1193,10 +1363,10 @@ Known Limitations, Issues and Workarounds *System Limitations* Null can no longer be passed within the dmi plugin service names when registering a cm handle, as part of -`CPS-837 <https://jira.onap.org/browse/CPS-837>`_ null is now used to indicate if a property should be removed as part +`CPS-837 <https://lf-onap.atlassian.net/browse/CPS-837>`_ null is now used to indicate if a property should be removed as part of cm handle registration. -The Absolute path to list with integer key will not work. Please refer `CPS-961 <https://jira.onap.org/browse/CPS-961>`_ +The Absolute path to list with integer key will not work. Please refer `CPS-961 <https://lf-onap.atlassian.net/browse/CPS-961>`_ for more information. *Known Vulnerabilities* @@ -1246,8 +1416,8 @@ Release Data Bug Fixes --------- - - `CPS-879 <https://jira.onap.org/browse/CPS-879>`_ Fix docker compose for csit test. - - `CPS-873 <https://jira.onap.org/browse/CPS-873>`_ Fix intermittent circular dependency error when the application starts. + - `CPS-879 <https://lf-onap.atlassian.net/browse/CPS-879>`_ Fix docker compose for csit test. + - `CPS-873 <https://lf-onap.atlassian.net/browse/CPS-873>`_ Fix intermittent circular dependency error when the application starts. Version: 2.0.3 ============== @@ -1272,7 +1442,7 @@ Release Data Bug Fixes --------- - - `CPS-841 <https://jira.onap.org/browse/CPS-841>`_ Update log4j version to 2.17.1 due to security vulnerability + - `CPS-841 <https://lf-onap.atlassian.net/browse/CPS-841>`_ Update log4j version to 2.17.1 due to security vulnerability Version: 2.0.2 ============== @@ -1297,7 +1467,7 @@ Release Data Bug Fixes --------- - - `CPS-820 <https://jira.onap.org/browse/CPS-820>`_ Update log4j version due to security vulnerability + - `CPS-820 <https://lf-onap.atlassian.net/browse/CPS-820>`_ Update log4j version due to security vulnerability Version: 2.0.1 ============== @@ -1322,10 +1492,10 @@ Release Data Bug Fixes --------- - - `CPS-594 <https://jira.onap.org/browse/CPS-594>`_ SQL ConstraintViolationException when updating the list node element using PATCH List node API - - `CPS-653 <https://jira.onap.org/browse/CPS-653>`_ cmHandleProperties not supported by dmi in fetch modules - - `CPS-673 <https://jira.onap.org/browse/CPS-673>`_ Improvement and cleanup for CPS Core charts - - `CPS-691 <https://jira.onap.org/browse/CPS-691>`_ NCMP no master index label on index documentation page + - `CPS-594 <https://lf-onap.atlassian.net/browse/CPS-594>`_ SQL ConstraintViolationException when updating the list node element using PATCH List node API + - `CPS-653 <https://lf-onap.atlassian.net/browse/CPS-653>`_ cmHandleProperties not supported by dmi in fetch modules + - `CPS-673 <https://lf-onap.atlassian.net/browse/CPS-673>`_ Improvement and cleanup for CPS Core charts + - `CPS-691 <https://lf-onap.atlassian.net/browse/CPS-691>`_ NCMP no master index label on index documentation page Known Limitations, Issues and Workarounds ----------------------------------------- @@ -1336,7 +1506,7 @@ Limitations to the amount of child nodes that can be added to the fix above. The *Known Vulnerabilities* - - `CPS-725 <https://jira.onap.org/browse/CPS-725>`_ fix sample docker compose of cps/ncmp and onap dmi plugin + - `CPS-725 <https://lf-onap.atlassian.net/browse/CPS-725>`_ fix sample docker compose of cps/ncmp and onap dmi plugin *Workarounds* @@ -1347,7 +1517,7 @@ Security Notes *Fixed Security Issues* - - `CPS-581 <https://jira.onap.org/browse/CPS-581>`_ Remove security vulnerabilities + - `CPS-581 <https://lf-onap.atlassian.net/browse/CPS-581>`_ Remove security vulnerabilities *Known Security Issues* @@ -1399,32 +1569,32 @@ Software Deliverables Bug Fixes --------- - - `CPS-310 <https://jira.onap.org/browse/CPS-310>`_ Data schema migration from Honolulu to Istanbul is failing - - `CPS-316 <https://jira.onap.org/browse/CPS-316>`_ Xpath cannot be created for augmentation data node - - `CPS-336 <https://jira.onap.org/browse/CPS-336>`_ Ends-with functionality in cpsPath does not conform with standard xPath behavior - - `CPS-345 <https://jira.onap.org/browse/CPS-345>`_ Leaf String value comparison matches mix of single and double quotes - - `CPS-357 <https://jira.onap.org/browse/CPS-357>`_ cps-review-verification-maven-master Jenkins job is failing when running csit test - - `CPS-367 <https://jira.onap.org/browse/CPS-367>`_ Get descendent does not support xpaths that end in list values - - `CPS-377 <https://jira.onap.org/browse/CPS-377>`_ Init ran model validation is failing error details are not provided - - `CPS-422 <https://jira.onap.org/browse/CPS-422>`_ REST 404 response returned instead of 400 for POST/PUT/PATCH request types - - `CPS-450 <https://jira.onap.org/browse/CPS-450>`_ Datanode query using full path to node causes NPE - - `CPS-451 <https://jira.onap.org/browse/CPS-451>`_ cps-ran-schema-model@2021-01-28.yang missing root container - - `CPS-464 <https://jira.onap.org/browse/CPS-464>`_ Request to update node leaves (patch) responds with Internal Server Error - - `CPS-465 <https://jira.onap.org/browse/CPS-465>`_ Request to update node leaves (patch) responds with json parsing failure - - `CPS-466 <https://jira.onap.org/browse/CPS-466>`_ Concurrent requests to create schema sets for the same yang model are not supported - - `CPS-479 <https://jira.onap.org/browse/CPS-479>`_ Get Nodes API does not always return the object from the root - - `CPS-500 <https://jira.onap.org/browse/CPS-500>`_ Special Character Limitations of cpsPath Queries - - `CPS-501 <https://jira.onap.org/browse/CPS-501>`_ Put DataNode API has missing transaction and error handling for concurrency issues - - `CPS-524 <https://jira.onap.org/browse/CPS-524>`_ Issue with CPSData API to add an item to an existing list node - - `CPS-560 <https://jira.onap.org/browse/CPS-560>`_ Response from cps query using text() contains escape characters - - `CPS-566 <https://jira.onap.org/browse/CPS-566>`_ Can't access grandparent node through ancestor axis - - `CPS-573 <https://jira.onap.org/browse/CPS-573>`_ /v1/ch/PNFDemo1/modules returning 401 unauthorised. - - `CPS-587 <https://jira.onap.org/browse/CPS-587>`_ cps-ncmp-service NullpointerException when DmiPluginRegistration has no additionProperties - - `CPS-591 <https://jira.onap.org/browse/CPS-591>`_ CPS-Core Leaf stored as integer is being returned from DB as float - - `CPS-601 <https://jira.onap.org/browse/CPS-601>`_ CPS swagger-ui does not show NCMP endpoints - - `CPS-616 <https://jira.onap.org/browse/CPS-616>`_ NCMP base path does not conform to agreed API URL - - `CPS-630 <https://jira.onap.org/browse/CPS-630>`_ Incorrect information sent when same anchor is updated faster than notification service processes - - `CPS-635 <https://jira.onap.org/browse/CPS-635>`_ Module Resource call does not include body + - `CPS-310 <https://lf-onap.atlassian.net/browse/CPS-310>`_ Data schema migration from Honolulu to Istanbul is failing + - `CPS-316 <https://lf-onap.atlassian.net/browse/CPS-316>`_ Xpath cannot be created for augmentation data node + - `CPS-336 <https://lf-onap.atlassian.net/browse/CPS-336>`_ Ends-with functionality in cpsPath does not conform with standard xPath behavior + - `CPS-345 <https://lf-onap.atlassian.net/browse/CPS-345>`_ Leaf String value comparison matches mix of single and double quotes + - `CPS-357 <https://lf-onap.atlassian.net/browse/CPS-357>`_ cps-review-verification-maven-master Jenkins job is failing when running csit test + - `CPS-367 <https://lf-onap.atlassian.net/browse/CPS-367>`_ Get descendent does not support xpaths that end in list values + - `CPS-377 <https://lf-onap.atlassian.net/browse/CPS-377>`_ Init ran model validation is failing error details are not provided + - `CPS-422 <https://lf-onap.atlassian.net/browse/CPS-422>`_ REST 404 response returned instead of 400 for POST/PUT/PATCH request types + - `CPS-450 <https://lf-onap.atlassian.net/browse/CPS-450>`_ Datanode query using full path to node causes NPE + - `CPS-451 <https://lf-onap.atlassian.net/browse/CPS-451>`_ cps-ran-schema-model@2021-01-28.yang missing root container + - `CPS-464 <https://lf-onap.atlassian.net/browse/CPS-464>`_ Request to update node leaves (patch) responds with Internal Server Error + - `CPS-465 <https://lf-onap.atlassian.net/browse/CPS-465>`_ Request to update node leaves (patch) responds with json parsing failure + - `CPS-466 <https://lf-onap.atlassian.net/browse/CPS-466>`_ Concurrent requests to create schema sets for the same yang model are not supported + - `CPS-479 <https://lf-onap.atlassian.net/browse/CPS-479>`_ Get Nodes API does not always return the object from the root + - `CPS-500 <https://lf-onap.atlassian.net/browse/CPS-500>`_ Special Character Limitations of cpsPath Queries + - `CPS-501 <https://lf-onap.atlassian.net/browse/CPS-501>`_ Put DataNode API has missing transaction and error handling for concurrency issues + - `CPS-524 <https://lf-onap.atlassian.net/browse/CPS-524>`_ Issue with CPSData API to add an item to an existing list node + - `CPS-560 <https://lf-onap.atlassian.net/browse/CPS-560>`_ Response from cps query using text() contains escape characters + - `CPS-566 <https://lf-onap.atlassian.net/browse/CPS-566>`_ Can't access grandparent node through ancestor axis + - `CPS-573 <https://lf-onap.atlassian.net/browse/CPS-573>`_ /v1/ch/PNFDemo1/modules returning 401 unauthorised. + - `CPS-587 <https://lf-onap.atlassian.net/browse/CPS-587>`_ cps-ncmp-service NullpointerException when DmiPluginRegistration has no additionProperties + - `CPS-591 <https://lf-onap.atlassian.net/browse/CPS-591>`_ CPS-Core Leaf stored as integer is being returned from DB as float + - `CPS-601 <https://lf-onap.atlassian.net/browse/CPS-601>`_ CPS swagger-ui does not show NCMP endpoints + - `CPS-616 <https://lf-onap.atlassian.net/browse/CPS-616>`_ NCMP base path does not conform to agreed API URL + - `CPS-630 <https://lf-onap.atlassian.net/browse/CPS-630>`_ Incorrect information sent when same anchor is updated faster than notification service processes + - `CPS-635 <https://lf-onap.atlassian.net/browse/CPS-635>`_ Module Resource call does not include body This document provides the release notes for Istanbul release. @@ -1448,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 @@ -1463,9 +1629,9 @@ Limitations to the amount of child nodes that can be added to the fix above. The *Known Vulnerabilities* - - `CPS-594 <https://jira.onap.org/browse/CPS-594>`_ SQL ConstraintViolationException when updating the list node element using PATCH List node API - - `CPS-653 <https://jira.onap.org/browse/CPS-653>`_ cmHandleProperties not supported by dmi in fetch modules - - `CPS-673 <https://jira.onap.org/browse/CPS-673>`_ Improvement and cleanup for CPS Core charts + - `CPS-594 <https://lf-onap.atlassian.net/browse/CPS-594>`_ SQL ConstraintViolationException when updating the list node element using PATCH List node API + - `CPS-653 <https://lf-onap.atlassian.net/browse/CPS-653>`_ cmHandleProperties not supported by dmi in fetch modules + - `CPS-673 <https://lf-onap.atlassian.net/browse/CPS-673>`_ Improvement and cleanup for CPS Core charts *Workarounds* @@ -1476,11 +1642,11 @@ Security Notes *Fixed Security Issues* - - `CPS-249 <https://jira.onap.org/browse/CPS-249>`_ Exception stack trace is exposed + - `CPS-249 <https://lf-onap.atlassian.net/browse/CPS-249>`_ Exception stack trace is exposed *Known Security Issues* - - `CPS-581 <https://jira.onap.org/browse/CPS-581>`_ Remove security vulnerabilities + - `CPS-581 <https://lf-onap.atlassian.net/browse/CPS-581>`_ Remove security vulnerabilities Test Results ------------ @@ -1513,25 +1679,25 @@ Release Data Bug Fixes --------- - - `CPS-706 <https://jira.onap.org/browse/CPS-706>`_ Get moduleschema/yangresouce endpoint not working - - `CPS-276 <https://jira.onap.org/browse/CPS-276>`_ Improve error reporting for invalid cpsPath on Queries - - `CPS-288 <https://jira.onap.org/browse/CPS-288>`_ Move security configuration to the application module - - `CPS-290 <https://jira.onap.org/browse/CPS-290>`_ Internal Server Error when creating the same data node twice - - `CPS-292 <https://jira.onap.org/browse/CPS-292>`_ Detailed information is missing to explain why data is not compliant with the specified YANG model - - `CPS-300 <https://jira.onap.org/browse/CPS-304>`_ Not able to create data instances for 2 different anchors using the same model - - `CPS-304 <https://jira.onap.org/browse/CPS-304>`_ Use ONAP recommended base Java Docker image - - `CPS-308 <https://jira.onap.org/browse/CPS-308>`_ Not able to upload yang models files greater than 1MB + - `CPS-706 <https://lf-onap.atlassian.net/browse/CPS-706>`_ Get moduleschema/yangresouce endpoint not working + - `CPS-276 <https://lf-onap.atlassian.net/browse/CPS-276>`_ Improve error reporting for invalid cpsPath on Queries + - `CPS-288 <https://lf-onap.atlassian.net/browse/CPS-288>`_ Move security configuration to the application module + - `CPS-290 <https://lf-onap.atlassian.net/browse/CPS-290>`_ Internal Server Error when creating the same data node twice + - `CPS-292 <https://lf-onap.atlassian.net/browse/CPS-292>`_ Detailed information is missing to explain why data is not compliant with the specified YANG model + - `CPS-300 <https://lf-onap.atlassian.net/browse/CPS-304>`_ Not able to create data instances for 2 different anchors using the same model + - `CPS-304 <https://lf-onap.atlassian.net/browse/CPS-304>`_ Use ONAP recommended base Java Docker image + - `CPS-308 <https://lf-onap.atlassian.net/browse/CPS-308>`_ Not able to upload yang models files greater than 1MB Security Notes -------------- *Fixed Security Issues* - - `CPS-249 <https://jira.onap.org/browse/CPS-249>`_ Exception stack trace is exposed + - `CPS-249 <https://lf-onap.atlassian.net/browse/CPS-249>`_ Exception stack trace is exposed *Known Security Issues* - - `Security Waiver <https://wiki.onap.org/display/DW/Honolulu+Exception+Request+for+CPS>`_ Security - Expose external endpoints with https + - `Security Waiver <https://lf-onap.atlassian.net/wiki/spaces/DW/pages/16467851/Honolulu+Exception+Request+for+CPS>`_ Security - Expose external endpoints with https Version: 1.0.0 ============== @@ -1561,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. @@ -1610,10 +1772,10 @@ Software Deliverables Known Limitations, Issues and Workarounds ----------------------------------------- - - `CPS-249 <https://jira.onap.org/browse/CPS-249>`_ Exception stack trace is exposed - - `CPS-264 <https://jira.onap.org/browse/CPS-264>`_ Unique timestamp is missing when tagging docker images. + - `CPS-249 <https://lf-onap.atlassian.net/browse/CPS-249>`_ Exception stack trace is exposed + - `CPS-264 <https://lf-onap.atlassian.net/browse/CPS-264>`_ Unique timestamp is missing when tagging docker images. - Methods exposed on API which are yet not implemented : deleteAnchor, getNodesByDataspace & deleteDataspace. - - `CPS-465 <https://jira.onap.org/browse/CPS-465>`_ & `CPS-464 <https://jira.onap.org/browse/CPS-464>`_ Update data node leaves API does not support updating a list element with compound keys. + - `CPS-465 <https://lf-onap.atlassian.net/browse/CPS-465>`_ & `CPS-464 <https://lf-onap.atlassian.net/browse/CPS-464>`_ Update data node leaves API does not support updating a list element with compound keys. *System Limitations* @@ -1632,7 +1794,7 @@ Security Notes *Fixed Security Issues* -* `CPS-167 <https://jira.onap.org/browse/CPS-167>`_ -Update CPS dependencies as Required for Honolulu release +* `CPS-167 <https://lf-onap.atlassian.net/browse/CPS-167>`_ -Update CPS dependencies as Required for Honolulu release - Upgrade org.onap.oparent to 3.2.0 - Upgrade spring.boot to 2.3.8.RELEASE - Upgrade yangtools to 5.0.7 @@ -1650,7 +1812,7 @@ CPS code has been formally scanned during build time using NexusIQ and all Criti Test Results ------------ - * `Integration tests <https://wiki.onap.org/display/DW/CPS+Integration+Test+Cases>`_ + * `Integration tests <https://lf-onap.atlassian.net/wiki/spaces/DW/pages/16462943/CPS+Integration+Test+Cases>`_ References ---------- @@ -1665,12 +1827,12 @@ For more information on the latest ONAP release, please see: .. _`ONAP Home Page`: https://www.onap.org -.. _`ONAP Wiki Page`: https://wiki.onap.org +.. _`ONAP Wiki Page`: https://lf-onap.atlassian.net .. _`ONAP Documentation`: https://docs.onap.org .. _`ONAP CPS Documentation`: https://docs.onap.org/projects/onap-cps .. _`ONAP Release Downloads`: https://git.onap.org Quick Links: - - `CPS project page <https://wiki.onap.org/pages/viewpage.action?pageId=71834216>`_ + - `CPS project page <https://lf-onap.atlassian.net/wiki/spaces/DW/overview>`_ - `Passing Badge information for CPS <https://bestpractices.coreinfrastructure.org/en/projects/4398>`_ diff --git a/docs/schemas/dmidataavc/avc-event-schema-1.0.0.json b/docs/schemas/dmidataavc/avc-event-schema-1.0.0.json new file mode 100644 index 0000000000..474520d142 --- /dev/null +++ b/docs/schemas/dmidataavc/avc-event-schema-1.0.0.json @@ -0,0 +1,88 @@ +{ + "$schema": "https://json-schema.org/draft/2019-09/schema", + "$id": "urn:cps:org.onap.cps.ncmp.events:avc-event-schema:1.0.0", + "$ref": "#/definitions/AvcEvent", + "definitions": { + "Edit": { + "additionalProperties": false, + "properties": { + "edit-id": { + "type": "string" + }, + "operation": { + "type": "string" + }, + "target": { + "type": "string" + }, + "value": { + "type": "object", + "existingJavaType": "java.lang.Object" + } + }, + "required": [ + "edit-id", + "operation", + "target" + ] + }, + "AvcEvent": { + "description": "The payload for AVC event.", + "type": "object", + "javaType": "org.onap.cps.ncmp.events.avc1_0_0.AvcEvent", + "properties": { + "data": { + "description": "The AVC event content compliant with RFC8641 format", + "type": "object", + "additionalProperties": false, + "properties": { + "push-change-update": { + "type": "object", + "additionalProperties": false, + "properties": { + "datastore-changes": { + "type": "object", + "additionalProperties": false, + "properties": { + "ietf-yang-patch:yang-patch": { + "type": "object", + "additionalProperties": false, + "properties": { + "patch-id": { + "type": "string" + }, + "edit": { + "type": "array", + "items": { + "$ref": "#/definitions/Edit" + } + } + }, + "required": [ + "patch-id", + "edit" + ] + } + }, + "required": [ + "ietf-yang-patch:yang-patch" + ] + } + }, + "required": [ + "datastore-changes" + ] + } + }, + "required": [ + "push-change-update" + ] + } + }, + "required": [ + "data" + ], + "additionalProperties": false + } + } +}
\ No newline at end of file diff --git a/docs/schemas/ncmp-in-event-schema-1.0.0.json b/docs/schemas/ncmp-in-event-schema-1.0.0.json new file mode 100644 index 0000000000..f8b6c2e680 --- /dev/null +++ b/docs/schemas/ncmp-in-event-schema-1.0.0.json @@ -0,0 +1,73 @@ +{ + "$id": "urn:cps:org.onap.cps.ncmp.events:cm-notification-subscription-ncmp-in-event:1.0.0", + "$ref": "#/definitions/NcmpInEvent", + "$schema": "https://json-schema.org/draft/2019-09/schema", + "definitions": { + "NcmpInEvent": { + "description": "The payload for subscription merge event.", + "javaType": "org.onap.cps.ncmp.impl.cmnotificationsubscription_1_0_0.client_to_ncmp.NcmpInEvent", + "properties": { + "data": { + "properties": { + "subscriptionId": { + "description": "The subscription details.", + "type": "string" + }, + "predicates": { + "type": "array", + "description": "Additional values to be added into the subscription", + "items": { + "type": "object", + "properties": { + "targetFilter": { + "description": "CM Handles to be targeted by the subscription", + "type": "array", + "items": { + "type": "string" + } + }, + "scopeFilter": { + "type": "object", + "properties": { + "datastore": { + "description": "Datastore which is to be used by the subscription", + "type": "string", + "enum": ["ncmp-datastore:passthrough-operational", "ncmp-datastore:passthrough-running"] + }, + "xpathFilter": { + "description": "Filter to be applied to the CM Handles through this event", + "type": "array", + "items": { + "type": "string" + } + } + }, + "additionalProperties": false, + "required": [ + "xpathFilter" + ] + } + }, + "additionalProperties": false, + "required": [ + "targetFilter" + ] + }, + "additionalProperties": false + } + }, + "required": [ + "subscriptionId" + ], + "type": "object", + "additionalProperties": false + } + }, + "type": "object", + "additionalProperties": false, + "required": [ + "data" + ] + } + } +}
\ No newline at end of file diff --git a/docs/schemas/ncmp-out-event-schema-1.0.0.json b/docs/schemas/ncmp-out-event-schema-1.0.0.json new file mode 100644 index 0000000000..d6ef55d063 --- /dev/null +++ b/docs/schemas/ncmp-out-event-schema-1.0.0.json @@ -0,0 +1,63 @@ +{ + "$schema": "https://json-schema.org/draft/2019-09/schema", + "$id": "urn:cps:org.onap.cps.ncmp.events:cm-notification-subscription-ncmp-out-event-schema:1.0.0", + "$ref": "#/definitions/NcmpOutEvent", + "definitions": { + "NcmpOutEvent": { + "type": "object", + "description": "The payload applied cm subscription merge event coming out from NCMP.", + "javaType": "org.onap.cps.ncmp.impl.cmnotificationsubscription_1_0_0.ncmp_to_client.NcmpOutEvent", + "additionalProperties": false, + "properties": { + "data": { + "$ref": "#/definitions/Data" + } + }, + "required": [ + "data" + ], + "title": "NcmpOutEvent" + }, + "Data": { + "type": "object", + "description": "Information about the targets and subscription", + "additionalProperties": false, + "properties": { + "subscriptionId": { + "type": "string", + "description": "The unique subscription id" + }, + "acceptedTargets": { + "type": "array", + "description": "List of accepted targets", + "items": { + "type": "string" + } + }, + "rejectedTargets": { + "type": "array", + "description": "List of rejected targets", + "items": { + "type": "string" + } + }, + "pendingTargets": { + "type": "array", + "description": "List of pending targets", + "items": { + "type": "string" + } + } + }, + "required": [ + "subscriptionId", + "acceptedTargets", + "rejectedTargets", + "pendingTargets" + ], + "title": "Data" + } + } + + +}
\ No newline at end of file diff --git a/docs/schemas/policy-executor/ncmp-create-schema-1.0.0.json b/docs/schemas/policy-executor/ncmp-create-schema-1.0.0.json new file mode 100644 index 0000000000..4d98bc8632 --- /dev/null +++ b/docs/schemas/policy-executor/ncmp-create-schema-1.0.0.json @@ -0,0 +1,29 @@ +{ + "$schema": "https://json-schema.org/draft/2019-09/schema", + "$id": "urn:cps:org.onap.cps.ncmp.policy-executor.ncmp-create-schema:1.0.0", + "$ref": "#/definitions/NcmpCreate", + "definitions": { + "NcmpCreate": { + "type": "object", + "additionalProperties": false, + "properties": { + "cmHandleId": { + "type": "string" + }, + "resourceIdentifier": { + "type": "string" + }, + "targetIdentifier": { + "type": "string" + }, + "cmChangeRequest": { + "type": "object" + } + }, + "required": [ + "targetIdentifier", + "cmChangeRequest" + ] + } + } +} diff --git a/docs/schemas/policy-executor/ncmp-delete-schema-1.0.0.json b/docs/schemas/policy-executor/ncmp-delete-schema-1.0.0.json new file mode 100644 index 0000000000..1246d9d815 --- /dev/null +++ b/docs/schemas/policy-executor/ncmp-delete-schema-1.0.0.json @@ -0,0 +1,25 @@ +{ + "$schema": "https://json-schema.org/draft/2019-09/schema", + "$id": "urn:cps:org.onap.cps.ncmp.policy-executor.ncmp-delete-schema:1.0.0", + "$ref": "#/definitions/NcmpDelete", + "definitions": { + "NcmpDelete": { + "type": "object", + "additionalProperties": false, + "properties": { + "cmHandleId": { + "type": "string" + }, + "resourceIdentifier": { + "type": "string" + }, + "targetIdentifier": { + "type": "string" + } + }, + "required": [ + "targetIdentifier" + ] + } + } +} diff --git a/docs/schemas/policy-executor/ncmp-patch-schema-1.0.0.json b/docs/schemas/policy-executor/ncmp-patch-schema-1.0.0.json new file mode 100644 index 0000000000..4917aea146 --- /dev/null +++ b/docs/schemas/policy-executor/ncmp-patch-schema-1.0.0.json @@ -0,0 +1,29 @@ +{ + "$schema": "https://json-schema.org/draft/2019-09/schema", + "$id": "urn:cps:org.onap.cps.ncmp.policy-executor.ncmp-patch-schema:1.0.0", + "$ref": "#/definitions/NcmpPatch", + "definitions": { + "NcmpPatch": { + "type": "object", + "additionalProperties": false, + "properties": { + "cmHandleId": { + "type": "string" + }, + "resourceIdentifier": { + "type": "string" + }, + "targetIdentifier": { + "type": "string" + }, + "cmChangeRequest": { + "type": "object" + } + }, + "required": [ + "targetIdentifier", + "cmChangeRequest" + ] + } + } +} diff --git a/docs/schemas/policy-executor/ncmp-update-schema-1.0.0.json b/docs/schemas/policy-executor/ncmp-update-schema-1.0.0.json new file mode 100644 index 0000000000..831526cd52 --- /dev/null +++ b/docs/schemas/policy-executor/ncmp-update-schema-1.0.0.json @@ -0,0 +1,29 @@ +{ + "$schema": "https://json-schema.org/draft/2019-09/schema", + "$id": "urn:cps:org.onap.cps.ncmp.policy-executor.ncmp-update-schema:1.0.0", + "$ref": "#/definitions/NcmpUpdate", + "definitions": { + "NcmpUpdate": { + "type": "object", + "additionalProperties": false, + "properties": { + "cmHandleId": { + "type": "string" + }, + "resourceIdentifier": { + "type": "string" + }, + "targetIdentifier": { + "type": "string" + }, + "cmChangeRequest": { + "type": "object" + } + }, + "required": [ + "targetIdentifier", + "cmChangeRequest" + ] + } + } +} |