Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.


---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.



Image RemovedImage 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 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. 


Image RemovedImage Added


Use Case 1 High Level End-to-End integration Testcases :


#Test CaseStatus
1Ensure that the 'FileReady' VES event is sent from the simulated xNF via the VES collector.

Status
colourGreen
titleDone

2Ensure that the unauthenticated.VES_NOTIFICATION_OUTPUT topic is present once it received "File Ready" VES notification from VES Collector.

Status
colourGreen
titleDone

3Ensure 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.

Status
colourGreen
titleDone

4Ensure that the PM xml file(s) are published to the Data Router.

Status
colourGreen
titleDONE

54aEnsure that a simulated File Consumer is able to subscribe and consume the PM file(s) from the Data Router.

Status
colourGreen
titleDONE

65Verify the Data File Collector Metadata file is valid

Status
colourGreen
titleDONE


Use Case 2 High Level End-to-End integration Testcases :


Green
#Test CaseStatus
1Ensure that the 'FileReady' VES event is sent from the simulated xNF via the VES collector.

Status
colourGreen
titleDone

2Ensure that the unauthenticated.VES_NOTIFICATION_OUTPUT topic is present once it received "File Ready" VES notification from VES Collector.

Status
colourGreen
titleDone

3Ensure 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.

Status
colourGreen
titleDone

4Ensure that the PM xml file(s) are published to the Data Router.

Status
colourGreen
titleDONE

5Ensure that a simulated File Consumer is able to subscribe and consume the PM file(s) from the Data Router.
Status
colour
titleDONE
6Verify the Data File Collector Metadata file is valid


Status
colourGreen
titleDONE
76Verify 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)

Status
colourGreyGreen
titleNot StartedDONE

87Verify that "simulated PM VES Consumer" receive VES events from Message Router topic.

Status
colourGreyGreen
titleNot StartedDONE


E2E Sunny Day Scenario Sequence Diagram:


Gliffy Diagram
size1200
name5G E2E
pagePin67

JIRAs:

Jira
serverONAP JIRA
columnskey,summary,type,created,updated,due,assignee,reporter,priority,status,resolution
serverId425b2b0a-557c-3c0c-b515-579789cceedb
keyINT-832

Jira
serverONAP JIRA
columnskey,summary,type,created,updated,due,assignee,reporter,priority,status,resolution
serverId425b2b0a-557c-3c0c-b515-579789cceedb
keyDCAEGEN2-564

Jira
serverONAP JIRA
columnskey,summary,type,created,updated,due,assignee,reporter,priority,status,resolution
serverId425b2b0a-557c-3c0c-b515-579789cceedb
keyDCAEGEN2-566

Jira
serverONAP JIRA
columnskey,summary,type,created,updated,due,assignee,reporter,priority,status,resolution
serverId425b2b0a-557c-3c0c-b515-579789cceedb
keyDCAEGEN2-567

Jira
serverONAP JIRA
columnskey,summary,type,created,updated,due,assignee,reporter,priority,status,resolution
serverId425b2b0a-557c-3c0c-b515-579789cceedb
keyDMAAP-28

Jira
serverONAP JIRA
columnskey,summary,type,created,updated,due,assignee,reporter,priority,status,resolution
serverId425b2b0a-557c-3c0c-b515-579789cceedb
keyVNFRQTS-513

Jira
serverONAP JIRA
serverId425b2b0a-557c-3c0c-b515-579789cceedb
keyINT-649

Jira
serverONAP JIRA
columnskey,summary,type,created,updated,due,assignee,reporter,priority,status,resolution
serverId425b2b0a-557c-3c0c-b515-579789cceedb
keyVNFRQTS-263

Jira
serverONAP JIRA
columnskey,summary,type,created,updated,due,assignee,reporter,priority,status,resolution
serverId425b2b0a-557c-3c0c-b515-579789cceedb
keyVNFRQTS-264
  

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.

  1. Clone the integration/csit repo (git clone ssh://gerrit.onap.org:29418/integration/csit ).
  2. 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 NameSend FileReadyEvent to VES Collector
DescriptionEnsure that the 'FileReady' VES event is sent from the simulated xNF to the VES collector.
ReleaseCasablanca
Pre-conditionsFrom 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


StepsExpected Result
  1. 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 IDBulk_PM_E2E_02
Test Case Name

DmaaP topic for unauthenticated.VES_NOTIFICATION_OUTPUT

DescriptionEnsure that the unauthenticated.VES_NOTIFICATION_OUTPUT topic is present on the DMaaP Message Router once it receives "File Ready" VES notification from VES Collector.
ReleaseCasablanca
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




StepsExpected Result
  1. 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 Labhttps://jenkins.onap.org/view/CSIT/ Ubuntu Docker Machine



Test Case IDBulk_PM_E2E_03
Test Case NameDownload of xml PM file(s) from xNF when 'FileReady' VES event is received.
DescriptionEnsure 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.
ReleaseCasablanca
Pre-conditionsThe Previous Test case has passed and its environment is still running
Testing Steps


StepsExpected Result
  1. 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. 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

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 Labhttps://jenkins.onap.org/view/CSIT/ Ubuntu Docker Machine



Test Case IDBulk_PM_E2E_04
Test Case NameFile Collector informs Data Router of xml PM file(s)
DescriptionEnsure that the PM xml file(s) are published to the Data Router.
ReleaseCasablanca
Pre-conditionsThe Previous Test case has passed and its environment is still running
Testing Steps


StepsExpected 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 Labhttps://jenkins.onap.org/view/CSIT/ Ubuntu Docker Machine


Test Case IDBulk_PM_E2E_0504a
Test Case NameSimulated File Consumer receives the xml PM file(s)
DescriptionEnsure that a simulated File Consumer is able to subscribe and consume the PM file(s) from the Data Router.
ReleaseCasablanca
Pre-conditionsThe Previous Test case has passed and its environment is still running
Testing Steps


StepsExpected Result
  1. 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 Labhttps://jenkins.onap.org/view/CSIT/ Ubuntu Docker Machine


Test Case IDBulk_PM_E2E_0605
Test Case Name

Verify the Data File Collector Metadata file is valid

DescriptionVerify that the Metadata for the PM xml file is correct
ReleaseDublin
Pre-conditionsThe Previous Test case has passed and its environment is still running
Testing Steps


StepsExpected 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 Labhttps://jenkins.onap.org/view/CSIT/ Ubuntu Docker Machine


Test Case IDBulk_PM_E2E_0706
Test Case Name

Verify

3GPP

PM-Mapper

maps

successfully receives uncompressed the PM

xml file onto the Message Router as a Ves Message(s)
Description

XML file

DescriptionVerify 3GPP PM Mapper subscribes to feed on the Data Router and maps the successfully receives the uncompressed PM xml file onto the Message Router as a Ves Message(s)from the DataRouter
ReleaseDublin
Pre-conditionsThe Previous Test case has passed and its environment is still running
Testing Steps


StepsExpected Result

1.Verify 3GPP that the PM Mapper subscribes to feed on the Data Routerdocker container is online

1. 3GPP PM Mapper subscribed to feed on the Data Routercontainer is online

2.Verify 3GPP PM Mapper maps the pm XMLfile to a topic on the Message Router as a VES Message(s)Check in the PM Mapper application log file for "XML validation successful Event"

2.The pm XML file is successfully maped to VES Messages on the Message Router Topicstring "XML validation successful Event" is in the PM Mapper application log file


Conclusion (Pass /Fail)-PASS
Testing Labhttps://jenkins.onap.org/view/CSIT/ Ubuntu Docker Machine


Test Case IDBulk_PM_E2E_0807
Test Case NameVerify that "simulated PM VES Consumer" receive VES events from Message Router topic.PM-Mapper successfully publishes a PMMeasResult VES Messageonto the Message Router Topic "PM_MAPPER"
DescriptionVerify that the "simulated PM VES Consumer" is able to receive the PM VES events from the Message Router topicPM-Mapper successfully publishes the VES Message on the topic "PM_MAPPER"
ReleaseDublin
Pre-conditions

The Previous Test case has passed and its environment is still running Table

Testing Steps


StepsExpected Result

1.Verify that the "simulated PM VES Consumer" is able to subscribe to _MAPPER" exists on the Message Router

1. "Simulated PM VES Consumer" is successfully subscribed to feed on the Data Router._MAPPER" topic exists

2.Verify that on the Message Router Topic "simulated PM VES Consumer" receives PM VES Events on the topic on the Message Router that it _MAPPER" an event "perf3gpp_RnNode-Ericsson_pmMeasResult" is published

2. The VES pmMeasResult event is published on the MR Topic "PM_MAPPER" has subscribed to.2.PM VES Events are visible on the "simulated PM VES Consumer".


Conclusion (Pass /Fail)-PASS
Testing Labhttps://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

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