*/**/__pycache__
*.log
+# avoid copyright issues with 3GPP
+*/**/3gpp/**/*.yaml
+
# documentation
.tox
# limitations under the License.
#
-COMPOSE_PROJECT_NAME=o-ran-sc-d-release
+COMPOSE_PROJECT_NAME=o-ran-sc-e-release
# Credentials
ADMIN_USERNAME=admin
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
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
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}
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:
"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"
}
]
}
<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
<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
<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>
<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>
# limitations under the License.
#
-COMPOSE_PROJECT_NAME=o-ran-sc-d-release
+COMPOSE_PROJECT_NAME=o-ran-sc-e-release
# Credentials
# limitations under the License.
#
-COMPOSE_PROJECT_NAME=o-ran-sc-d-release
+COMPOSE_PROJECT_NAME=o-ran-sc-e-release
# Credentials
ADMIN_USERNAME=admin
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
- 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:
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
--- /dev/null
+# 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
+```
--- /dev/null
+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.
--- /dev/null
+[
+ {
+ "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
--- /dev/null
+{
+ "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