The Bulk PM feature consists of two main parts---TEST STATUS for Dublin Release ----
Use Case 1:
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.
A File Consumer node which is a simulated PM file subscriber that subscribe to Data Router feed and receive PM files.
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
JIRAs:
Jira Legacy | ||||||
---|---|---|---|---|---|---|
|
Jira Legacy | ||||||||
---|---|---|---|---|---|---|---|---|
|
Jira Legacy | ||||||||
---|---|---|---|---|---|---|---|---|
|
Jira Legacy | ||||||||
---|---|---|---|---|---|---|---|---|
|
Jira Legacy | ||||||||
---|---|---|---|---|---|---|---|---|
|
Jira Legacy | ||||||||
---|---|---|---|---|---|---|---|---|
|
Jira Legacy | ||||||||
---|---|---|---|---|---|---|---|---|
|
Deployment:
Test environment requirements for above test cases:
- xNF simulator for test cases: FTPes capable server.
- with VES 7.0.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 file(s)
- DMaaP R3, at minimum need DR running and configured for Bulk PM support
- DCAE R3, MR with support for VES 7.0.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:
- xNF simulator.
E2E Sunny Day Scenario Sequence Diagram
Gliffy | ||||||
---|---|---|---|---|---|---|
|
High Level End-to-End feature integration Testcases :
. The 3GPP PM Mapper micro-service will extract selected (filtered) measurements from a 3GPP XML file and publish them as VES events on a DMaaP Message Router topic for consumers that prefer such data in perf3gpp VES format.
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. |
|
Status | ||||
---|---|---|---|---|
|
Status | ||||
---|---|---|---|---|
|
Detailed Description End-to-End Feature Integration Testcases :
Bulk_PM_E2E_01
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
https://jenkins.onap.org/view/CSIT/ Ubuntu Docker Machine
DmaaP topic for unauthenticated.VES_NOTIFICATION_OUTPUT
1 .The DmaaP Message Router is up and running.
2. The Previous Test case has passed and its environment is still running
Testing Steps
- 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 OKDate: 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\":\
|
E2E Sunny Day Scenario Sequence Diagram:
Gliffy | ||||||||
---|---|---|---|---|---|---|---|---|
|
JIRAs:
Jira Legacy | ||||||||
---|---|---|---|---|---|---|---|---|
|
Jira Legacy | ||||||||
---|---|---|---|---|---|---|---|---|
|
Jira Legacy | ||||||||
---|---|---|---|---|---|---|---|---|
|
Jira Legacy | ||||||||
---|---|---|---|---|---|---|---|---|
|
Jira Legacy | ||||||||
---|---|---|---|---|---|---|---|---|
|
Jira Legacy | ||||||||
---|---|---|---|---|---|---|---|---|
|
Jira Legacy | ||||||
---|---|---|---|---|---|---|
|
Jira Legacy | ||||||||
---|---|---|---|---|---|---|---|---|
|
Jira Legacy | ||||||||
---|---|---|---|---|---|---|---|---|
|
Deployment:
Test environment requirements for above test cases:
- xNF simulator for test cases: FTPes capable server.
- with VES 7.0.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 file(s)
- DMaaP R3, at minimum need DR running and configured for Bulk PM support
- DCAE R3, MR with support for VES 7.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:
- xNF simulator.
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 |
|
|
|
|
| ||
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 |
|
Dmaap topic
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/C122018-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":
|
# docker exec -it dfc /bin/sh
> cat /opt/log/application.log
|
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. File Collector store downloaded files to /target directory inside container.
# docker exec dfc /bin/sh -c "ls /target | grep .gz"
The pm file is listed in the directory on the DFC docker container.
pm.xml.gz
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_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 |
| ||||||||
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 |
| ||||||
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 |
| ||||||
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 |
| ||||||
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 |
| ||||||
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 |
|
- 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
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
Steps | Expected Result |
---|---|
1.Verify 3GPP PM Mapper subscribes to feed on the Data Router | 1. 3GPP PM Mapper subscribed to feed on the Data Router |
2.Verify 3GPP PM Mapper maps the pm XMLfile to a topic on the Message Router as a VES Message(s) | 2.The pm XML file is successfully maped to VES Messages on the Message Router Topic |
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.
| ||||
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 | ||||
---|---|---|---|---|
|
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