---TEST STATUS for Dublin Release ----
The bulk PM feature consists of two main parts:
Event-driven bulk transfer of monitoring data from an xNF to ONAP/DCAE. A micro-service will listen for 'FileReady' VES events sent from an xNF via the VES collector. Once files become available the collector micro-service will fetch them using protocol such as FTPES
(committed) or SFTP. The collected data files are published internally on a DMaaP Data Router (DR) feed.
(committed goal)For 3GPP formatted measurement data and for consumers that prefer such data in VES format, an optional A File Consumer node which is a simulated PM file subscriber that subscribe to Data Router feed and receive PM files.
Image Added
Use Case 2:
Event-driven bulk transfer of monitoring data from an xNF to ONAP/DCAE. A micro-service will listen for 'FileReady' VES events sent from an xNF via the VES collector. Once files become available the collector micro-service will fetch them using protocol such as FTPES or SFTP. The collected data files are published internally on a DMaaP Data Router (DR) feed. The PM mapper receives the files by subscribing to a Data Router feed. The 3GPP PM Mapper micro-service
is planned that can will extract selected (filtered) measurements from a 3GPP XML file and publish them as VES events on a DMaaP Message Router topic
. The mapper receives the files by subscribing to a Data Router feed (stretch goal)for consumers that prefer such data in perf3gpp VES format.
Image Added
Use Case 1 High Level End-to-End integration Testcases :
# | Test Case | Status |
---|
1 | Ensure that the 'FileReady' VES event is sent from the simulated xNF via the VES collector. | |
2 | Ensure that the unauthenticated.VES_NOTIFICATION_OUTPUT topic is present once it received "File Ready" VES notification from VES Collector. | |
3 | Ensure that the Data File Collector starts to download the xml PM file(s) from the simulated xNF once it receives the 'FileReady' VES event via the VES collector. | |
4 | Ensure that the PM xml file(s) are published to the Data Router. | |
4a | Ensure that a simulated File Consumer is able to subscribe and consume the PM file(s) from the Data Router. | |
5 | Verify the Data File Collector Metadata file is valid | |
Use Case 2 High Level End-to-End integration Testcases :
# | Test Case | Status |
---|
1 | Ensure that the 'FileReady' VES event is sent from the simulated xNF via the VES collector. | |
2 | Ensure that the unauthenticated.VES_NOTIFICATION_OUTPUT topic is present once it received "File Ready" VES notification from VES Collector. | |
3 | Ensure that the Data File Collector starts to download the xml PM file(s) from the simulated xNF once it receives the 'FileReady' VES event via the VES collector. | |
4 | Ensure that the PM xml file(s) are published to the Data Router. | |
5 | Verify the Data File Collector Metadata file is valid | |
6 | Verify 3GPP PM Mapper subscribes to feed on the Data Router and maps the PM xml file onto the Message Router as a VES Message(s) | |
7 | Verify that "simulated PM VES Consumer" receive VES events from Message Router topic. | |
E2E Sunny Day Scenario Sequence Diagram:
Gliffy Diagram |
---|
| |
---|
size | 1200 |
---|
name | 5G E2E |
---|
pagePin | 7 |
---|
|
JIRAs:
Jira |
---|
server | ONAP JIRA |
---|
columns | key,summary,type,created,updated,due,assignee,reporter,priority,status,resolution |
---|
serverId | 425b2b0a-557c-3c0c-b515-579789cceedb |
---|
key | INT-832 |
---|
|
Jira |
---|
server | ONAP JIRA |
---|
columns | key,summary,type,created,updated,due,assignee,reporter,priority,status,resolution |
---|
serverId | 425b2b0a-557c-3c0c-b515-579789cceedb |
---|
key | DCAEGEN2-564 |
---|
|
Jira |
---|
server | ONAP JIRA |
---|
columns | key,summary,type,created,updated,due,assignee,reporter,priority,status,resolution |
---|
serverId | 425b2b0a-557c-3c0c-b515-579789cceedb |
---|
key | DCAEGEN2-566 |
---|
|
Jira |
---|
server | ONAP JIRA |
---|
columns | key,summary,type,created,updated,due,assignee,reporter,priority,status,resolution |
---|
serverId | 425b2b0a-557c-3c0c-b515-579789cceedb |
---|
key | DCAEGEN2-567 |
---|
|
Jira |
---|
server | ONAP JIRA |
---|
columns | key,summary,type,created,updated,due,assignee,reporter,priority,status,resolution |
---|
serverId | 425b2b0a-557c-3c0c-b515-579789cceedb |
---|
key | DMAAP-28 |
---|
|
Jira |
---|
server | ONAP JIRA |
---|
columns | key,summary,type,created,updated,due,assignee,reporter,priority,status,resolution |
---|
serverId | 425b2b0a-557c-3c0c-b515-579789cceedb |
---|
key | VNFRQTS-513 |
---|
|
Jira |
---|
server | ONAP JIRA |
---|
serverId | 425b2b0a-557c-3c0c-b515-579789cceedb |
---|
key | INT-649 |
---|
|
Jira |
---|
server | ONAP JIRA |
---|
columns | key,summary,type,created,updated,due,assignee,reporter,priority,status,resolution |
---|
serverId | 425b2b0a-557c-3c0c-b515-579789cceedb |
---|
key | VNFRQTS-263 |
---|
|
Jira |
---|
server | ONAP JIRA |
---|
columns | key,summary,type,created,updated,due,assignee,reporter,priority,status,resolution |
---|
serverId | 425b2b0a-557c-3c0c-b515-579789cceedb |
---|
key | VNFRQTS-264 |
---|
|
Image RemovedDeployment:
Test environment requirements for above test cases:
- xNF simulator for test cases:
ftpes - FTPes capable server.
- with VES
6x - 1 support for 'fileReady' event.
- E.g. xNF able to produce data files and send VES fileReady events,
- E.g. xNF emulator able to produce 'fileReady' notification events including updated events, or a series or predefined VES events at periodic intervals.
- sample data files for collection. E.g. 3gpp PM
files- file(s)
- DMaaP R3, at minimum
need - need DR running and configured for Bulk PM support
- DCAE R3, MR with support for VES
6x - 1 spec
- DCAE R3, Data File Collector installed and configured
This environment can be set up by following the steps below.
- Clone the integration/csit repo (git clone ssh://gerrit.onap.org:29418/integration/csit ).
- Run: .run-csit.sh plans/usecases/5G-bulkpm
Use Case preconditions:
instantiated at ONAP, e.g. in A&AIDCAE Data File Collector Sequence Diagram
Gliffy Diagram |
---|
size | 600 |
---|
name | 5G BulkPM VES - DFC |
---|
pagePin | 1 |
---|
DCAE Data File Collector Test cases and Status
# | Test Case | Status |
---|
1 | xNF: Ensure fileReady event is received from xNF at DCAE VES collector. Expected outcome: fileReady event received, and meets VES 6.x specification | |
2 | DCAE VES Collector: Ensure fileReady event is processed and forwarded to DCAE Message Router. Expected outcome: fileReady event on correct MR topic | |
3 | DCAE Data File Collector: Ensure fileReady event is received from DCAE Message Router. Expected outcome: fileReady event received by Data File Collector | |
| DCAE Data File Collector: Ensure event is processed and any invalid file entries (i.e. missing or corrupt data) are logged. Expected outcome: any fileReady event which does not meet VES 6.x specification is logged as invalid event | |
5 | DCAE Data File Collector: After succesful event parsing, confirm secure connection to file location is initiated for file retrieval. Expected outcome: connection to xNF file location contained in the event. | |
6 | DCAE Data File Collector: Confirm that any unsuccessful connection attempts are logged. Expected outcome: any errors such as authentication failed, destination unreachable, etc. are logged. | |
7 | DCAE Data File Collector: Ensure that for each new entry in the fileReady event the file is retrieved. Expected outcome: every file indicated in the fileReady event is retreived from the xNF | |
8 | DCAE Data File Collector: Ensure any files which are not available are logged. Expected outcome: any errors such as non-existant file (e.g. file removed before retrieval) are logged | |
9 | DCAE Data File Collector: Confirm that in the event a file fails to transfer successfully, retry is initiated. Expected outcome: Retry is initiated for unsuccessful transfer. | |
10 | DCAE Data File Collector: Confirm that in the event the maximum number of retries is exceeded, an error is logged. Expected outcome: Error log indicating that the file was not able to retrieved. | |
11 | DCAE Data File Collector: Ensure the connection to xNF is closed. Expected outcome: Connection to xNF is closed. | |
12 | DCAE Data File Collector: Ensure the data file(s) retrieved for that processed fileReady event are published. Expected outcome: Data retrieved is avaialble on correct feed on DMaaP Data Router | |
Detailed Description End-to-End Feature Integration Testcases :
Test Case ID | Bulk_PM_E2E_01 |
---|
Test Case Name | Send FileReadyEvent to VES Collector |
Description | Ensure that the 'FileReady' VES event is sent from the simulated xNF to the VES collector. |
Release | Casablanca |
Pre-conditions | From the above section "Deployment" a test environment with all the required components - xNF (simulated with sftp or sftpe ), VES Collector are all started. |
Testing Steps |
Steps | Expected Result |
---|
Send FileExist VES event to VES collector to simulate what the xNF would initiate. Example File Ready VES Notification: curl -i -X POST -H "Content-Type:application/json" -d '{ "event": { "commonEventHeader": { "version": "4.0.1", "vesEventListenerVersion": "7.0.1", "domain": "notification", "eventName": "Noti_RnNode-Ericsson_FileReady", "eventId": "FileReady_1797490e-10ae-4d48-9ea7-3d7d790b25e1", "lastEpochMicrosec": 8745745764578, "priority": "Normal", "reportingEntityName": "otenb5309", "sequence": 0, "sourceName": "oteNB5309", "startEpochMicrosec": 8745745764578, "timeZoneOffset": "UTC+05.30" }, "notificationFields": { "changeIdentifier": "PM_MEAS_FILES", "changeType": "FileReady", "notificationFieldsVersion": "2.0", "arrayOfNamedHashMap": [ { "name": "pm.xml.gz", "hashMap":{ "location": "sftp://admin:admin@172.18.0.2:22/pm.xml.gz", "compression": "gzip", "fileFormatType": "org.3GPP.32.435#measCollec", "fileFormatVersion": "V10" } } ] } } }' 'http://172.17.0.2:8080/eventListener/v7'
| The VES Collector accepted the "File Ready" Notification send by xNF. We should get 202 response from the VES Collector. e.g. HTTP/1.1 202 Content-Type: application/json Content-Length: 8 Date: Sat, 22 Sep 2018 21:16:07 GMT
|
|
Conclusion (Pass /Fail) | PASS |
Testing Lab | https://jenkins.onap.org/view/CSIT/ Ubuntu Docker Machine |
Test Case ID | Bulk_PM_E2E_02 |
---|
Test Case Name | DmaaP topic for unauthenticated.VES_NOTIFICATION_OUTPUT |
Description | Ensure that the unauthenticated.VES_NOTIFICATION_OUTPUT topic is present on the DMaaP Message Router once it receives "File Ready" VES notification from VES Collector.
|
Release | Casablanca |
Pre-conditions | 1 .The DmaaP Message Router is up and running. 2. The Previous Test case has passed and its environment is still running |
Testing Steps
|
Steps | Expected Result |
---|
- Check on the DmaaP topic, it should contain "unauthenticated.VES_NOTIFICATION_OUTPUT"
curl -i http://172.18.0.6:3904/topics
| Expect result code 200, e.g. HTTP/1.1 200 OK Date: Sun, 23 Sep 2018 10:10:26 GMT Content-Type: application/json Accept: */* breadcrumbId: ID-de84f90a4556-45507-1537643129080-0-21587 User-Agent: curl/7.47.0 X-CSI-Internal-WriteableRequest: true Content-Length: 87 Server: Jetty(9.3.z-SNAPSHOT)
{"topics": [ "__consumer_offsets", "unauthenticated.VES_NOTIFICATION_OUTPUT" ]} | If you wish to manually check the messages under unauthenticated.VES_NOTIFICATION_OUTPUT topic in DmaaP. # curl http://172.18.0.6:3904/events/unauthenticated.VES_NOTIFICATION_OUTPUT/OpenDcae-c12/C12 | Note: If you manually check the message on the Topic, you will consume it and therefore DFC wont be able to consume it. ["{\"event\":{\"commonEventHeader\":{\"startEpochMicrosec\":8745745764578,\"eventId\":\"FileReady_1797490e-10ae-4d48-9ea7-3d7d790b25e1\",\"timeZoneOffset\":\"UTC+05.30\",\"internalHeaderFields\":{\"collectorTimeStamp\":\"Sat, 09 22 2018 07:09:15 UTC\"},\"priority\":\"Normal\",\"version\":\"4.0.1\",\"reportingEntityName\":\"otenb5309\",\"sequence\":0,\"domain\":\"notification\",\"lastEpochMicrosec\":8745745764578,\"eventName\":\"Noti_RnNode-Ericsson_FileReady\",\"vesEventListenerVersion\":\"7.0.1\",\"sourceName\":\"oteNB5309\"},\"notificationFields\":{\"notificationFieldsVersion\":\"2.0\",\"changeType\":\"FileReady\",\"changeIdentifier\":\"PM_MEAS_FILES\",\"arrayOfNamedHashMap\":[{\"name\":\"pm.xml.gz\",\"hashMap\":{\"location\":\"sftp://admin:admin@172.18.0.2:22/pm.xml.gz\",\"fileFormatType\":\"org.3GPP.32.435#measCollec\",\"fileFormatVersion\":\"V10\",\"compression\":\"gzip\"}}]}}}"]
|
|
Conclusion (Pass /Fail) | PASS |
Testing Lab | https://jenkins.onap.org/view/CSIT/ Ubuntu Docker Machine |
Test Case ID | Bulk_PM_E2E_03 |
---|
Test Case Name | Download of xml PM file(s) from xNF when 'FileReady' VES event is received. |
Description | Ensure that the Data File Collector starts to download the xml PM file(s) from the simulated xNF once it receives the 'FileReady' VES event via the VES collector. |
Release | Casablanca |
Pre-conditions | The Previous Test case has passed and its environment is still running |
Testing Steps |
Steps | Expected Result |
---|
- File Collector get xNF info ( sftp address, PM file location etc ) from the
Dmaap topic unauthenticated.VES_NOTIFICATION_OUTPUT
# docker exec -it dfc /bin/sh > cat /opt/log/application.log
| Data File Collector fetches messages from Dmaap Topic. 2018-09-22 21:16:07.815 INFO 1 --- [elastic-2] o.o.d.c.d.s.DmaapReactiveWebClient : Request: GET http://172.18.0.6:3904/events/unauthenticated.VES_NOTIFICATION_OUTPUT/OpenDcae-c12/C12 2018-09-22 21:16:07.815 INFO 1 --- [elastic-2] o.o.d.c.d.s.DmaapReactiveWebClient : Content-Type=application/json 2018-09-22 21:16:07.816 INFO 1 --- [elastic-2] o.o.d.c.d.s.DmaapReactiveWebClient : HTTP request headers: {Content-Type=[application/json]} 2018-09-22 21:16:08.062 INFO 1 --- [reactor-http-client-epoll-15] o.o.d.c.d.s.DmaapReactiveWebClient : Response Status 200 2018-09-22 21:16:08.064 INFO 1 --- [reactor-http-client-epoll-15] o.o.d.c.d.s.DmaapConsumerJsonParser : raw message from message router: ["{"event":{"commonEventHeader":{"startEpochMicrosec":8745745764578,"eventId":"FileReady_1797490e-10ae-4d48-9ea7-3d7d790b25e1","timeZoneOffset":"UTC+05.30","internalHeaderFields":{"collectorTimeStamp":"Sat, 09 22 2018 09:16:07 UTC"},"priority":"Normal","version":"4.0.1","reportingEntityName":"otenb5309","sequence":0,"domain":"notification","lastEpochMicrosec":8745745764578,"eventName":"Noti_RnNode-Ericsson_FileReady","vesEventListenerVersion":"7.0.1","sourceName":"oteNB5309"},"notificationFields":{"notificationFieldsVersion":"2.0","changeType":"FileReady","changeIdentifier":"PM_MEAS_FILES","arrayOfNamedHashMap":[{"name":"pm.xml.gz","hashMap":{"location":"sftp://admin:admin@172.18.0.2:22/pm.xml.gz","fileFormatType":"org.3GPP.32.435#measCollec","fileFormatVersion":"V10","compression":"gzip"}}]}}}"]
| 2. File Collector start downloading PM files from xNF. > cat /opt/log/application.log | 2018-09-22 21:16:08.811 DEBUG 1 --- [reactor-http-client-epoll-15] o.o.d.c.datafile.ftp.SftpClient : File pm.xml.gz Download Successfull from xNF | 3.Check that DFC successfully publishes to the DR > cat /opt/log/application.log
| The String "Publish to DR successful!" is in the log file
|
|
Conclusion (Pass /Fail) | PASS |
Testing Lab | https://jenkins.onap.org/view/CSIT/ Ubuntu Docker Machine |
Test Case ID | Bulk_PM_E2E_04 |
---|
Test Case Name | File Collector informs Data Router of xml PM file(s) |
Description | Ensure that the PM xml file(s) are published to the Data Router. |
Release | Casablanca |
Pre-conditions | The Previous Test case has passed and its environment is still running |
Testing Steps |
Steps | Expected Result |
---|
1 .The File Collector subscribes to the Data Router. # curl -v -X POST -H "Content-Type:application/vnd.att-dr.feed" -H "X-ATT-DR-ON-BEHALF-OF:dradmin" --data-ascii @$WORKSPACE/test/csit/plans/dcae-bulkpm/bulkpm-suite/assets/createFeed.json --post301 --location-trusted -k https://${DR_PROV_IP}:8443 Where @$WORKSPACE/test/csit/plans/dcae-bulkpm/bulkpm-suite/assets/createFeed.json is e.g. { "name": "DefaultFeed", "version": "m1.0", "description": "Default feed", "business_description": "Default Feed", "suspend": false, "deleted": false, "changeowner": true, "authorization": { "classification": "unclassified", "endpoint_addrs": [], "endpoint_ids": [ { "password": "dradmin", "id": "dradmin" }] } } | 1.The File Collector is successfully subscribed to the Data Router. # curl -k https://${DR_PROV_IP}:8443/internal/prov Should contain https://dmaap-dr-prov/publish/1 | 2. File Collector informs Data Router of new xml PM files(s) # curl -v -X POST -H "Content-Type:application/vnd.att-dr.subscription" -H "X-ATT-DR-ON-BEHALF-OF:dradmin" --data-ascii @/tmp/addSubscriber.json --post301 --location-trusted -k https://${DR_PROV_IP}:8443/subscribe/1 Where e.g. /tmp/addSubsriber.json is { "delivery":{ "url":"http://192.168.16.9:7070", "user":"LOGIN", "password":"PASSWORD", "use100":true }, "follow_redirect":false, "metadataOnly":false, "suspend":false, "groupid":0, "links":{ "self": "https://dmaap-dr-prov/subscribe/1", "log": "https://dmaap-dr-prov/feedlog/1", "feed": "https://dmaap-dr-prov/feed/1" }, "subscriber":"admin" | 2. The xml PM file(s) is published on the Data Router. # curl -k https://${DR_PROV_IP}:8443/internal/prov Should contain http://X.X.X.X:7070 Where X.X.X.X is the IP-address of the Data Router File Subscriber Simulator. |
|
Conclusion (Pass /Fail) | PASS |
Testing Lab | https://jenkins.onap.org/view/CSIT/ Ubuntu Docker Machine |
Test Case ID | Bulk_PM_E2E_04a |
---|
Test Case Name | Simulated File Consumer receives the xml PM file(s) |
Description | Ensure that a simulated File Consumer is able to subscribe and consume the PM file(s) from the Data Router. |
Release | Casablanca |
Pre-conditions | The Previous Test case has passed and its environment is still running |
Testing Steps |
Steps | Expected Result |
---|
- A simulated File Consumer subscribes to the Data Router e.g. where the IP-
address is of the datarouter-prov docker container # curl -k https://172.100.0.3:8443/internal/prov
| 1.The simulated File Consumer is successfully subscribed to the Data Router. | 2. A simulated File consumer receives notification of a xml PM file(s) # docker exec -it subscriber-node bash > ls -la opt/app/subscriber/delivery/ | 2.The simulated File Consumer is successfully able to consume the xml PM file(s) from the Data Router. The pm file is visible on the simulated File Consumer. pm.xml.gz
|
|
Conclusion (Pass /Fail) | PASS |
Testing Lab | https://jenkins.onap.org/view/CSIT/ Ubuntu Docker Machine |
Test Case ID | Bulk_PM_E2E_05 |
---|
Test Case Name | Verify the Data File Collector Metadata file is valid |
Description | Verify that the Metadata for the PM xml file is correct |
Release | Dublin |
Pre-conditions | The Previous Test case has passed and its environment is still running |
Testing Steps |
Steps | Expected Result |
---|
1.Copy the Metadata file from the File Consumer docker container | 1. File copied to the instance. | 2.Verify that the Metadata complies to the schema | 2. The Metadata conforms to the schema |
|
Conclusion (Pass /Fail) | PASS |
Testing Lab | https://jenkins.onap.org/view/CSIT/ Ubuntu Docker Machine |
Test Case ID | Bulk_PM_E2E_06 |
---|
Test Case Name | Verify PM-Mapper successfully receives uncompressed the PM XML file |
Description | Verify 3GPP PM Mapper successfully receives the uncompressed PM xml file from the DataRouter |
Release | Dublin |
Pre-conditions | The Previous Test case has passed and its environment is still running |
Testing Steps |
Steps | Expected Result |
---|
1.Verify that the PM Mapper docker container is online | 1. PM Mapper container is online | 2.Check in the PM Mapper application log file for "XML validation successful Event" | 2.The string "XML validation successful Event" is in the PM Mapper application log file |
|
Conclusion (Pass /Fail) | PASS |
Testing Lab | https://jenkins.onap.org/view/CSIT/ Ubuntu Docker Machine |
Test Case ID | Bulk_PM_E2E_07 |
---|
Test Case Name | Verify PM-Mapper successfully publishes a PMMeasResult VES Messageonto the Message Router Topic "PM_MAPPER"
|
Description | Verify that the PM-Mapper successfully publishes the VES Message on the topic "PM_MAPPER" |
Release | Dublin |
Pre-conditions | The Previous Test case has passed and its environment is still running Table |
Testing Steps |
Steps | Expected Result |
---|
1.Verify that the "PM_MAPPER" exists on the Message Router | 1. "PM_MAPPER" topic exists | 2.Verify that on the Message Router Topic "PM_MAPPER" an event "perf3gpp_RnNode-Ericsson_pmMeasResult" is published | 2. The VES pmMeasResult event is published on the MR Topic "PM_MAPPER" |
|
Conclusion (Pass /Fail) | PASS |
Testing Lab | https://jenkins.onap.org/view/CSIT/ Ubuntu Docker Machine |
Information:
For more information on the DMaaP API's see this link DMaaP API
Next Step(s):
Write Tests cases to verify BulkPM on an ONAP environment.
Anchor |
---|
| BulkPME2E-Performance Verification |
---|
| BulkPME2E-Performance Verification |
---|
|
- To arrive at the xNF’s that 5G - Bulk PM E2E can handle, two scenarios must be fulfilled and measured.
1.X Number of xNF’s sending a VES FileReady Event every 15 minutes to an ONAP until PM-Mapper has finished processing the last PM file that was sent in that ROP.
2.ONAP looses connection to X Number of xNF’s and ONAP gains re-connection to the xNF after 1 day, this gives a maximum number of new PM files in the VES FileReady event 96*X Number of xNF’s.
1.When adding 70 new xNF’s every 1.5hours to mimic xNFs being added to an ONAP deployment up to 420 xNF (420 new PM files every 15 minutes) , it takes 4 minutes for all the 420 xNF PM Files to be processed in the Bulk PM e2e Flow.
2.For a spike of 420 xNF’s, its took Bulk PM 5 hours to process the backlog i.e all the initial 40,320 (96* 420) PM files and 420 new PM files every 15 minutes.
For more information on how the 420 xNF's was obtained see the slidepack Integration Meeting.pptx
End-to-End feature integration Testcases for:
# | Test Case | Status |
---|
1 | Ensure that the 'FileReady' VES event is sent from the simulated xNF via the VES collector and is received by Data File Collector. | |
2 | Ensure that the Data File Collector starts to download the xml PM file(s) from the simulated xNF once it receives the 'FileReady' VES event via the VES collector. | |
3 | Ensure that the PM xml file(s) are published to the Data Router. | |
4 | Ensure that the File Consumer simulator is able to subscribe and consume the PM file(s) from the Data Router. | Status |
---|
title | Not yet tested