Merge "Subscription Forwarding Fix"
authorPriyank Maheshwari <priyank.maheshwari@est.tech>
Fri, 25 Aug 2023 09:21:33 +0000 (09:21 +0000)
committerGerrit Code Review <gerrit@onap.org>
Fri, 25 Aug 2023 09:21:33 +0000 (09:21 +0000)
44 files changed:
.github/workflows/gerrit-verify.yaml [new file with mode: 0644]
checkstyle/pom.xml
cps-application/pom.xml
cps-bom/pom.xml
cps-dependencies/pom.xml
cps-events/pom.xml
cps-ncmp-events/pom.xml
cps-ncmp-rest-stub/cps-ncmp-rest-stub-app/pom.xml
cps-ncmp-rest-stub/cps-ncmp-rest-stub-service/pom.xml
cps-ncmp-rest-stub/pom.xml
cps-ncmp-rest/pom.xml
cps-ncmp-service/pom.xml
cps-ncmp-service/src/main/java/org/onap/cps/ncmp/api/impl/async/DataOperationEventConsumer.java
cps-ncmp-service/src/test/groovy/org/onap/cps/ncmp/api/impl/async/SerializationIntegrationSpec.groovy
cps-parent/pom.xml
cps-path-parser/pom.xml
cps-rest/pom.xml
cps-ri/pom.xml
cps-service/pom.xml
csit/data/subscription-notification/cmSubscriptionNcmpInEventForCsit.json [new file with mode: 0644]
csit/data/subscription-notification/cmSubscriptionNcmpOutEventForCsit.json [new file with mode: 0644]
csit/data/subscription-notification/createCmHandleRequestBody.json [new file with mode: 0644]
csit/plans/cps/setup.sh
csit/plans/cps/testplan.txt
csit/pylibs.txt
csit/tests/cps-data-operations/cps-data-operations.robot
csit/tests/cps-subscriptions/cps-subscription-notification.robot [new file with mode: 0644]
dmi-plugin-demo-and-csit-stub/dmi-plugin-demo-and-csit-stub-app/pom.xml
dmi-plugin-demo-and-csit-stub/dmi-plugin-demo-and-csit-stub-service/pom.xml
dmi-plugin-demo-and-csit-stub/pom.xml
docker-compose/docker-compose.yml
docs/api/swagger/cps/openapi.yaml
docs/api/swagger/ncmp/openapi-inventory.yaml
docs/api/swagger/ncmp/openapi.yaml
docs/cps-ncmp-message-status-codes.rst
docs/release-notes.rst
integration-test/pom.xml
integration-test/src/test/groovy/org/onap/cps/integration/functional/CpsDataServiceIntegrationSpec.groovy
jacoco-report/pom.xml
pom.xml
releases/3.3.6-container.yaml [new file with mode: 0644]
releases/3.3.6.yaml [new file with mode: 0644]
spotbugs/pom.xml
version.properties

diff --git a/.github/workflows/gerrit-verify.yaml b/.github/workflows/gerrit-verify.yaml
new file mode 100644 (file)
index 0000000..d425427
--- /dev/null
@@ -0,0 +1,102 @@
+---
+name: Gerrit Composed rtdv3 Verify
+
+# yamllint disable-line rule:truthy
+on:
+  workflow_dispatch:
+    inputs:
+      GERRIT_BRANCH:
+        description: "Branch that change is against"
+        required: true
+        type: string
+      GERRIT_CHANGE_ID:
+        description: "The ID for the change"
+        required: true
+        type: string
+      GERRIT_CHANGE_NUMBER:
+        description: "The Gerrit number"
+        required: true
+        type: string
+      GERRIT_CHANGE_URL:
+        description: "URL to the change"
+        required: true
+        type: string
+      GERRIT_EVENT_TYPE:
+        description: "Type of Gerrit event"
+        required: true
+        type: string
+      GERRIT_PATCHSET_NUMBER:
+        description: "The patch number for the change"
+        required: true
+        type: string
+      GERRIT_PATCHSET_REVISION:
+        description: "The revision sha"
+        required: true
+        type: string
+      GERRIT_PROJECT:
+        description: "Project in Gerrit"
+        required: true
+        type: string
+      GERRIT_REFSPEC:
+        description: "Gerrit refspec of change"
+        required: true
+        type: string
+
+jobs:
+  prepare:
+    runs-on: ubuntu-latest
+    steps:
+      - name: Clear votes
+        # yamllint disable-line rule:line-length
+        uses: lfit/gerrit-review-action@6ac4c2322b68c0120a9b516eb0421491ee1b3fdf  # v0.4
+        with:
+          host: ${{ vars.GERRIT_SERVER }}
+          username: ${{ vars.GERRIT_SSH_USER }}
+          key: ${{ secrets.GERRIT_SSH_PRIVKEY }}
+          known_hosts: ${{ vars.GERRIT_KNOWN_HOSTS }}
+          gerrit-change-number: ${{ inputs.GERRIT_CHANGE_NUMBER }}
+          gerrit-patchset-number: ${{ inputs.GERRIT_PATCHSET_NUMBER }}
+          vote-type: clear
+          comment-only: true
+      - name: Allow replication
+        run: sleep 10s
+
+  rtd-validation:
+    needs: prepare
+    # use compose-jjb-verify from the v0.4 series of releng-reusable-workflows
+    # yamllint disable-line rule:line-length
+    uses: lfit/releng-reusable-workflows/.github/workflows/compose-rtdv3-verify.yaml@main
+    with:
+      GERRIT_BRANCH: ${{ inputs.GERRIT_BRANCH }}
+      GERRIT_CHANGE_ID: ${{ inputs.GERRIT_CHANGE_ID }}
+      GERRIT_CHANGE_NUMBER: ${{ inputs.GERRIT_CHANGE_NUMBER }}
+      GERRIT_CHANGE_URL: ${{ inputs.GERRIT_CHANGE_URL }}
+      GERRIT_EVENT_TYPE: ${{ inputs.GERRIT_EVENT_TYPE }}
+      GERRIT_PATCHSET_NUMBER: ${{ inputs.GERRIT_PATCHSET_NUMBER }}
+      GERRIT_PATCHSET_REVISION: ${{ inputs.GERRIT_PATCHSET_REVISION }}
+      GERRIT_PROJECT: ${{ inputs.GERRIT_PROJECT }}
+      GERRIT_REFSPEC: ${{ inputs.GERRIT_REFSPEC }}
+    secrets:
+      RTD_TOKEN: ${{ secrets.RTD_TOKEN }}
+
+  vote:
+    if: ${{ always() }}
+    # yamllint enable rule:line-length
+    needs: [prepare, rtd-validation]
+    runs-on: ubuntu-latest
+    steps:
+      - name: Get conclusion
+        # yamllint disable-line rule:line-length
+        uses: technote-space/workflow-conclusion-action@45ce8e0eb155657ab8ccf346ade734257fd196a5  # v3.0.3
+      - name: Set vote
+        # yamllint disable-line rule:line-length
+        uses: lfit/gerrit-review-action@6ac4c2322b68c0120a9b516eb0421491ee1b3fdf  # v0.4
+        with:
+          host: ${{ vars.GERRIT_SERVER }}
+          username: ${{ vars.GERRIT_SSH_USER }}
+          key: ${{ secrets.GERRIT_SSH_PRIVKEY }}
+          known_hosts: ${{ vars.GERRIT_KNOWN_HOSTS }}
+          gerrit-change-number: ${{ inputs.GERRIT_CHANGE_NUMBER }}
+          gerrit-patchset-number: ${{ inputs.GERRIT_PATCHSET_NUMBER }}
+          vote-type: ${{ env.WORKFLOW_CONCLUSION }}
+          comment-only: true
index 59dea69..ef52947 100644 (file)
@@ -26,7 +26,7 @@
     <modelVersion>4.0.0</modelVersion>
     <groupId>org.onap.cps</groupId>
     <artifactId>checkstyle</artifactId>
-    <version>3.3.6-SNAPSHOT</version>
+    <version>3.3.7-SNAPSHOT</version>
 
     <profiles>
         <profile>
index c4b3fe6..e886970 100755 (executable)
@@ -28,7 +28,7 @@
     <parent>
         <groupId>org.onap.cps</groupId>
         <artifactId>cps-parent</artifactId>
-        <version>3.3.6-SNAPSHOT</version>
+        <version>3.3.7-SNAPSHOT</version>
         <relativePath>../cps-parent/pom.xml</relativePath>
     </parent>
 
index bc350b2..f3c8f78 100644 (file)
@@ -25,7 +25,7 @@
     <modelVersion>4.0.0</modelVersion>
     <groupId>org.onap.cps</groupId>
     <artifactId>cps-bom</artifactId>
-    <version>3.3.6-SNAPSHOT</version>
+    <version>3.3.7-SNAPSHOT</version>
     <packaging>pom</packaging>
 
     <description>This artifact contains dependencyManagement declarations of all published CPS components.</description>
index dafc923..822d7cc 100755 (executable)
@@ -27,7 +27,7 @@
     <modelVersion>4.0.0</modelVersion>
     <groupId>org.onap.cps</groupId>
     <artifactId>cps-dependencies</artifactId>
-    <version>3.3.6-SNAPSHOT</version>
+    <version>3.3.7-SNAPSHOT</version>
     <packaging>pom</packaging>
 
     <name>${project.groupId}:${project.artifactId}</name>
index 97c5c47..b305a31 100644 (file)
@@ -24,7 +24,7 @@
     <parent>
         <groupId>org.onap.cps</groupId>
         <artifactId>cps-parent</artifactId>
-        <version>3.3.6-SNAPSHOT</version>
+        <version>3.3.7-SNAPSHOT</version>
         <relativePath>../cps-parent/pom.xml</relativePath>
     </parent>
 
index 975b928..47b10c9 100644 (file)
@@ -23,7 +23,7 @@
     <parent>
         <groupId>org.onap.cps</groupId>
         <artifactId>cps-parent</artifactId>
-        <version>3.3.6-SNAPSHOT</version>
+        <version>3.3.7-SNAPSHOT</version>
         <relativePath>../cps-parent/pom.xml</relativePath>
     </parent>
 
index 982a288..6683a23 100644 (file)
@@ -22,7 +22,7 @@
     <parent>
         <groupId>org.onap.cps</groupId>
         <artifactId>cps-ncmp-rest-stub</artifactId>
-        <version>3.3.6-SNAPSHOT</version>
+        <version>3.3.7-SNAPSHOT</version>
     </parent>
 
     <artifactId>cps-ncmp-rest-stub-app</artifactId>
index 44c23d6..d7a5da0 100644 (file)
@@ -21,7 +21,7 @@
     <parent>
         <groupId>org.onap.cps</groupId>
         <artifactId>cps-ncmp-rest-stub</artifactId>
-        <version>3.3.6-SNAPSHOT</version>
+        <version>3.3.7-SNAPSHOT</version>
     </parent>
     <artifactId>cps-ncmp-rest-stub-service</artifactId>
 
index ff8582d..5e9d3de 100644 (file)
@@ -22,7 +22,7 @@
     <parent>
         <groupId>org.onap.cps</groupId>
         <artifactId>cps-parent</artifactId>
-        <version>3.3.6-SNAPSHOT</version>
+        <version>3.3.7-SNAPSHOT</version>
         <relativePath>../cps-parent/pom.xml</relativePath>
     </parent>
 
index e60e174..1ac1bd7 100644 (file)
     <parent>
         <groupId>org.onap.cps</groupId>
         <artifactId>cps-parent</artifactId>
-        <version>3.3.6-SNAPSHOT</version>
+        <version>3.3.7-SNAPSHOT</version>
         <relativePath>../cps-parent/pom.xml</relativePath>
     </parent>
 
     <artifactId>cps-ncmp-rest</artifactId>
 
-    <properties>
-        <minimum-coverage>1.00</minimum-coverage>
-    </properties>
-
     <dependencies>
         <dependency>
             <groupId>${project.groupId}</groupId>
index 2aa1410..fa3a369 100644 (file)
@@ -27,7 +27,7 @@
     <parent>
         <groupId>org.onap.cps</groupId>
         <artifactId>cps-parent</artifactId>
-        <version>3.3.6-SNAPSHOT</version>
+        <version>3.3.7-SNAPSHOT</version>
         <relativePath>../cps-parent/pom.xml</relativePath>
     </parent>
 
index 9649b01..0bc1807 100644 (file)
@@ -56,8 +56,8 @@ public class DataOperationEventConsumer {
         log.info("Consuming event payload {} ...", dataOperationEventConsumerRecord.value());
         final String eventTarget = KafkaHeaders.getParsedKafkaHeader(
                 dataOperationEventConsumerRecord.headers(), "ce_destination");
-        final String eventId = KafkaHeaders.getParsedKafkaHeader(
-                dataOperationEventConsumerRecord.headers(), "ce_id");
-        eventsPublisher.publishCloudEvent(eventTarget, eventId, dataOperationEventConsumerRecord.value());
+        final String correlationId = KafkaHeaders.getParsedKafkaHeader(
+                dataOperationEventConsumerRecord.headers(), "ce_correlationid");
+        eventsPublisher.publishCloudEvent(eventTarget, correlationId, dataOperationEventConsumerRecord.value());
     }
 }
index 14ecd92..f24ff62 100644 (file)
@@ -68,7 +68,7 @@ class SerializationIntegrationSpec extends ConsumerBaseSpec {
         and: 'wait a little for async processing of message'
             TimeUnit.MILLISECONDS.sleep(300)
         then: 'the event has been forwarded'
-            1 * mockEventsPublisher.publishCloudEvent('some client topic', 'my-event-id', _) >> { args -> { capturedForwardedEvent = args[2] } }
+            1 * mockEventsPublisher.publishCloudEvent('some client topic', 'some-correlation-id', _) >> { args -> { capturedForwardedEvent = args[2] } }
         and: 'the forwarded event is identical to the event that was sent'
             assert capturedForwardedEvent == cloudEvent
     }
@@ -94,6 +94,7 @@ class SerializationIntegrationSpec extends ConsumerBaseSpec {
             .withType('DataOperationEvent')
             .withSource(URI.create('some-source'))
             .withExtension('destination','some client topic')
+            .withExtension('correlationid','some-correlation-id')
             .withData(objectMapper.writeValueAsBytes(dataOperationEvent))
             .build()
     }
index 470c3a0..a8de0ae 100755 (executable)
@@ -32,7 +32,7 @@
 
     <groupId>org.onap.cps</groupId>
     <artifactId>cps-parent</artifactId>
-    <version>3.3.6-SNAPSHOT</version>
+    <version>3.3.7-SNAPSHOT</version>
     <packaging>pom</packaging>
 
     <properties>
index fa15ee1..325c303 100644 (file)
@@ -23,7 +23,7 @@
     <parent>
         <groupId>org.onap.cps</groupId>
         <artifactId>cps-parent</artifactId>
-        <version>3.3.6-SNAPSHOT</version>
+        <version>3.3.7-SNAPSHOT</version>
         <relativePath>../cps-parent/pom.xml</relativePath>
     </parent>
 
index 60ad200..8d92d97 100755 (executable)
@@ -28,7 +28,7 @@
     <parent>
         <groupId>org.onap.cps</groupId>
         <artifactId>cps-parent</artifactId>
-        <version>3.3.6-SNAPSHOT</version>
+        <version>3.3.7-SNAPSHOT</version>
         <relativePath>../cps-parent/pom.xml</relativePath>
     </parent>
 
index 941d447..1a1c4a0 100644 (file)
     <parent>\r
         <groupId>org.onap.cps</groupId>\r
         <artifactId>cps-parent</artifactId>\r
-        <version>3.3.6-SNAPSHOT</version>\r
+        <version>3.3.7-SNAPSHOT</version>\r
         <relativePath>../cps-parent/pom.xml</relativePath>\r
     </parent>\r
 \r
     <artifactId>cps-ri</artifactId>\r
 \r
     <properties>\r
-        <minimum-coverage>0.28</minimum-coverage>\r
+        <minimum-coverage>0.29</minimum-coverage>\r
         <!-- Additional coverage is provided by integration-test module -->\r
     </properties>\r
 \r
index 8bc39b1..d4fe2e3 100644 (file)
@@ -29,7 +29,7 @@
   <parent>
     <groupId>org.onap.cps</groupId>
     <artifactId>cps-parent</artifactId>
-    <version>3.3.6-SNAPSHOT</version>
+    <version>3.3.7-SNAPSHOT</version>
     <relativePath>../cps-parent/pom.xml</relativePath>
   </parent>
 
diff --git a/csit/data/subscription-notification/cmSubscriptionNcmpInEventForCsit.json b/csit/data/subscription-notification/cmSubscriptionNcmpInEventForCsit.json
new file mode 100644 (file)
index 0000000..be749ad
--- /dev/null
@@ -0,0 +1,20 @@
+{
+  "data": {
+    "subscription": {
+      "clientID": "SCO-9989752",
+      "name": "cm-subscription-001"
+    },
+    "dataType": {
+      "dataspace": "ALL",
+      "dataCategory": "CM",
+      "dataProvider": "CM-SERVICE"
+    },
+    "predicates": {
+      "targets": [
+        "CMHandle1"
+      ],
+      "datastore": "ncmp-datastore:passthrough-running",
+      "datastore-xpath-filter": "//_3gpp-nr-nrm-gnbdufunction:GNBDUFunction/_3gpp-nr-nrm-nrcelldu:NRCellDU/ | //_3gpp-nr-nrm-gnbcuupfunction:GNBCUUPFunction// | //_3gpp-nr-nrm-gnbcucpfunction:GNBCUCPFunction/_3gpp-nr-nrm-nrcelldu:NRCellCU// | //_3gpp-nr-nrm-nrsectorcarrier:NRSectorCarrier//"
+    }
+  }
+}
\ No newline at end of file
diff --git a/csit/data/subscription-notification/cmSubscriptionNcmpOutEventForCsit.json b/csit/data/subscription-notification/cmSubscriptionNcmpOutEventForCsit.json
new file mode 100644 (file)
index 0000000..71fee37
--- /dev/null
@@ -0,0 +1,10 @@
+{
+  "data":{
+    "statusCode":1,
+    "statusMessage":"successfully applied subscription",
+    "additionalInfo":{
+      "rejected":[],
+      "pending":[]
+    }
+  }
+}
\ No newline at end of file
diff --git a/csit/data/subscription-notification/createCmHandleRequestBody.json b/csit/data/subscription-notification/createCmHandleRequestBody.json
new file mode 100644 (file)
index 0000000..642ea62
--- /dev/null
@@ -0,0 +1,17 @@
+{
+  "dmiDataPlugin":"dminame1",
+  "dmiModelPlugin":"x",
+  "createdCmHandles": [
+    {
+      "cmHandle": "CMHandle1",
+      "cmHandleProperties": {
+        "Books": "Social Media"
+      },
+      "publicCmHandleProperties": {
+        "Color": "yellow",
+        "Size": "small",
+        "Shape": "cube"
+      }
+    }
+  ]
+}
\ No newline at end of file
index bdea019..f997d28 100755 (executable)
@@ -129,4 +129,4 @@ check_health $DMI_HOST:$DMI_MANAGEMENT_PORT 'dmi-plugin'
 
 ###################### ROBOT Configurations ##########################
 # Pass variables required for Robot test suites in ROBOT_VARIABLES
-ROBOT_VARIABLES="-v CPS_CORE_HOST:$CPS_CORE_HOST -v CPS_CORE_PORT:$CPS_CORE_PORT -v DMI_HOST:$LOCAL_IP -v DMI_PORT:$DMI_PORT -v DMI_CSIT_STUB_HOST:$LOCAL_IP -v DMI_CSIT_STUB_PORT:$DMI_DEMO_STUB_PORT -v DMI_AUTH_ENABLED:$DMI_AUTH_ENABLED -v CPS_CORE_MANAGEMENT_PORT:$CPS_CORE_MANAGEMENT_PORT -v DATADIR:$WORKSPACE/data --exitonfailure"
+ROBOT_VARIABLES="-v CPS_CORE_HOST:$CPS_CORE_HOST -v CPS_CORE_PORT:$CPS_CORE_PORT -v DMI_HOST:$LOCAL_IP -v DMI_PORT:$DMI_PORT -v DMI_CSIT_STUB_HOST:$LOCAL_IP -v DMI_CSIT_STUB_PORT:$DMI_DEMO_STUB_PORT -v DMI_AUTH_ENABLED:$DMI_AUTH_ENABLED -v CPS_CORE_MANAGEMENT_PORT:$CPS_CORE_MANAGEMENT_PORT -v DATADIR:$WORKSPACE/data -v DATADIR_SUBS_NOTIFICATION:$WORKSPACE/data/subscription-notification --exitonfailure"
\ No newline at end of file
index cca11fb..1775ad3 100644 (file)
@@ -1,5 +1,5 @@
 # ============LICENSE_START=======================================================
-# Copyright (C) 2021-2022 Nordix Foundation
+# Copyright (C) 2021-2023 Nordix Foundation
 # ================================================================================
 # Licensed under the Apache License, Version 2.0 (the "License");
 # you may not use this file except in compliance with the License.
@@ -21,6 +21,7 @@ cps-admin
 cps-data
 cps-model-sync
 cps-data-sync
+cps-subscriptions
 ncmp-passthrough
 cm-handle-query
 cps-data-operations
\ No newline at end of file
index 9fee634..32bfa6f 100644 (file)
@@ -9,6 +9,7 @@ robotframework-requests==0.9.3
 robotframework-selenium2library==3.0.0
 robotframework-extendedselenium2library
 robotframework-sshlibrary
+robotframework-confluentkafkalibrary
 scapy
 # Module jsonpath is needed by current AAA idmlite suite.
 jsonpath-rw
index 451fb0a..b2912ee 100644 (file)
@@ -53,7 +53,7 @@ NCMP Data Operation, forwarded to DMI, response on Client Topic
         Sleep                            5                         wait some time to get published a message to the client topic
 
 Consume cloud event from client topic
-    ${group_id}=         Create Consumer     port=19092               auto_offset_reset=earliest
+    ${group_id}=         Create Consumer     auto_offset_reset=earliest
     Subscribe Topic      topics=${topic}     group_id=${group_id}
     ${messages}=         Poll                group_id=${group_id}     only_value=false
     ${event}                        Set Variable                      ${messages}[0]
diff --git a/csit/tests/cps-subscriptions/cps-subscription-notification.robot b/csit/tests/cps-subscriptions/cps-subscription-notification.robot
new file mode 100644 (file)
index 0000000..b0e8665
--- /dev/null
@@ -0,0 +1,86 @@
+# ============LICENSE_START=======================================================
+# Copyright (C) 2023 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=========================================================
+
+
+*** Settings ***
+Library  ConfluentKafkaLibrary
+Library  Collections
+Library  OperatingSystem
+Library  RequestsLibrary
+
+Suite Setup  Starting Test
+
+*** Variables ***
+
+${auth}                 Basic Y3BzdXNlcjpjcHNyMGNrcyE=
+${basePath}             /ncmpInventory/v1/ch
+
+
+*** Test Cases ***
+Create CM Handle
+    Create Session                  CPS_URL                     http://${CPS_CORE_HOST}:${CPS_CORE_PORT}
+    ${headers}                      Create Dictionary           Content-Type=application/json   Authorization=${auth}
+    ${jsonData}=                    Get Binary File             ${DATADIR_SUBS_NOTIFICATION}${/}createCmHandleRequestBody.json
+    ${response}=                    POST On Session             CPS_URL   ${basePath}   headers=${headers}   data=${jsonData}
+    Should Be Equal As Strings      ${response.status_code}     200
+    Sleep                           5                           wait some time to get updated in the db
+
+Verify Kafka flow for Subscription Creation Notification
+    ${group_id}=                    Create Consumer
+    Subscribe Topic                 group_id=${group_id}        topics=${RESPONSE_TOPIC}
+    Wait Until Keyword Succeeds     10x  3s                     All Messages Are Produced and Consumed                  ${group_id}
+    [Teardown]                      Basic Teardown              ${group_id}
+
+*** Keywords ***
+Starting Test
+    Set Suite Variable              ${REQUEST_TOPIC}            subscription
+    Set Suite Variable              ${RESPONSE_TOPIC}           subscription-response
+    ${ncmpOutEventJson}=            Get File                    ${DATADIR_SUBS_NOTIFICATION}${/}cmSubscriptionNcmpOutEventForCsit.json
+    ${ncmpOutEventJson}=            Evaluate                    json.loads("""${ncmpOutEventJson}""")                   json
+    Set Suite Variable              ${ncmpOutEventJsonGlobal}   ${ncmpOutEventJson}
+    ${thread}=                      Start Consumer Threaded     topics=test
+    Set Suite Variable              ${MAIN_THREAD}              ${thread}
+    ${producer_group_id}=           Create Producer
+    Set Suite Variable              ${PRODUCER_ID}              ${producer_group_id}
+    ${ncmpInEventJson}=             Get File                    ${DATADIR_SUBS_NOTIFICATION}${/}cmSubscriptionNcmpInEventForCsit.json         encoding=UTF-8
+    Set Suite Variable              ${ncmpInEventJsonGlobal}    ${ncmpInEventJson}
+    ${headers}=                     Create Dictionary           ce_specversion=1.0  ce_id=some-event-id  ce_source=some-resource  ce_type=subscriptionCreated  ce_correlationid=test-cmhandle1
+    Set Suite Variable              ${headersGlobal}            ${headers}
+
+All Messages Are Produced and Consumed
+    [Arguments]                     ${GROUP_ID}
+    Produce                         group_id=${PRODUCER_ID}     topic=${REQUEST_TOPIC}    value=${ncmpInEventJsonGlobal}    headers=${headersGlobal}
+    Sleep                           10sec
+    ${result}=                      Poll                        group_id=${GROUP_ID}      only_value=False
+    ${headers}                      Set Variable                      ${result[0].headers()}
+    ${value}                        Set Variable                      ${result[0].value()}
+    ${valueAsDict}=                 Evaluate                          json.loads("""${value}""")                              json
+    ${specVersionHeaderValue}       Set Variable                      ${headers[1][1]}
+    ${sourceHeaderValue}            Set Variable                      ${headers[3][1]}
+    ${typeHeaderValue}              Set Variable                      ${headers[4][1]}
+    ${correlationIdHeaderValue}     Set Variable                      ${headers[6][1]}
+    Dictionaries Should Be Equal    ${valueAsDict}                    ${ncmpOutEventJsonGlobal}
+    Should Be Equal As Strings      ${specVersionHeaderValue}         1.0
+    Should Be Equal As Strings      ${sourceHeaderValue}              NCMP
+    Should Be Equal As Strings      ${typeHeaderValue}                subscriptionCreatedStatus
+    Should Be Equal As Strings      ${correlationIdHeaderValue}       SCO-9989752cm-subscription-001
+
+Basic Teardown
+    [Arguments]                     ${group_id}
+    Unsubscribe                     ${group_id}
+    Close Consumer                  ${group_id}
\ No newline at end of file
index 1833cf4..2d3a9be 100644 (file)
@@ -22,7 +22,7 @@
     <parent>
         <groupId>org.onap.cps</groupId>
         <artifactId>dmi-plugin-demo-and-csit-stub</artifactId>
-        <version>3.3.6-SNAPSHOT</version>
+        <version>3.3.7-SNAPSHOT</version>
     </parent>
 
     <artifactId>dmi-plugin-demo-and-csit-stub-app</artifactId>
index a148c3d..53f1985 100644 (file)
@@ -21,7 +21,7 @@
     <parent>
         <groupId>org.onap.cps</groupId>
         <artifactId>dmi-plugin-demo-and-csit-stub</artifactId>
-        <version>3.3.6-SNAPSHOT</version>
+        <version>3.3.7-SNAPSHOT</version>
     </parent>
     <artifactId>dmi-plugin-demo-and-csit-stub-service</artifactId>
 
index f6a6578..f9f4197 100644 (file)
@@ -22,7 +22,7 @@
     <parent>
         <groupId>org.onap.cps</groupId>
         <artifactId>cps-parent</artifactId>
-        <version>3.3.6-SNAPSHOT</version>
+        <version>3.3.7-SNAPSHOT</version>
         <relativePath>../cps-parent/pom.xml</relativePath>
     </parent>
 
index 23f34b4..bb286fd 100644 (file)
@@ -46,7 +46,7 @@ services:
       DB_PASSWORD: ${DB_PASSWORD:-cps}
       DMI_USERNAME: ${DMI_USERNAME:-cpsuser}
       DMI_PASSWORD: ${DMI_PASSWORD:-cpsr0cks!}
-      KAFKA_BOOTSTRAP_SERVER: kafka:9092
+      KAFKA_BOOTSTRAP_SERVER: kafka:29092
       notification.enabled: 'true'
       notification.async.executor.time-out-value-in-ms: 2000
       NOTIFICATION_DATASPACE_FILTER_PATTERNS: '.*'
@@ -69,14 +69,14 @@ services:
     image: confluentinc/cp-kafka:6.2.1
     container_name: kafka
     ports:
-      - "19092:19092"
+      - '9092:9092'
     depends_on:
       - zookeeper
     environment:
       KAFKA_BROKER_ID: 1
       KAFKA_ZOOKEEPER_CONNECT: zookeeper:2181
-      KAFKA_ADVERTISED_LISTENERS: PLAINTEXT://kafka:9092,CONNECTIONS_FROM_HOST://localhost:19092
       KAFKA_LISTENER_SECURITY_PROTOCOL_MAP: PLAINTEXT:PLAINTEXT,CONNECTIONS_FROM_HOST:PLAINTEXT
+      KAFKA_ADVERTISED_LISTENERS: PLAINTEXT://kafka:29092,CONNECTIONS_FROM_HOST://localhost:9092
       KAFKA_OFFSETS_TOPIC_REPLICATION_FACTOR: 1
 
   ncmp-dmi-plugin:
@@ -97,9 +97,10 @@ services:
       SDNC_USERNAME: ${SDNC_USERNAME:-admin}
       SDNC_PASSWORD: ${SDNC_PASSWORD:-Kp8bJ4SXszM0WXlhak3eHlcse2gAw84vaoGGmJvUy2U}
       DMI_SERVICE_URL: ${DMI_SERVICE_URL:-http://ncmp-dmi-plugin:8783}
+      DMI_SERVICE_NAME: ${DMI_SERVICE_NAME:-dminame1}
       DMI_USERNAME: ${DMI_USERNAME:-cpsuser}
       DMI_PASSWORD: ${DMI_PASSWORD:-cpsr0cks!}
-      KAFKA_BOOTSTRAP_SERVER: kafka:9092
+      KAFKA_BOOTSTRAP_SERVER: kafka:29092
       notification.data-updated.enabled: 'true'
       NOTIFICATION_DATASPACE_FILTER_PATTERNS: '.*'
     restart: unless-stopped
@@ -112,7 +113,7 @@ services:
     ports:
       - ${DMI_DEMO_STUB_PORT:-8784}:8092
     environment:
-      KAFKA_BOOTSTRAP_SERVER: kafka:9092
+      KAFKA_BOOTSTRAP_SERVER: kafka:29092
       NCMP_CONSUMER_GROUP_ID: ncmp-group
       NCMP_ASYNC_M2M_TOPIC: ncmp-async-m2m
     restart: unless-stopped
index 0e2191b..453494e 100644 (file)
@@ -15,14 +15,14 @@ info:
   x-logo:
     url: cps_logo.png
 servers:
-  - url: /cps/api
+- url: /cps/api
 security:
-  - basicAuth: []
+- basicAuth: []
 tags:
-  - description: cps Admin
-    name: cps-admin
-  - description: cps Data
-    name: cps-data
+- description: cps Admin
+  name: cps-admin
+- description: cps Data
+  name: cps-data
 paths:
   /v1/dataspaces:
     post:
@@ -30,13 +30,13 @@ paths:
       description: Create a new dataspace
       operationId: createDataspace
       parameters:
-        - description: dataspace-name
-          in: query
-          name: dataspace-name
-          required: true
-          schema:
-            example: my-dataspace
-            type: string
+      - description: dataspace-name
+        in: query
+        name: dataspace-name
+        required: true
+        schema:
+          example: my-dataspace
+          type: string
       responses:
         "201":
           content:
@@ -97,29 +97,29 @@ paths:
           description: Internal Server Error
       summary: Create a dataspace
       tags:
-        - cps-admin
+      - cps-admin
   /{apiVersion}/dataspaces:
     delete:
       description: Delete a dataspace
       operationId: deleteDataspace
       parameters:
-        - description: apiVersion
-          in: path
-          name: apiVersion
-          required: true
-          schema:
-            default: v2
-            enum:
-              - v1
-              - v2
-            type: string
-        - description: dataspace-name
-          in: query
-          name: dataspace-name
-          required: true
-          schema:
-            example: my-dataspace
-            type: string
+      - description: apiVersion
+        in: path
+        name: apiVersion
+        required: true
+        schema:
+          default: v2
+          enum:
+          - v1
+          - v2
+          type: string
+      - description: dataspace-name
+        in: query
+        name: dataspace-name
+        required: true
+        schema:
+          example: my-dataspace
+          type: string
       responses:
         "204":
           content: {}
@@ -176,19 +176,19 @@ paths:
           description: Internal Server Error
       summary: Delete a dataspace
       tags:
-        - cps-admin
+      - cps-admin
   /v2/dataspaces:
     post:
       description: Create a new dataspace
       operationId: createDataspaceV2
       parameters:
-        - description: dataspace-name
-          in: query
-          name: dataspace-name
-          required: true
-          schema:
-            example: my-dataspace
-            type: string
+      - description: dataspace-name
+        in: query
+        name: dataspace-name
+        required: true
+        schema:
+          example: my-dataspace
+          type: string
       responses:
         "201":
           description: Created without response body
@@ -244,22 +244,22 @@ paths:
           description: Internal Server Error
       summary: Create a dataspace
       tags:
-        - cps-admin
+      - cps-admin
   /{apiVersion}/admin/dataspaces:
     get:
       description: Read all dataspaces
       operationId: getAllDataspaces
       parameters:
-        - description: apiVersion
-          in: path
-          name: apiVersion
-          required: true
-          schema:
-            default: v2
-            enum:
-              - v1
-              - v2
-            type: string
+      - description: apiVersion
+        in: path
+        name: apiVersion
+        required: true
+        schema:
+          default: v2
+          enum:
+          - v1
+          - v2
+          type: string
       responses:
         "200":
           content:
@@ -311,29 +311,29 @@ paths:
           description: Internal Server Error
       summary: Get all dataspaces
       tags:
-        - cps-admin
+      - cps-admin
   /{apiVersion}/admin/dataspaces/{dataspace-name}:
     get:
       description: Read a dataspace given a dataspace name
       operationId: getDataspace
       parameters:
-        - description: apiVersion
-          in: path
-          name: apiVersion
-          required: true
-          schema:
-            default: v2
-            enum:
-              - v1
-              - v2
-            type: string
-        - description: dataspace-name
-          in: path
-          name: dataspace-name
-          required: true
-          schema:
-            example: my-dataspace
-            type: string
+      - description: apiVersion
+        in: path
+        name: apiVersion
+        required: true
+        schema:
+          default: v2
+          enum:
+          - v1
+          - v2
+          type: string
+      - description: dataspace-name
+        in: path
+        name: dataspace-name
+        required: true
+        schema:
+          example: my-dataspace
+          type: string
       responses:
         "200":
           content:
@@ -383,34 +383,34 @@ paths:
           description: Internal Server Error
       summary: Get a dataspace
       tags:
-        - cps-admin
+      - cps-admin
   /v1/dataspaces/{dataspace-name}/anchors:
     post:
       deprecated: true
       description: Create a new anchor in the given dataspace
       operationId: createAnchor
       parameters:
-        - description: dataspace-name
-          in: path
-          name: dataspace-name
-          required: true
-          schema:
-            example: my-dataspace
-            type: string
-        - description: schema-set-name
-          in: query
-          name: schema-set-name
-          required: true
-          schema:
-            example: my-schema-set
-            type: string
-        - description: anchor-name
-          in: query
-          name: anchor-name
-          required: true
-          schema:
-            example: my-anchor
-            type: string
+      - description: dataspace-name
+        in: path
+        name: dataspace-name
+        required: true
+        schema:
+          example: my-dataspace
+          type: string
+      - description: schema-set-name
+        in: query
+        name: schema-set-name
+        required: true
+        schema:
+          example: my-schema-set
+          type: string
+      - description: anchor-name
+        in: query
+        name: anchor-name
+        required: true
+        schema:
+          example: my-anchor
+          type: string
       responses:
         "201":
           content:
@@ -471,33 +471,33 @@ paths:
           description: Internal Server Error
       summary: Create an anchor
       tags:
-        - cps-admin
+      - cps-admin
   /v2/dataspaces/{dataspace-name}/anchors:
     post:
       description: Create a new anchor in the given dataspace
       operationId: createAnchorV2
       parameters:
-        - description: dataspace-name
-          in: path
-          name: dataspace-name
-          required: true
-          schema:
-            example: my-dataspace
-            type: string
-        - description: schema-set-name
-          in: query
-          name: schema-set-name
-          required: true
-          schema:
-            example: my-schema-set
-            type: string
-        - description: anchor-name
-          in: query
-          name: anchor-name
-          required: true
-          schema:
-            example: my-anchor
-            type: string
+      - description: dataspace-name
+        in: path
+        name: dataspace-name
+        required: true
+        schema:
+          example: my-dataspace
+          type: string
+      - description: schema-set-name
+        in: query
+        name: schema-set-name
+        required: true
+        schema:
+          example: my-schema-set
+          type: string
+      - description: anchor-name
+        in: query
+        name: anchor-name
+        required: true
+        schema:
+          example: my-anchor
+          type: string
       responses:
         "201":
           description: Created without response body
@@ -553,29 +553,29 @@ paths:
           description: Internal Server Error
       summary: Create an anchor
       tags:
-        - cps-admin
+      - cps-admin
   /{apiVersion}/dataspaces/{dataspace-name}/anchors:
     get:
       description: "Read all anchors, given a dataspace"
       operationId: getAnchors
       parameters:
-        - description: apiVersion
-          in: path
-          name: apiVersion
-          required: true
-          schema:
-            default: v2
-            enum:
-              - v1
-              - v2
-            type: string
-        - description: dataspace-name
-          in: path
-          name: dataspace-name
-          required: true
-          schema:
-            example: my-dataspace
-            type: string
+      - description: apiVersion
+        in: path
+        name: apiVersion
+        required: true
+        schema:
+          default: v2
+          enum:
+          - v1
+          - v2
+          type: string
+      - description: dataspace-name
+        in: path
+        name: dataspace-name
+        required: true
+        schema:
+          example: my-dataspace
+          type: string
       responses:
         "200":
           content:
@@ -627,36 +627,36 @@ paths:
           description: Internal Server Error
       summary: Get anchors
       tags:
-        - cps-admin
+      - cps-admin
   /{apiVersion}/dataspaces/{dataspace-name}/anchors/{anchor-name}:
     delete:
       description: Delete an anchor given an anchor name and a dataspace
       operationId: deleteAnchor
       parameters:
-        - description: apiVersion
-          in: path
-          name: apiVersion
-          required: true
-          schema:
-            default: v2
-            enum:
-              - v1
-              - v2
-            type: string
-        - description: dataspace-name
-          in: path
-          name: dataspace-name
-          required: true
-          schema:
-            example: my-dataspace
-            type: string
-        - description: anchor-name
-          in: path
-          name: anchor-name
-          required: true
-          schema:
-            example: my-anchor
-            type: string
+      - description: apiVersion
+        in: path
+        name: apiVersion
+        required: true
+        schema:
+          default: v2
+          enum:
+          - v1
+          - v2
+          type: string
+      - description: dataspace-name
+        in: path
+        name: dataspace-name
+        required: true
+        schema:
+          example: my-dataspace
+          type: string
+      - description: anchor-name
+        in: path
+        name: anchor-name
+        required: true
+        schema:
+          example: my-anchor
+          type: string
       responses:
         "204":
           content: {}
@@ -703,35 +703,35 @@ paths:
           description: Internal Server Error
       summary: Delete an anchor
       tags:
-        - cps-admin
+      - cps-admin
     get:
       description: Read an anchor given an anchor name and a dataspace
       operationId: getAnchor
       parameters:
-        - description: apiVersion
-          in: path
-          name: apiVersion
-          required: true
-          schema:
-            default: v2
-            enum:
-              - v1
-              - v2
-            type: string
-        - description: dataspace-name
-          in: path
-          name: dataspace-name
-          required: true
-          schema:
-            example: my-dataspace
-            type: string
-        - description: anchor-name
-          in: path
-          name: anchor-name
-          required: true
-          schema:
-            example: my-anchor
-            type: string
+      - description: apiVersion
+        in: path
+        name: apiVersion
+        required: true
+        schema:
+          default: v2
+          enum:
+          - v1
+          - v2
+          type: string
+      - description: dataspace-name
+        in: path
+        name: dataspace-name
+        required: true
+        schema:
+          example: my-dataspace
+          type: string
+      - description: anchor-name
+        in: path
+        name: anchor-name
+        required: true
+        schema:
+          example: my-anchor
+          type: string
       responses:
         "200":
           content:
@@ -781,27 +781,27 @@ paths:
           description: Internal Server Error
       summary: Get an anchor
       tags:
-        - cps-admin
+      - cps-admin
   /v1/dataspaces/{dataspace-name}/schema-sets:
     post:
       deprecated: true
       description: Create a new schema set in the given dataspace
       operationId: createSchemaSet
       parameters:
-        - description: dataspace-name
-          in: path
-          name: dataspace-name
-          required: true
-          schema:
-            example: my-dataspace
-            type: string
-        - description: schema-set-name
-          in: query
-          name: schema-set-name
-          required: true
-          schema:
-            example: my-schema-set
-            type: string
+      - description: dataspace-name
+        in: path
+        name: dataspace-name
+        required: true
+        schema:
+          example: my-dataspace
+          type: string
+      - description: schema-set-name
+        in: query
+        name: schema-set-name
+        required: true
+        schema:
+          example: my-schema-set
+          type: string
       requestBody:
         content:
           multipart/form-data:
@@ -868,26 +868,26 @@ paths:
           description: Internal Server Error
       summary: Create a schema set
       tags:
-        - cps-admin
+      - cps-admin
   /v2/dataspaces/{dataspace-name}/schema-sets:
     post:
       description: Create a new schema set in the given dataspace
       operationId: createSchemaSetV2
       parameters:
-        - description: dataspace-name
-          in: path
-          name: dataspace-name
-          required: true
-          schema:
-            example: my-dataspace
-            type: string
-        - description: schema-set-name
-          in: query
-          name: schema-set-name
-          required: true
-          schema:
-            example: my-schema-set
-            type: string
+      - description: dataspace-name
+        in: path
+        name: dataspace-name
+        required: true
+        schema:
+          example: my-dataspace
+          type: string
+      - description: schema-set-name
+        in: query
+        name: schema-set-name
+        required: true
+        schema:
+          example: my-schema-set
+          type: string
       requestBody:
         content:
           multipart/form-data:
@@ -949,29 +949,29 @@ paths:
           description: Internal Server Error
       summary: Create a schema set
       tags:
-        - cps-admin
+      - cps-admin
   /{apiVersion}/dataspaces/{dataspace-name}/schema-sets:
     get:
       description: "Read all schema sets, given a dataspace"
       operationId: getSchemaSets
       parameters:
-        - description: apiVersion
-          in: path
-          name: apiVersion
-          required: true
-          schema:
-            default: v2
-            enum:
-              - v1
-              - v2
-            type: string
-        - description: dataspace-name
-          in: path
-          name: dataspace-name
-          required: true
-          schema:
-            example: my-dataspace
-            type: string
+      - description: apiVersion
+        in: path
+        name: apiVersion
+        required: true
+        schema:
+          default: v2
+          enum:
+          - v1
+          - v2
+          type: string
+      - description: dataspace-name
+        in: path
+        name: dataspace-name
+        required: true
+        schema:
+          example: my-dataspace
+          type: string
       responses:
         "200":
           content:
@@ -1023,36 +1023,36 @@ paths:
           description: Internal Server Error
       summary: Get schema sets
       tags:
-        - cps-admin
+      - cps-admin
   /{apiVersion}/dataspaces/{dataspace-name}/schema-sets/{schema-set-name}:
     delete:
       description: Delete a schema set given a schema set name and a dataspace
       operationId: deleteSchemaSet
       parameters:
-        - description: apiVersion
-          in: path
-          name: apiVersion
-          required: true
-          schema:
-            default: v2
-            enum:
-              - v1
-              - v2
-            type: string
-        - description: dataspace-name
-          in: path
-          name: dataspace-name
-          required: true
-          schema:
-            example: my-dataspace
-            type: string
-        - description: schema-set-name
-          in: path
-          name: schema-set-name
-          required: true
-          schema:
-            example: my-schema-set
-            type: string
+      - description: apiVersion
+        in: path
+        name: apiVersion
+        required: true
+        schema:
+          default: v2
+          enum:
+          - v1
+          - v2
+          type: string
+      - description: dataspace-name
+        in: path
+        name: dataspace-name
+        required: true
+        schema:
+          example: my-dataspace
+          type: string
+      - description: schema-set-name
+        in: path
+        name: schema-set-name
+        required: true
+        schema:
+          example: my-schema-set
+          type: string
       responses:
         "204":
           content: {}
@@ -1109,35 +1109,35 @@ paths:
           description: Internal Server Error
       summary: Delete a schema set
       tags:
-        - cps-admin
+      - cps-admin
     get:
       description: Read a schema set given a schema set name and a dataspace
       operationId: getSchemaSet
       parameters:
-        - description: apiVersion
-          in: path
-          name: apiVersion
-          required: true
-          schema:
-            default: v2
-            enum:
-              - v1
-              - v2
-            type: string
-        - description: dataspace-name
-          in: path
-          name: dataspace-name
-          required: true
-          schema:
-            example: my-dataspace
-            type: string
-        - description: schema-set-name
-          in: path
-          name: schema-set-name
-          required: true
-          schema:
-            example: my-schema-set
-            type: string
+      - description: apiVersion
+        in: path
+        name: apiVersion
+        required: true
+        schema:
+          default: v2
+          enum:
+          - v1
+          - v2
+          type: string
+      - description: dataspace-name
+        in: path
+        name: dataspace-name
+        required: true
+        schema:
+          example: my-dataspace
+          type: string
+      - description: schema-set-name
+        in: path
+        name: schema-set-name
+        required: true
+        schema:
+          example: my-schema-set
+          type: string
       responses:
         "200":
           content:
@@ -1187,7 +1187,7 @@ paths:
           description: Internal Server Error
       summary: Get a schema set
       tags:
-        - cps-admin
+      - cps-admin
   /v1/dataspaces/{dataspace-name}/anchors/{anchor-name}/node:
     get:
       deprecated: true
@@ -1195,40 +1195,40 @@ paths:
         anchor and dataspace
       operationId: getNodeByDataspaceAndAnchor
       parameters:
-        - description: dataspace-name
-          in: path
-          name: dataspace-name
-          required: true
-          schema:
-            example: my-dataspace
-            type: string
-        - description: anchor-name
-          in: path
-          name: 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
-        - description: include-descendants
-          in: query
-          name: include-descendants
-          required: false
-          schema:
-            default: false
-            example: false
-            type: boolean
+      - description: dataspace-name
+        in: path
+        name: dataspace-name
+        required: true
+        schema:
+          example: my-dataspace
+          type: string
+      - description: anchor-name
+        in: path
+        name: 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
+      - description: include-descendants
+        in: query
+        name: include-descendants
+        required: false
+        schema:
+          default: false
+          example: false
+          type: boolean
       responses:
         "200":
           content:
@@ -1282,7 +1282,7 @@ paths:
           description: Internal Server Error
       summary: Get a node
       tags:
-        - cps-data
+      - cps-data
       x-codegen-request-body-name: xpath
   /v2/dataspaces/{dataspace-name}/anchors/{anchor-name}/node:
     get:
@@ -1290,41 +1290,42 @@ paths:
         anchor and dataspace
       operationId: getNodeByDataspaceAndAnchorV2
       parameters:
-        - description: dataspace-name
-          in: path
-          name: dataspace-name
-          required: true
-          schema:
-            example: my-dataspace
-            type: string
-        - description: anchor-name
-          in: path
-          name: 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
-        - description: "Number of descendants to query. Allowed values are 'none', 'all', 'direct',\
-          \ 1 (for direct), -1 (for all), 0 (for none) and any positive number."
-          in: query
-          name: descendants
-          required: false
-          schema:
-            default: none
-            example: "3"
-            type: string
+      - description: dataspace-name
+        in: path
+        name: dataspace-name
+        required: true
+        schema:
+          example: my-dataspace
+          type: string
+      - description: anchor-name
+        in: path
+        name: 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
+      - description: "Number of descendants to query. Allowed values are 'none', 'all',\
+          \ 'direct', 1 (for direct), -1 (for all), 0 (for none) and any positive\
+          \ number."
+        in: query
+        name: descendants
+        required: false
+        schema:
+          default: none
+          example: "3"
+          type: string
       responses:
         "200":
           content:
@@ -1378,7 +1379,7 @@ paths:
           description: Internal Server Error
       summary: Get a node
       tags:
-        - cps-data
+      - cps-data
       x-codegen-request-body-name: xpath
   /{apiVersion}/dataspaces/{dataspace-name}/anchors/{anchor-name}/nodes:
     delete:
@@ -1386,49 +1387,49 @@ paths:
         xpath.
       operationId: deleteDataNode
       parameters:
-        - description: apiVersion
-          in: path
-          name: apiVersion
-          required: true
-          schema:
-            default: v2
-            enum:
-              - v1
-              - v2
-            type: string
-        - description: dataspace-name
-          in: path
-          name: dataspace-name
-          required: true
-          schema:
-            example: my-dataspace
-            type: string
-        - description: anchor-name
-          in: path
-          name: 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
-        - description: observed-timestamp
-          in: query
-          name: observed-timestamp
-          required: false
-          schema:
-            example: 2021-03-21T00:10:34.030-0100
-            type: string
+      - description: apiVersion
+        in: path
+        name: apiVersion
+        required: true
+        schema:
+          default: v2
+          enum:
+          - v1
+          - v2
+          type: string
+      - description: dataspace-name
+        in: path
+        name: dataspace-name
+        required: true
+        schema:
+          example: my-dataspace
+          type: string
+      - description: anchor-name
+        in: path
+        name: 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
+      - description: observed-timestamp
+        in: query
+        name: observed-timestamp
+        required: false
+        schema:
+          example: 2021-03-21T00:10:34.030-0100
+          type: string
       responses:
         "204":
           content: {}
@@ -1475,56 +1476,56 @@ paths:
           description: Internal Server Error
       summary: Delete a data node
       tags:
-        - cps-data
+      - cps-data
     patch:
       description: Update a data node leaves for a given dataspace and anchor and
         a parent node xpath. This operation is currently supported for one top level
         data node only.
       operationId: updateNodeLeaves
       parameters:
-        - description: apiVersion
-          in: path
-          name: apiVersion
-          required: true
-          schema:
-            default: v2
-            enum:
-              - v1
-              - v2
-            type: string
-        - description: dataspace-name
-          in: path
-          name: dataspace-name
-          required: true
-          schema:
-            example: my-dataspace
-            type: string
-        - description: anchor-name
-          in: path
-          name: 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
-        - description: observed-timestamp
-          in: query
-          name: observed-timestamp
-          required: false
-          schema:
-            example: 2021-03-21T00:10:34.030-0100
-            type: string
+      - description: apiVersion
+        in: path
+        name: apiVersion
+        required: true
+        schema:
+          default: v2
+          enum:
+          - v1
+          - v2
+          type: string
+      - description: dataspace-name
+        in: path
+        name: dataspace-name
+        required: true
+        schema:
+          example: my-dataspace
+          type: string
+      - description: anchor-name
+        in: path
+        name: 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
+      - description: observed-timestamp
+        in: query
+        name: observed-timestamp
+        required: false
+        schema:
+          example: 2021-03-21T00:10:34.030-0100
+          type: string
       requestBody:
         content:
           application/json:
@@ -1587,61 +1588,61 @@ paths:
           description: Internal Server Error
       summary: Update node leaves
       tags:
-        - cps-data
+      - cps-data
     post:
       description: Create a node for a given anchor and dataspace
       operationId: createNode
       parameters:
-        - description: apiVersion
-          in: path
-          name: apiVersion
-          required: true
-          schema:
-            default: v2
-            enum:
-              - v1
-              - v2
-            type: string
-        - description: dataspace-name
-          in: path
-          name: dataspace-name
-          required: true
-          schema:
-            example: my-dataspace
-            type: string
-        - description: anchor-name
-          in: path
-          name: 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
-        - description: observed-timestamp
-          in: query
-          name: observed-timestamp
-          required: false
-          schema:
-            example: 2021-03-21T00:10:34.030-0100
-            type: string
-        - description: Content type header
-          in: header
-          name: Content-Type
-          required: true
-          schema:
-            example: application/json
-            type: string
+      - description: apiVersion
+        in: path
+        name: apiVersion
+        required: true
+        schema:
+          default: v2
+          enum:
+          - v1
+          - v2
+          type: string
+      - description: dataspace-name
+        in: path
+        name: dataspace-name
+        required: true
+        schema:
+          example: my-dataspace
+          type: string
+      - description: anchor-name
+        in: path
+        name: 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
+      - description: observed-timestamp
+        in: query
+        name: observed-timestamp
+        required: false
+        schema:
+          example: 2021-03-21T00:10:34.030-0100
+          type: string
+      - description: Content type header
+        in: header
+        name: Content-Type
+        required: true
+        schema:
+          example: application/json
+          type: string
       requestBody:
         content:
           application/json:
@@ -1721,55 +1722,55 @@ paths:
           description: Internal Server Error
       summary: Create a node
       tags:
-        - cps-data
+      - cps-data
     put:
       description: "Replace a node with descendants for a given dataspace, anchor\
         \ and a parent node xpath"
       operationId: replaceNode
       parameters:
-        - description: apiVersion
-          in: path
-          name: apiVersion
-          required: true
-          schema:
-            default: v2
-            enum:
-              - v1
-              - v2
-            type: string
-        - description: dataspace-name
-          in: path
-          name: dataspace-name
-          required: true
-          schema:
-            example: my-dataspace
-            type: string
-        - description: anchor-name
-          in: path
-          name: 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
-        - description: observed-timestamp
-          in: query
-          name: observed-timestamp
-          required: false
-          schema:
-            example: 2021-03-21T00:10:34.030-0100
-            type: string
+      - description: apiVersion
+        in: path
+        name: apiVersion
+        required: true
+        schema:
+          default: v2
+          enum:
+          - v1
+          - v2
+          type: string
+      - description: dataspace-name
+        in: path
+        name: dataspace-name
+        required: true
+        schema:
+          example: my-dataspace
+          type: string
+      - description: anchor-name
+        in: path
+        name: 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
+      - description: observed-timestamp
+        in: query
+        name: observed-timestamp
+        required: false
+        schema:
+          example: 2021-03-21T00:10:34.030-0100
+          type: string
       requestBody:
         content:
           application/json:
@@ -1832,45 +1833,45 @@ paths:
           description: Internal Server Error
       summary: Replace a node with descendants
       tags:
-        - cps-data
+      - cps-data
   /v1/dataspaces/{dataspace-name}/anchors/{anchor-name}/list-nodes:
     delete:
       deprecated: true
       description: Delete one or all list element(s) for a given anchor and dataspace
       operationId: deleteListOrListElement
       parameters:
-        - description: dataspace-name
-          in: path
-          name: dataspace-name
-          required: true
-          schema:
-            example: my-dataspace
-            type: string
-        - description: anchor-name
-          in: path
-          name: 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: true
-          schema:
-            type: string
-        - description: observed-timestamp
-          in: query
-          name: observed-timestamp
-          required: false
-          schema:
-            example: 2021-03-21T00:10:34.030-0100
-            type: string
+      - description: dataspace-name
+        in: path
+        name: dataspace-name
+        required: true
+        schema:
+          example: my-dataspace
+          type: string
+      - description: anchor-name
+        in: path
+        name: 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: true
+        schema:
+          type: string
+      - description: observed-timestamp
+        in: query
+        name: observed-timestamp
+        required: false
+        schema:
+          example: 2021-03-21T00:10:34.030-0100
+          type: string
       responses:
         "204":
           content: {}
@@ -1917,54 +1918,54 @@ paths:
           description: Internal Server Error
       summary: Delete one or all list element(s)
       tags:
-        - cps-data
+      - cps-data
   /{apiVersion}/dataspaces/{dataspace-name}/anchors/{anchor-name}/list-nodes:
     post:
       description: Add list element(s) to a list for a given anchor and dataspace
       operationId: addListElements
       parameters:
-        - description: apiVersion
-          in: path
-          name: apiVersion
-          required: true
-          schema:
-            default: v2
-            enum:
-              - v1
-              - v2
-            type: string
-        - description: dataspace-name
-          in: path
-          name: dataspace-name
-          required: true
-          schema:
-            example: my-dataspace
-            type: string
-        - description: anchor-name
-          in: path
-          name: 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: true
-          schema:
-            type: string
-        - description: observed-timestamp
-          in: query
-          name: observed-timestamp
-          required: false
-          schema:
-            example: 2021-03-21T00:10:34.030-0100
-            type: string
+      - description: apiVersion
+        in: path
+        name: apiVersion
+        required: true
+        schema:
+          default: v2
+          enum:
+          - v1
+          - v2
+          type: string
+      - description: dataspace-name
+        in: path
+        name: dataspace-name
+        required: true
+        schema:
+          example: my-dataspace
+          type: string
+      - description: anchor-name
+        in: path
+        name: 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: true
+        schema:
+          type: string
+      - description: observed-timestamp
+        in: query
+        name: observed-timestamp
+        required: false
+        schema:
+          example: 2021-03-21T00:10:34.030-0100
+          type: string
       requestBody:
         content:
           application/json:
@@ -2025,53 +2026,53 @@ paths:
           description: Internal Server Error
       summary: Add list element(s)
       tags:
-        - cps-data
+      - cps-data
     put:
       description: "Replace list content under a given parent, anchor and dataspace"
       operationId: replaceListContent
       parameters:
-        - description: apiVersion
-          in: path
-          name: apiVersion
-          required: true
-          schema:
-            default: v2
-            enum:
-              - v1
-              - v2
-            type: string
-        - description: dataspace-name
-          in: path
-          name: dataspace-name
-          required: true
-          schema:
-            example: my-dataspace
-            type: string
-        - description: anchor-name
-          in: path
-          name: 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: true
-          schema:
-            type: string
-        - description: observed-timestamp
-          in: query
-          name: observed-timestamp
-          required: false
-          schema:
-            example: 2021-03-21T00:10:34.030-0100
-            type: string
+      - description: apiVersion
+        in: path
+        name: apiVersion
+        required: true
+        schema:
+          default: v2
+          enum:
+          - v1
+          - v2
+          type: string
+      - description: dataspace-name
+        in: path
+        name: dataspace-name
+        required: true
+        schema:
+          example: my-dataspace
+          type: string
+      - description: anchor-name
+        in: path
+        name: 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: true
+        schema:
+          type: string
+      - description: observed-timestamp
+        in: query
+        name: observed-timestamp
+        required: false
+        schema:
+          example: 2021-03-21T00:10:34.030-0100
+          type: string
       requestBody:
         content:
           application/json:
@@ -2134,47 +2135,47 @@ paths:
           description: Internal Server Error
       summary: Replace list content
       tags:
-        - cps-data
+      - cps-data
   /v1/dataspaces/{dataspace-name}/anchors/{anchor-name}/nodes/query:
     get:
       deprecated: true
       description: Query data nodes for the given dataspace and anchor using CPS path
       operationId: getNodesByDataspaceAndAnchorAndCpsPath
       parameters:
-        - description: dataspace-name
-          in: path
-          name: dataspace-name
-          required: true
-          schema:
-            example: my-dataspace
-            type: string
-        - description: anchor-name
-          in: path
-          name: anchor-name
-          required: true
-          schema:
-            example: my-anchor
-            type: string
-        - description: "For more details on cps path, please refer https://docs.onap.org/projects/onap-cps/en/latest/cps-path.html"
-          examples:
-            container cps path:
-              value: //bookstore
-            list attributes cps path:
-              value: "//categories[@code=1]"
-          in: query
-          name: cps-path
-          required: false
-          schema:
-            default: /
-            type: string
-        - description: include-descendants
-          in: query
-          name: include-descendants
-          required: false
-          schema:
-            default: false
-            example: false
-            type: boolean
+      - description: dataspace-name
+        in: path
+        name: dataspace-name
+        required: true
+        schema:
+          example: my-dataspace
+          type: string
+      - description: anchor-name
+        in: path
+        name: anchor-name
+        required: true
+        schema:
+          example: my-anchor
+          type: string
+      - description: "For more details on cps path, please refer https://docs.onap.org/projects/onap-cps/en/latest/cps-path.html"
+        examples:
+          container cps path:
+            value: //bookstore
+          list attributes cps path:
+            value: "//categories[@code=1]"
+        in: query
+        name: cps-path
+        required: false
+        schema:
+          default: /
+          type: string
+      - description: include-descendants
+        in: query
+        name: include-descendants
+        required: false
+        schema:
+          default: false
+          example: false
+          type: boolean
       responses:
         "200":
           content:
@@ -2228,48 +2229,49 @@ paths:
           description: Internal Server Error
       summary: Query data nodes
       tags:
-        - cps-query
+      - cps-query
       x-codegen-request-body-name: xpath
   /v2/dataspaces/{dataspace-name}/anchors/{anchor-name}/nodes/query:
     get:
       description: Query data nodes for the given dataspace and anchor using CPS path
       operationId: getNodesByDataspaceAndAnchorAndCpsPathV2
       parameters:
-        - description: dataspace-name
-          in: path
-          name: dataspace-name
-          required: true
-          schema:
-            example: my-dataspace
-            type: string
-        - description: anchor-name
-          in: path
-          name: anchor-name
-          required: true
-          schema:
-            example: my-anchor
-            type: string
-        - description: "For more details on cps path, please refer https://docs.onap.org/projects/onap-cps/en/latest/cps-path.html"
-          examples:
-            container cps path:
-              value: //bookstore
-            list attributes cps path:
-              value: "//categories[@code=1]"
-          in: query
-          name: cps-path
-          required: false
-          schema:
-            default: /
-            type: string
-        - description: "Number of descendants to query. Allowed values are 'none', 'all', 'direct',\
-          \ 1 (for direct), -1 (for all), 0 (for none) and any positive number."
-          in: query
-          name: descendants
-          required: false
-          schema:
-            default: none
-            example: "3"
-            type: string
+      - description: dataspace-name
+        in: path
+        name: dataspace-name
+        required: true
+        schema:
+          example: my-dataspace
+          type: string
+      - description: anchor-name
+        in: path
+        name: anchor-name
+        required: true
+        schema:
+          example: my-anchor
+          type: string
+      - description: "For more details on cps path, please refer https://docs.onap.org/projects/onap-cps/en/latest/cps-path.html"
+        examples:
+          container cps path:
+            value: //bookstore
+          list attributes cps path:
+            value: "//categories[@code=1]"
+        in: query
+        name: cps-path
+        required: false
+        schema:
+          default: /
+          type: string
+      - description: "Number of descendants to query. Allowed values are 'none', 'all',\
+          \ 'direct', 1 (for direct), -1 (for all), 0 (for none) and any positive\
+          \ number."
+        in: query
+        name: descendants
+        required: false
+        schema:
+          default: none
+          example: "3"
+          type: string
       responses:
         "200":
           content:
@@ -2323,7 +2325,7 @@ paths:
           description: Internal Server Error
       summary: Query data nodes
       tags:
-        - cps-query
+      - cps-query
       x-codegen-request-body-name: xpath
   /v2/dataspaces/{dataspace-name}/nodes/query:
     get:
@@ -2331,48 +2333,51 @@ paths:
         path
       operationId: getNodesByDataspaceAndCpsPath
       parameters:
-        - description: dataspace-name
-          in: path
-          name: dataspace-name
-          required: true
-          schema:
-            example: my-dataspace
-            type: string
-        - description: "For more details on cps path, please refer https://docs.onap.org/projects/onap-cps/en/latest/cps-path.html"
-          examples:
-            container cps path:
-              value: //bookstore
-            list attributes cps path:
-              value: "//categories[@code=1]"
-          in: query
-          name: cps-path
-          required: false
-          schema:
-            default: /
-            type: string
-        - description: "Number of descendants to query. Allowed values are 'none', 'all', 'direct',\
-          \ 1 (for direct), -1 (for all), 0 (for none) and any positive number."
-          in: query
-          name: descendants
-          required: false
-          schema:
-            default: none
-            example: "3"
-            type: string
-        - description: "page index for pagination over anchors"
-          name: pageIndex
-          in: query
-          required: false
-          schema:
-            type: integer
-            minimum: 1
-        - description: "number of records (anchors) to query per page"
-          name: pageSize
-          in: query
-          required: false
-          schema:
-            type: integer
-            minimum: 1
+      - description: dataspace-name
+        in: path
+        name: dataspace-name
+        required: true
+        schema:
+          example: my-dataspace
+          type: string
+      - description: "For more details on cps path, please refer https://docs.onap.org/projects/onap-cps/en/latest/cps-path.html"
+        examples:
+          container cps path:
+            value: //bookstore
+          list attributes cps path:
+            value: "//categories[@code=1]"
+        in: query
+        name: cps-path
+        required: false
+        schema:
+          default: /
+          type: string
+      - description: "Number of descendants to query. Allowed values are 'none', 'all',\
+          \ 'direct', 1 (for direct), -1 (for all), 0 (for none) and any positive\
+          \ number."
+        in: query
+        name: descendants
+        required: false
+        schema:
+          default: none
+          example: "3"
+          type: string
+      - description: page index for pagination over anchors. It must be greater then
+          zero if provided.
+        in: query
+        name: pageIndex
+        required: false
+        schema:
+          example: 1
+          type: integer
+      - description: number of records (anchors) per page. It must be greater then
+          zero if provided.
+        in: query
+        name: pageSize
+        required: false
+        schema:
+          example: 10
+          type: integer
       responses:
         "200":
           content:
@@ -2384,11 +2389,6 @@ paths:
               schema:
                 type: object
           description: OK
-          headers:
-            total-pages:
-              schema:
-                type: integer
-              description: Total number of pages for given page size
         "400":
           content:
             application/json:
@@ -2429,9 +2429,9 @@ paths:
               schema:
                 $ref: '#/components/schemas/ErrorMessage'
           description: Internal Server Error
-      summary: Query data nodes
+      summary: Query data nodes across anchors
       tags:
-        - cps-query
+      - cps-query
       x-codegen-request-body-name: xpath
 components:
   examples:
@@ -2440,34 +2440,34 @@ components:
         test:bookstore:
           bookstore-name: Chapters
           categories:
-            - code: 1
-              name: SciFi
-            - code: 2
-              name: kids
+          - code: 1
+            name: SciFi
+          - code: 2
+            name: kids
     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>
     dataSampleAcrossAnchors:
       value:
-        - anchorName: bookstore1
-          dataNode:
-            test:bookstore:
-              bookstore-name: Chapters
-              categories:
-                - code: 1
-                  name: SciFi
-                - code: 2
-                  name: kids
-        - anchorName: bookstore2
-          dataNode:
-            test:bookstore:
-              bookstore-name: Chapters
-              categories:
-                - code: 1
-                  name: SciFi
-                - code: 2
-                  name: kids
+      - anchorName: bookstore1
+        dataNode:
+          test:bookstore:
+            bookstore-name: Chapters
+            categories:
+            - code: 1
+              name: SciFi
+            - code: 2
+              name: kids
+      - anchorName: bookstore2
+        dataNode:
+          test:bookstore:
+            bookstore-name: Chapters
+            categories:
+            - code: 1
+              name: SciFi
+            - code: 2
+              name: kids
   parameters:
     dataspaceNameInQuery:
       description: dataspace-name
@@ -2485,8 +2485,8 @@ components:
       schema:
         default: v2
         enum:
-          - v1
-          - v2
+        - v1
+        - v2
         type: string
     dataspaceNameInPath:
       description: dataspace-name
@@ -2551,8 +2551,8 @@ components:
         example: false
         type: boolean
     descendantsInQuery:
-      description: "Number of descendants to query. Allowed values are 'none', 'all', 'direct',\
-          \ 1 (for direct), -1 (for all), 0 (for none) and any positive number."
+      description: "Number of descendants to query. Allowed values are 'none', 'all',\
+        \ 'direct', 1 (for direct), -1 (for all), 0 (for none) and any positive number."
       in: query
       name: descendants
       required: false
@@ -2601,6 +2601,24 @@ components:
       schema:
         default: /
         type: string
+    pageIndexInQuery:
+      description: page index for pagination over anchors. It must be greater then
+        zero if provided.
+      in: query
+      name: pageIndex
+      required: false
+      schema:
+        example: 1
+        type: integer
+    pageSizeInQuery:
+      description: number of records (anchors) per page. It must be greater then zero
+        if provided.
+      in: query
+      name: pageSize
+      required: false
+      schema:
+        example: 10
+        type: integer
   responses:
     Created:
       content:
@@ -2720,19 +2738,19 @@ components:
           format: binary
           type: string
       required:
-        - file
+      - file
       type: object
     SchemaSetDetails:
       example:
         dataspaceName: my-dataspace
         name: my-schema-set
         moduleReferences:
-          - name: my-module-reference-name
-            namespace: my-module-reference-namespace
-            revision: my-module-reference-revision
-          - name: my-module-reference-name
-            namespace: my-module-reference-namespace
-            revision: my-module-reference-revision
+        - name: my-module-reference-name
+          namespace: my-module-reference-namespace
+          revision: my-module-reference-revision
+        - name: my-module-reference-name
+          namespace: my-module-reference-namespace
+          revision: my-module-reference-revision
       properties:
         dataspaceName:
           example: my-dataspace
@@ -2745,7 +2763,7 @@ components:
           example: my-schema-set
           type: string
       required:
-        - moduleReferences
+      - moduleReferences
       title: Schema set details by dataspace and schemasetName
       type: object
     ModuleReferences:
@@ -2768,4 +2786,4 @@ components:
   securitySchemes:
     basicAuth:
       scheme: basic
-      type: http
\ No newline at end of file
+      type: http
index bb4cca0..6203c85 100644 (file)
@@ -4,9 +4,9 @@ info:
   title: NCMP Inventory API
   version: "1.0"
 servers:
-  - url: /ncmpInventory
+- url: /ncmpInventory
 security:
-  - basicAuth: []
+- basicAuth: []
 paths:
   /v1/ch:
     post:
@@ -57,35 +57,35 @@ paths:
             application/json:
               example:
                 failedCreatedCmHandles:
-                  - cmHandle: my-cm-handle-01
-                    errorCode: "00"
-                    errorText: Unknown error. <error-details>
-                  - cmHandle: my-cm-handle-02
-                    errorCode: "01"
-                    errorText: cm-handle already exists
-                  - cmHandle: my-cm-handle-03
-                    errorCode: "03"
-                    errorText: cm-handle has an invalid character(s) in id
+                - cmHandle: my-cm-handle-01
+                  errorCode: "00"
+                  errorText: Unknown error. <error-details>
+                - cmHandle: my-cm-handle-02
+                  errorCode: "01"
+                  errorText: cm-handle already exists
+                - cmHandle: my-cm-handle-03
+                  errorCode: "03"
+                  errorText: cm-handle has an invalid character(s) in id
                 failedUpdatedCmHandles:
-                  - cmHandle: my-cm-handle-01
-                    errorCode: "00"
-                    errorText: Unknown error. <error-details>
-                  - cmHandle: my-cm-handle-02
-                    errorCode: "02"
-                    errorText: cm-handle does not exist
-                  - cmHandle: my-cm-handle-03
-                    errorCode: "03"
-                    errorText: cm-handle has an invalid character(s) in id
+                - cmHandle: my-cm-handle-01
+                  errorCode: "00"
+                  errorText: Unknown error. <error-details>
+                - cmHandle: my-cm-handle-02
+                  errorCode: "02"
+                  errorText: cm-handle does not exist
+                - cmHandle: my-cm-handle-03
+                  errorCode: "03"
+                  errorText: cm-handle has an invalid character(s) in id
                 failedRemovedCmHandles:
-                  - cmHandle: my-cm-handle-01
-                    errorCode: "00"
-                    errorText: Unknown error. <error-details>
-                  - cmHandle: my-cm-handle-02
-                    errorCode: "02"
-                    errorText: cm-handle does not exists
-                  - cmHandle: my-cm-handle-03
-                    errorCode: "03"
-                    errorText: cm-handle has an invalid character(s) in id
+                - cmHandle: my-cm-handle-01
+                  errorCode: "00"
+                  errorText: Unknown error. <error-details>
+                - cmHandle: my-cm-handle-02
+                  errorCode: "02"
+                  errorText: cm-handle does not exists
+                - cmHandle: my-cm-handle-03
+                  errorCode: "03"
+                  errorText: cm-handle has an invalid character(s) in id
               schema:
                 $ref: '#/components/schemas/DmiPluginRegistrationErrorResponse'
           description: Partial or Complete failure. The error details are provided
@@ -93,19 +93,19 @@ paths:
             example.
       summary: DMI notifies NCMP of new CM Handles
       tags:
-        - network-cm-proxy-inventory
+      - network-cm-proxy-inventory
   /v1/ch/cmHandles:
     get:
       description: Get all cm handle IDs for a registered DMI plugin
       operationId: getAllCmHandleIdsForRegisteredDmi
       parameters:
-        - description: dmi-plugin-identifier
-          in: query
-          name: dmi-plugin-identifier
-          required: true
-          schema:
-            example: my-dmi-plugin
-            type: string
+      - description: dmi-plugin-identifier
+        in: query
+        name: dmi-plugin-identifier
+        required: true
+        schema:
+          example: my-dmi-plugin
+          type: string
       responses:
         "200":
           content:
@@ -148,7 +148,7 @@ paths:
       summary: "Get all cm handle IDs for a registered DMI plugin (DMI plugin, DMI\
         \ data plugin, DMI model plugin)"
       tags:
-        - network-cm-proxy-inventory
+      - network-cm-proxy-inventory
   /v1/ch/searches:
     post:
       description: "Query and get CMHandleIds for additional properties, public properties\
@@ -201,7 +201,7 @@ paths:
           description: Internal Server Error
       summary: Query for CM Handle IDs
       tags:
-        - network-cm-proxy-inventory
+      - network-cm-proxy-inventory
 components:
   parameters:
     dmiPluginIdentifierInQuery:
@@ -260,34 +260,34 @@ components:
     RestDmiPluginRegistration:
       example:
         updatedCmHandles:
-          - cmHandle: my-cm-handle
-            publicCmHandleProperties:
-              key: my-property
-            cmHandleProperties:
-              key: my-property
-          - cmHandle: my-cm-handle
-            publicCmHandleProperties:
-              key: my-property
-            cmHandleProperties:
-              key: my-property
+        - cmHandle: my-cm-handle
+          publicCmHandleProperties:
+            key: my-property
+          cmHandleProperties:
+            key: my-property
+        - cmHandle: my-cm-handle
+          publicCmHandleProperties:
+            key: my-property
+          cmHandleProperties:
+            key: my-property
         createdCmHandles:
-          - cmHandle: my-cm-handle
-            publicCmHandleProperties:
-              key: my-property
-            cmHandleProperties:
-              key: my-property
-          - cmHandle: my-cm-handle
-            publicCmHandleProperties:
-              key: my-property
-            cmHandleProperties:
-              key: my-property
+        - cmHandle: my-cm-handle
+          publicCmHandleProperties:
+            key: my-property
+          cmHandleProperties:
+            key: my-property
+        - cmHandle: my-cm-handle
+          publicCmHandleProperties:
+            key: my-property
+          cmHandleProperties:
+            key: my-property
         dmiPlugin: my-dmi-plugin
         dmiModelPlugin: my-dmi-model-plugin
         dmiDataPlugin: my-dmi-data-plugin
         removedCmHandles:
-          - my-cm-handle1
-          - my-cm-handle2
-          - my-cm-handle3
+        - my-cm-handle1
+        - my-cm-handle2
+        - my-cm-handle3
       properties:
         dmiPlugin:
           default: ""
@@ -311,9 +311,9 @@ components:
           type: array
         removedCmHandles:
           example:
-            - my-cm-handle1
-            - my-cm-handle2
-            - my-cm-handle3
+          - my-cm-handle1
+          - my-cm-handle2
+          - my-cm-handle3
           items:
             type: string
           type: array
@@ -340,7 +340,7 @@ components:
             type: string
           type: object
       required:
-        - cmHandle
+      - cmHandle
       type: object
     RestCmHandleProperties:
       additionalProperties:
@@ -387,23 +387,23 @@ components:
     CmHandleQueryParameters:
       example:
         cmHandleQueryParameters:
-          - conditionParameters:
-              - key: conditionParameters
-              - key: conditionParameters
-            conditionName: conditionName
-          - conditionParameters:
-              - key: conditionParameters
-              - key: conditionParameters
-            conditionName: conditionName
+        - conditionParameters:
+          - key: conditionParameters
+          - key: conditionParameters
+          conditionName: conditionName
+        - conditionParameters:
+          - key: conditionParameters
+          - key: conditionParameters
+          conditionName: conditionName
         conditions:
-          - name: name
-            conditionParameters:
-              - moduleName: my-module
-              - moduleName: my-module
-          - name: name
-            conditionParameters:
-              - moduleName: my-module
-              - moduleName: my-module
+        - name: name
+          conditionParameters:
+          - moduleName: my-module
+          - moduleName: my-module
+        - name: name
+          conditionParameters:
+          - moduleName: my-module
+          - moduleName: my-module
       properties:
         cmHandleQueryParameters:
           items:
@@ -420,8 +420,8 @@ components:
     ConditionProperties:
       example:
         conditionParameters:
-          - key: conditionParameters
-          - key: conditionParameters
+        - key: conditionParameters
+        - key: conditionParameters
         conditionName: conditionName
       properties:
         conditionName:
@@ -437,8 +437,8 @@ components:
       example:
         name: name
         conditionParameters:
-          - moduleName: my-module
-          - moduleName: my-module
+        - moduleName: my-module
+        - moduleName: my-module
       properties:
         name:
           type: string
index a0c5b17..810210f 100644 (file)
@@ -4,58 +4,58 @@ info:
   title: NCMP to CPS Proxy API
   version: "1.0"
 servers:
-  - url: /ncmp
+- url: /ncmp
 security:
-  - basicAuth: []
+- basicAuth: []
 paths:
   /v1/ch/{cm-handle}/data/ds/{datastore-name}:
     delete:
       description: Delete resource data from pass-through running for a given cm handle
       operationId: deleteResourceDataRunningForCmHandle
       parameters:
-        - description: The type of the requested data
-          in: path
-          name: datastore-name
-          required: true
-          schema:
-            example: ncmp-datastore:running
-            type: string
-        - description: "The identifier for a network function, network element, subnetwork\
+      - description: The type of the requested data
+        in: path
+        name: datastore-name
+        required: true
+        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"
-          in: path
-          name: cm-handle
-          required: true
-          schema:
-            example: my-cm-handle
-            type: string
-        - 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.
-          examples:
-            sample 1:
-              value:
-                resourceIdentifier: \shops\bookstore
-            sample 2:
-              value:
-                resourceIdentifier: "\\shops\\bookstore\\categories[@code=1]"
-            sample 3:
-              value:
-                resourceIdentifier: "parent=shops,child=bookstore"
-          in: query
-          name: resourceIdentifier
-          required: true
-          schema:
-            type: string
-        - description: "Content parameter for request, if content parameter is null,\
+        in: path
+        name: cm-handle
+        required: true
+        schema:
+          example: my-cm-handle
+          type: string
+      - 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.
+        examples:
+          sample 1:
+            value:
+              resourceIdentifier: \shops\bookstore
+          sample 2:
+            value:
+              resourceIdentifier: "\\shops\\bookstore\\categories[@code=1]"
+          sample 3:
+            value:
+              resourceIdentifier: "parent=shops,child=bookstore"
+        in: query
+        name: resourceIdentifier
+        required: true
+        schema:
+          type: string
+      - description: "Content parameter for request, if content parameter is null,\
           \ default value is application/json."
-          in: header
-          name: Content-Type
-          required: false
-          schema:
-            default: application/json
-            example: application/yang-data+json
-            type: string
+        in: header
+        name: Content-Type
+        required: false
+        schema:
+          default: application/json
+          example: application/yang-data+json
+          type: string
       responses:
         "204":
           content: {}
@@ -123,82 +123,82 @@ paths:
           description: Bad Gateway
       summary: Delete resource data
       tags:
-        - network-cm-proxy
+      - network-cm-proxy
     get:
       description: Get resource data for given cm handle
       operationId: getResourceDataForCmHandle
       parameters:
-        - description: The type of the requested data
-          in: path
-          name: datastore-name
-          required: true
-          schema:
-            example: ncmp-datastore:running
-            type: string
-        - description: "The identifier for a network function, network element, subnetwork\
+      - description: The type of the requested data
+        in: path
+        name: datastore-name
+        required: true
+        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"
-          in: path
-          name: cm-handle
-          required: true
-          schema:
-            example: my-cm-handle
-            type: string
-        - 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.
-          examples:
-            sample 1:
-              value:
-                resourceIdentifier: \shops\bookstore
-            sample 2:
-              value:
-                resourceIdentifier: "\\shops\\bookstore\\categories[@code=1]"
-            sample 3:
-              value:
-                resourceIdentifier: "parent=shops,child=bookstore"
-          in: query
-          name: resourceIdentifier
-          required: true
-          schema:
-            type: string
-        - allowReserved: true
-          description: "options parameter in query, it is mandatory to wrap key(s)=value(s)\
+        in: path
+        name: cm-handle
+        required: true
+        schema:
+          example: my-cm-handle
+          type: string
+      - 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.
+        examples:
+          sample 1:
+            value:
+              resourceIdentifier: \shops\bookstore
+          sample 2:
+            value:
+              resourceIdentifier: "\\shops\\bookstore\\categories[@code=1]"
+          sample 3:
+            value:
+              resourceIdentifier: "parent=shops,child=bookstore"
+        in: query
+        name: resourceIdentifier
+        required: true
+        schema:
+          type: string
+      - 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."
-          examples:
-            sample 1:
-              value:
-                options: (depth=3)
-            sample 2:
-              value:
-                options: (fields=book)
-            sample 3:
-              value:
-                options: "(depth=2,fields=book/authors)"
-          in: query
-          name: options
-          required: false
-          schema:
-            type: string
-        - allowReserved: true
-          description: topic parameter in query.
-          examples:
-            sample 1:
-              value:
-                topic: my-topic-name
-          in: query
-          name: topic
-          required: false
-          schema:
-            type: string
-        - description: Determines if descendants are included in response
-          in: query
-          name: include-descendants
-          required: false
-          schema:
-            default: false
-            type: boolean
+        examples:
+          sample 1:
+            value:
+              options: (depth=3)
+          sample 2:
+            value:
+              options: (fields=book)
+          sample 3:
+            value:
+              options: "(depth=2,fields=book/authors)"
+        in: query
+        name: options
+        required: false
+        schema:
+          type: string
+      - allowReserved: true
+        description: topic parameter in query.
+        examples:
+          sample 1:
+            value:
+              topic: my-topic-name
+        in: query
+        name: topic
+        required: false
+        schema:
+          type: string
+      - description: Determines if descendants are included in response
+        in: query
+        name: include-descendants
+        required: false
+        schema:
+          default: false
+          type: boolean
       responses:
         "200":
           content:
@@ -263,55 +263,55 @@ paths:
           description: Bad Gateway
       summary: Get resource data for cm handle
       tags:
-        - network-cm-proxy
+      - network-cm-proxy
     patch:
       description: Patch resource data from pass-through running for the given cm
         handle
       operationId: patchResourceDataRunningForCmHandle
       parameters:
-        - description: The type of the requested data
-          in: path
-          name: datastore-name
-          required: true
-          schema:
-            example: ncmp-datastore:running
-            type: string
-        - description: "The identifier for a network function, network element, subnetwork\
+      - description: The type of the requested data
+        in: path
+        name: datastore-name
+        required: true
+        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"
-          in: path
-          name: cm-handle
-          required: true
-          schema:
-            example: my-cm-handle
-            type: string
-        - 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.
-          examples:
-            sample 1:
-              value:
-                resourceIdentifier: \shops\bookstore
-            sample 2:
-              value:
-                resourceIdentifier: "\\shops\\bookstore\\categories[@code=1]"
-            sample 3:
-              value:
-                resourceIdentifier: "parent=shops,child=bookstore"
-          in: query
-          name: resourceIdentifier
-          required: true
-          schema:
-            type: string
-        - description: "Content parameter for request, if content parameter is null,\
+        in: path
+        name: cm-handle
+        required: true
+        schema:
+          example: my-cm-handle
+          type: string
+      - 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.
+        examples:
+          sample 1:
+            value:
+              resourceIdentifier: \shops\bookstore
+          sample 2:
+            value:
+              resourceIdentifier: "\\shops\\bookstore\\categories[@code=1]"
+          sample 3:
+            value:
+              resourceIdentifier: "parent=shops,child=bookstore"
+        in: query
+        name: resourceIdentifier
+        required: true
+        schema:
+          type: string
+      - description: "Content parameter for request, if content parameter is null,\
           \ default value is application/json."
-          in: header
-          name: Content-Type
-          required: false
-          schema:
-            default: application/json
-            example: application/yang-data+json
-            type: string
+        in: header
+        name: Content-Type
+        required: false
+        schema:
+          default: application/json
+          example: application/yang-data+json
+          type: string
       requestBody:
         content:
           '*/*':
@@ -382,54 +382,54 @@ paths:
           description: Bad Gateway
       summary: Patch resource data from pass-through running
       tags:
-        - network-cm-proxy
+      - network-cm-proxy
     post:
       description: create resource data from pass-through running for given cm handle
       operationId: createResourceDataRunningForCmHandle
       parameters:
-        - description: The type of the requested data
-          in: path
-          name: datastore-name
-          required: true
-          schema:
-            example: ncmp-datastore:running
-            type: string
-        - description: "The identifier for a network function, network element, subnetwork\
+      - description: The type of the requested data
+        in: path
+        name: datastore-name
+        required: true
+        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"
-          in: path
-          name: cm-handle
-          required: true
-          schema:
-            example: my-cm-handle
-            type: string
-        - 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.
-          examples:
-            sample 1:
-              value:
-                resourceIdentifier: \shops\bookstore
-            sample 2:
-              value:
-                resourceIdentifier: "\\shops\\bookstore\\categories[@code=1]"
-            sample 3:
-              value:
-                resourceIdentifier: "parent=shops,child=bookstore"
-          in: query
-          name: resourceIdentifier
-          required: true
-          schema:
-            type: string
-        - description: "Content parameter for request, if content parameter is null,\
+        in: path
+        name: cm-handle
+        required: true
+        schema:
+          example: my-cm-handle
+          type: string
+      - 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.
+        examples:
+          sample 1:
+            value:
+              resourceIdentifier: \shops\bookstore
+          sample 2:
+            value:
+              resourceIdentifier: "\\shops\\bookstore\\categories[@code=1]"
+          sample 3:
+            value:
+              resourceIdentifier: "parent=shops,child=bookstore"
+        in: query
+        name: resourceIdentifier
+        required: true
+        schema:
+          type: string
+      - description: "Content parameter for request, if content parameter is null,\
           \ default value is application/json."
-          in: header
-          name: Content-Type
-          required: false
-          schema:
-            default: application/json
-            example: application/yang-data+json
-            type: string
+        in: header
+        name: Content-Type
+        required: false
+        schema:
+          default: application/json
+          example: application/yang-data+json
+          type: string
       requestBody:
         content:
           application/json:
@@ -504,55 +504,55 @@ paths:
           description: Bad Gateway
       summary: create resource data from pass-through running for cm handle
       tags:
-        - network-cm-proxy
+      - network-cm-proxy
     put:
       description: Update resource data from pass-through running for the given cm
         handle
       operationId: updateResourceDataRunningForCmHandle
       parameters:
-        - description: The type of the requested data
-          in: path
-          name: datastore-name
-          required: true
-          schema:
-            example: ncmp-datastore:running
-            type: string
-        - description: "The identifier for a network function, network element, subnetwork\
+      - description: The type of the requested data
+        in: path
+        name: datastore-name
+        required: true
+        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"
-          in: path
-          name: cm-handle
-          required: true
-          schema:
-            example: my-cm-handle
-            type: string
-        - 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.
-          examples:
-            sample 1:
-              value:
-                resourceIdentifier: \shops\bookstore
-            sample 2:
-              value:
-                resourceIdentifier: "\\shops\\bookstore\\categories[@code=1]"
-            sample 3:
-              value:
-                resourceIdentifier: "parent=shops,child=bookstore"
-          in: query
-          name: resourceIdentifier
-          required: true
-          schema:
-            type: string
-        - description: "Content parameter for request, if content parameter is null,\
+        in: path
+        name: cm-handle
+        required: true
+        schema:
+          example: my-cm-handle
+          type: string
+      - 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.
+        examples:
+          sample 1:
+            value:
+              resourceIdentifier: \shops\bookstore
+          sample 2:
+            value:
+              resourceIdentifier: "\\shops\\bookstore\\categories[@code=1]"
+          sample 3:
+            value:
+              resourceIdentifier: "parent=shops,child=bookstore"
+        in: query
+        name: resourceIdentifier
+        required: true
+        schema:
+          type: string
+      - description: "Content parameter for request, if content parameter is null,\
           \ default value is application/json."
-          in: header
-          name: Content-Type
-          required: false
-          schema:
-            default: application/json
-            example: application/yang-data+json
-            type: string
+        in: header
+        name: Content-Type
+        required: false
+        schema:
+          default: application/json
+          example: application/yang-data+json
+          type: string
       requestBody:
         content:
           application/json:
@@ -630,7 +630,7 @@ paths:
           description: Bad Gateway
       summary: Update resource data from pass-through running for a cm handle
       tags:
-        - network-cm-proxy
+      - network-cm-proxy
   /v1/data:
     post:
       description: This request will be handled asynchronously using messaging to
@@ -638,17 +638,17 @@ paths:
         to identify the relevant messages.
       operationId: executeDataOperationForCmHandles
       parameters:
-        - allowReserved: true
-          description: mandatory topic parameter in query.
-          examples:
-            sample 1:
-              value:
-                topic: my-topic-name
-          in: query
-          name: topic
-          required: true
-          schema:
-            type: string
+      - allowReserved: true
+        description: mandatory topic parameter in query.
+        examples:
+          sample 1:
+            value:
+              topic: my-topic-name
+        in: query
+        name: topic
+        required: true
+        schema:
+          type: string
       requestBody:
         content:
           application/json:
@@ -715,76 +715,76 @@ paths:
           description: Bad Gateway
       summary: Execute a data operation for group of cm handle ids
       tags:
-        - network-cm-proxy
+      - network-cm-proxy
   /v1/ch/{cm-handle}/data/ds/{datastore-name}/query:
     get:
       description: Query resource data for a given cm handle
       operationId: queryResourceDataForCmHandle
       parameters:
-        - description: The type of the requested data
-          in: path
-          name: datastore-name
-          required: true
-          schema:
-            example: ncmp-datastore:running
-            type: string
-        - description: "The identifier for a network function, network element, subnetwork\
+      - description: The type of the requested data
+        in: path
+        name: datastore-name
+        required: true
+        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"
-          in: path
-          name: cm-handle
-          required: true
-          schema:
-            example: my-cm-handle
-            type: string
-        - description: "For more details on cps path, please refer https://docs.onap.org/projects/onap-cps/en/latest/cps-path.html"
-          examples:
-            container cps path:
-              value: //bookstore
-            list attributes cps path:
-              value: "//categories[@code=1]"
-          in: query
-          name: cps-path
-          required: false
-          schema:
-            default: /
-            type: string
-        - allowReserved: true
-          description: "options parameter in query, it is mandatory to wrap key(s)=value(s)\
+        in: path
+        name: cm-handle
+        required: true
+        schema:
+          example: my-cm-handle
+          type: string
+      - description: "For more details on cps path, please refer https://docs.onap.org/projects/onap-cps/en/latest/cps-path.html"
+        examples:
+          container cps path:
+            value: //bookstore
+          list attributes cps path:
+            value: "//categories[@code=1]"
+        in: query
+        name: cps-path
+        required: false
+        schema:
+          default: /
+          type: string
+      - 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."
-          examples:
-            sample 1:
-              value:
-                options: (depth=3)
-            sample 2:
-              value:
-                options: (fields=book)
-            sample 3:
-              value:
-                options: "(depth=2,fields=book/authors)"
-          in: query
-          name: options
-          required: false
-          schema:
-            type: string
-        - allowReserved: true
-          description: topic parameter in query.
-          examples:
-            sample 1:
-              value:
-                topic: my-topic-name
-          in: query
-          name: topic
-          required: false
-          schema:
-            type: string
-        - description: Determines if descendants are included in response
-          in: query
-          name: include-descendants
-          required: false
-          schema:
-            default: false
-            type: boolean
+        examples:
+          sample 1:
+            value:
+              options: (depth=3)
+          sample 2:
+            value:
+              options: (fields=book)
+          sample 3:
+            value:
+              options: "(depth=2,fields=book/authors)"
+        in: query
+        name: options
+        required: false
+        schema:
+          type: string
+      - allowReserved: true
+        description: topic parameter in query.
+        examples:
+          sample 1:
+            value:
+              topic: my-topic-name
+        in: query
+        name: topic
+        required: false
+        schema:
+          type: string
+      - description: Determines if descendants are included in response
+        in: query
+        name: include-descendants
+        required: false
+        schema:
+          default: false
+          type: boolean
       responses:
         "200":
           content:
@@ -849,21 +849,21 @@ paths:
           description: Bad Gateway
       summary: Query resource data for a given cm handle
       tags:
-        - network-cm-proxy
+      - network-cm-proxy
   /v1/ch/{cm-handle}/modules:
     get:
       description: fetch all module references (name and revision) for a given cm
         handle
       operationId: getModuleReferencesByCmHandle
       parameters:
-        - description: "The identifier for a network function, network element, subnetwork\
+      - 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
+        in: path
+        name: cm-handle
+        required: true
+        schema:
+          example: my-cm-handle
+          type: string
       responses:
         "200":
           content:
@@ -915,21 +915,21 @@ paths:
           description: Internal Server Error
       summary: Fetch all module references (name and revision) for a given cm handle
       tags:
-        - network-cm-proxy
+      - network-cm-proxy
   /v1/ch/{cm-handle}/modules/definitions:
     get:
       description: "Fetch all module definitions (name, revision, yang resource) for\
         \ a given cm handle"
       operationId: getModuleDefinitionsByCmHandleId
       parameters:
-        - description: "The identifier for a network function, network element, subnetwork\
+      - 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
+        in: path
+        name: cm-handle
+        required: true
+        schema:
+          example: my-cm-handle
+          type: string
       responses:
         "200":
           content:
@@ -972,7 +972,7 @@ paths:
       summary: "Fetch all module definitions (name, revision, yang resource) for a\
         \ given cm handle"
       tags:
-        - network-cm-proxy
+      - network-cm-proxy
   /v1/ch/searches:
     post:
       description: Execute cm handle query search and return a list of cm handle details.
@@ -1059,20 +1059,20 @@ paths:
           description: Internal Server Error
       summary: Execute cm handle search using the available conditions
       tags:
-        - network-cm-proxy
+      - network-cm-proxy
   /v1/ch/{cm-handle}:
     get:
       description: Retrieve CM handle details and properties by cm handle id
       operationId: retrieveCmHandleDetailsById
       parameters:
-        - description: "The identifier for a network function, network element, subnetwork\
+      - 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
+        in: path
+        name: cm-handle
+        required: true
+        schema:
+          example: my-cm-handle
+          type: string
       responses:
         "200":
           content:
@@ -1122,20 +1122,20 @@ paths:
           description: Internal Server Error
       summary: Retrieve CM handle details
       tags:
-        - network-cm-proxy
+      - network-cm-proxy
   /v1/ch/{cm-handle}/properties:
     get:
       description: Get CM handle properties by cm handle id
       operationId: getCmHandlePublicPropertiesByCmHandleId
       parameters:
-        - description: "The identifier for a network function, network element, subnetwork\
+      - 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
+        in: path
+        name: cm-handle
+        required: true
+        schema:
+          example: my-cm-handle
+          type: string
       responses:
         "200":
           content:
@@ -1185,7 +1185,7 @@ paths:
           description: Internal Server Error
       summary: Get CM handle properties
       tags:
-        - network-cm-proxy
+      - network-cm-proxy
   /v1/ch/id-searches:
     post:
       description: Execute cm handle query search and return a list of cm handle ids.
@@ -1282,20 +1282,20 @@ paths:
           description: Internal Server Error
       summary: Execute cm handle query upon a given set of query parameters
       tags:
-        - network-cm-proxy
+      - network-cm-proxy
   /v1/ch/{cm-handle}/state:
     get:
       description: Get CM handle state by cm handle id
       operationId: getCmHandleStateByCmHandleId
       parameters:
-        - description: "The identifier for a network function, network element, subnetwork\
+      - 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
+        in: path
+        name: cm-handle
+        required: true
+        schema:
+          example: my-cm-handle
+          type: string
       responses:
         "200":
           content:
@@ -1345,7 +1345,7 @@ paths:
           description: Internal Server Error
       summary: Get CM handle state
       tags:
-        - network-cm-proxy
+      - network-cm-proxy
   /v1/ch/{cm-handle}/data-sync:
     put:
       description: Set the data sync enabled flag to true or false for a specified
@@ -1353,21 +1353,21 @@ paths:
         NONE_REQUESTED respectfully.
       operationId: setDataSyncEnabledFlagForCmHandle
       parameters:
-        - description: "The identifier for a network function, network element, subnetwork\
+      - 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
-        - description: Is used to enable or disable the data synchronization flag
-          in: query
-          name: dataSyncEnabled
-          required: true
-          schema:
-            example: true
-            type: boolean
+        in: path
+        name: cm-handle
+        required: true
+        schema:
+          example: my-cm-handle
+          type: string
+      - description: Is used to enable or disable the data synchronization flag
+        in: query
+        name: dataSyncEnabled
+        required: true
+        schema:
+          example: true
+          type: boolean
       responses:
         "200":
           content:
@@ -1428,7 +1428,7 @@ paths:
           description: Bad Gateway
       summary: Set the Data Sync Enabled Flag
       tags:
-        - network-cm-proxy
+      - network-cm-proxy
 components:
   examples:
     dataSampleResponse:
@@ -1437,17 +1437,17 @@ components:
       value:
         bookstore:
           categories:
-            - code: "01"
-              books:
-                - authors:
-                    - Iain M. Banks
-                    - Ursula K. Le Guin
-              name: SciFi
-            - code: "02"
-              books:
-                - authors:
-                    - Philip Pullman
-              name: kids
+          - code: "01"
+            books:
+            - authors:
+              - Iain M. Banks
+              - Ursula K. Le Guin
+            name: SciFi
+          - code: "02"
+            books:
+            - authors:
+              - Philip Pullman
+            name: kids
     dataSampleRequest:
       description: Sample request body
       summary: Sample request
@@ -1455,17 +1455,17 @@ components:
         test:bookstore:
           bookstore-name: Chapters
           categories:
-            - code: "01"
-              name: SciFi
-              books:
-                - authors:
-                    - Iain M. Banks
-                    - Ursula K. Le Guin
-            - code: "02"
-              name: kids
-              books:
-                - authors:
-                    - Philip Pullman
+          - code: "01"
+            name: SciFi
+            books:
+            - authors:
+              - Iain M. Banks
+              - Ursula K. Le Guin
+          - code: "02"
+            name: kids
+            books:
+            - authors:
+              - Philip Pullman
     dataSamplePatchRequest:
       description: Sample patch request body
       summary: Sample patch request
@@ -1473,86 +1473,86 @@ components:
         ietf-restconf:yang-patch:
           patch-id: patch-1
           edit:
-            - edit-id: edit1
-              operation: merge
-              target: /
-              value:
-                test:bookstore:
-                  bookstore-name: Chapters
-                  categories:
-                    - code: "01"
-                      name: Science
-                      books:
-                        - authors:
-                            - Author1
-                            - Author2
-                    - code: "02"
-                      name: Arts
-                      books:
-                        - authors:
-                            - Author3
-            - edit-id: edit2
-              operation: merge
-              target: /
-              value:
-                test:bookstore:
-                  bookstore-name: Novels
-                  categories:
-                    - code: "03"
-                      name: History
-                      books:
-                        - authors:
-                            - Iain M. Banks
-                            - Ursula K. Le Guin
-                    - code: "04"
-                      name: Fiction
-                      books:
-                        - authors:
-                            - Philip Pullman
+          - edit-id: edit1
+            operation: merge
+            target: /
+            value:
+              test:bookstore:
+                bookstore-name: Chapters
+                categories:
+                - code: "01"
+                  name: Science
+                  books:
+                  - authors:
+                    - Author1
+                    - Author2
+                - code: "02"
+                  name: Arts
+                  books:
+                  - authors:
+                    - Author3
+          - edit-id: edit2
+            operation: merge
+            target: /
+            value:
+              test:bookstore:
+                bookstore-name: Novels
+                categories:
+                - code: "03"
+                  name: History
+                  books:
+                  - authors:
+                    - Iain M. Banks
+                    - Ursula K. Le Guin
+                - code: "04"
+                  name: Fiction
+                  books:
+                  - authors:
+                    - Philip Pullman
     pubPropCmHandleQueryParameters:
       value:
         cmHandleQueryParameters:
-          - conditionName: hasAllProperties
-            conditionParameters:
-              - Color: yellow
-              - Shape: circle
-              - Size: small
+        - conditionName: hasAllProperties
+          conditionParameters:
+          - Color: yellow
+          - Shape: circle
+          - Size: small
     modulesCmHandleQueryParameters:
       value:
         cmHandleQueryParameters:
-          - conditionName: hasAllModules
-            conditionParameters:
-              - moduleName: my-module-1
-              - moduleName: my-module-2
-              - moduleName: my-module-3
+        - conditionName: hasAllModules
+          conditionParameters:
+          - moduleName: my-module-1
+          - moduleName: my-module-2
+          - moduleName: my-module-3
     allCmHandleQueryParameters:
       value:
         cmHandleQueryParameters:
-          - conditionName: hasAllModules
-            conditionParameters:
-              - moduleName: my-module-1
-              - moduleName: my-module-2
-              - moduleName: my-module-3
-          - conditionName: hasAllProperties
-            conditionParameters:
-              - Color: yellow
-              - Shape: circle
-              - Size: small
-          - conditionName: cmHandleWithCpsPath
-            conditionParameters:
-              - cpsPath: "//state[@cm-handle-state='ADVISED']"
+        - conditionName: hasAllModules
+          conditionParameters:
+          - moduleName: my-module-1
+          - moduleName: my-module-2
+          - moduleName: my-module-3
+        - conditionName: hasAllProperties
+          conditionParameters:
+          - Color: yellow
+          - Shape: circle
+          - Size: small
+        - conditionName: cmHandleWithCpsPath
+          conditionParameters:
+          - cpsPath: "//state[@cm-handle-state='ADVISED']"
     cpsPathCmHandleStateQueryParameters:
       value:
         cmHandleQueryParameters:
-          - conditionName: cmHandleWithCpsPath
-            conditionParameters:
-              - cpsPath: "//state[@cm-handle-state='LOCKED']"
+        - conditionName: cmHandleWithCpsPath
+          conditionParameters:
+          - cpsPath: "//state[@cm-handle-state='LOCKED']"
     cpsPathCmHandleDataSyncQueryParameters:
       value:
         cmHandleQueryParameters:
-          - conditionName: cmHandleWithCpsPath
-            conditionParameters:
-              - cpsPath: "//state[@data-sync-enabled='true']"
+        - conditionName: cmHandleWithCpsPath
+          conditionParameters:
+          - cpsPath: "//state[@data-sync-enabled='true']"
   parameters:
     datastoreName:
       description: The type of the requested data
@@ -1771,26 +1771,26 @@ components:
     DataOperationRequest:
       example:
         operations:
-          - resourceIdentifier: parent/child
-            targetIds:
-              - "[\"da310eecdb8d44c2acc0ddaae01174b1\",\"c748c58f8e0b438f9fd1f28370b17d47\"\
+        - resourceIdentifier: parent/child
+          targetIds:
+          - "[\"da310eecdb8d44c2acc0ddaae01174b1\",\"c748c58f8e0b438f9fd1f28370b17d47\"\
             ]"
-              - "[\"da310eecdb8d44c2acc0ddaae01174b1\",\"c748c58f8e0b438f9fd1f28370b17d47\"\
+          - "[\"da310eecdb8d44c2acc0ddaae01174b1\",\"c748c58f8e0b438f9fd1f28370b17d47\"\
             ]"
-            datastore: ncmp-datastore:passthrough-operational
-            options: (fields=schemas/schema)
-            operationId: "12"
-            operation: read
-          - resourceIdentifier: parent/child
-            targetIds:
-              - "[\"da310eecdb8d44c2acc0ddaae01174b1\",\"c748c58f8e0b438f9fd1f28370b17d47\"\
+          datastore: ncmp-datastore:passthrough-operational
+          options: (fields=schemas/schema)
+          operationId: "12"
+          operation: read
+        - resourceIdentifier: parent/child
+          targetIds:
+          - "[\"da310eecdb8d44c2acc0ddaae01174b1\",\"c748c58f8e0b438f9fd1f28370b17d47\"\
             ]"
-              - "[\"da310eecdb8d44c2acc0ddaae01174b1\",\"c748c58f8e0b438f9fd1f28370b17d47\"\
+          - "[\"da310eecdb8d44c2acc0ddaae01174b1\",\"c748c58f8e0b438f9fd1f28370b17d47\"\
             ]"
-            datastore: ncmp-datastore:passthrough-operational
-            options: (fields=schemas/schema)
-            operationId: "12"
-            operation: read
+          datastore: ncmp-datastore:passthrough-operational
+          options: (fields=schemas/schema)
+          operationId: "12"
+          operation: read
       properties:
         operations:
           description: contains group of data operation requests
@@ -1803,9 +1803,9 @@ components:
       example:
         resourceIdentifier: parent/child
         targetIds:
-          - "[\"da310eecdb8d44c2acc0ddaae01174b1\",\"c748c58f8e0b438f9fd1f28370b17d47\"\
+        - "[\"da310eecdb8d44c2acc0ddaae01174b1\",\"c748c58f8e0b438f9fd1f28370b17d47\"\
           ]"
-          - "[\"da310eecdb8d44c2acc0ddaae01174b1\",\"c748c58f8e0b438f9fd1f28370b17d47\"\
+        - "[\"da310eecdb8d44c2acc0ddaae01174b1\",\"c748c58f8e0b438f9fd1f28370b17d47\"\
           ]"
         datastore: ncmp-datastore:passthrough-operational
         options: (fields=schemas/schema)
@@ -1834,9 +1834,9 @@ components:
             type: string
           type: array
       required:
-        - datastore
-        - operation
-        - operationId
+      - datastore
+      - operation
+      - operationId
     RestModuleReference:
       example:
         moduleName: my-module-name
@@ -1888,23 +1888,23 @@ components:
     CmHandleQueryParameters:
       example:
         cmHandleQueryParameters:
-          - conditionParameters:
-              - key: conditionParameters
-              - key: conditionParameters
-            conditionName: conditionName
-          - conditionParameters:
-              - key: conditionParameters
-              - key: conditionParameters
-            conditionName: conditionName
+        - conditionParameters:
+          - key: conditionParameters
+          - key: conditionParameters
+          conditionName: conditionName
+        - conditionParameters:
+          - key: conditionParameters
+          - key: conditionParameters
+          conditionName: conditionName
         conditions:
-          - name: name
-            conditionParameters:
-              - moduleName: my-module
-              - moduleName: my-module
-          - name: name
-            conditionParameters:
-              - moduleName: my-module
-              - moduleName: my-module
+        - name: name
+          conditionParameters:
+          - moduleName: my-module
+          - moduleName: my-module
+        - name: name
+          conditionParameters:
+          - moduleName: my-module
+          - moduleName: my-module
       properties:
         cmHandleQueryParameters:
           items:
@@ -1921,8 +1921,8 @@ components:
     ConditionProperties:
       example:
         conditionParameters:
-          - key: conditionParameters
-          - key: conditionParameters
+        - key: conditionParameters
+        - key: conditionParameters
         conditionName: conditionName
       properties:
         conditionName:
@@ -1938,8 +1938,8 @@ components:
       example:
         name: name
         conditionParameters:
-          - moduleName: my-module
-          - moduleName: my-module
+        - moduleName: my-module
+        - moduleName: my-module
       properties:
         name:
           type: string
@@ -1958,8 +1958,8 @@ components:
       example:
         cmHandle: my-cm-handle1
         publicCmHandleProperties:
-          - key: Book Type
-          - key: Book Type
+        - key: Book Type
+        - key: Book Type
         state:
           dataSyncEnabled: false
           dataSyncState:
@@ -2067,8 +2067,8 @@ components:
     RestOutputCmHandlePublicProperties:
       example:
         publicCmHandleProperties:
-          - key: Book Type
-          - key: Book Type
+        - key: Book Type
+        - key: Book Type
       properties:
         publicCmHandleProperties:
           items:
index 99d802f..1b74153 100644 (file)
@@ -30,6 +30,8 @@ CPS-NCMP Message Status Codes
     +-----------------+------------------------------------------------------+-----------------------------------+
     | 106             | subscription pending for all cm handles              | CM Data Notification Subscription |
     +-----------------+------------------------------------------------------+-----------------------------------+
+    | 107             | southbound system is busy                            | Data Operation                    |
+    +-----------------+------------------------------------------------------+-----------------------------------+
 
 .. note::
 
index 3f672ad..013617a 100755 (executable)
@@ -16,6 +16,33 @@ CPS Release Notes
 ..      * * *   MONTREAL   * * *
 ..      ========================
 
+Version: 3.3.7
+==============
+
+Release Data
+------------
+
++--------------------------------------+--------------------------------------------------------+
+| **CPS Project**                      |                                                        |
+|                                      |                                                        |
++--------------------------------------+--------------------------------------------------------+
+| **Docker images**                    | onap/cps-and-ncmp:3.3.7                                |
+|                                      |                                                        |
++--------------------------------------+--------------------------------------------------------+
+| **Release designation**              | 3.3.7 Montreal                                         |
+|                                      |                                                        |
++--------------------------------------+--------------------------------------------------------+
+| **Release date**                     | Not yet released                                       |
+|                                      |                                                        |
++--------------------------------------+--------------------------------------------------------+
+
+Bug Fixes
+---------
+3.3.7
+
+Features
+--------
+
 Version: 3.3.6
 ==============
 
@@ -32,7 +59,7 @@ Release Data
 | **Release designation**              | 3.3.6 Montreal                                         |
 |                                      |                                                        |
 +--------------------------------------+--------------------------------------------------------+
-| **Release date**                     | Not yet released                                       |
+| **Release date**                     | 2023 August 23                                         |
 |                                      |                                                        |
 +--------------------------------------+--------------------------------------------------------+
 
@@ -40,6 +67,7 @@ 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
 
 Features
 --------
index 16c1664..9ae7d0c 100644 (file)
@@ -23,7 +23,7 @@
     <parent>
         <groupId>org.onap.cps</groupId>
         <artifactId>cps-parent</artifactId>
-        <version>3.3.6-SNAPSHOT</version>
+        <version>3.3.7-SNAPSHOT</version>
         <relativePath>../cps-parent/pom.xml</relativePath>
     </parent>
 
index 82a415e..2fe2753 100644 (file)
@@ -102,6 +102,20 @@ class CpsDataServiceIntegrationSpec extends FunctionalSpecBase {
             cpsPath << [ 'invalid path', '/non-existing-path' ]
     }
 
+    def 'Get data nodes error scenario #scenario'() {
+        when: 'attempt to retrieve data nodes'
+            objectUnderTest.getDataNodes(dataspaceName, anchorName, xpath, OMIT_DESCENDANTS)
+        then: 'expected exception is thrown'
+            thrown(expectedException)
+        where: 'following data is used'
+            scenario                 | dataspaceName                | anchorName        | xpath           || expectedException
+            'non existent dataspace' | 'non-existent'               | 'not-relevant'    | '/not-relevant' || DataspaceNotFoundException
+            'non existent anchor'    | FUNCTIONAL_TEST_DATASPACE_1  | 'non-existent'    | '/not-relevant' || AnchorNotFoundException
+            'non-existent xpath'     | FUNCTIONAL_TEST_DATASPACE_1  | BOOKSTORE_ANCHOR_1| '/non-existing' || DataNodeNotFoundException
+            'invalid-dataspace'      | 'Invalid dataspace'          | 'not-relevant'    | '/not-relevant' || DataValidationException
+            'invalid-dataspace'      | FUNCTIONAL_TEST_DATASPACE_1  | 'Invalid Anchor'  | '/not-relevant' || DataValidationException
+    }
+
     def 'Delete root data node.'() {
         when: 'the "root" is deleted'
             objectUnderTest.deleteDataNodes(FUNCTIONAL_TEST_DATASPACE_1, BOOKSTORE_ANCHOR_1, [ '/' ], now)
index 9dbd896..c8a3be8 100644 (file)
@@ -5,7 +5,7 @@
     <parent>
         <groupId>org.onap.cps</groupId>
         <artifactId>cps-parent</artifactId>
-        <version>3.3.6-SNAPSHOT</version>
+        <version>3.3.7-SNAPSHOT</version>
         <relativePath>../cps-parent/pom.xml</relativePath>
     </parent>
     <modelVersion>4.0.0</modelVersion>
diff --git a/pom.xml b/pom.xml
index 6e8f4ac..0834767 100644 (file)
--- a/pom.xml
+++ b/pom.xml
@@ -32,7 +32,7 @@
 \r
     <groupId>org.onap.cps</groupId>\r
     <artifactId>cps-aggregator</artifactId>\r
-    <version>3.3.6-SNAPSHOT</version>\r
+    <version>3.3.7-SNAPSHOT</version>\r
     <packaging>pom</packaging>\r
 \r
     <name>cps</name>\r
diff --git a/releases/3.3.6-container.yaml b/releases/3.3.6-container.yaml
new file mode 100644 (file)
index 0000000..4711016
--- /dev/null
@@ -0,0 +1,8 @@
+distribution_type: container
+container_release_tag: 3.3.6
+project: cps
+log_dir: cps-maven-docker-stage-master/927/
+ref: 41c7d00a68c0dd6a0fc49f6b22cc5a19753edea9
+containers:
+  - name: 'cps-and-ncmp'
+    version: '3.3.6-20230823T110851Z'
\ No newline at end of file
diff --git a/releases/3.3.6.yaml b/releases/3.3.6.yaml
new file mode 100644 (file)
index 0000000..35957fe
--- /dev/null
@@ -0,0 +1,4 @@
+distribution_type: maven
+log_dir: cps-maven-stage-master/935/
+project: cps
+version: 3.3.6
\ No newline at end of file
index 546076f..daa4756 100644 (file)
@@ -25,7 +25,7 @@
     <modelVersion>4.0.0</modelVersion>
     <groupId>org.onap.cps</groupId>
     <artifactId>spotbugs</artifactId>
-    <version>3.3.6-SNAPSHOT</version>
+    <version>3.3.7-SNAPSHOT</version>
 
     <properties>
         <nexusproxy>https://nexus.onap.org</nexusproxy>
index d567eec..b583c9e 100755 (executable)
@@ -22,7 +22,7 @@
 
 major=3
 minor=3
-patch=6
+patch=7
 
 base_version=${major}.${minor}.${patch}