Merge "Update smo deployment with ICS"
authorMartin Skorupski <martin.skorupski@highstreet-technologies.com>
Wed, 15 Dec 2021 10:32:11 +0000 (10:32 +0000)
committerGerrit Code Review <gerrit@o-ran-sc.org>
Wed, 15 Dec 2021 10:32:11 +0000 (10:32 +0000)
28 files changed:
.gitignore
README.md
docs/abbreviations.rst
docs/release-notes.rst
solution/integration/network/.env
solution/integration/network/docker-compose.yml
solution/integration/network/ntsim-ng-o-du/config.json
solution/integration/network/ntsim-ng-o-du/o-ran-sc-du-hello-world-operational.xml
solution/integration/network/ntsim-ng-o-du/o-ran-sc-du-hello-world-running.xml
solution/integration/network/ntsim-ng-topology-server/tapi-common-operational.xml
solution/integration/smo/common/.env
solution/integration/smo/oam/.env
solution/integration/smo/oam/docker-compose.yml
solution/integration/smo/oam/ves-collector/collector.properties
solution/integration/smo/oam/ves-collector/externalRepo/3gpp/rep/sa5/MnS/blob/Rel16/OpenAPI/README.md [new file with mode: 0644]
solution/integration/smo/oam/ves-collector/externalRepo/o-ran-sc/experimental/o-ran-sc-du-hello-world-pm-streaming-oas3.yaml [new file with mode: 0644]
solution/integration/smo/oam/ves-collector/externalRepo/schema-map.json [new file with mode: 0644]
solution/integration/smo/oam/ves-collector/ves-dmaap-config.json [new file with mode: 0644]
solution/integration/smo/onap-policy/config/api/defaultConfig.json [new file with mode: 0644]
solution/integration/smo/onap-policy/config/db/bootstrap-database.sh [new file with mode: 0755]
solution/integration/smo/onap-policy/config/db/create-db.sql [new file with mode: 0644]
solution/integration/smo/onap-policy/config/db/db.conf [deleted file]
solution/integration/smo/onap-policy/config/db/db.sh [deleted file]
solution/integration/smo/onap-policy/config/drools-apps/env/base.conf
solution/integration/smo/onap-policy/config/drools/env/base.conf
solution/integration/smo/onap-policy/config/ks.jks [new file with mode: 0644]
solution/integration/smo/onap-policy/config/pap/defaultConfig.json
solution/integration/smo/onap-policy/docker-compose.yml

index cb8beae..6d66eea 100644 (file)
@@ -52,6 +52,9 @@ release.properties
 */**/__pycache__
 *.log
 
+# avoid copyright issues with 3GPP
+*/**/3gpp/**/*.yaml
+
 # documentation
 
 .tox
index 17ac781..3ce0e1a 100644 (file)
--- a/README.md
+++ b/README.md
@@ -2,6 +2,17 @@
 
 This repository acts as root O-RAN-SC OAM repository. 
 
+## Documentation
+
+The project documentation link is:
+https://docs.o-ran-sc.org/projects/o-ran-sc-oam/en/latest/index.html?highlight=Operation%20and%20mainetance
+
+To generate the documentation the project must be cloned and the following 
+command must be executed:
+```
+ tox -e docs,docs-linkcheck
+```
+
 ## License
 
 This project is licensed under the Apache License 2.0 - see the [LICENSE](LICENSE) file for details.
index 855b6b0..d3f5fdc 100644 (file)
@@ -194,7 +194,7 @@ Abbreviations
 +--------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 | OMSA         | ONAP Microservice Architecture                                                                                                                                               |
 +--------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| ONAP         | `Open Network Automation Platform <https://wiki.onap.org/display/DW/Developer+Wiki>`__                                                                                       |
+| ONAP         | `Open Network Automation Platform <https://wiki.onap.org/display/DW/ONAP+Developer+Wiki>`__                                                                                  |
 +--------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 | OOF          | ONAP Optimization Framework                                                                                                                                                  |
 +--------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
index 6bf006b..43cc7e8 100644 (file)
@@ -8,7 +8,45 @@ Operation and Maintenance Release Notes
 
 This document provides the release notes for O-RAN-SC D-Release of the Operation and Maintenance (OAM) project.
 
-A collection of release notes for used projects is available in `O-RAN-SC OAM wiki release notes <https://wiki.o-ran-sc.org/display/OAM/D-Release+Notes>`__.
+A collection of release notes for used projects is available in `O-RAN-SC OAM wiki release notes <https://wiki.o-ran-sc.org/display/OAM/E-Release+Notes>`__.
+
+Version 5.0.0, 2021-11-29 
+-------------------------
+
++---------------------------------------------------------+---------------------------------------------------------------------------------+
+| Issue                                                   | Summary                                                                         |
++=========================================================+=================================================================================+
+| `OAM-221  <https://jira.o-ran-sc.org/browse/OAM-221>`__ | Wrong value format in measurement ves example                                   |
++---------------------------------------------------------+---------------------------------------------------------------------------------+
+| `OAM-222  <https://jira.o-ran-sc.org/browse/OAM-222>`__ | OAM Deployment enhancements                                                     |
++---------------------------------------------------------+---------------------------------------------------------------------------------+
+| `OAM-223  <https://jira.o-ran-sc.org/browse/OAM-223>`__ | update from stating to released                                                 |
++---------------------------------------------------------+---------------------------------------------------------------------------------+
+| `OAM-226  <https://jira.o-ran-sc.org/browse/OAM-226>`__ | Create yang model for CM according to the requirements by O-DU and the use case |
++---------------------------------------------------------+---------------------------------------------------------------------------------+
+| `OAM-227  <https://jira.o-ran-sc.org/browse/OAM-227>`__ | Create VES stndDefined extension for PM-streaming                               |
++---------------------------------------------------------+---------------------------------------------------------------------------------+
+| `OAM-228  <https://jira.o-ran-sc.org/browse/OAM-228>`__ | Update O-RAN-SC-Du Hello-world yang for CM                                      |
++---------------------------------------------------------+---------------------------------------------------------------------------------+
+| `OAM-229  <https://jira.o-ran-sc.org/browse/OAM-229>`__ | Update header of o-ran-sc-du-hello-world                                        |
++---------------------------------------------------------+---------------------------------------------------------------------------------+
+| `OAM-230  <https://jira.o-ran-sc.org/browse/OAM-230>`__ | Consider CM in o-ran-sc-du-hello-world.yang                                     |
++---------------------------------------------------------+---------------------------------------------------------------------------------+
+| `OAM-231  <https://jira.o-ran-sc.org/browse/OAM-231>`__ | Add slice management to o-ran-sc-du-hello-world.yang                            |
++---------------------------------------------------------+---------------------------------------------------------------------------------+
+| `OAM-232  <https://jira.o-ran-sc.org/browse/OAM-232>`__ | Add performance measurement job management to o-ran-sc-du-hello-world.yang      |
++---------------------------------------------------------+---------------------------------------------------------------------------------+
+| `OAM-233  <https://jira.o-ran-sc.org/browse/OAM-233>`__ | Add subscription management to o-ran-sc-du-hello-world.yang                     |
++---------------------------------------------------------+---------------------------------------------------------------------------------+
+| `OAM-234  <https://jira.o-ran-sc.org/browse/OAM-234>`__ | Create VES stndDefined PM streaming OpenAPI                                     |
++---------------------------------------------------------+---------------------------------------------------------------------------------+
+| `OAM-235  <https://jira.o-ran-sc.org/browse/OAM-235>`__ | Create a Yang notification syntax                                               |
++---------------------------------------------------------+---------------------------------------------------------------------------------+
+| `OAM-237  <https://jira.o-ran-sc.org/browse/OAM-237>`__ | Bug fixes in o-ran-sc-du-hello-world yang                                       |
++---------------------------------------------------------+---------------------------------------------------------------------------------+
+| `OAM-238  <https://jira.o-ran-sc.org/browse/OAM-238>`__ | Update O-RAN-SC wiki release page                                               |
++---------------------------------------------------------+---------------------------------------------------------------------------------+
+
 
 Version 4.0.4, 2021-05-22 
 -------------------------
index f382b3d..756cd75 100644 (file)
@@ -14,7 +14,7 @@
 # limitations under the License.
 #
 
-COMPOSE_PROJECT_NAME=o-ran-sc-d-release
+COMPOSE_PROJECT_NAME=o-ran-sc-e-release
 
 # Credentials
 ADMIN_USERNAME=admin
@@ -28,10 +28,9 @@ SDNC_OAM_IPv6=2001:db8:1:50::23
 VES_COLLECTOR_OAM_IPv6=2001:db8:1:50::27
 
 # NTS NG settings
-PUBLIC_DOCKER_REPO=docker.io/hightec/
-NEXUS3_DOCKER_REPO=nexus3.o-ran-sc.org:10002/o-ran-sc/
+NEXUS3_DOCKER_REPO=nexus3.o-ran-sc.org:10004/o-ran-sc/
 NTS_MANAGER_PORT=8300
-NTS_BUILD_VERSION=1.3.3
+NTS_BUILD_VERSION=1.4.3
 
 IPv6_ENABLED=true
 SSH_CONNECTIONS=0
@@ -46,8 +45,8 @@ NTS_HOST_TRANSFER_SFTP_BASE_PORT=2000
 NTS_NF_MOUNT_POINT_ADDRESSING_METHOD=docker-mapping
 
 SDN_CONTROLLER_PROTOCOL=http
-SDN_CONTROLLER_CALLHOME_PORT=6666
-# TLS: SDN_CONTROLLER_CALLHOME_PORT=4335
+# ssh: SDN_CONTROLLER_CALLHOME_PORT=6666
+SDN_CONTROLLER_CALLHOME_PORT=4335
 
 VES_COMMON_HEADER_VERSION=7.2.1
 VES_ENDPOINT_PROTOCOL=https
index a07b98d..8e0921d 100755 (executable)
@@ -31,6 +31,7 @@ x-common_env: &common_env
     SDN_CONTROLLER_PROTOCOL: ${SDN_CONTROLLER_PROTOCOL}
     SDN_CONTROLLER_IP: ${SDNC_OAM_IPv6}
     SDN_CONTROLLER_PORT: ${SDNC_REST_PORT}
+    SDN_CONTROLLER_CALLHOME_IP: ${SDNC_OAM_IPv6}
     SDN_CONTROLLER_CALLHOME_PORT: ${SDN_CONTROLLER_CALLHOME_PORT}
     SDN_CONTROLLER_USERNAME: ${ADMIN_USERNAME}
     SDN_CONTROLLER_PASSWORD: ${ADMIN_PASSWORD}
@@ -119,7 +120,7 @@ services:
 
   ntsim-ng-topology-server:
     <<: *common_nf
-    image: "${PUBLIC_DOCKER_REPO}smo-nts-ng-topology-server:${NTS_BUILD_VERSION}"
+    image: "${NEXUS3_DOCKER_REPO}smo-nts-ng-topology-server:${NTS_BUILD_VERSION}"
     container_name: ntsim-ng-topology-server
     hostname: highstreet-TAPI-topology-server
     volumes:
index 299a6cf..3151184 100644 (file)
             "stderr": "log/netopeer-stderr.log"
         },
     
+        "sshd": {
+            "path": "/usr/sbin/sshd",
+            "args": ["-D"],
+            "autorestart": true,
+            "stdout": "log/sshd-stdout.log",
+            "stderr": "log/sshd-stderr.log"
+        },
+    
         "ntsim-network-function": {
             "path": "/opt/dev/ntsim-ng/ntsim-ng",
             "args": ["-w/opt/dev/ntsim-ng", "-f"],
             "ietf-truststore",
             "ietf-system",
             "ietf-netconf-server",
-            "nts-network-function"
+            "nts-network-function",
+            "o-ran-sc-du-hello-world"
         ],
         
-        "default-list-instances": 2,
+        "default-list-instances": 1,
         "custom-list-instances" : []
     },
 
     "datastore-populate-rules": {
-        "random-generation-enabled": true,
+        "random-generation-enabled": false,
 
         "pre-generated-operational-data": [
-            "/opt/dev/deploy/data/o-ran-sc-du-hello-world-operational.xml"
+            "../deploy/data/o-ran-sc-du-hello-world-operational.xml"
         ],
         "pre-generated-running-data": [
-            "/opt/dev/deploy/data/o-ran-sc-du-hello-world-running.xml"
+            "../deploy/data/o-ran-sc-du-hello-world-running.xml"
         ]
     },
 
         "choosing-method" : "linear",
         "faults" : [
             {
-                "condition" : "O-RU Port Down",
-                "object"    : "/o-ran-sc-du-hello-world:network-function/du-to-ru-connection[name='highstreet-O-RU-11221']",
-                "severity"  : "CRITICAL",
+                "condition" : "CPRI Port Down",
+                "object"    : "Slot-0-Port-A",
+                "severity"  : "MAJOR",
                 "date-time" : "$$time$$",
-                "specific-problem" : "O-RU Port Down",
+                "specific-problem" : "CPRI Port Down",
 
-                "fault-severity" : "CRITICAL",
+                "fault-severity" : "MAJOR",
                 "affected-object" : "%%object%%",
                 "cleared" : "false",
-                "text" : "O-RU Port Down"
+                "text" : "CPRI Port Down"
             },
 
             {
-                "condition" : "O-RU Port Down",
-                "object"    : "/o-ran-sc-du-hello-world:network-function/du-to-ru-connection[name='highstreet-O-RU-11221']",
+                "condition" : "CPRI Port Down",
+                "object"    : "Slot-0-Port-A",
                 "severity"  : "NORMAL",
                 "date-time" : "$$time$$",
-                "specific-problem" : "O-RU Port Down",
+                "specific-problem" : "CPRI Port Down",
 
-                "fault-severity" : "CRITICAL",
+                "fault-severity" : "MAJOR",
                 "affected-object" : "%%object%%",
                 "cleared" : "true",
-                "text" : "O-RU Port Down"
+                "text" : "CPRI Port Down"
             },
 
             {
-                "condition" : "O-RU Port Down",
-                "object"    : "/o-ran-sc-du-hello-world:network-function/du-to-ru-connection[name='highstreet-O-RU-11222']",
-                "severity"  : "CRITICAL",
+                "condition" : "CPRI Port Down",
+                "object"    : "Slot-0-Port-C",
+                "severity"  : "MAJOR",
                 "date-time" : "$$time$$",
-                "specific-problem" : "O-RU Port Down",
+                "specific-problem" : "CPRI Port Down",
 
-                "fault-severity" : "CRITICAL",
+                "fault-severity" : "MAJOR",
                 "affected-object" : "%%object%%",
                 "cleared" : "false",
-                "text" : "O-RU Port Down"
+                "text" : "CPRI Port Down"
             },
 
             {
-                "condition" : "O-RU Port Down",
-                "object"    : "/o-ran-sc-du-hello-world:network-function/du-to-ru-connection[name='highstreet-O-RU-11222']",
+                "condition" : "CPRI Port Down",
+                "object"    : "Slot-0-Port-C",
                 "severity"  : "NORMAL",
                 "date-time" : "$$time$$",
-                "specific-problem" : "O-RU Port Down",
+                "specific-problem" : "CPRI Port Down",
 
-                "fault-severity" : "CRITICAL",
+                "fault-severity" : "MAJOR",
                 "affected-object" : "%%object%%",
                 "cleared" : "true",
-                "text" : "O-RU Port Down"
+                "text" : "CPRI Port Down"
             },
 
             {
-                "condition" : "O-RU Port Down",
-                "object"    : "/o-ran-sc-du-hello-world:network-function/du-to-ru-connection[name='highstreet-O-RU-11223']",
-                "severity"  : "CRITICAL",
+                "condition" : "CPRI Port Down",
+                "object"    : "Slot-2-Port-B",
+                "severity"  : "MAJOR",
                 "date-time" : "$$time$$",
-                "specific-problem" : "O-RU Port Down",
+                "specific-problem" : "CPRI Port Down",
 
-                "fault-severity" : "CRITICAL",
+                "fault-severity" : "MAJOR",
                 "affected-object" : "%%object%%",
                 "cleared" : "false",
-                "text" : "O-RU Port Down"
+                "text" : "CPRI Port Down"
             },
 
             {
-                "condition" : "O-RU Port Down",
-                "object"    : "/o-ran-sc-du-hello-world:network-function/du-to-ru-connection[name='highstreet-O-RU-11223']",
+                "condition" : "CPRI Port Down",
+                "object"    : "Slot-2-Port-B",
                 "severity"  : "NORMAL",
                 "date-time" : "$$time$$",
-                "specific-problem" : "O-RU Port Down",
+                "specific-problem" : "CPRI Port Down",
 
-                "fault-severity" : "CRITICAL",
+                "fault-severity" : "MAJOR",
                 "affected-object" : "%%object%%",
                 "cleared" : "true",
-                "text" : "O-RU Port Down"
+                "text" : "CPRI Port Down"
             }
         ]
     }
index c2d132a..0bc12be 100644 (file)
 <network-function xmlns="urn:o-ran-sc:yang:o-ran-sc-du-hello-world">
-    <du-to-ru-connection>
-      <name>highstreet-O-RU-11221</name>
-      <administrative-state>LOCKED</administrative-state>
-      <operational-state>ENABLED</operational-state>
-      <status>disconnected</status>
-    </du-to-ru-connection>
-    <du-to-ru-connection>
-      <name>highstreet-O-RU-11222</name>
-      <administrative-state>UNLOCKED</administrative-state>
-      <operational-state>ENABLED</operational-state>
-      <status>connected</status>
-    </du-to-ru-connection>
-    <du-to-ru-connection>
-      <name>highstreet-O-RU-11223</name>
-      <administrative-state>LOCKED</administrative-state>
-      <operational-state>DISABLED</operational-state>
-      <status>unable-to-connect</status>
-    </du-to-ru-connection>
-  </network-function>
\ No newline at end of file
+    <id>network-function-1</id>
+    <administrative-state>locked</administrative-state>
+    <operational-state>enabled</operational-state>
+    <user-label>nf1</user-label>
+    <distinguished-name-prefix>CN=KarenBerge,CN=admin,DC=corp,DC=Fabrikam,DC=COM</distinguished-name-prefix>
+    <location-name>address name</location-name>
+    <distributed-unit-functions>
+      <id>O-DU-1211</id>
+      <administrative-state>locked</administrative-state>
+      <operational-state>enabled</operational-state>
+      <user-label>o-du-1</user-label>
+      <cell>
+        <id>cell-1</id>
+        <administrative-state>locked</administrative-state>
+        <operational-state>enabled</operational-state>
+        <user-label>cell-1</user-label>
+        <traffic-state>active</traffic-state>
+        <local-id>1</local-id>
+        <public-land-mobile-networks>
+          <mobile-country-code>310</mobile-country-code>
+          <mobile-network-code>150</mobile-network-code>
+          <slice-differentiator>1</slice-differentiator>
+          <slice-service-type>1</slice-service-type>
+        </public-land-mobile-networks>
+        <physical-cell-id>1</physical-cell-id>
+        <tracking-area-code>10</tracking-area-code>
+        <absolute-radio-frequency-channel-number>
+          <downlink>15000</downlink>
+          <uplink>14000</uplink>
+          <supplementary-uplink>14500</supplementary-uplink>
+        </absolute-radio-frequency-channel-number>
+        <base-station-channel-bandwidth>
+          <downlink>80000</downlink>
+          <uplink>83000</uplink>
+          <supplementary-uplink>84000</supplementary-uplink>
+        </base-station-channel-bandwidth>
+        <synchronization-signal-block>
+          <frequency-channel-number>12</frequency-channel-number>
+          <periodicity>10</periodicity>
+          <subcarrier-spacing>30</subcarrier-spacing>
+          <offset>3</offset>
+          <duration>2</duration>
+        </synchronization-signal-block>
+        <supported-measurements>
+          <performance-measurement-type>user-equipment-average-throughput-downlink</performance-measurement-type>
+          <supported-snssai-subcounter-instances>
+            <slice-differentiator>1</slice-differentiator>
+            <slice-service-type>1</slice-service-type>
+          </supported-snssai-subcounter-instances>
+          <supported-snssai-subcounter-instances>
+            <slice-differentiator>1</slice-differentiator>
+            <slice-service-type>2</slice-service-type>
+          </supported-snssai-subcounter-instances>
+          <supported-snssai-subcounter-instances>
+            <slice-differentiator>2</slice-differentiator>
+            <slice-service-type>1</slice-service-type>
+          </supported-snssai-subcounter-instances>
+          <supported-snssai-subcounter-instances>
+            <slice-differentiator>2</slice-differentiator>
+            <slice-service-type>2</slice-service-type>
+          </supported-snssai-subcounter-instances>
+        </supported-measurements>
+        <supported-measurements>
+          <performance-measurement-type>user-equipment-average-throughput-uplink</performance-measurement-type>
+          <supported-snssai-subcounter-instances>
+            <slice-differentiator>1</slice-differentiator>
+            <slice-service-type>1</slice-service-type>
+          </supported-snssai-subcounter-instances>
+          <supported-snssai-subcounter-instances>
+            <slice-differentiator>1</slice-differentiator>
+            <slice-service-type>2</slice-service-type>
+          </supported-snssai-subcounter-instances>
+          <supported-snssai-subcounter-instances>
+            <slice-differentiator>2</slice-differentiator>
+            <slice-service-type>1</slice-service-type>
+          </supported-snssai-subcounter-instances>
+          <supported-snssai-subcounter-instances>
+            <slice-differentiator>2</slice-differentiator>
+            <slice-service-type>2</slice-service-type>
+          </supported-snssai-subcounter-instances>
+        </supported-measurements>
+      </cell>
+      <radio-resource-management-policy-ratio>
+        <id>rrm-pol-1</id>
+        <administrative-state>locked</administrative-state>
+        <operational-state>enabled</operational-state>
+        <user-label>rrm-pol-1</user-label>
+        <resource-type>prb</resource-type>
+        <radio-resource-management-policy-members>
+          <mobile-country-code>310</mobile-country-code>
+          <mobile-network-code>150</mobile-network-code>
+          <slice-differentiator>1</slice-differentiator>
+          <slice-service-type>1</slice-service-type>
+        </radio-resource-management-policy-members>
+        <radio-resource-management-policy-max-ratio>20</radio-resource-management-policy-max-ratio>
+        <radio-resource-management-policy-min-ratio>10</radio-resource-management-policy-min-ratio>
+        <radio-resource-management-policy-dedicated-ratio>15</radio-resource-management-policy-dedicated-ratio>
+      </radio-resource-management-policy-ratio>
+    </distributed-unit-functions>
+  </network-function>
+  
\ No newline at end of file
index d1d7e74..2d7baf0 100644 (file)
@@ -1,14 +1,58 @@
 <network-function xmlns="urn:o-ran-sc:yang:o-ran-sc-du-hello-world">
-    <du-to-ru-connection>
-      <name>highstreet-O-RU-11221</name>
-      <administrative-state>UNLOCKED</administrative-state>
-    </du-to-ru-connection>
-    <du-to-ru-connection>
-      <name>highstreet-O-RU-11222</name>
-      <administrative-state>LOCKED</administrative-state>
-    </du-to-ru-connection>
-    <du-to-ru-connection>
-      <name>highstreet-O-RU-11223</name>
-      <administrative-state>LOCKED</administrative-state>
-    </du-to-ru-connection>
-  </network-function>
\ No newline at end of file
+    <id>network-function-1</id>
+    <administrative-state>unlocked</administrative-state>
+    <user-label>nf1</user-label>
+    <distinguished-name-prefix>CN=KarenBerge,CN=admin,DC=corp,DC=Fabrikam,DC=COM</distinguished-name-prefix>
+    <distributed-unit-functions>
+      <id>O-DU-1211</id>
+      <administrative-state>unlocked</administrative-state>
+      <user-label>o-du-1</user-label>
+      <cell>
+        <id>cell-1</id>
+        <administrative-state>unlocked</administrative-state>
+        <user-label>cell-1</user-label>
+        <local-id>1</local-id>
+        <public-land-mobile-networks>
+          <mobile-country-code>310</mobile-country-code>
+          <mobile-network-code>150</mobile-network-code>
+          <slice-differentiator>1</slice-differentiator>
+          <slice-service-type>1</slice-service-type>
+        </public-land-mobile-networks>
+        <physical-cell-id>1</physical-cell-id>
+        <tracking-area-code>10</tracking-area-code>
+        <absolute-radio-frequency-channel-number>
+          <downlink>15000</downlink>
+          <uplink>14000</uplink>
+          <supplementary-uplink>14500</supplementary-uplink>
+        </absolute-radio-frequency-channel-number>
+        <base-station-channel-bandwidth>
+          <downlink>80000</downlink>
+          <uplink>83000</uplink>
+          <supplementary-uplink>84000</supplementary-uplink>
+        </base-station-channel-bandwidth>
+        <synchronization-signal-block>
+          <frequency-channel-number>12</frequency-channel-number>
+          <periodicity>10</periodicity>
+          <subcarrier-spacing>30</subcarrier-spacing>
+          <offset>3</offset>
+          <duration>2</duration>
+        </synchronization-signal-block>
+      </cell>
+      <radio-resource-management-policy-ratio>
+        <id>rrm-pol-1</id>
+        <administrative-state>unlocked</administrative-state>
+        <user-label>rrm-pol-1</user-label>
+        <resource-type>prb</resource-type>
+        <radio-resource-management-policy-members>
+          <mobile-country-code>310</mobile-country-code>
+          <mobile-network-code>150</mobile-network-code>
+          <slice-differentiator>1</slice-differentiator>
+          <slice-service-type>1</slice-service-type>
+        </radio-resource-management-policy-members>
+        <radio-resource-management-policy-max-ratio>20</radio-resource-management-policy-max-ratio>
+        <radio-resource-management-policy-min-ratio>10</radio-resource-management-policy-min-ratio>
+        <radio-resource-management-policy-dedicated-ratio>15</radio-resource-management-policy-dedicated-ratio>
+      </radio-resource-management-policy-ratio>
+    </distributed-unit-functions>
+  </network-function>
+  
\ No newline at end of file
index 861c09b..2c847af 100644 (file)
@@ -27,7 +27,7 @@
           <layer-protocol-name>ETH</layer-protocol-name>
           <name>
             <value-name>device-name</value-name>
-            <value>highstreet-O-DU-1122</value>
+            <value>O-DU-1122</value>
           </name>
           <administrative-state>LOCKED</administrative-state>
           <operational-state>ENABLED</operational-state>
@@ -69,7 +69,7 @@
           <layer-protocol-name>ETH</layer-protocol-name>
           <name>
             <value-name>device-name</value-name>
-            <value>highstreet-O-RU-11221</value>
+            <value>O-RU-11221</value>
           </name>
           <administrative-state>LOCKED</administrative-state>
           <operational-state>ENABLED</operational-state>
           <layer-protocol-name>ETH</layer-protocol-name>
           <name>
             <value-name>device-name</value-name>
-            <value>highstreet-O-RU-11222</value>
+            <value>O-RU-11222</value>
           </name>
           <administrative-state>LOCKED</administrative-state>
           <operational-state>ENABLED</operational-state>
           <layer-protocol-name>ETH</layer-protocol-name>
           <name>
             <value-name>device-name</value-name>
-            <value>highstreet-O-RU-11223</value>
+            <value>O-RU-11223</value>
           </name>
           <administrative-state>LOCKED</administrative-state>
           <operational-state>ENABLED</operational-state>
           <direction>BIDIRECTIONAL</direction>
           <name>
             <value-name>link-name</value-name>
-            <value>highstreet-O-DU-1122-to-highstreet-O-RU-11221</value>
+            <value>O-DU-1122-to-O-RU-11221</value>
           </name>
           <administrative-state>LOCKED</administrative-state>
           <operational-state>ENABLED</operational-state>
           <direction>BIDIRECTIONAL</direction>
           <name>
             <value-name>link-name</value-name>
-            <value>highstreet-O-DU-1122-to-highstreet-O-RU-11222</value>
+            <value>O-DU-1122-to-O-RU-11222</value>
           </name>
           <administrative-state>LOCKED</administrative-state>
           <operational-state>ENABLED</operational-state>
           <direction>BIDIRECTIONAL</direction>
           <name>
             <value-name>link-name</value-name>
-            <value>highstreet-O-DU-1122-to-highstreet-O-RU-11223</value>
+            <value>O-DU-1122-to-O-RU-11223</value>
           </name>
           <administrative-state>LOCKED</administrative-state>
           <operational-state>ENABLED</operational-state>
index 6f4e5c8..ae91017 100644 (file)
@@ -14,7 +14,7 @@
 # limitations under the License.
 #
 
-COMPOSE_PROJECT_NAME=o-ran-sc-d-release
+COMPOSE_PROJECT_NAME=o-ran-sc-e-release
 
 # Credentials
 
index 15e585a..c21df2b 100644 (file)
@@ -14,7 +14,7 @@
 # limitations under the License.
 #
 
-COMPOSE_PROJECT_NAME=o-ran-sc-d-release
+COMPOSE_PROJECT_NAME=o-ran-sc-e-release
 
 # Credentials
 ADMIN_USERNAME=admin
@@ -31,15 +31,15 @@ NETWORK_GATEWAY_OAM_IPv6=2001:db8:1:50::1
 IDENTITY_PROVIDER_URL=http://identity:8081
 
 # SDN Controller
-SDNC_IMAGE=docker.io/hightec/smo-onap-sdnc-image:2.1.5
+SDNC_IMAGE=nexus3.onap.org:10001/onap/sdnc-image:2.2.3
 SDNC_REST_PORT=8181
 SDNC_OAM_IPv6=2001:db8:1:50::23
 SDNC_CERT_DIR=/opt/opendaylight/current/certs
 
 # SDN Controller Web
-SDNC_WEB_IMAGE=docker.io/hightec/smo-sdnc-web-image:2.2.0-SNAPSHOT-20210604T122348Z
+SDNC_WEB_IMAGE=nexus3.onap.org:10001/onap/sdnc-web-image:2.2.3
 SDNC_WEB_PORT=8453
 
 ## VES Collector
-VES_COLLECTOR_IMAGE=nexus3.onap.org:10001/onap/org.onap.dcaegen2.collectors.ves.vescollector:1.8.0
+VES_COLLECTOR_IMAGE=nexus3.onap.org:10003/onap/org.onap.dcaegen2.collectors.ves.vescollector:1.10.1
 VES_COLLECTOR_OAM_IPv6=2001:db8:1:50::27
index 14550a0..c73471a 100755 (executable)
@@ -87,6 +87,8 @@ services:
       - 8443:8443
     volumes:
       - ./ves-collector/collector.properties:/opt/app/VESCollector/etc/collector.properties
+      - ./ves-collector/ves-dmaap-config.json:/opt/app/VESCollector/etc/ves-dmaap-config.json
+      - ./ves-collector/externalRepo:/opt/app/VESCollector/etc/externalRepo
     networks:
       smo:
       default:
index ea4e2ac..a85f051 100644 (file)
@@ -61,8 +61,8 @@ event.externalSchema.schemaRefPath=$.event.stndDefinedFields.schemaReference
 event.externalSchema.stndDefinedDataPath=$.event.stndDefinedFields.data
 
 ## List all streamid per domain to be supported. The streamid should match to channel name on dmaapfile
-collector.dmaap.streamid=fault=ves-fault|syslog=ves-syslog|heartbeat=ves-heartbeat|measurementsForVfScaling=ves-measurement|mobileFlow=ves-mobileflow|other=ves-other|stateChange=ves-statechange|thresholdCrossingAlert=ves-thresholdCrossingAlert|voiceQuality=ves-voicequality|sipSignaling=ves-sipsignaling|notification=ves-notification|pnfRegistration=ves-pnfRegistration|3GPP-FaultSupervision=ves-3gpp-fault-supervision|3GPP-Heartbeat=ves-3gpp-heartbeat|3GPP-Provisioning=ves-3gpp-provisioning|3GPP-PerformanceAssurance=ves-3gpp-performance-assurance
-collector.dmaapfile=./etc/DmaapConfig.json
+collector.dmaap.streamid=fault=ves-fault|syslog=ves-syslog|heartbeat=ves-heartbeat|measurementsForVfScaling=ves-measurement|mobileFlow=ves-mobileflow|other=ves-other|stateChange=ves-statechange|thresholdCrossingAlert=ves-thresholdCrossingAlert|voiceQuality=ves-voicequality|sipSignaling=ves-sipsignaling|notification=ves-notification|pnfRegistration=ves-pnfRegistration|3GPP-FaultSupervision=ves-3gpp-fault-supervision|3GPP-Heartbeat=ves-3gpp-heartbeat|3GPP-Provisioning=ves-3gpp-provisioning|3GPP-PerformanceAssurance=ves-3gpp-performance-assurance|o-ran-sc-du-hello-world-pm-streaming-oas3=ves-o-ran-sc-du-hello-world-pm-streaming-oas3
+collector.dmaapfile=etc/ves-dmaap-config.json
 
 ## Path to the file containing description of api versions
 collector.description.api.version.location=etc/api_version_description.json
diff --git a/solution/integration/smo/oam/ves-collector/externalRepo/3gpp/rep/sa5/MnS/blob/Rel16/OpenAPI/README.md b/solution/integration/smo/oam/ves-collector/externalRepo/3gpp/rep/sa5/MnS/blob/Rel16/OpenAPI/README.md
new file mode 100644 (file)
index 0000000..906dc9e
--- /dev/null
@@ -0,0 +1,52 @@
+# 3gpp Release 16 
+
+This folder should contain the 3GPP YAML files. Such files are used be the VES
+Collector to valid VES messages for domain 'stndDefined'.
+
+Please copy the files from 
+```
+https://forge.3gpp.org/rep/sa5/MnS/tree/Rel-16/OpenAPI
+```
+
+For E-Release only the following schemas ...
+
+ * comDefs.yaml
+ * faultMnS.yaml
+ * fileDataReportingMnS.yaml
+ * heartbeatNtf.yaml
+ * perfMnS.yaml
+ * provMnS.yaml
+
+.. are supported.
+
+Therefore the references (dependencies) in the file 'provMnS.yaml' to other schemas must be commanded, otherwise the schema itself would invalid.
+
+# Temporary modification for E-Release in 'provMnS.yaml'
+
+In this release only a subset of 3GPP Release 16 schema are supported. References to non supported schemas should be commanded, until those are supported.
+
+```
+developer @ localhost ~/workspace/_3gpp/MnS/OpenAPI (Rel-16)
+└─ $ â–¶ git diff .
+diff --git a/OpenAPI/provMnS.yaml b/OpenAPI/provMnS.yaml
+index 1dd467e..699bdce 100644
+--- a/OpenAPI/provMnS.yaml
++++ b/OpenAPI/provMnS.yaml
+@@ -412,11 +412,11 @@ components:
+             type: array
+             items:
+               type: object
+-        - anyOf:
+-            - $ref: 'genericNrm.yaml#/components/schemas/resources-genericNrm'
+-            - $ref: 'nrNrm.yaml#/components/schemas/resources-nrNrm'
+-            - $ref: '5gcNrm.yaml#/components/schemas/resources-5gcNrm'
+-            - $ref: 'sliceNrm.yaml#/components/schemas/resources-sliceNrm'
++        # - anyOf:
++        #     - $ref: 'genericNrm.yaml#/components/schemas/resources-genericNrm'
++        #     - $ref: 'nrNrm.yaml#/components/schemas/resources-nrNrm'
++        #     - $ref: '5gcNrm.yaml#/components/schemas/resources-5gcNrm'
++        #     - $ref: 'sliceNrm.yaml#/components/schemas/resources-sliceNrm'
+     MoiChange:
+       type: object
+```
diff --git a/solution/integration/smo/oam/ves-collector/externalRepo/o-ran-sc/experimental/o-ran-sc-du-hello-world-pm-streaming-oas3.yaml b/solution/integration/smo/oam/ves-collector/externalRepo/o-ran-sc/experimental/o-ran-sc-du-hello-world-pm-streaming-oas3.yaml
new file mode 100644 (file)
index 0000000..361fc7e
--- /dev/null
@@ -0,0 +1,222 @@
+openapi: 3.0.3
+info:
+  version: 0.0.0
+  title: O-RAN-SC-DU PM Streaming
+  description: >-
+    The O-RAN-SC E-Release provides a mechanism for Performance Measurement
+    streaming.
+
+
+    The streaming interfaces depends on the o-ran-sc-du-hello-world.yang and
+    the schemas could be used as extension sot the VES domain 'stndDefind'.
+    The event message is send from a network-function to a SMO.
+
+
+    Copyright 2021 highstreet technologies GmbH
+
+
+    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.
+
+
+    reference: https://jira.o-ran-sc.org/browse/OAM-234.
+
+servers:
+  - url: https://management-service-consumer:8443/v1
+    description: The url of an event stream consumer.
+paths:
+  /performance-measurement-stream:
+    post:
+      description: Posts a collection of measurements.
+      summary: POST performance-measurement-stream
+      requestBody:
+        content:
+          application/json:
+            schema:
+              $ref: '#/components/schemas/performance-measurement-job'
+        description: Collection of measurements.
+      responses:
+        '201':
+          description: Posted
+        '400':
+          description: Bad Request
+          content:
+            application/json:
+              schema:
+                $ref: '#/components/schemas/error-response'
+        '401':
+          description: Unauthorized
+          content:
+            application/json:
+              schema:
+                $ref: '#/components/schemas/error-response'
+        '403':
+          description: Forbidden
+          content:
+            application/json:
+              schema:
+                $ref: '#/components/schemas/error-response'
+        '404':
+          description: Not Found
+          content:
+            application/json:
+              schema:
+                $ref: '#/components/schemas/error-response'
+        '405':
+          description: Method Not allowed
+          content:
+            application/json:
+              schema:
+                $ref: '#/components/schemas/error-response'
+        '409':
+          description: Conflict
+          content:
+            application/json:
+              schema:
+                $ref: '#/components/schemas/error-response'
+        '500':
+          description: Internal Server Error
+          content:
+            application/json:
+              schema:
+                $ref: '#/components/schemas/error-response'
+        default:
+          description: Error case.
+          content:
+            application/json:
+              schema:
+                $ref: '#/components/schemas/error-response'
+components:
+  schemas:
+    error-response:
+      description: >-
+        Used when an API throws an error with a HTTP error response-code (3xx,
+        4xx, 5xx)
+      type: object
+      required:
+        - reason
+      properties:
+        reason:
+          type: string
+          description: >-
+            Explanation of the reason for the error which can be shown to a
+            human user.
+        message:
+          type: string
+          description: >-
+            More details and corrective actions related to the error which can
+            be shown to a human user.
+        documentation-reference:
+          type: string
+          format: uri
+          description: URI of describing the error.
+    measurement:
+      description: An abstract object class of a measurement.
+      type: object
+      required:
+        - measurement-type-instance-reference
+        - value
+      properties:
+        measurement-type-instance-reference:
+          type: string
+          description: >-
+            A YANG instance identifier for a supported measurement type
+            according to the definitions in o-ran-sc-du-hello-world.yang.
+
+            Example for average downlink user equipment throughput per cell
+            /network-function/distributed-unit-functions[id='<id-value>']/cell[id='<id-value']/supported-measurements/performance-measurement-type[.='user-equipment-average-throughput-downlink']
+
+            Example for a specific slice-differentiator (here sd=12345) subcounter of average downlink user equipment throughput
+            /network-function/distributed-unit-functions[id='<id-value>']/cell[id='<id-value']/supported-measurements/performance-measurement-type[.='user-equipment-average-throughput-downlink']/supported-snssai-subcounter-instances/slice-differentiator[.=12345]";
+        value:
+          # oneOf:
+          #   - type: boolean
+          #     description: A boolean value for the measurement.
+          type: integer
+          description: A integer value for the measurement.
+            # - type: number
+            #   description: A number value for the measurement.
+            # - type: string
+            #   description: A string value for the measurement.
+          # description: 'The value of the measurement type for its period. '
+        unit:
+          type: string
+          maxLength: 255
+          description: >-
+            The unit for the measurement. If there is a unit associated to the
+            measurement the network-function MUST provide this field. It is
+            recommended to follow International System of Units (SI).
+    measurements:
+      description: A collection of measurements.
+      type: array
+      items:
+        $ref: '#/components/schemas/measurement'
+    performance-measurement-job:
+      description: The performance measurement job header and a collection of measurements.
+      type: object
+      required:
+        - id
+        - start-time
+        - granularity-period
+        - measurements
+      properties:
+        id:
+          type: string
+          description: >-
+            The identifier configured by the event stream consumer within a
+            event stream provider for a performance-measurement-job.
+        start-time:
+          type: string
+          format: date-time
+          description: 'The timestamp when the measurement was started. '
+        administrative-state:
+          description: >-
+            Administrative state of an object. Indicates the permission to use
+            or prohibition against the object, imposed through the OAM services.
+          type: string
+          default: locked
+          enum:
+            - locked
+            - unlocked
+            - shutting-down
+        operational-state:
+          type: string
+          default: disabled
+          enum:
+            - enabled
+            - disabled
+          description: >-
+            Operational state of the object. Indicates whether the associated
+            resource is installed and partially or fully operable (enabled) or
+            the associated resource is not installed or not operable (disabled).
+        user-label:
+          type: string
+          maxLength: 255
+          description: >-
+            A user defined label of the object. There is no function associated
+            to the user label. However, the network function stores the value
+            persistently.
+        job-tag:
+          type: string
+          maxLength: 255
+          description: >-
+            A job group identifier to combine several
+            performance-measurement-jobs to one logical job.
+        granularity-period:
+          type: number
+          format: int32
+          description: >-
+            The interval time in seconds between the start of a measurement and
+            the end of a measurement
+        measurements:
+          $ref: '#/components/schemas/measurements'
+          description: The collection of measurements.
diff --git a/solution/integration/smo/oam/ves-collector/externalRepo/schema-map.json b/solution/integration/smo/oam/ves-collector/externalRepo/schema-map.json
new file mode 100644 (file)
index 0000000..4e83711
--- /dev/null
@@ -0,0 +1,42 @@
+[
+  {
+    "publicURL": "https://forge.3gpp.org/rep/sa5/MnS/blob/SA88-Rel16/OpenAPI/faultMnS.yaml",
+    "localURL": "3gpp/rep/sa5/MnS/blob/SA88-Rel16/OpenAPI/faultMnS.yaml"
+  },
+  {
+    "publicURL": "https://forge.3gpp.org/rep/sa5/MnS/blob/SA88-Rel16/OpenAPI/heartbeatNtf.yaml",
+    "localURL": "3gpp/rep/sa5/MnS/blob/SA88-Rel16/OpenAPI/heartbeatNtf.yaml"
+  },
+  {
+    "publicURL": "https://forge.3gpp.org/rep/sa5/MnS/blob/SA88-Rel16/OpenAPI/PerDataFileReportMnS.yaml",
+    "localURL": "3gpp/rep/sa5/MnS/blob/SA88-Rel16/OpenAPI/PerDataFileReportMnS.yaml"
+  },
+  {
+    "publicURL": "https://forge.3gpp.org/rep/sa5/MnS/blob/SA88-Rel16/OpenAPI/provMnS.yaml",
+    "localURL": "3gpp/rep/sa5/MnS/blob/SA88-Rel16/OpenAPI/provMnS.yaml"
+  },
+  {
+    "publicURL": "https://forge.3gpp.org/rep/sa5/MnS/blob/Rel16/OpenAPI/faultMnS.yaml",
+    "localURL": "3gpp/rep/sa5/MnS/blob/Rel16/OpenAPI/faultMnS.yaml"
+  },
+  {
+    "publicURL": "https://forge.3gpp.org/rep/sa5/MnS/blob/Rel16/OpenAPI/heartbeatNtf.yaml",
+    "localURL": "3gpp/rep/sa5/MnS/blob/Rel16/OpenAPI/heartbeatNtf.yaml"
+  },
+  {
+    "publicURL": "https://forge.3gpp.org/rep/sa5/MnS/blob/Rel16/OpenAPI/fileDataReportingMnS.yaml",
+    "localURL": "3gpp/rep/sa5/MnS/blob/Rel16/OpenAPI/fileDataReportingMnS.yaml"
+  },
+  {
+    "publicURL": "https://forge.3gpp.org/rep/sa5/MnS/blob/Rel16/OpenAPI/perfMnS.yaml",
+    "localURL": "3gpp/rep/sa5/MnS/blob/Rel16/OpenAPI/perfMnS.yaml"
+  },
+  {
+    "publicURL": "https://forge.3gpp.org/rep/sa5/MnS/blob/Rel16/OpenAPI/provMnS.yaml",
+    "localURL": "3gpp/rep/sa5/MnS/blob/Rel16/OpenAPI/provMnS.yaml"
+  },
+  {
+    "publicURL": "https://gerrit.o-ran-sc.org/r/gitweb?p=scp/oam/modeling.git;a=blob_plain;f=data-model/oas3/experimental/o-ran-sc-du-hello-world-pm-streaming-oas3.yaml",
+    "localURL": "o-ran-sc/experimental/o-ran-sc-du-hello-world-pm-streaming-oas3.yaml"
+  }
+]
\ No newline at end of file
diff --git a/solution/integration/smo/oam/ves-collector/ves-dmaap-config.json b/solution/integration/smo/oam/ves-collector/ves-dmaap-config.json
new file mode 100644 (file)
index 0000000..8653ac0
--- /dev/null
@@ -0,0 +1,212 @@
+{
+  "ves-syslog": {
+    "type": "message_router",
+    "dmaap_info": {
+      "location": "mtl5",
+      "topic_url": "http://onap-dmaap:3904/events/DCAE-SE-COLLECTOR-EVENTS-DEV"
+    }
+  },
+  "ves-statechange": {
+    "type": "message_router",
+    "dmaap_info": {
+      "location": "mtl5",
+      "topic_url": "http://onap-dmaap:3904/events/DCAE-SE-COLLECTOR-EVENTS-DEV"
+    }
+  },
+  "ves-thresholdCrossingAlert": {
+    "type": "message_router",
+    "dmaap_info": {
+      "location": "mtl5",
+      "topic_url": "http://onap-dmaap:3904/events/DCAE-SE-COLLECTOR-EVENTS-DEV"
+    }
+  },
+  "ves-heartbeat": {
+    "type": "message_router",
+    "dmaap_info": {
+      "location": "mtl5",
+      "topic_url": "http://onap-dmaap:3904/events/unauthenticated.SEC_HEARTBEAT_OUTPUT/"
+    }
+  },
+  "ves-other": {
+    "type": "message_router",
+    "dmaap_info": {
+      "location": "mtl5",
+      "topic_url": "http://onap-dmaap:3904/events/unauthenticated.SEC_OTHER_OUTPUT/"
+    }
+  },
+  "ves-mobileflow": {
+    "type": "message_router",
+    "dmaap_info": {
+      "location": "mtl5",
+      "topic_url": "http://onap-dmaap:3904/events/DCAE-SE-COLLECTOR-EVENTS-DEV"
+    }
+  },
+  "ves-sipsignaling": {
+    "type": "message_router",
+    "dmaap_info": {
+      "location": "mtl5",
+      "topic_url": "http://onap-dmaap:3904/events/DCAE-SE-COLLECTOR-EVENTS-DEV"
+    }
+  },
+  "ves-voicequality": {
+    "type": "message_router",
+    "dmaap_info": {
+      "location": "mtl5",
+      "topic_url": "http://onap-dmaap:3904/events/DCAE-SE-COLLECTOR-EVENTS-DEV"
+    }
+  },
+  "ves-fault": {
+    "type": "message_router",
+    "dmaap_info": {
+      "location": "mtl5",
+      "topic_url": "http://onap-dmaap:3904/events/unauthenticated.SEC_FAULT_OUTPUT/"
+    }
+  },
+  "ves-measurement": {
+    "type": "message_router",
+    "dmaap_info": {
+      "location": "mtl5",
+      "topic_url": "http://onap-dmaap:3904/events/unauthenticated.VES_MEASUREMENT_OUTPUT/"
+    }
+  },
+  "ves-3gpp-fault-supervision": {
+    "type": "message_router",
+    "dmaap_info": {
+      "location": "mtl5",
+      "topic_url": "http://onap-dmaap:3904/events/unauthenticated.SEC_3GPP_FAULTSUPERVISION_OUTPUT/"
+    }
+  },
+  "ves-3gpp-provisioning": {
+    "type": "message_router",
+    "dmaap_info": {
+      "location": "mtl5",
+      "topic_url": "http://onap-dmaap:3904/events/unauthenticated.SEC_3GPP_PROVISIONING_OUTPUT/"
+    }
+  },
+  "ves-3gpp-heartbeat": {
+    "type": "message_router",
+    "dmaap_info": {
+      "location": "mtl5",
+      "topic_url": "http://onap-dmaap:3904/events/unauthenticated.SEC_3GPP_HEARTBEAT_OUTPUT/"
+    }
+  },
+  "ves-3gpp-performance-assurance": {
+    "type": "message_router",
+    "dmaap_info": {
+      "location": "mtl5",
+      "topic_url": "http://onap-dmaap:3904/events/unauthenticated.SEC_3GPP_PERFORMANCEASSURANCE_OUTPUT/"
+    }
+  },
+  "ves-syslog-secondary": {
+    "type": "message_router",
+    "dmaap_info": {
+      "location": "mtl5",
+      "topic_url": "http://onap-dmaap:3904/events/DCAE-SE-COLLECTOR-EVENTS-DEV"
+    }
+  },
+  "ves-statechange-secondary": {
+    "type": "message_router",
+    "dmaap_info": {
+      "location": "mtl5",
+      "topic_url": "http://onap-dmaap:3904/events/DCAE-SE-COLLECTOR-EVENTS-DEV"
+    }
+  },
+  "ves-thresholdCrossingAlert-secondary": {
+    "type": "message_router",
+    "dmaap_info": {
+      "location": "mtl5",
+      "topic_url": "http://onap-dmaap:3904/events/DCAE-SE-COLLECTOR-EVENTS-DEV"
+    }
+  },
+  "ves-heartbeat-secondary": {
+    "type": "message_router",
+    "dmaap_info": {
+      "location": "mtl5",
+      "topic_url": "http://onap-dmaap:3904/events/DCAE-SE-COLLECTOR-EVENTS-DEV"
+    }
+  },
+  "ves-other-secondary": {
+    "type": "message_router",
+    "dmaap_info": {
+      "location": "mtl5",
+      "topic_url": "http://onap-dmaap:3904/events/DCAE-SE-COLLECTOR-EVENTS-DEV"
+    }
+  },
+  "ves-mobileflow-secondary": {
+    "type": "message_router",
+    "dmaap_info": {
+      "location": "mtl5",
+      "topic_url": "http://onap-dmaap:3904/events/DCAE-SE-COLLECTOR-EVENTS-DEV"
+    }
+  },
+  "ves-sipsignaling-secondary": {
+    "type": "message_router",
+    "dmaap_info": {
+      "location": "mtl5",
+      "topic_url": "http://onap-dmaap:3904/events/DCAE-SE-COLLECTOR-EVENTSves7_valid_ip_v4.json-DEV"
+    }
+  },
+  "ves-voicequality-secondary": {
+    "type": "message_router",
+    "dmaap_info": {
+      "location": "mtl5",
+      "topic_url": "http://onap-dmaap:3904/events/DCAE-SE-COLLECTOR-EVENTS-DEV"
+    }
+  },
+  "ves-fault-secondary": {
+    "type": "message_router",
+    "dmaap_info": {
+      "location": "mtl5",
+      "topic_url": "http://onap-dmaap:3904/events/DCAE-SE-COLLECTOR-EVENTS-DEV"
+    }
+  },
+  "ves-measurement-secondary": {
+    "type": "message_router",
+    "dmaap_info": {
+      "location": "mtl5",
+      "topic_url": "http://onap-dmaap:3904/events/DCAE-SE-COLLECTOR-EVENTS-DEV"
+    }
+  },
+  "ves-3gpp-fault-supervision-secondary": {
+    "type": "message_router",
+    "dmaap_info": {
+      "location": "mtl5",
+      "topic_url": "http://onap-dmaap:3904/events/unauthenticated.SEC_3GPP_FAULTSUPERVISION_OUTPUT"
+    }
+  },
+  "ves-3gpp-provisioning-secondary": {
+    "type": "message_router",
+    "dmaap_info": {
+      "location": "mtl5",
+      "topic_url": "http://onap-dmaap:3904/events/unauthenticated.SEC_3GPP_FAULTSUPERVISION_OUTPUT"
+    }
+  },
+  "ves-3gpp-heartbeat-secondary": {
+    "type": "message_router",
+    "dmaap_info": {
+      "location": "mtl5",
+      "topic_url": "http://onap-dmaap:3904/events/DCAE-SE-COLLECTOR-EVENTS-DEV"
+    }
+  },
+  "ves-3gpp-performance-assurance-secondary": {
+    "type": "message_router",
+    "dmaap_info": {
+      "location": "mtl5",
+      "topic_url": "http://onap-dmaap:3904/events/DCAE-SE-COLLECTOR-EVENTS-DEV"
+    }
+  },
+  "ves-pnfRegistration": {
+    "type": "message_router",
+    "dmaap_info": {
+      "location": "mtl5",
+      "topic_url": "http://onap-dmaap:3904/events/unauthenticated.VES_PNFREG_OUTPUT/"
+    }
+  },
+  "ves-o-ran-sc-du-hello-world-pm-streaming-oas3": {
+    "type": "message_router",
+    "dmaap_info": {
+      "location": "mtl5",
+      "topic_url": "http://onap-dmaap:3904/events/unauthenticated.VES_O_RAN_SC_HELLO_WORLD_PM_STREAMING_OUTPUT/"
+    }
+  }
+}
\ No newline at end of file
diff --git a/solution/integration/smo/onap-policy/config/api/defaultConfig.json b/solution/integration/smo/onap-policy/config/api/defaultConfig.json
new file mode 100644 (file)
index 0000000..b78b753
--- /dev/null
@@ -0,0 +1,53 @@
+{
+    "name": "ApiGroup",
+    "restServerParameters": {
+        "host": "0.0.0.0",
+        "port": 6969,
+        "userName": "healthcheck",
+        "password": "zb!XztG34",
+        "https": false,
+        "aaf": false
+    },
+    "databaseProviderParameters": {
+        "name": "PolicyProviderParameterGroup",
+        "implementation": "org.onap.policy.models.provider.impl.DatabasePolicyModelsProviderImpl",
+        "databaseDriver": "org.mariadb.jdbc.Driver",
+        "databaseUrl": "jdbc:mariadb://mariadb:3306/policyadmin",
+        "databaseUser": "root",
+        "databasePassword": "strong_pitchou",
+        "persistenceUnit": "PolicyMariaDb"
+    },
+    "preloadPolicyTypes": [
+        "policytypes/onap.policies.monitoring.tcagen2.yaml",
+        "policytypes/onap.policies.monitoring.dcaegen2.collectors.datafile.datafile-app-server.yaml",
+        "policytypes/onap.policies.monitoring.dcae-restconfcollector.yaml",
+        "policytypes/onap.policies.Optimization.yaml",
+        "policytypes/onap.policies.optimization.Resource.yaml",
+        "policytypes/onap.policies.optimization.Service.yaml",
+        "policytypes/onap.policies.optimization.resource.AffinityPolicy.yaml",
+        "policytypes/onap.policies.optimization.resource.DistancePolicy.yaml",
+        "policytypes/onap.policies.optimization.resource.HpaPolicy.yaml",
+        "policytypes/onap.policies.optimization.resource.OptimizationPolicy.yaml",
+        "policytypes/onap.policies.optimization.resource.PciPolicy.yaml",
+        "policytypes/onap.policies.optimization.service.QueryPolicy.yaml",
+        "policytypes/onap.policies.optimization.service.SubscriberPolicy.yaml",
+        "policytypes/onap.policies.optimization.resource.Vim_fit.yaml",
+        "policytypes/onap.policies.optimization.resource.VnfPolicy.yaml",
+        "policytypes/onap.policies.controlloop.guard.Common.yaml",
+        "policytypes/onap.policies.controlloop.guard.common.Blacklist.yaml",
+        "policytypes/onap.policies.controlloop.guard.common.FrequencyLimiter.yaml",
+        "policytypes/onap.policies.controlloop.guard.common.MinMax.yaml",
+        "policytypes/onap.policies.controlloop.guard.common.Filter.yaml",
+        "policytypes/onap.policies.controlloop.guard.coordination.FirstBlocksSecond.yaml",
+        "policytypes/onap.policies.Naming.yaml",
+        "policytypes/onap.policies.Match.yaml",
+        "policytypes/onap.policies.native.Drools.yaml",
+        "policytypes/onap.policies.native.Xacml.yaml",
+        "policytypes/onap.policies.native.Apex.yaml",
+        "policytypes/onap.policies.controlloop.operational.Common.yaml",
+        "policytypes/onap.policies.controlloop.operational.common.Drools.yaml"
+    ],
+    "preloadPolicies" : [
+        "policies/sdnc.policy.naming.input.tosca.yaml"
+    ]
+}
diff --git a/solution/integration/smo/onap-policy/config/db/bootstrap-database.sh b/solution/integration/smo/onap-policy/config/db/bootstrap-database.sh
new file mode 100755 (executable)
index 0000000..6a6310d
--- /dev/null
@@ -0,0 +1,28 @@
+#!/bin/sh
+
+###
+# ============LICENSE_START=======================================================
+# ONAP CLAMP
+# ================================================================================
+# Copyright (C) 2017 AT&T Intellectual Property. All rights reserved.
+# Modifications Copyright (C) 2021 Nordix Foundation. All rights reserved.
+# ================================================================================
+# 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.
+# ============LICENSE_END============================================
+# ===================================================================
+#
+###
+
+mysql -uroot -p$MYSQL_ROOT_PASSWORD -f < /docker-entrypoint-initdb.d/create-db.sql
+mysql -uroot -p$MYSQL_ROOT_PASSWORD --execute "CREATE USER 'policy_user'@'%' IDENTIFIED BY 'policy_user';"
+mysql -uroot -p$MYSQL_ROOT_PASSWORD --execute "GRANT ALL PRIVILEGES ON controlloop.* TO 'policy_user'@'%';"
\ No newline at end of file
diff --git a/solution/integration/smo/onap-policy/config/db/create-db.sql b/solution/integration/smo/onap-policy/config/db/create-db.sql
new file mode 100644 (file)
index 0000000..bc64431
--- /dev/null
@@ -0,0 +1,13 @@
+#
+# Create CLDS database objects (tables, etc.)
+#
+#
+CREATE DATABASE IF NOT EXISTS `cldsdb4`;
+CREATE DATABASE IF NOT EXISTS `policyadmin`;
+CREATE DATABASE IF NOT EXISTS `controlloop`;
+USE `cldsdb4`;
+DROP USER 'clds';
+CREATE USER 'clds';
+GRANT ALL on cldsdb4.* to 'clds' identified by 'sidnnd83K' with GRANT OPTION;
+FLUSH PRIVILEGES;
+
diff --git a/solution/integration/smo/onap-policy/config/db/db.conf b/solution/integration/smo/onap-policy/config/db/db.conf
deleted file mode 100644 (file)
index 22b37f8..0000000
+++ /dev/null
@@ -1,16 +0,0 @@
-# Copyright 2019,2021 AT&T Intellectual Property. All rights reserved
-#
-# 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.
-MYSQL_ROOT_PASSWORD=secret
-MYSQL_USER=policy_user
-MYSQL_PASSWORD=policy_user
diff --git a/solution/integration/smo/onap-policy/config/db/db.sh b/solution/integration/smo/onap-policy/config/db/db.sh
deleted file mode 100755 (executable)
index a5c8129..0000000
+++ /dev/null
@@ -1,22 +0,0 @@
-#!/bin/bash -xv
-# Copyright 2019,2021 AT&T Intellectual Property. All rights reserved
-#
-# 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.
-
-for db in support onap_sdk log migration operationshistory10 pooling policyadmin operationshistory
-do
-    mysql -uroot -p"${MYSQL_ROOT_PASSWORD}" --execute "CREATE DATABASE IF NOT EXISTS ${db};"
-    mysql -uroot -p"${MYSQL_ROOT_PASSWORD}" --execute "GRANT ALL PRIVILEGES ON \`${db}\`.* TO '${MYSQL_USER}'@'%' ;"
-done
-
-mysql -uroot -p"${MYSQL_ROOT_PASSWORD}" --execute "FLUSH PRIVILEGES;"
index a56dbaa..b8ca10e 100644 (file)
@@ -46,8 +46,8 @@ REPOSITORY_OFFLINE=true
 # Relational (SQL) DB access
 
 SQL_HOST=mariadb
-SQL_USER=policy_user
-SQL_PASSWORD=policy_user
+SQL_USER=root
+SQL_PASSWORD=strong_pitchou
 
 # AAF
 
index 8189419..fa1f8f1 100644 (file)
@@ -46,8 +46,8 @@ REPOSITORY_OFFLINE=false
 # Relational (SQL) DB access
 
 SQL_HOST=mariadb
-SQL_USER=policy_user
-SQL_PASSWORD=policy_user
+SQL_USER=root
+SQL_PASSWORD=strong_pitchou
 
 # AAF
 
diff --git a/solution/integration/smo/onap-policy/config/ks.jks b/solution/integration/smo/onap-policy/config/ks.jks
new file mode 100644 (file)
index 0000000..001c7e1
Binary files /dev/null and b/solution/integration/smo/onap-policy/config/ks.jks differ
index 369a37c..1890dae 100644 (file)
@@ -5,7 +5,7 @@
         "port": 6969,
         "userName": "healthcheck",
         "password": "zb!XztG34",
-        "https": true,
+        "https": false,
         "aaf": false
     },
     "pdpParameters": {
@@ -24,8 +24,8 @@
         "implementation": "org.onap.policy.models.provider.impl.DatabasePolicyModelsProviderImpl",
         "databaseDriver": "org.mariadb.jdbc.Driver",
         "databaseUrl": "jdbc:mariadb://mariadb:3306/policyadmin",
-        "databaseUser": "policy_user",
-        "databasePassword": "policy_user",
+        "databaseUser": "root",
+        "databasePassword": "strong_pitchou",
         "persistenceUnit": "PolicyMariaDb"
     },
     "topicParameterGroup": {
@@ -57,7 +57,7 @@
         "port": 6969,
         "userName": "healthcheck",
         "password": "zb!XztG34",
-        "useHttps": true,
+        "useHttps": false,
         "allowSelfSignedCerts" : true,
         "basePath": "policy/api/v1/healthcheck"
     }]
index 17f2435..5704133 100644 (file)
@@ -30,10 +30,13 @@ services:
       image: nexus3.onap.org:10001/mariadb:10.5.8
       container_name: mariadb
       hostname: mariadb
-      command: ['--lower-case-table-names=1', '--wait_timeout=28800']
-      env_file: config/db/db.conf
       volumes:
-         - ./config/db:/docker-entrypoint-initdb.d:ro
+       - db-vol:/var/lib/mysql
+       - "./config/db/:/docker-entrypoint-initdb.d:rw"
+      environment:
+       - MYSQL_ROOT_PASSWORD=strong_pitchou
+      ports:
+       - "3306:3306"
       expose:
        - 3306
       networks:
@@ -45,10 +48,11 @@ services:
        - mariadb
       hostname: policy-api
       ports:
-       - "6969:6969"
+       - "6869:6969"
       expose:
-       - 6969
+       - 6869
       volumes:
+       - ./config/api/defaultConfig.json:/opt/app/policy/api/etc/defaultConfig.json:ro
        - ./config/ks.jks:/opt/app/policy/api/etc/ssl/policy-keystore.jks:ro
        - ./wait_for_port.sh:/opt/app/policy/api/bin/wait_for_port.sh:ro
       entrypoint: ./wait_for_port.sh
@@ -58,6 +62,7 @@ services:
         ]
       networks:
        - nonrtric
+       - smo
    pap:
       image: nexus3.onap.org:10001/onap/policy-pap:2.4.2
       container_name: policy-pap
@@ -160,7 +165,7 @@ services:
        - nonrtric
        - smo
    apex-pdp:
-      image: registry.nordix.org/onap/policy-apex-pdp:2.6.0-SNAPSHOT
+      image: nexus3.onap.org:10001/onap/policy-apex-pdp:2.5.4
       container_name: policy-apex-pdp
       depends_on:
        - mariadb
@@ -208,3 +213,103 @@ services:
       networks:
        - nonrtric
        - smo
+   controlloop-runtime:
+      image: nexus3.onap.org:10001/onap/policy-clamp-cl-runtime:6.1.3
+      container_name: controlloop-runtime
+      depends_on:
+       - mariadb
+      hostname: controlloop-runtime
+      ports:
+       - "6969:6969"
+      expose:
+       - 6969
+      volumes:
+       - ./config/ks.jks:/opt/app/policy/clamp/etc/ssl/policy-keystore:ro
+       - ./wait_for_port.sh:/opt/app/policy/clamp/bin/wait_for_port.sh:ro
+      environment:
+       - TOPICSERVER=onap-dmaap
+       - MARIADB_HOST=mariadb
+       - MARIADB_PORT=3306
+       - KEYSTORE=/opt/app/policy/clamp/etc/ssl/policy-keystore
+       - KEYSTORE_PASSWD=Pol1cy_0nap
+       - RUNTIME_TOPICPARAMETERGROUP_TOPICSOURCES_0_TOPIC=POLICY-CLRUNTIME-PARTICIPANT
+       - RUNTIME_TOPICPARAMETERGROUP_TOPICSOURCES_0_SERVERS_0=onap-dmaap
+       - RUNTIME_TOPICPARAMETERGROUP_TOPICSOURCES_0_TOPICCOMMINFRASTRUCTURE=dmaap
+       - RUNTIME_TOPICPARAMETERGROUP_TOPICSOURCES_0_FETCHTIMEOUT=15000
+       - RUNTIME_TOPICPARAMETERGROUP_TOPICSOURCES_0_USEHTTPS=false
+       - RUNTIME_TOPICPARAMETERGROUP_TOPICSINKS_0_TOPIC=POLICY-CLRUNTIME-PARTICIPANT
+       - RUNTIME_TOPICPARAMETERGROUP_TOPICSINKS_0_SERVERS_0=onap-dmaap
+       - RUNTIME_TOPICPARAMETERGROUP_TOPICSINKS_0_TOPICCOMMINFRASTRUCTURE=dmaap
+       - RUNTIME_TOPICPARAMETERGROUP_TOPICSINKS_0_FETCHTIMEOUT=15000
+       - RUNTIME_TOPICPARAMETERGROUP_TOPICSINKS_0_USEHTTPS=false
+      entrypoint: /opt/app/policy/clamp/bin/wait_for_port.sh
+      command: [
+        '-c', '/opt/app/policy/clamp/bin/controlloop-runtime.sh',
+        'mariadb', '3306',
+        'onap-dmaap', '3904'
+        ]
+      networks:
+       - nonrtric
+       - smo
+   policy-participant:
+      image: nexus3.onap.org:10001/onap/policy-clamp-cl-pf-ppnt:6.1.3
+      container_name: policy-participant
+      depends_on:
+       - mariadb
+       - controlloop-runtime
+      hostname: policy-participant
+      volumes:
+       - ./config/ks.jks:/opt/app/policy/clamp/etc/ssl/policy-keystore:ro
+       - ./wait_for_port.sh:/opt/app/policy/clamp/bin/wait_for_port.sh:ro
+      environment:
+       - TOPICSERVER=onap-dmaap
+       - KEYSTORE=/opt/app/policy/clamp/etc/ssl/policy-keystore
+       - KEYSTORE_PASSWD=Pol1cy_0nap
+       - PARTICIPANT_INTERMEDIARYPARAMETERS_CLAMPCONTROLLOOPTOPICS_TOPICSOURCES_0_TOPIC=POLICY-CLRUNTIME-PARTICIPANT
+       - PARTICIPANT_INTERMEDIARYPARAMETERS_CLAMPCONTROLLOOPTOPICS_TOPICSOURCES_0_SERVERS_0=onap-dmaap
+       - PARTICIPANT_INTERMEDIARYPARAMETERS_CLAMPCONTROLLOOPTOPICS_TOPICSOURCES_0_TOPICCOMMINFRASTRUCTURE=dmaap
+       - PARTICIPANT_INTERMEDIARYPARAMETERS_CLAMPCONTROLLOOPTOPICS_TOPICSOURCES_0_FETCHTIMEOUT=15000
+       - PARTICIPANT_INTERMEDIARYPARAMETERS_CLAMPCONTROLLOOPTOPICS_TOPICSOURCES_0_USEHTTPS=false
+       - PARTICIPANT_INTERMEDIARYPARAMETERS_CLAMPCONTROLLOOPTOPICS_TOPICSINKS_0_TOPIC=POLICY-CLRUNTIME-PARTICIPANT
+       - PARTICIPANT_INTERMEDIARYPARAMETERS_CLAMPCONTROLLOOPTOPICS_TOPICSINKS_0_SERVERS_0=onap-dmaap
+       - PARTICIPANT_INTERMEDIARYPARAMETERS_CLAMPCONTROLLOOPTOPICS_TOPICSINKS_0_TOPICCOMMINFRASTRUCTURE=dmaap
+       - PARTICIPANT_INTERMEDIARYPARAMETERS_CLAMPCONTROLLOOPTOPICS_TOPICSINKS_0_FETCHTIMEOUT=15000
+       - PARTICIPANT_INTERMEDIARYPARAMETERS_CLAMPCONTROLLOOPTOPICS_TOPICSINKS_0_USEHTTPS=false
+      entrypoint: /opt/app/policy/clamp/bin/wait_for_port.sh
+      command: [
+        '-c', '/opt/app/policy/clamp/bin/policy-participant.sh',
+        'controlloop-runtime', '6969'
+        ]
+      networks:
+       - nonrtric
+       - smo
+   k8s-participant:
+      image: nexus3.onap.org:10001/onap/policy-clamp-cl-k8s-ppnt:6.1.3
+      container_name: k8s-participant
+      depends_on:
+       - mariadb
+       - controlloop-runtime
+      hostname: k8s-participant
+      volumes:
+       - ./config/ks.jks:/opt/app/policy/clamp/etc/ssl/policy-keystore:ro
+       - ./wait_for_port.sh:/opt/app/policy/clamp/bin/wait_for_port.sh:ro
+      environment:
+       - TOPICSERVER=onap-dmaap
+       - KEYSTORE=/opt/app/policy/clamp/etc/ssl/policy-keystore
+       - KEYSTORE_PASSWD=Pol1cy_0nap
+       - PARTICIPANT_INTERMEDIARYPARAMETERS_CLAMPCONTROLLOOPTOPICS_TOPICSOURCES_0_TOPIC=POLICY-CLRUNTIME-PARTICIPANT
+       - PARTICIPANT_INTERMEDIARYPARAMETERS_CLAMPCONTROLLOOPTOPICS_TOPICSOURCES_0_SERVERS_0=onap-dmaap
+       - PARTICIPANT_INTERMEDIARYPARAMETERS_CLAMPCONTROLLOOPTOPICS_TOPICSOURCES_0_TOPICCOMMINFRASTRUCTURE=dmaap
+       - PARTICIPANT_INTERMEDIARYPARAMETERS_CLAMPCONTROLLOOPTOPICS_TOPICSOURCES_0_FETCHTIMEOUT=15000
+       - PARTICIPANT_INTERMEDIARYPARAMETERS_CLAMPCONTROLLOOPTOPICS_TOPICSOURCES_0_USEHTTPS=false
+       - PARTICIPANT_INTERMEDIARYPARAMETERS_CLAMPCONTROLLOOPTOPICS_TOPICSINKS_0_TOPIC=POLICY-CLRUNTIME-PARTICIPANT
+       - PARTICIPANT_INTERMEDIARYPARAMETERS_CLAMPCONTROLLOOPTOPICS_TOPICSINKS_0_SERVERS_0=onap-dmaap
+       - PARTICIPANT_INTERMEDIARYPARAMETERS_CLAMPCONTROLLOOPTOPICS_TOPICSINKS_0_TOPICCOMMINFRASTRUCTURE=dmaap
+       - PARTICIPANT_INTERMEDIARYPARAMETERS_CLAMPCONTROLLOOPTOPICS_TOPICSINKS_0_FETCHTIMEOUT=15000
+       - PARTICIPANT_INTERMEDIARYPARAMETERS_CLAMPCONTROLLOOPTOPICS_TOPICSINKS_0_USEHTTPS=false
+      entrypoint: sh -c "/opt/app/policy/clamp/bin/wait_for_port.sh controlloop-runtime 6969 && /opt/app/policy/clamp/bin/kubernetes-participant.sh"
+      networks:
+       - nonrtric
+       - smo
+volumes:
+  db-vol:
\ No newline at end of file