Create VES client example for domain 'stndefined'
[oam.git] / solution / dev / ves-test-collector / client-scripts-ves-v7 / README.md
index fc0b059..3b33358 100644 (file)
-# O-RAN Components interfaceing with VES-Collector
+# O-RAN Components interfacing with VES-Collector
 
-Test scripts for interfaceing with DCAE.
+Test scripts for interfacing with DCAE.
 
-For ONAP Frankfurt the interface definition with DCAE is: [CommonEventFormat_30.1_ONAP.json](./json/schema/CommonEventFormat_30.1_ONAP.json).
-The ONAP VES version are described in [ONAP documentation](https://onap.readthedocs.io/en/latest/submodules/vnfrqts/requirements.git/docs/Chapter8/ves7_1spec.html).
+ONAP Honolulu DCAE VES-Collector supports the interface definition  [CommonEventFormat_30.2.1_ONAP.json](https://gerrit.onap.org/r/gitweb?p=dcaegen2/collectors/ves.git;a=blob;f=etc/CommonEventFormat_30.2.1_ONAP.json).
+
+The ONAP VES version is described in [ONAP documentation](https://docs.onap.org/projects/onap-vnfrqts-requirements/en/latest/Chapter8/ves_7_2/ves_event_listener_7_2.html?highlight=dcae%20ves%20header#).
+
+VES domain 'stndDefined' offers the capability to inject external schema definitions of the VES.
+This way the 3GPP notification syntax can be transported. Please see [SA88-Rel16 schema](https://forge.3gpp.org/rep/sa5/MnS/tree/SA88-Rel16/OpenAPI).
 
-For ONAP Frankfurt the interface definition with A&AI is: [add link when known]().
 
 ## Prerequisites
 
-This git project must be cloned on a ubuntu maschine in order to execute the bash scripts.
+This git project must be cloned on a ubuntu machine in order to execute the bash scripts.
 DCAE provide REST interfaces. In order to perform HTTP request [cURL](https://curl.haxx.se/) is used. 
 
 In case cURL needs to be please use the following command in a terminal.
 
 ```
-sudo apt-get install curl 
+sudo apt install curl 
 ```
 
-For interfacing with cert (https) and key must be extracted acoording to
-https://wiki.web.att.com/pages/viewpage.action?spaceKey=SDNCDEV&title=Query+AAI+Using+Postman.
+Python3 is expected to run some scripts.
+
 ```
-./_extractCertAndKey.sh
+pip3 install requests
 ```
-You will be ask to enter the "Input Password". 
-The password must not be shared here, please ask your admin.
 
-It is nessary to configure the DCAE servers for valid excecution of the bash scripts.
-Please update the varables in [config](-/config) accordintly to the test enviroment.
+It is necessary to configure the DCAE servers for valid execution of the bash scripts.
+Please update the variables in [config](-/config) accordingly to the test environment.
 
 ```
 urlVes=http://localhost:8443/eventListener/v7
-basicAuthVes=ves:ves
+basicAuthVes=sample1:sample1
 ```
 
 ## Concept
 
-Several tests scripts are avialable in the root of this project. 
-The bash scripts will perform a cURL command to send a REST request to the A&AI or DCAE server.
+Several tests scripts are available in the root of this project. 
+The bash and python scripts will perform an HTTPS-POST request to a VES-Collector.
+
+## VES Domains
+
+The syntax of a single VES event is devices into a common header and an event
+specific body.
 
-![SDN-R NBIs](images/sndr-nbis.png "SDN-R NBIs" )
+The event specific bodies are are identified by the VES domain.
 
-## Scripts
+### VES Domain "fault"
 
-This chapter descibes the several test scripts its usage and functions.
+This script 'sendFault' sends a VES message of domain "fault" to DCAE. It requires three command line parameters:
 
-### _example
+1. **equipmentType**: Valid equipment types for 1806 and 1810 are [1234, FYNG, R2D2, 7DEV, nSky, 1OSF] according to document "295672 SDN-R System Requirements".
+
+2. **alarmType**: or alarm name. Any string which references a supported alarm name of the equipment type.
 
-This scripts calls all the other scripts in order to give valid examples and to expain by examples the usage ot the other scripts.
+3. **severity**: The severity of tha alarm as defined by [VES schema](https://gerrit.onap.org/r/gitweb?p=dcaegen2/collectors/ves.git;a=blob;f=etc/CommonEventFormat_30.2.1_ONAP.json). 
+
+The following example show the usage of this script. The alarm "lossOfSignal" for equipment type "nSky" with severity "CRITICAL" will be send.
 
 ```
-./_example.sh 
+./sendFault.sh nSky lossOfSignal CRITICAL
 ```
 
-Please see valid examples using the followfing command (or continue reading):
+### VES Domain "heartbeat",
+
+The script 'sendVesHeartbeat' simulates a VES event of domain "heartbeat" from SDN-R to DCAE VES-Collector.
+
+The following example show the usage of this script:
 
 ```
-cat _example.sh 
+python3 sendVesHeartbeat.py
 ```
 
-### createPnf
+### VES Domain "measurement",
 
-The script creates a PNF object in A&AI. The script requires one input parameter. This parameter defines the equipment type. Valid equipment types for 1806 and 1810 are [1234, FYNG, R2D2, 7DEV, nSky, 1OSF] according to document "295672 SDN-R System Requirements".
+This script 'send15minPm' sends a VES message of domain "measurementsForVfScaling" to DCAE. The script requires one input parameter. This parameter defines the equipment type. Valid equipment types for 1806 and 1810 are [1234, FYNG, R2D2, 7DEV, nSky, 1OSF] according to document "295672 SDN-R System Requirements".
 
 ```
-./createPnf.sh 7DEV
+./send15minPm.sh FYNG
 ```
 
-### sendHeartbeat
+### VES Domain "mobileFlow",
+
+Not required by O-RAN Alliance OAM specification. 
 
-The script sends a "heardbeat" from SDN-R to DCAE.
+### VES Domain "notification",
+
+The script 'sendVesNotification' simulates a VES event of domain "notification" from a network-function to DCAE VES-Collector.
 
 The following example show the usage of this script:
+
 ```
-./sendHeartbeat.sh
+python3 sendVesNotification.py --pnfId nSky
 ```
 
+### VES Domain "other",
 
-### sendFault
+Not required by O-RAN Alliance OAM specification. 
 
-This script send a VES message of domain "fault" to DCAE. It requires three command line parameters:
+### VES Domain "perf3gpp",
 
-1. **equipmentType**: Valid equipment types for 1806 and 1810 are [1234, FYNG, R2D2, 7DEV, nSky, 1OSF] according to document "295672 SDN-R System Requirements".
+Not required by O-RAN Alliance OAM specification. 
 
-2. **alarmType**: or alarm name. Any string which references a supported alarm name of the equipment type.
+### VES Domain "pnfRegistration",
 
-3. **severity**: The severity of tha alarm as defined by [VES schema](./json/schema/CommonEventFormat_30.1_ONAP.json). 
+The script 'pnfRegister' creates a PNF object in A&AI. The script requires one input parameter. This parameter defines the equipment type. Valid equipment types for 1806 and 1810 are [1234, FYNG, R2D2, 7DEV, nSky, 1OSF] according to document "295672 SDN-R System Requirements".
 
-The following example show the usage of this script. The alarm "lossOfSignal" for equipment type "nSky" with severtiy "CRITICAL" will be send.
+```
+./pnfRegister.sh 7DEV
+```
+### VES Domain "sipSignaling",
+
+Not required by O-RAN Alliance OAM specification. 
+
+### VES Domain "stateChange",
+
+The script 'sendVesStateChange' simulates a VES event of domain "stateChange" from a network-function to DCAE VES-Collector.
+
+The following example show the usage of this script:
 
 ```
-./sendFault.sh nSky lossOfSignal CRITICAL
+python3 sendVesStateChange.py --pnfId nSky
 ```
 
+### VES Domain "stndDefined",
+
+The script 'sendVesStndDefined' simulates a VES event of domain "stateChange" from a network-function to DCAE VES-Collector. Four schema definitions by 3GPP are supported:
 
-### sendTca
+- 3GPP-FaultSupervision
+- 3GPP-Heartbeat
+- 3GPP-PerformanceAssurance
+- 3GPP-Provisioning
 
-This script send a VES message of domain "thresholdCrossingAlert" to DCAE. It requires three command line parameters:
+The following examples show the usage of this script:
+
+```
+python sendVesStndDefined.py --pnfId nSky --body 3GPP-FaultSupervision
+python sendVesStndDefined.py --pnfId nSky --body 3GPP-Heartbeat
+python sendVesStndDefined.py --pnfId nSky --body 3GPP-PerformanceAssurance
+python sendVesStndDefined.py --pnfId nSky --body 3GPP-Provisioning
+ ```
+
+### VES Domain "syslog",
+
+Not required by O-RAN Alliance OAM specification. 
+
+### VES Domain "thresholdCrossingAlert",
+
+This script 'sendTca' sends a VES message of domain "thresholdCrossingAlert" to DCAE. It requires three command line parameters:
 
 1. **equipmentType**: Valid equipment types for 1806 and 1810 are [1234, FYNG, R2D2, 7DEV, nSky, 1OSF] according to document "295672 SDN-R System Requirements".
 
 2. **alarmType**: or alarm name. Any string which references a supported alarm name (TCA) of the equipment type.
 
-3. **alertAction**: The action of TCA as defined by [VES schema](./json/schema/CommonEventFormat_28.4.1.json). 
+3. **alertAction**: The action of TCA as defined by [VES schema](https://gerrit.onap.org/r/gitweb?p=dcaegen2/collectors/ves.git;a=blob;f=etc/CommonEventFormat_30.2.1_ONAP.json). 
 
 The following example show the usage of this script. The TCA with name "TCA" for equipment type "1234" with alarmAction "SET" will be send.
 
@@ -110,16 +162,11 @@ The following example show the usage of this script. The TCA with name "TCA" for
 ./sendTca.sh 1234 TCA SET
 ```
 
+### VES Domain "voiceQuality"
 
-### send15minPm
-
-This script send a VES message of domain "measurementsForVfScaling" to DCAE. The script requires one input parameter. This parameter defines the equipment type. Valid equipment types for 1806 and 1810 are [1234, FYNG, R2D2, 7DEV, nSky, 1OSF] according to document "295672 SDN-R System Requirements".
-
-```
-./send15minPm.sh FYNG
-```
+Not required by O-RAN Alliance OAM specification. 
 
-### sendEventList
+### Sending a VES event list
 
 This script send a VES message of domain "fault" AND "heartbeat" as event list to DCAE. It requires three command line parameters:
 
@@ -127,9 +174,9 @@ This script send a VES message of domain "fault" AND "heartbeat" as event list t
 
 2. **alarmType**: or alarm name. Any string which references a supported alarm name of the equipment type.
 
-3. **severity**: The severity of tha alarm as defined by [VES schema](./json/schema/CommonEventFormat_30.1_ONAP.json). 
+3. **severity**: The severity of tha alarm as defined by [VES schema](https://gerrit.onap.org/r/gitweb?p=dcaegen2/collectors/ves.git;a=blob;f=etc/CommonEventFormat_30.2.1_ONAP.json). 
 
-The following example show the usage of this script. The alarm "lossOfSignal" for equipment type "nSky" with severtiy "CRITICAL" will be send.
+The following example show the usage of this script. The alarm "lossOfSignal" for equipment type "nSky" with severity "CRITICAL" will be send.
 
 ```
 ./sendEventList.sh 1234 lossOfSignal CRITICAL