summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--checkstyle/pom.xml2
-rwxr-xr-xcps-application/pom.xml2
-rw-r--r--cps-bom/pom.xml2
-rwxr-xr-xcps-dependencies/pom.xml2
-rw-r--r--cps-events/pom.xml2
-rw-r--r--cps-ncmp-events/pom.xml2
-rw-r--r--cps-ncmp-rest-stub/pom.xml2
-rw-r--r--cps-ncmp-rest/pom.xml2
-rw-r--r--cps-ncmp-service/pom.xml2
-rw-r--r--cps-ncmp-service/src/main/java/org/onap/cps/ncmp/api/impl/event/lcm/LcmEventsService.java7
-rw-r--r--cps-ncmp-service/src/test/groovy/org/onap/cps/ncmp/api/impl/event/lcm/LcmEventsServiceSpec.groovy14
-rwxr-xr-xcps-parent/pom.xml2
-rw-r--r--cps-path-parser/pom.xml2
-rwxr-xr-xcps-rest/pom.xml2
-rw-r--r--cps-ri/pom.xml2
-rw-r--r--cps-ri/src/main/java/org/onap/cps/spi/entities/YangResourceEntity.java1
-rw-r--r--cps-ri/src/main/resources/changelog/changelog-master.yaml4
-rw-r--r--cps-ri/src/main/resources/changelog/db/changes/16-insert-cm-handle-state-forward.sql3
-rw-r--r--cps-ri/src/main/resources/changelog/db/changes/16-insert-cm-handle-state-rollback.sql4
-rw-r--r--cps-ri/src/main/resources/changelog/db/changes/16-insert-cm-handle-state.yaml11
-rw-r--r--cps-service/pom.xml2
-rw-r--r--cps-service/src/test/groovy/org/onap/cps/utils/GsonSpec.groovy40
-rw-r--r--cps-service/src/test/groovy/org/onap/cps/utils/JsonParserStreamSpec.groovy51
-rw-r--r--cps-service/src/test/resources/multiple-object-data.json8
-rw-r--r--cps-service/src/test/resources/multipleDataTree.yang23
-rw-r--r--docs/cps-events.rst39
-rwxr-xr-xdocs/release-notes.rst119
-rw-r--r--docs/schemas/ncmp-async-request-response-event-schema-v1.json197
-rw-r--r--jacoco-report/pom.xml2
-rw-r--r--pom.xml6
-rw-r--r--releases/3.1.1-container.yaml8
-rw-r--r--releases/3.1.1.yaml2
-rw-r--r--releases/3.1.2-container.yaml8
-rw-r--r--releases/3.1.2.yaml4
-rw-r--r--releases/3.1.3-container.yaml8
-rw-r--r--releases/3.1.3.yaml4
-rw-r--r--releases/3.1.4-container.yaml8
-rw-r--r--releases/3.1.4.yaml4
-rw-r--r--spotbugs/pom.xml2
-rwxr-xr-xversion.properties2
40 files changed, 579 insertions, 28 deletions
diff --git a/checkstyle/pom.xml b/checkstyle/pom.xml
index d2b08dec44..9a3896899c 100644
--- a/checkstyle/pom.xml
+++ b/checkstyle/pom.xml
@@ -26,7 +26,7 @@
<modelVersion>4.0.0</modelVersion>
<groupId>org.onap.cps</groupId>
<artifactId>checkstyle</artifactId>
- <version>3.1.1-SNAPSHOT</version>
+ <version>3.1.5-SNAPSHOT</version>
<profiles>
<profile>
diff --git a/cps-application/pom.xml b/cps-application/pom.xml
index abc9ac755e..20bfb0dc4d 100755
--- a/cps-application/pom.xml
+++ b/cps-application/pom.xml
@@ -27,7 +27,7 @@
<parent>
<groupId>org.onap.cps</groupId>
<artifactId>cps-parent</artifactId>
- <version>3.1.1-SNAPSHOT</version>
+ <version>3.1.5-SNAPSHOT</version>
<relativePath>../cps-parent/pom.xml</relativePath>
</parent>
diff --git a/cps-bom/pom.xml b/cps-bom/pom.xml
index 93eca48553..e80e6b4872 100644
--- a/cps-bom/pom.xml
+++ b/cps-bom/pom.xml
@@ -25,7 +25,7 @@
<modelVersion>4.0.0</modelVersion>
<groupId>org.onap.cps</groupId>
<artifactId>cps-bom</artifactId>
- <version>3.1.1-SNAPSHOT</version>
+ <version>3.1.5-SNAPSHOT</version>
<packaging>pom</packaging>
<description>This artifact contains dependencyManagement declarations of all published CPS components.</description>
diff --git a/cps-dependencies/pom.xml b/cps-dependencies/pom.xml
index 4db0a3cd91..a3d42ddbd6 100755
--- a/cps-dependencies/pom.xml
+++ b/cps-dependencies/pom.xml
@@ -27,7 +27,7 @@
<modelVersion>4.0.0</modelVersion>
<groupId>org.onap.cps</groupId>
<artifactId>cps-dependencies</artifactId>
- <version>3.1.1-SNAPSHOT</version>
+ <version>3.1.5-SNAPSHOT</version>
<packaging>pom</packaging>
<name>${project.groupId}:${project.artifactId}</name>
diff --git a/cps-events/pom.xml b/cps-events/pom.xml
index c75f465ff6..39f8e49765 100644
--- a/cps-events/pom.xml
+++ b/cps-events/pom.xml
@@ -24,7 +24,7 @@
<parent>
<groupId>org.onap.cps</groupId>
<artifactId>cps-parent</artifactId>
- <version>3.1.1-SNAPSHOT</version>
+ <version>3.1.5-SNAPSHOT</version>
<relativePath>../cps-parent/pom.xml</relativePath>
</parent>
diff --git a/cps-ncmp-events/pom.xml b/cps-ncmp-events/pom.xml
index d423e910d5..4658894858 100644
--- a/cps-ncmp-events/pom.xml
+++ b/cps-ncmp-events/pom.xml
@@ -23,7 +23,7 @@
<parent>
<groupId>org.onap.cps</groupId>
<artifactId>cps-parent</artifactId>
- <version>3.1.1-SNAPSHOT</version>
+ <version>3.1.5-SNAPSHOT</version>
<relativePath>../cps-parent/pom.xml</relativePath>
</parent>
diff --git a/cps-ncmp-rest-stub/pom.xml b/cps-ncmp-rest-stub/pom.xml
index 5b4da8b2bc..2a4979a331 100644
--- a/cps-ncmp-rest-stub/pom.xml
+++ b/cps-ncmp-rest-stub/pom.xml
@@ -26,7 +26,7 @@
<parent>
<groupId>org.onap.cps</groupId>
<artifactId>cps-parent</artifactId>
- <version>3.1.1-SNAPSHOT</version>
+ <version>3.1.5-SNAPSHOT</version>
<relativePath>../cps-parent/pom.xml</relativePath>
</parent>
diff --git a/cps-ncmp-rest/pom.xml b/cps-ncmp-rest/pom.xml
index 7202101831..a4c44ba769 100644
--- a/cps-ncmp-rest/pom.xml
+++ b/cps-ncmp-rest/pom.xml
@@ -27,7 +27,7 @@
<parent>
<groupId>org.onap.cps</groupId>
<artifactId>cps-parent</artifactId>
- <version>3.1.1-SNAPSHOT</version>
+ <version>3.1.5-SNAPSHOT</version>
<relativePath>../cps-parent/pom.xml</relativePath>
</parent>
diff --git a/cps-ncmp-service/pom.xml b/cps-ncmp-service/pom.xml
index 0e192bd8a3..6a9d9485c4 100644
--- a/cps-ncmp-service/pom.xml
+++ b/cps-ncmp-service/pom.xml
@@ -27,7 +27,7 @@
<parent>
<groupId>org.onap.cps</groupId>
<artifactId>cps-parent</artifactId>
- <version>3.1.1-SNAPSHOT</version>
+ <version>3.1.5-SNAPSHOT</version>
<relativePath>../cps-parent/pom.xml</relativePath>
</parent>
diff --git a/cps-ncmp-service/src/main/java/org/onap/cps/ncmp/api/impl/event/lcm/LcmEventsService.java b/cps-ncmp-service/src/main/java/org/onap/cps/ncmp/api/impl/event/lcm/LcmEventsService.java
index 762b21ef34..d6857d36ae 100644
--- a/cps-ncmp-service/src/main/java/org/onap/cps/ncmp/api/impl/event/lcm/LcmEventsService.java
+++ b/cps-ncmp-service/src/main/java/org/onap/cps/ncmp/api/impl/event/lcm/LcmEventsService.java
@@ -24,6 +24,7 @@ import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.onap.ncmp.cmhandle.event.lcm.LcmEvent;
import org.springframework.beans.factory.annotation.Value;
+import org.springframework.kafka.KafkaException;
import org.springframework.stereotype.Service;
/**
@@ -51,7 +52,11 @@ public class LcmEventsService {
*/
public void publishLcmEvent(final String cmHandleId, final LcmEvent lcmEvent) {
if (notificationsEnabled) {
- lcmEventsPublisher.publishEvent(topicName, cmHandleId, lcmEvent);
+ try {
+ lcmEventsPublisher.publishEvent(topicName, cmHandleId, lcmEvent);
+ } catch (final KafkaException e) {
+ log.error("Unable to publish message to topic : {} and cause : {}", topicName, e.getMessage());
+ }
} else {
log.debug("Notifications disabled.");
}
diff --git a/cps-ncmp-service/src/test/groovy/org/onap/cps/ncmp/api/impl/event/lcm/LcmEventsServiceSpec.groovy b/cps-ncmp-service/src/test/groovy/org/onap/cps/ncmp/api/impl/event/lcm/LcmEventsServiceSpec.groovy
index 1eae357bb6..ef399e1c65 100644
--- a/cps-ncmp-service/src/test/groovy/org/onap/cps/ncmp/api/impl/event/lcm/LcmEventsServiceSpec.groovy
+++ b/cps-ncmp-service/src/test/groovy/org/onap/cps/ncmp/api/impl/event/lcm/LcmEventsServiceSpec.groovy
@@ -21,6 +21,7 @@
package org.onap.cps.ncmp.api.impl.event.lcm
import org.onap.ncmp.cmhandle.event.lcm.LcmEvent
+import org.springframework.kafka.KafkaException
import spock.lang.Specification
class LcmEventsServiceSpec extends Specification {
@@ -45,4 +46,17 @@ class LcmEventsServiceSpec extends Specification {
'disabled' | false || 0
}
+ def 'Unable to send message'(){
+ given: 'a cm handle id and Lcm Event and notification enabled'
+ def cmHandleId = 'test-cm-handle-id'
+ def lcmEvent = new LcmEvent(eventId: UUID.randomUUID().toString(), eventCorrelationId: cmHandleId)
+ objectUnderTest.notificationsEnabled = true
+ when: 'publisher set to throw an exception'
+ mockLcmEventsPublisher.publishEvent(*_) >> { throw new KafkaException('publishing failed')}
+ and: 'an event is publised'
+ objectUnderTest.publishLcmEvent(cmHandleId, lcmEvent)
+ then: 'the exception is just logged and not bubbled up'
+ noExceptionThrown()
+ }
+
}
diff --git a/cps-parent/pom.xml b/cps-parent/pom.xml
index 9779b92352..8739e2ce3e 100755
--- a/cps-parent/pom.xml
+++ b/cps-parent/pom.xml
@@ -32,7 +32,7 @@
<groupId>org.onap.cps</groupId>
<artifactId>cps-parent</artifactId>
- <version>3.1.1-SNAPSHOT</version>
+ <version>3.1.5-SNAPSHOT</version>
<packaging>pom</packaging>
<properties>
diff --git a/cps-path-parser/pom.xml b/cps-path-parser/pom.xml
index d68d6db3d8..ffac3b02a1 100644
--- a/cps-path-parser/pom.xml
+++ b/cps-path-parser/pom.xml
@@ -23,7 +23,7 @@
<parent>
<groupId>org.onap.cps</groupId>
<artifactId>cps-parent</artifactId>
- <version>3.1.1-SNAPSHOT</version>
+ <version>3.1.5-SNAPSHOT</version>
<relativePath>../cps-parent/pom.xml</relativePath>
</parent>
diff --git a/cps-rest/pom.xml b/cps-rest/pom.xml
index 47f45e3812..37b3e46247 100755
--- a/cps-rest/pom.xml
+++ b/cps-rest/pom.xml
@@ -28,7 +28,7 @@
<parent>
<groupId>org.onap.cps</groupId>
<artifactId>cps-parent</artifactId>
- <version>3.1.1-SNAPSHOT</version>
+ <version>3.1.5-SNAPSHOT</version>
<relativePath>../cps-parent/pom.xml</relativePath>
</parent>
diff --git a/cps-ri/pom.xml b/cps-ri/pom.xml
index f00a5953f9..5cdbf90c48 100644
--- a/cps-ri/pom.xml
+++ b/cps-ri/pom.xml
@@ -26,7 +26,7 @@
<parent>
<groupId>org.onap.cps</groupId>
<artifactId>cps-parent</artifactId>
- <version>3.1.1-SNAPSHOT</version>
+ <version>3.1.5-SNAPSHOT</version>
<relativePath>../cps-parent/pom.xml</relativePath>
</parent>
diff --git a/cps-ri/src/main/java/org/onap/cps/spi/entities/YangResourceEntity.java b/cps-ri/src/main/java/org/onap/cps/spi/entities/YangResourceEntity.java
index 7a864a9216..53ae820262 100644
--- a/cps-ri/src/main/java/org/onap/cps/spi/entities/YangResourceEntity.java
+++ b/cps-ri/src/main/java/org/onap/cps/spi/entities/YangResourceEntity.java
@@ -66,7 +66,6 @@ public class YangResourceEntity implements Serializable {
@Column
private String moduleName;
- @NotNull
@Column
private String revision;
diff --git a/cps-ri/src/main/resources/changelog/changelog-master.yaml b/cps-ri/src/main/resources/changelog/changelog-master.yaml
index 218e78b85c..cb5392ba57 100644
--- a/cps-ri/src/main/resources/changelog/changelog-master.yaml
+++ b/cps-ri/src/main/resources/changelog/changelog-master.yaml
@@ -45,4 +45,6 @@ databaseChangeLog:
- include:
file: changelog/db/changes/14-loadData-dmi-registry-2022-05-10-schema-set.yaml
- include:
- file: changelog/db/changes/15-rename-column-yang-resource-table.yaml \ No newline at end of file
+ file: changelog/db/changes/15-rename-column-yang-resource-table.yaml
+ - include:
+ file: changelog/db/changes/16-insert-cm-handle-state.yaml \ No newline at end of file
diff --git a/cps-ri/src/main/resources/changelog/db/changes/16-insert-cm-handle-state-forward.sql b/cps-ri/src/main/resources/changelog/db/changes/16-insert-cm-handle-state-forward.sql
new file mode 100644
index 0000000000..64b185f3b2
--- /dev/null
+++ b/cps-ri/src/main/resources/changelog/db/changes/16-insert-cm-handle-state-forward.sql
@@ -0,0 +1,3 @@
+create view cmHandles as select * from fragment where xpath ~* '^/dmi-registry/cm-handles\[@id=''[\w\-]+''\]$';
+insert into fragment(xpath, attributes, anchor_id, parent_id, dataspace_id, schema_node_id) select concat(xpath, '/state'), to_jsonb(concat('{"cm-handle-state": "ADVISED", "last-update-time": "', to_char(now(), 'YYYY-MM-DD"T"HH24:MI:SS.MSTZHTZM'), '"}')::json), anchor_id, id, dataspace_id, schema_node_id from cmHandles;
+drop view cmHandles; \ No newline at end of file
diff --git a/cps-ri/src/main/resources/changelog/db/changes/16-insert-cm-handle-state-rollback.sql b/cps-ri/src/main/resources/changelog/db/changes/16-insert-cm-handle-state-rollback.sql
new file mode 100644
index 0000000000..aaf05a24cb
--- /dev/null
+++ b/cps-ri/src/main/resources/changelog/db/changes/16-insert-cm-handle-state-rollback.sql
@@ -0,0 +1,4 @@
+delete from fragment where xpath ~* '^/dmi-registry/cm-handles\[@id=''[\w\-]+''\]/state/lock-reason$';
+delete from fragment where xpath ~* '^/dmi-registry/cm-handles\[@id=''[\w\-]+''\]/state/datastores/operational$';
+delete from fragment where xpath ~* '^/dmi-registry/cm-handles\[@id=''[\w\-]+''\]/state/datastores$';
+delete from fragment where xpath ~* '^/dmi-registry/cm-handles\[@id=''[\w\-]+''\]/state$'; \ No newline at end of file
diff --git a/cps-ri/src/main/resources/changelog/db/changes/16-insert-cm-handle-state.yaml b/cps-ri/src/main/resources/changelog/db/changes/16-insert-cm-handle-state.yaml
new file mode 100644
index 0000000000..0f8c429f4a
--- /dev/null
+++ b/cps-ri/src/main/resources/changelog/db/changes/16-insert-cm-handle-state.yaml
@@ -0,0 +1,11 @@
+databaseChangeLog:
+ - changeSet:
+ author: cps
+ label: insert-cm-handle-state
+ id: 16
+ changes:
+ - sqlFile:
+ path: changelog/db/changes/16-insert-cm-handle-state-forward.sql
+ rollback:
+ - sqlFile:
+ path: changelog/db/changes/16-insert-cm-handle-state-rollback.sql \ No newline at end of file
diff --git a/cps-service/pom.xml b/cps-service/pom.xml
index 56082f9e03..51cf32475c 100644
--- a/cps-service/pom.xml
+++ b/cps-service/pom.xml
@@ -28,7 +28,7 @@
<parent>
<groupId>org.onap.cps</groupId>
<artifactId>cps-parent</artifactId>
- <version>3.1.1-SNAPSHOT</version>
+ <version>3.1.5-SNAPSHOT</version>
<relativePath>../cps-parent/pom.xml</relativePath>
</parent>
diff --git a/cps-service/src/test/groovy/org/onap/cps/utils/GsonSpec.groovy b/cps-service/src/test/groovy/org/onap/cps/utils/GsonSpec.groovy
new file mode 100644
index 0000000000..c100ea31d5
--- /dev/null
+++ b/cps-service/src/test/groovy/org/onap/cps/utils/GsonSpec.groovy
@@ -0,0 +1,40 @@
+package org.onap.cps.utils
+
+import com.google.gson.stream.JsonReader
+import org.onap.cps.TestUtils
+import spock.lang.Specification
+
+
+class GsonSpec extends Specification{
+
+ def 'Iterate over JSON data with gson JsonReader'(){
+ given: 'json data with two objects and JSON reader'
+ def jsonData = TestUtils.getResourceFileContent('multiple-object-data.json')
+ def objectUnderTest = new JsonReader(new StringReader(jsonData));
+ when: 'data is iterated over with JsonReader methods'
+ iterateWithJsonReader(objectUnderTest)
+ then: 'no exception is thrown'
+ noExceptionThrown()
+ }
+
+ def iterateWithJsonReader(JsonReader jsonReader){
+ switch(jsonReader.peek()) {
+ case "STRING":
+ print(jsonReader.nextString() + " ")
+ break;
+ case "BEGIN_OBJECT":
+ jsonReader.beginObject();
+ while (jsonReader.hasNext()) {
+ print(jsonReader.nextName() + " ")
+ iterateWithJsonReader(jsonReader)
+ }
+ jsonReader.endObject();
+ println("")
+ break;
+ default:
+ break;
+ }
+ }
+
+
+}
diff --git a/cps-service/src/test/groovy/org/onap/cps/utils/JsonParserStreamSpec.groovy b/cps-service/src/test/groovy/org/onap/cps/utils/JsonParserStreamSpec.groovy
new file mode 100644
index 0000000000..68f9251eb9
--- /dev/null
+++ b/cps-service/src/test/groovy/org/onap/cps/utils/JsonParserStreamSpec.groovy
@@ -0,0 +1,51 @@
+package org.onap.cps.utils
+
+import com.google.gson.stream.JsonReader
+import org.onap.cps.yang.YangTextSchemaSourceSetBuilder
+import org.opendaylight.yangtools.yang.common.QName
+import org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier
+import org.opendaylight.yangtools.yang.data.api.schema.ContainerNode
+import org.opendaylight.yangtools.yang.data.api.schema.NormalizedNode
+import org.opendaylight.yangtools.yang.data.codec.gson.JSONCodecFactorySupplier
+import org.opendaylight.yangtools.yang.data.codec.gson.JsonParserStream
+import org.opendaylight.yangtools.yang.data.impl.schema.Builders
+import org.opendaylight.yangtools.yang.data.impl.schema.ImmutableNormalizedNodeStreamWriter
+import org.opendaylight.yangtools.yang.data.impl.schema.builder.api.DataContainerNodeBuilder
+import org.opendaylight.yangtools.yang.model.api.EffectiveModelContext;
+import spock.lang.Specification
+import org.onap.cps.TestUtils
+
+class JsonParserStreamSpec extends Specification{
+
+ def 'Multiple data tree parsing with ODL JsonStreamParser'(){
+ given: 'json data with two objects and JSON reader'
+ def jsonData = TestUtils.getResourceFileContent('multiple-object-data.json')
+ def jsonReader = new JsonReader(new StringReader(jsonData))
+ def yangResourcesMap = TestUtils.getYangResourcesAsMap('multipleDataTree.yang')
+ and: 'schema context'
+ def schemaContext = YangTextSchemaSourceSetBuilder.of(yangResourcesMap).getSchemaContext()
+ and: 'variable to store the result of parsing'
+ DataContainerNodeBuilder<YangInstanceIdentifier.NodeIdentifier, ContainerNode> builder =
+ Builders.containerBuilder().withNodeIdentifier(new YangInstanceIdentifier.NodeIdentifier(schemaContext.getQName()));
+ def normalizedNodeStreamWriter = ImmutableNormalizedNodeStreamWriter.from(builder);
+ def jsonCodecFactory = JSONCodecFactorySupplier.DRAFT_LHOTKA_NETMOD_YANG_JSON_02
+ .getShared((EffectiveModelContext) schemaContext);
+ and: 'JSON parser stream'
+ def jsonParserStream = JsonParserStream.create(normalizedNodeStreamWriter, jsonCodecFactory)
+ when: 'parsing is invoked with the given JSON reader'
+ jsonParserStream.parse(jsonReader)
+ def result = builder.build()
+ then: 'result is the correct size'
+ result.size() == 2
+ then: 'data container child is a type of normalized node'
+ def dataContainerChild = result.getValue()[index]
+ dataContainerChild instanceof NormalizedNode == true
+ then: 'qualified name created is as expected'
+ dataContainerChild.nodeType == QName.create('org:onap:ccsdk:multiDataTree', '2020-09-15', nodeName)
+ where:
+ index | nodeName
+ 0 | 'first-container'
+ 1 | 'last-container'
+
+ }
+} \ No newline at end of file
diff --git a/cps-service/src/test/resources/multiple-object-data.json b/cps-service/src/test/resources/multiple-object-data.json
new file mode 100644
index 0000000000..a3c46763a7
--- /dev/null
+++ b/cps-service/src/test/resources/multiple-object-data.json
@@ -0,0 +1,8 @@
+{
+ "first-container": {
+ "a-leaf": "a-Value"
+ },
+ "last-container": {
+ "x-leaf": "x-value"
+ }
+} \ No newline at end of file
diff --git a/cps-service/src/test/resources/multipleDataTree.yang b/cps-service/src/test/resources/multipleDataTree.yang
new file mode 100644
index 0000000000..15fd04246a
--- /dev/null
+++ b/cps-service/src/test/resources/multipleDataTree.yang
@@ -0,0 +1,23 @@
+module multipleDataTree {
+ yang-version 1.1;
+ namespace "org:onap:ccsdk:multiDataTree";
+
+ prefix multiple-data-tree;
+
+ revision "2020-09-15" {
+ description
+ "Sample Model for multiple data tree";
+ }
+
+ container first-container {
+ leaf a-leaf {
+ type string;
+ }
+ }
+
+ container last-container {
+ leaf x-leaf {
+ type string;
+ }
+ }
+}
diff --git a/docs/cps-events.rst b/docs/cps-events.rst
index dce1a30feb..df37de3632 100644
--- a/docs/cps-events.rst
+++ b/docs/cps-events.rst
@@ -11,6 +11,45 @@ CPS Events
CPS-NCMP
********
+Async events are triggered when a valid topic has been detected in a passthrough operation.
+
+:download:`NCMP request response event schema <schemas/ncmp-async-request-response-event-schema-v1.json>`
+
+Event header
+^^^^^^^^^^^^^
+
+.. code-block:: json
+
+ {
+ "eventId" : "001",
+ "eventCorrelationId" : "cps-001",
+ "eventTime" : "2022-09-28T12:24:21.003+0000",
+ "eventTarget" : "test-topic",
+ "eventType" : "org.onap.cps.ncmp.event.model.DmiAsyncRequestResponseEvent",
+ "eventSchema" : "urn:cps:org.onap.cps.ncmp.event.model.DmiAsyncRequestResponseEvent:v1",
+ "forwarded-Event" : { ... }
+ }
+
+Forwarded-Event Payload
+^^^^^^^^^^^^^^^^^^^^^^^
+
+.. code-block:: json
+
+ "Forwarded-Event": {
+ "eventId" : "002",
+ "eventCorrelationId" : "cps-001",
+ "eventTime" : "2022-09-28T12:24:18.340+0000",
+ "eventTarget" : "test-topic",
+ "eventType" : "org.onap.cps.ncmp.event.model.DmiAsyncRequestResponseEvent",
+ "eventSchema" : "urn:cps:org.onap.cps.ncmp.event.model.DmiAsyncRequestResponseEvent:v1",
+ "eventSource" : "org.onap.cps.ncmp.dmi",
+ "response-data-schema" : "urn:cps:org.onap.cps.ncmp.event.model.DmiAsyncRequestResponseEvent:v1",
+ "response-status" : "OK",
+ "response-code" : "200",
+ "response-data" : { ... }
+ }
+
+
Lifecycle Management (LCM) Event
================================
diff --git a/docs/release-notes.rst b/docs/release-notes.rst
index 5d3aa9205e..aec3f3b1f2 100755
--- a/docs/release-notes.rst
+++ b/docs/release-notes.rst
@@ -12,9 +12,120 @@ CPS Release Notes
:depth: 2
..
-.. ====================
-.. * * * KOHN * * *
-.. ====================
+.. ======================
+.. * * * LONDON * * *
+.. ======================
+
+Version: 3.2.0 (not yet released)
+=================================
+
+Release Data
+------------
+
++--------------------------------------+--------------------------------------------------------+
+| **CPS Project** | |
+| | |
++--------------------------------------+--------------------------------------------------------+
+| **Docker images** | onap/cps-and-ncmp:3.2.0 |
+| | |
++--------------------------------------+--------------------------------------------------------+
+| **Release designation** | 3.2.0 London |
+| | |
++--------------------------------------+--------------------------------------------------------+
+| **Release date** | (not yet released) |
+| | |
++--------------------------------------+--------------------------------------------------------+
+Features
+--------
+ - `CPS-1185 <https://jira.onap.org/browse/CPS-1185>`_ Get all dataspaces
+ - `CPS-1186 <https://jira.onap.org/browse/CPS-1186>`_ Get all schema sets for a dataspace
+ - `CPS-1187 <https://jira.onap.org/browse/CPS-1187>`_ Get single dataspace
+ - `CPS-1189 <https://jira.onap.org/browse/CPS-1189>`_ Various create endpoints should return 201 response with empty body
+
+Bug Fixes
+---------
+ - `CPS-1312 <https://jira.onap.org/browse/CPS-1312>`_ CPS(/NCMP) does not have version control
+
+Known Limitations, Issues and Workarounds
+-----------------------------------------
+
+*System Limitations*
+
+For upgrading, CPS uses Liquibase for database upgrades. CPS currently only supports upgrading from Liquibase changelog 11 to Liquibase changelog 16.
+This is from commit CPS-506: List all known modules and revision to CPS-1312: Default CMHandles to READY during upgrade or from ONAP release Honolulu to London.
+
+Version: 3.1.4
+==============
+
+Release Data
+------------
+
++--------------------------------------+--------------------------------------------------------+
+| **CPS Project** | |
+| | |
++--------------------------------------+--------------------------------------------------------+
+| **Docker images** | onap/cps-and-ncmp:3.1.4 |
+| | |
++--------------------------------------+--------------------------------------------------------+
+| **Release designation** | 3.1.4 Kohn |
+| | |
++--------------------------------------+--------------------------------------------------------+
+| **Release date** | 2022 October 5 |
+| | |
++--------------------------------------+--------------------------------------------------------+
+
+Bug Fixes
+---------
+ - `CPS-1265 <https://jira.onap.org/browse/CPS-1265>`_ Revision field should not be required (NotNull) on cps-ri YangResourceEntity
+ - `CPS-1294 <https://jira.onap.org/browse/CPS-1294>`_ Kafka communication fault caused cmHandle registration error
+
+Version: 3.1.3
+==============
+
+Release Data
+------------
+
++--------------------------------------+--------------------------------------------------------+
+| **CPS Project** | |
+| | |
++--------------------------------------+--------------------------------------------------------+
+| **Docker images** | onap/cps-and-ncmp:3.1.3 |
+| | |
++--------------------------------------+--------------------------------------------------------+
+| **Release designation** | 3.1.3 Kohn |
+| | |
++--------------------------------------+--------------------------------------------------------+
+| **Release date** | 2022 September 29 |
+| | |
++--------------------------------------+--------------------------------------------------------+
+
+Bug Fixes
+---------
+ - None
+
+Version: 3.1.2
+==============
+
+Release Data
+------------
+
++--------------------------------------+--------------------------------------------------------+
+| **CPS Project** | |
+| | |
++--------------------------------------+--------------------------------------------------------+
+| **Docker images** | onap/cps-and-ncmp:3.1.2 |
+| | |
++--------------------------------------+--------------------------------------------------------+
+| **Release designation** | 3.1.2 Kohn |
+| | |
++--------------------------------------+--------------------------------------------------------+
+| **Release date** | 2022 September 28 |
+| | |
++--------------------------------------+--------------------------------------------------------+
+
+Bug Fixes
+---------
+ - None
Version: 3.1.1
==============
@@ -32,7 +143,7 @@ Release Data
| **Release designation** | 3.1.1 Kohn |
| | |
+--------------------------------------+--------------------------------------------------------+
-| **Release date** | (yet to release) |
+| **Release date** | 2022 September 28 |
| | |
+--------------------------------------+--------------------------------------------------------+
diff --git a/docs/schemas/ncmp-async-request-response-event-schema-v1.json b/docs/schemas/ncmp-async-request-response-event-schema-v1.json
new file mode 100644
index 0000000000..51c2cf4d40
--- /dev/null
+++ b/docs/schemas/ncmp-async-request-response-event-schema-v1.json
@@ -0,0 +1,197 @@
+{
+ "$schema": "https://json-schema.org/draft/2019-09/schema",
+ "$id": "urn:cps:org.onap.cps.ncmp.events:ncmp-async-request-response-event-schema:v1",
+ "$ref": "#/definitions/NcmpAsyncRequestResponseEvent",
+ "definitions": {
+ "NcmpAsyncRequestResponseEvent": {
+ "description": "The payload for CPS async request response event.",
+ "type": "object",
+ "properties": {
+ "eventId": {
+ "description": "The unique id identifying the event generated by DMI.",
+ "type": "string"
+ },
+ "eventCorrelationId": {
+ "description": "The request id passed by NCMP.",
+ "type": "string"
+ },
+ "eventTime": {
+ "description": "The time of the event. The expected format is 'yyyy-MM-dd'T'HH:mm:ss.SSSZ'.",
+ "type": "string"
+ },
+ "eventTarget": {
+ "description": "The target of the event.",
+ "type": "string"
+ },
+ "eventType": {
+ "description": "The type of the event.",
+ "type": "string"
+ },
+ "eventSchema": {
+ "description": "The event schema for async request response events.",
+ "type": "string"
+ },
+ "eventSchemaVersion": {
+ "description": "The event schema version for async request response events.",
+ "type": "string"
+ },
+ "event": {
+ "$ref": "#/definitions/Event"
+ },
+ "forwardedEvent": {
+ "$ref": "#/definitions/Forwarded-Event"
+ }
+ },
+ "required": [
+ "eventId",
+ "eventCorrelationId",
+ "eventTime",
+ "eventTarget",
+ "eventType",
+ "eventSchema",
+ "eventSchemaVersion"
+ ]
+ },
+ "Forwarded-Event": {
+ "description": "The event content.",
+ "type": "object",
+ "properties": {
+ "eventId": {
+ "description": "The unique id identifying the event generated by DMI.",
+ "type": "string"
+ },
+ "eventCorrelationId": {
+ "description": "The request id passed by NCMP.",
+ "type": "string"
+ },
+ "eventTime": {
+ "description": "The time of the event. The expected format is 'yyyy-MM-dd'T'HH:mm:ss.SSSZ'.",
+ "type": "string"
+ },
+ "eventTarget": {
+ "description": "The target of the event.",
+ "type": "string"
+ },
+ "eventType": {
+ "description": "The type of the event.",
+ "type": "string"
+ },
+ "eventSchema": {
+ "description": "The event schema for async request response events.",
+ "type": "string"
+ },
+ "eventSchemaVersion": {
+ "description": "The event schema version for async request response events.",
+ "type": "string"
+ },
+ "eventSource": {
+ "description": "The source of the event.",
+ "type": "string"
+ },
+ "response-data-schema": {
+ "description": "The received schema of response data",
+ "type": "string"
+ },
+ "response-status": {
+ "description": "The received status of the response.",
+ "type": "string"
+ },
+ "response-code": {
+ "description": "The received code of the response.",
+ "type": "string"
+ },
+ "forwardedEventData": {
+ "description": "The data payload",
+ "type": "object",
+ "properties": {
+ "forwardedEventPayload": {
+ "type": "object"
+ }
+ }
+ },
+ "required": [
+ "eventId",
+ "eventCorrelationId",
+ "eventTime",
+ "eventTarget",
+ "eventType",
+ "eventSchema",
+ "eventSchemaVersion",
+ "eventSource",
+ "response-data-schema",
+ "response-status",
+ "response-code",
+ "forwardedEventData"
+ ]
+ }
+ },
+ "Event": {
+ "description": "The event content.",
+ "type": "object",
+ "properties": {
+ "eventId": {
+ "description": "The unique id identifying the event generated by DMI",
+ "type": "string"
+ },
+ "eventCorrelationId": {
+ "description": "The request id passed by NCMP.",
+ "type": "string"
+ },
+ "eventTime": {
+ "description": "The time of the event. The expected format is 'yyyy-MM-dd'T'HH:mm:ss.SSSZ'.",
+ "type": "string"
+ },
+ "eventTarget": {
+ "description": "The target of the event.",
+ "type": "string"
+ },
+ "eventType": {
+ "description": "The type of the event.",
+ "type": "string"
+ },
+ "eventSchema": {
+ "description": "The event schema for async request response events.",
+ "type": "string"
+ },
+ "eventSource": {
+ "description": "The source of the event.",
+ "type": "string"
+ },
+ "response-data-schema": {
+ "description": "The received schema of response data",
+ "type": "string"
+ },
+ "response-status": {
+ "description": "The received status of the response.",
+ "type": "string"
+ },
+ "response-code": {
+ "description": "The received code of the response.",
+ "type": "string"
+ },
+ "response-data": {
+ "description": "The data payload",
+ "type": "object",
+ "properties": {
+ "payload": {
+ "type": "object"
+ }
+ }
+ },
+ "required": [
+ "eventId",
+ "eventCorrelationId",
+ "eventTarget",
+ "eventTime",
+ "eventType",
+ "eventSchema",
+ "eventSource",
+ "response-data-schema",
+ "response-status",
+ "response-code",
+ "event-data"
+ ]
+ }
+ }
+ }
+} \ No newline at end of file
diff --git a/jacoco-report/pom.xml b/jacoco-report/pom.xml
index 1173bbd640..a78399872c 100644
--- a/jacoco-report/pom.xml
+++ b/jacoco-report/pom.xml
@@ -5,7 +5,7 @@
<parent>
<groupId>org.onap.cps</groupId>
<artifactId>cps-parent</artifactId>
- <version>3.1.1-SNAPSHOT</version>
+ <version>3.1.5-SNAPSHOT</version>
<relativePath>../cps-parent/pom.xml</relativePath>
</parent>
<modelVersion>4.0.0</modelVersion>
diff --git a/pom.xml b/pom.xml
index c81037e2ef..7ae1542991 100644
--- a/pom.xml
+++ b/pom.xml
@@ -32,7 +32,7 @@
<groupId>org.onap.cps</groupId>
<artifactId>cps-aggregator</artifactId>
- <version>3.1.1-SNAPSHOT</version>
+ <version>3.1.5-SNAPSHOT</version>
<packaging>pom</packaging>
<name>cps</name>
@@ -44,8 +44,8 @@
</organization>
<properties>
- <maven.deploy.skip>true</maven.deploy.skip>
- <maven.install.skip>true</maven.install.skip>
+ <maven.deploy.skip>false</maven.deploy.skip>
+ <maven.install.skip>false</maven.install.skip>
</properties>
<modules>
diff --git a/releases/3.1.1-container.yaml b/releases/3.1.1-container.yaml
new file mode 100644
index 0000000000..ed8caae353
--- /dev/null
+++ b/releases/3.1.1-container.yaml
@@ -0,0 +1,8 @@
+distribution_type: container
+container_release_tag: 3.1.1
+project: cps
+log_dir: cps-maven-docker-stage-master/707/
+ref: c9ec915d7d16b88f53493c85928d463d070df472
+containers:
+ - name: 'cps-and-ncmp'
+ version: '3.1.1-20220928T083436Z'
diff --git a/releases/3.1.1.yaml b/releases/3.1.1.yaml
index 51c6b1d7ac..13b83e9d2d 100644
--- a/releases/3.1.1.yaml
+++ b/releases/3.1.1.yaml
@@ -1,4 +1,4 @@
distribution_type: maven
-log_dir: cps-maven-stage-master/707/
+log_dir: cps-maven-stage-master/713/
project: cps
version: 3.1.1
diff --git a/releases/3.1.2-container.yaml b/releases/3.1.2-container.yaml
new file mode 100644
index 0000000000..21fdacdd31
--- /dev/null
+++ b/releases/3.1.2-container.yaml
@@ -0,0 +1,8 @@
+distribution_type: container
+container_release_tag: 3.1.2
+project: cps
+log_dir: cps-maven-docker-stage-master/708/
+ref: ef0ddfc3e80ad3c2d7fdd884f83c739bf3a80734
+containers:
+ - name: 'cps-and-ncmp'
+ version: '3.1.2-20220928T115509Z'
diff --git a/releases/3.1.2.yaml b/releases/3.1.2.yaml
new file mode 100644
index 0000000000..d4e6f42d16
--- /dev/null
+++ b/releases/3.1.2.yaml
@@ -0,0 +1,4 @@
+distribution_type: maven
+log_dir: cps-maven-stage-master/714/
+project: cps
+version: 3.1.2
diff --git a/releases/3.1.3-container.yaml b/releases/3.1.3-container.yaml
new file mode 100644
index 0000000000..d814433b10
--- /dev/null
+++ b/releases/3.1.3-container.yaml
@@ -0,0 +1,8 @@
+distribution_type: container
+container_release_tag: 3.1.3
+project: cps
+log_dir: cps-maven-docker-stage-master/710/
+ref: 06736cb733a8bfa1a5c19b36ce26b0f7a394db31
+containers:
+ - name: 'cps-and-ncmp'
+ version: '3.1.3-20220929T153732Z'
diff --git a/releases/3.1.3.yaml b/releases/3.1.3.yaml
new file mode 100644
index 0000000000..7e34f08243
--- /dev/null
+++ b/releases/3.1.3.yaml
@@ -0,0 +1,4 @@
+distribution_type: maven
+log_dir: cps-maven-stage-master/716/
+project: cps
+version: 3.1.3 \ No newline at end of file
diff --git a/releases/3.1.4-container.yaml b/releases/3.1.4-container.yaml
new file mode 100644
index 0000000000..beb1df3753
--- /dev/null
+++ b/releases/3.1.4-container.yaml
@@ -0,0 +1,8 @@
+distribution_type: container
+container_release_tag: 3.1.4
+project: cps
+log_dir: cps-maven-docker-stage-master/716/
+ref: 52950bd82f680261458c082bd6d592fb4a14de12
+containers:
+ - name: 'cps-and-ncmp'
+ version: '3.1.4-20221004T160344Z'
diff --git a/releases/3.1.4.yaml b/releases/3.1.4.yaml
new file mode 100644
index 0000000000..96ee6d4153
--- /dev/null
+++ b/releases/3.1.4.yaml
@@ -0,0 +1,4 @@
+distribution_type: maven
+log_dir: cps-maven-stage-master/722/
+project: cps
+version: 3.1.4 \ No newline at end of file
diff --git a/spotbugs/pom.xml b/spotbugs/pom.xml
index 243144e2a5..c04f89f3e9 100644
--- a/spotbugs/pom.xml
+++ b/spotbugs/pom.xml
@@ -25,7 +25,7 @@
<modelVersion>4.0.0</modelVersion>
<groupId>org.onap.cps</groupId>
<artifactId>spotbugs</artifactId>
- <version>3.1.1-SNAPSHOT</version>
+ <version>3.1.5-SNAPSHOT</version>
<properties>
<nexusproxy>https://nexus.onap.org</nexusproxy>
diff --git a/version.properties b/version.properties
index 833a042227..00839db8e5 100755
--- a/version.properties
+++ b/version.properties
@@ -22,7 +22,7 @@
major=3
minor=1
-patch=1
+patch=5
base_version=${major}.${minor}.${patch}