Skip to end of metadata
Go to start of metadata
You are viewing an old version of this page. View the current version.
Compare with Current
View Page History
« Previous
Version 103
Next »
Link to specification:
PNF PNP message flow diagram
Rainy day scenario - PNF is sending registration request to ONAP where required AAI entry is not present:
Sunny day scenario - PNF is sending registration request to ONAP where required AAI entry is prepared by SO workflow:
PNF PNP deployment diagram
PNF PNP hardware requirements
- ONAP - standard ONAP instance located in Wind River lab
- 4 Virtual machines dedicated for PNF Simulator:
- 2 VCPU
- 8 GB of RAM
- 32 GB of HDD
PNF PNP test cases
High-Level descriptions
Id. | Test Case Name | Test Case Description |
---|
T01 | Create and distribute service which contains PNF based on imported VSP | Verification if in VID is present PNF enabled service. |
T02 | Waiting for PNF Ready | Verification if PNF PnP functionality within SO is waiting for PNFReady to be published by PRH. |
T03 | PNF registration accepted when AAI entry created in advance
| Verification if PNF resource registration is done properly when correct AAI record (based on correlationID) is present before first InventoryQuery is done by PRH. Verification if AAI entries: ipaddress-v4-oam and ipaddress-v6-oam are updated correctly based on pnfRegistration message contents. |
T04 | PNF registration accepted when AAI entry created with delay | Verification if PNF resource registration is done properly when correct AAI entry is created after first InventoryQuery is done by PRH. Verification if AAI entries: ipaddress-v4-oam and ipaddress-v6-oam are updated correctly based on pnfRegistration message contents. |
T05 | PNF registration rejected | Verification if PRH drops the PnfRegistration request when no AAI entry exists for the correlationID. AAI entries shall not be created by PRH. |
T06 | Parallel PNF PnP flows | Four parallel PNF PnP flows are hibernated, PNFRegistration event is received in ONAP, proper PNF PnP enabled workflow instance is re-hydrated. |
T07 | PNF registration accepted when AAI entry is created using AAI API (without SO instantiation) | Verification if PNF resource registration is done properly when correct AAI record (based on correlationID) is present - created using AAI API Verification if AAI entries: ipaddress-v4-oam and ipaddress-v6-oam are updated correctly based on correlationID. |
Detailed descriptions
Test Case ID | T01 |
Test Case Name | Create and distribute service which contains PNF based on imported VSP |
Description | Verification if in VID is present PNF enabled service. Test case covers following steps from message flow in 5G - PNF Plug and Play: - STEP 1 RESOURCE DEFINITION
- STEP 2 SERVICE DEFINITION
- STEP 3 ARTIFACTS DISTRIBUTION
|
Release | |
Preconditions | - Users with roles: Designer (Carlos Santana - cs0008), Admin (demo) should be available
Robot init sucesfully executed. In intsalation server followin script shoulkd be sucesfully ececuted. ~/oom/kubernetes/robot/demo-k8s.sh onap init
ubuntu@onap-5915-rke-node:~$ ~/oom/kubernetes/robot/demo-k8s.sh onap init
Number of parameters:
2
KEY:
init
++ kubectl --namespace onap get pods
++ sed 's/ .*//'
++ grep robot
+ POD=dev-robot-6d67844b64-pgbx5
++ dirname ./demo-k8s.sh
+ DIR=.
+ SCRIPTDIR=scripts/demoscript
+ ETEHOME=/var/opt/ONAP
+ '[' ']'
++ kubectl --namespace onap exec dev-robot-6d67844b64-pgbx5 -- bash -c 'ls -1q /share/logs/ | wc -l'
+ export GLOBAL_BUILD_NUMBER=0
+ GLOBAL_BUILD_NUMBER=0
++ printf %04d 0
+ OUTPUT_FOLDER=0000_demo_init
+ DISPLAY_NUM=90
+ VARIABLEFILES='-V /share/config/robot_properties.py'
+ kubectl --namespace onap exec dev-robot-6d67844b64-pgbx5 -- /var/opt/ONAP/runTags.sh -V /share/config/robot_properties.py -d /share/logs/0000_demo_init -i InitDemo --display 90
Starting Xvfb on display :90 with res 1280x1024x24
Executing robot tests at log level TRACE
==============================================================================
Testsuites
==============================================================================
Testsuites.Demo :: Executes the VNF Orchestration Test cases including setu...
==============================================================================
Initialize Customer And Models | PASS |
------------------------------------------------------------------------------
Initialize SO Openstack Identity For V3 | PASS |
------------------------------------------------------------------------------
Testsuites.Demo :: Executes the VNF Orchestration Test cases inclu... | PASS |
2 critical tests, 2 passed, 0 failed
2 tests total, 2 passed, 0 failed
==============================================================================
Testsuites | PASS |
2 critical tests, 2 passed, 0 failed
2 tests total, 2 passed, 0 failed
==============================================================================
Output: /share/logs/0000_demo_init/output.xml
Log: /share/logs/0000_demo_init/log.html
Report: /share/logs/0000_demo_init/report.html
|
Testing Steps | Step | Expected Result |
- Login to ONAP portal as a designer user
- Navigate to SDC application
- Navigate to ONBOARD tab
Click on CREATE NEW VLM Fill all mandatory parameters Add License Key Group and fill all mandatory parameters Add Entitlement Pool and fill all mandatory parameters Add Feature Group fill all mandatory parameters and add already created Entitlement Pool and License Key Group Add License Agreement fill mandatory parameters and add already created Feature Group - Press Submit button and next COMMIT & SUBMIT button
- Navigate to ONBOARD tab
Click on CREATE NEW VSP Fill all mandatory parameters: - select Vendor defined in already created VLM
- Name will be used in next steps
- in ONBOARDING PROCEDURE select Network Package
- Click on warning under License Agreement
- Fill Licensing Version, License Agreement and Feature Groups from already created VLM
- Click on Overview from left menu and press SELECT FILE button.
- Select attached pNF.csar file from your PC
- Press Submit button and next COMMIT & SUBMIT button
- Navigate to Home tab
- Click on IMPORT button and select IMPORT VSP
- Select previously created VSP and press IMPORT VSP button
- In newly opened window yoiu can moduify PNF name.
- Next click Create and Certify button
- Next press Certify button. Put comment message in Certification confirmation pop-up and press OK button
- Navigate to SDC tab / HOME menu
- Click on ADD + button and select Add Service
- In HOME > Create new service > General page fill all mandatory fields (change service type from default a'lacarte to macro) and press Create button in right top corner
- Go to Composition in left menu
- In search box find crated PNF using its name
- Drag ad drop it to main view
- Next click Certify button
- Next Press Distribute button in left top corner
- Press Monitor button in left top corner and verify distribution status, use refresh button
- Re-login as a a demo user
- VID Navigate to application
- From left menu select Browse SDC Service Models
| - User is logged in
- SDC application is open
- ONBOARD CATALOG is visible
- New License Model window is present
- All mandatory parameters are fulfilled
- License Key Group is added
- Entitlement Pool is added
- Feature Group is added
- License Agreement is added
- VLM is submitted sucesfully
- VLM is visible
New Software Product window is present All mandatory parameters are fulfilled - Licensing Version, License Agreement and Feature Groups and warning is not present
- Licensing Version, License Agreement and Feature Groups are defined
- Select file window is opened
- File is selected
- File is sucesfully uploaded and VSP is submited
- Home tab is opened
- Import VSP window is presnet with list of dubmited VSPs
- Previously create VSP is imported as VSP and Create window is opened
- All modifications are present
- PNF is successfully Certified
- SDC application is open
- Page HOME > Create new service > General with fields that must be filled out is open
- Create/Update saved successfully message is present in left top corner
- Composition main view is open
- PNF is visible
- PNF is added to service
- Service is Cerified and ready for Distribution
- Distribute Distribute successfully message is present in left top corner
- Monitor main view is opened with information about distribution. Thesr should not be any errors.
- User is re-logged
- VID application is open
- In Browse SDC Service Models main view is present entry about newly created service - it can take couple of minutes ~ 15 minutes
|
Actual Results | In VID is present PNF enabled service. |
Conclusion (Pass/Fail) |
|
Testing Lab |
|
Tester Name | Krzysztof Kuzmicki |
Test Case ID | T02 |
Test Case Name | Waiting for PNFReady |
Description | Verification if PNF PnP functionality within SO is waiting for PNFReady to be published by PRH. Test case covers following steps from message flow in 5G - PNF Plug and Play: - STEP 16 – SERVICE INSTANTIATION
- STEP 18 – RESOURCE LEVEL FLOW STEP 20 – PNF A&AI ENTRY MISSING
- STEP 21 – SUBSCRIBE
- STEP 22 – RESOURCE LEVEL FLOW (RLF) TERMINATES
- STEP 26 PNF SENDS PNF REGISTRATION
- STEP 26A pnfREGISTRATION EVENT ONTO DMAAP
- STEP 26B pnfREGISTRATION EVENT RETRIEVED BY PRH
- STEP 27 PRH DOES INVENTORY QUERY
- STEP 29 INVENTORY QUERY
- STEP 30 UPDATE PNF ENTRY
- STEP 31 PNF READY EVENT
- STEP 34 UPDATE PNF WORKFLOW
- STEP 43 INFORM OSS
|
Release | Frankfurt/Guilin |
Preconditions | - Created PNF and Service using Test Case T01 (Create and distribute service which contains PNF based on imported VSP )
|
Testing Steps | Step | Expected Result |
- Get created service model in Test Case T01 curl --location --request GET 'https://{worker_ip}:30204/sdc2/rest/v1/catalog/services/serviceName/{service model name}/serviceVersion/1.0' \
--header 'USER_ID: cs0008' \ --header 'X-FromAppId: robot-ete' \ --header 'Content-Type: application/json' \ --header 'Accept: application/json' \ --header 'Authorization: Basic YmVlcDpib29w' - From response get following parameters
- service_model_uuid → resp_json.uuid;
- service_model_invariant_uuid -> resp_json.invariantUUID
- nf_resource_name -> resp_json.componentInstances[0].name
- nf_resource_uuid -> resp_json.componentInstances[0].customizationUUID
- componentName -> resp_json.componentInstances[0].componentName
- nf_model_invariant_uuid -> resp_json.invariantUUID
- nf_model_uuid -> resp_json.uuid
- nf_model_name -> resp_json.name
- Get owning entity id:
curl -k -O --location --request GET 'https://{worker_ip}:30233/aai/v13/business/owning-entities?owning-entity-name=OE-Demonstration' \
--header 'Content-Type: application/json' \ --header 'X-FromAppId: dcae-curl' \ --header 'x-transactionId: 9998' \ --header 'Accept: application/json' \ --header 'Authorization: Basic QUFJOkFBSQ==' From response get following parameter: - Get product family id:
curl -k -O --location --request GET 'https://{worker_ip}:30233/aai/v13/service-design-and-creation/services?service-description=gNB' \ --header 'Content-Type: application/json' \ --header 'X-FromAppId: dcae-curl' \ --header 'x-transactionId: 9998' \ --header 'Accept: application/json' \ --header 'Authorization: Basic QUFJOkFBSQ==' From response get following parameter: - Fill SO_request.json with above paremeters and:
- Send Instantiation request to SO
curl -k --request POST 'http://{worker_ip}:30277/onap/so/infra/serviceInstantiation/v7/serviceInstances' \ --header 'Authorization: Basic SW5mcmFQb3J0YWxDbGllbnQ6cGFzc3dvcmQxJA==' \ --header 'Content-Type: application/json' \ --header 'Accept: application/json' \ -d @SO_request.json - Login to so-so-bpmn-infra pod via rke console:
kubectl exec -it dev-so-so-bpmn-infra-<....> -n onap /bin/sh open debug.log vi logs/bpmn/debug.log - Verify AAI entry for PNF created by SO service using command:
curl --location --request GET 'https:///{worker_ip}:30233/aai/v17/network/pnfs/pnf/{nf_instance_name}' \ --header 'Content-Type: application/json' \ --header 'X-FromAppId: dcae-curl' \ --header 'x-transactionId: 9998' \ --header 'Accept: application/json' \ --header 'Authorization: Basic QUFJOkFBSQ==' \ --header 'Cookie: JSESSIONID=2F951F19C99CDAED4CA5AFB3DCCD5D61'
- Verify AAI entry for Service Instance created by SO service using command:
curl --location --request GET 'https://{worker_ip}:30233/aai/v13/business/customers/customer/{full_customer_name}/service-subscriptions/service-subscription/{service}/service-instances/service-instance/{instanceId}' \ --header 'Content-Type: application/json' \ --header 'X-FromAppId: dcae-curl' \ --header 'x-transactionId: 9998' \ --header 'Accept: application/json' \ --header 'Authorization: Basic QUFJOkFBSQ==' \ --header 'Cookie: JSESSIONID=2F951F19C99CDAED4CA5AFB3DCCD5D61' - Send PNF Regitration request from real PNF or simulate it using following curl comand:
- Verify if SO service has reacted on PNFReady message from PRH and has ended
- Once again Verify
| - Service model is present
- Paremeters are present
- Owning Entity ID is presnet
- Product Familiy ID is present
- SO_request.json is filled accodingly
- SO request is send sucesfully.
Service_instance_id is saved from POST response (example of response: {"requestReferences":{"requestId":"10e2577f-3547-4e66-901d-b7b0c6e1d3ab","instanceId":"10004a65-20c4-44d2-bd27-53544fe99916","requestSelfLink":"http://10.183.42.156:30277/orchestrationRequests/v7/10e2577f-3547-4e66-901d-b7b0c6e1d3ab"}})
In debug log should be presnet following entry:
2020-08-20T20:59:35.865Z|87f367b7-5d84-47e9-a955-6b2143e8424a|o.o.l.filter.spring.SpringClientPayloadFilter - =======================response end=================================================
2020-08-20T20:59:35.875Z|87f367b7-5d84-47e9-a955-6b2143e8424a|o.o.s.b.i.pnf.dmaap.PnfEventReadyDmaapClient - registering for pnf ready dmaap event for pnf correlation id: test_pnf_name
2020-08-20T20:59:35.881Z|87f367b7-5d84-47e9-a955-6b2143e8424a|org.onap.so.client.RestClient - RestClientSSL using default SSL context!
2020-08-20T20:59:35.894Z|87f367b7-5d84-47e9-a955-6b2143e8424a|o.o.logging.filter.base.PayloadLoggingClientFilter - Sending HTTP POST (overridden to PATCH) to:https://aai.onap:8443/aai/v19/network/pnfs/pnf
/test_pnf_name with request headers:{Authorization=[***REDACTED***], X-RequestID=[87f367b7-5d84-47e9-a955-6b2143e8424a], X-FromAppId=[MSO], X-ONAP-PartnerName=[UNKNOWN], X-HTTP-Method-Override=[PATCH], Ac
cept=[application/json], X-InvocationID=[a9b7b7c1-4912-4e48-8f3a-df7cd3123a54], X-ECOMP-RequestID=[87f367b7-5d84-47e9-a955-6b2143e8424a], X-TransactionId=[], X-ONAP-RequestID=[87f367b7-5d84-47e9-a955-6b21
43e8424a], Content-Type=[application/merge-patch+json]}
2020-08-20T20:59:35.895Z|87f367b7-5d84-47e9-a955-6b2143e8424a|o.o.logging.filter.base.PayloadLoggingClientFilter - {"pnf-id":"f792d78d-7c2c-4858-980b-23968923b3f4","orchestration-status":"Register"}
2020-08-20T20:59:35.982Z|87f367b7-5d84-47e9-a955-6b2143e8424a|o.o.logging.filter.base.PayloadLoggingClientFilter - Response from method:POST (overridden to PATCH) performed on uri:https://aai.onap:8443/aa
i/v19/network/pnfs/pnf/test_pnf_name has http status code:200 and response headers:{Content-Length=[0], content-type=[application/json], Date=[Thu, 20 Aug 2020 20:59:35 GMT], Strict-Transport-Security=[ma
x-age=16000000; includeSubDomains; preload;], vertex-id=[254096], X-AAI-TXID=[2-aai-resources-200820-20:59:35:904-22741]}
2020-08-20T20:59:35.983Z|87f367b7-5d84-47e9-a955-6b2143e8424a|o.o.logging.filter.base.PayloadLoggingClientFilter - Response was returned with an empty entity.
2020-08-20T20:59:39.896Z||o.o.s.b.i.pnf.dmaap.PnfEventReadyDmaapClient - dmaap listener starts listening pnf ready dmaap topic
2020-08-20T20:59:54.485Z||o.o.s.b.i.pnf.dmaap.PnfEventReadyDmaapClient - dmaap listener starts listening pnf ready dmaap topic
2020-08-20T21:00:09.016Z||o.o.s.b.i.pnf.dmaap.PnfEventReadyDmaapClient - dmaap listener starts listening pnf ready dmaap topic
especially following entries: correlation id: test_pnf_name same as nf_instance_name from SO request and dmaap listener starts listening pnf ready dmaap topic is pnf name
|
Actual Results | Correct entry is present in AAI. Entry contains pnf-name equal to correlationID. SO service is waiting for PNFReady to be published by PRH |
Conclusion (Pass/Fail) |
|
Testing Lab |
|
Tester Name | Krzysztof Kuzmicki |
Test Case ID | T03 |
Test Case Name | PNF registration accepting when AAI entry created in advance |
Description | Verification if PNF resource registration is done properly when correct AAI record (based on correlationID) is present before first InventoryQuery is done by PRH. Verification if AAI entries: ipaddress-v4-oam and ipaddress-v6-oam are updated correctly based on correlationID. Test case covers following steps from message flow in 5G - PNF Plug and Play:
- STEP 26 PNF SENDS PNF REGISTRATION
- STEP 26A pnfREGISTRATION EVENT ONTO DMAAP
- STEP 26B pnfREGISTRATION EVENT RETRIEVED BY PRH
- STEP 27 PRH DOES INVENTORY QUERY
- STEP 29 INVENTORY QUERY
- STEP 30 UPDATE PNF ENTRY
- STEP 31 PNF READY EVENT
- STEP 34 UPDATE PNF WORKFLOW
- STEP 43 INFORM OSS
|
Release | Casablanca |
Preconditions | - Created PNF and Service using Test Case T01 (Create and distribute service which contains PNF)
- Instantiated service for PNF using Test Case T02 (Waiting for PNFReady)
- Up and running PnP PNF Simualtor according to https://wiki.onap.org/display/DW/PnP+PNF+Simulator
|
Testing Steps | Step | Expected Result |
- Verify AAI entry created by SO service using command:
curl -X GET -k -H "accept: application/json" -H "Real-Time: true" -H "Content-Type: application/json" -H "X-FromAppId: dcae-curl" -H "x-transactionId: 9998" "https://AAI:AAI@<kubernetes noed ip address>:<aai service port>/aai/v11/network/pnfs/pnf/<correlationID>" - Login to virtual machine with simulator
- In config.json file :
- fill value for sourceName key - use correlationId value used during service instantiation in prerequisite no. 3
- fill pnfOamIpv4Address, pnfOamIpv6Address with some value
- Run script
./simulator.sh start-dev in order to start simulator - Run script
./simulator.sh run simulator in order to start sending registration request messages - Once again verify AAI entry created by SO service using command:
curl -X GET -k -H "accept: application/json" -H "Real-Time: true" -H "Content-Type: application/json" -H "X-FromAppId: dcae-curl" -H "x-transactionId: 9998" "https://AAI:AAI@<kubernetes noed ip address>:<aai service port>/aai/v11/network/pnfs/pnf/<correlationID>" - Verify if SO service has reacted on PNFReady message from PRH and has ended
| - Command should return JSON with empty value for IPv4 and IPv6 address
- User is logged in
- config.json file is updated accordingly
- PnP PNF simulator sends registration request
- Command should return JSON with IPv4 and IPv6 address filled accordingly with inputs from simulator's config.json
- Instantiated SO service has been ended. Verification can be done:
- VID,
Service is instantiated. It is visible in menu - SO-BPMN pod in /app/logs/bpmn/debug.log should be present following message:
o.o.s.b.i.pnf.dmaap.PnfEventReadyDmaapClient - pnf ready event got from dmaap for correlationId: <correlationId>
|
Actual Results | PNF registration is accepted and AAI entries: ipaddress-v4-oam and ipaddress-v6-oam are updated correctly based on correlationID. SO service is instantieted.
|
Conclusion (Pass/Fail) |
|
Testing Lab |
|
Tester Name | Krzysztof Kuzmicki |
Test Case ID | T04 |
Test Case Name | PNF registration accepted when AAI entry created with delay |
Description | Verification if PNF resource registration is done properly when correct AAI entry is created after first InventoryQuery is done by PRH. Verification if AAI entries: ipaddress-v4-oam and ipaddress-v6-oam are updated correctly based on pnfRegistration message contents. Test case covers following steps from message flow in 5G - PNF Plug and Play:
- STEP 26 PNF SENDS PNF REGISTRATION
- STEP 26A pnfREGISTRATION EVENT ONTO DMAAP
- STEP 26B pnfREGISTRATION EVENT RETRIEVED BY PRH
- STEP 27 PRH DOES INVENTORY QUERY
- STEP 28 PNF SENDS PNF REGISTRATION
- STEP 29 INVENTORY QUERY
- STEP 30 UPDATE PNF ENTRY
- STEP 31 PNF READY EVENT
- STEP 34 UPDATE PNF WORKFLOW
- STEP 43 INFORM OSS
|
Release | Casablanca |
Preconditions | - Created PNF and Service using Test Case T01 (Create and distribute service which contains PNF)
- Up and running PnP PNF Simualtor according to https://wiki.onap.org/display/DW/PnP+PNF+Simulator
|
Testing Steps | Step | Expected Result |
- Verify AAI entry created by SO service using command:
curl -X GET -k -H "accept: application/json" -H "Real-Time: true" -H "Content-Type: application/json" -H "X-FromAppId: dcae-curl" -H "x-transactionId: 9998" "https://AAI:AAI@<kubernetes noed ip address>:<aai service port>/aai/v11/network/pnfs/pnf/<correlationID>" - Login to virtual machine with simulator
- In config.json file :
- fill value for sourceName key - use correlationId value that will be used during service instantiation in step no. 7
- fill pnfOamIpv4Address, pnfOamIpv6Address with some value
- set testDuration (amount of registration requests) to value that allows incinerate SO service during period of time when messages are send to ONAP
- set messageInterval interval with which messages are send to ONAP
- Run script
./simulator.sh run simulator in order to start sending registration request messages
- Download PRH logs and check that registration requests has been rejected.
- Instantiated service for PNF using Test Case T02 (Waiting for PNFReady) - use corelationID from step no. 3
- Once again verify AAI entry created by SO service using command:
curl -X GET -k -H "accept: application/json" -H "Real-Time: true" -H "Content-Type: application/json" -H "X-FromAppId: dcae-curl" -H "x-transactionId: 9998" "https://AAI:AAI@<kubernetes noed ip address>:<aai service port>/aai/v11/network/pnfs/pnf/<correlationID>" - Verify if SO service has reacted on PNFReady message from PRH and has ended
| - Command should return empty JSON
- User is logged in
- config.json file is updated accordingly
- PnP PNF simulator sends registration request
- Command should return JSON with IPv4 and IPv6 address filled accordingly with inputs from simulator's config.json
- In PRH log should appear following message:
"org.onap.dcaegen2.services.prh.exceptions.AAINotFoundException: Incorrect response code for continuation of tasks workflow" - Command should return JSON with IPv4 and IPv6 address filled accordingly with inputs from simulator's config.json
- VID,
Service is instantiated. It is visible in menu PNF resource is assigned to Service - SO-BPMN pod in /app/logs/bpmn/debug.log should be present following message:
o.o.s.b.i.pnf.dmaap.PnfEventReadyDmaapClient - pnf ready event got from dmaap for correlationId: <correlationId>
|
Actual Results | PNF registration is accepted and AAI entries: ipaddress-v4-oam and ipaddress-v6-oam are updated correctly based on correlationID even AAI entry has been created after first InventoryQuery is done by PRH. SO service is instantieted.
|
Conclusion (Pass/Fail) |
|
Testing Lab |
|
Tester Name | Krzysztof Kuzmicki |
Test Case ID | T05 |
Test Case Name | PNF registration rejected |
Description | Verification if PRH drops the PnfRegistration request when no AAI entry exists for the correlationID. AAI entries shall not be created by PRH. Test case covers following steps from message flow in 5G - PNF Plug and Play:
- STEP 26 PNF SENDS PNF REGISTRATION
- STEP 26A pnfREGISTRATION EVENT ONTO DMAAP
- STEP 26B pnfREGISTRATION EVENT RETRIEVED BY PRH
- STEP 27 PRH DOES INVENTORY QUERY
- STEP 28 PNF SENDS PNF REGISTRATION
- STEP 29 INVENTORY QUERY
|
Release | Casablanca |
Preconditions | - Up and running PnP PNF Simualtor according to https://wiki.onap.org/display/DW/PnP+PNF+Simulator
|
Testing Steps | Step | Expected Result |
- Verify AAI entry created by SO service using command:
curl -X GET -k -H "accept: application/json" -H "Real-Time: true" -H "Content-Type: application/json" -H "X-FromAppId: dcae-curl" -H "x-transactionId: 9998" "https://AAI:AAI@<kubernetes noed ip address>:<aai service port>/aai/v11/network/pnfs/pnf/<correlationID>" - Login to virtual machine with simulator
- In config.json file :
- fill value for sourceName
- fill pnfOamIpv4Address, pnfOamIpv6Address with some value
- Run script
./simulator.sh run simulator in order to start sending registration request messages
- Download PRH logs and check that registration requests has been rejected.
- Once again verify AAI entry created by SO service using command:
curl -X GET -k -H "accept: application/json" -H "Real-Time: true" -H "Content-Type: application/json" -H "X-FromAppId: dcae-curl" -H "x-transactionId: 9998" "https://AAI:AAI@<kubernetes noed ip address>:<aai service port>/aai/v11/network/pnfs/pnf/<correlationID>"
| - Command should return HTTP 400 code
- User is logged in
- config.json file is updated accordingly
- PnP PNF simulator sends registration request
- In PRH log should appear following message:
"org.onap.dcaegen2.services.prh.exceptions.AAINotFoundException: Incorrect response code for continuation of tasks workflow" - Command should return HTTP 400 code
|
Actual Results | PNF registration is rejected and AAI entries has not be created.
|
Conclusion (Pass/Fail) |
|
Testing Lab |
|
Tester Name | Krzysztof Kuzmicki |
Test Case ID | T06 |
Test Case Name | Parallel PNF PnP flows |
Description | Four parallel PNF PnP flows are hibernated, PNFRegistration event is received in ONAP, proper PNF PnP enabled workflow instance is re-hydrated. Test case covers following steps from message flow in 5G - PNF Plug and Play:
- STEP 26 PNF SENDS PNF REGISTRATION
- STEP 26A pnfREGISTRATION EVENT ONTO DMAAP
- STEP 26B pnfREGISTRATION EVENT RETRIEVED BY PRH
- STEP 27 PRH DOES INVENTORY QUERY
- STEP 28 PNF SENDS PNF REGISTRATION
- STEP 29 INVENTORY QUERY
- STEP 30 UPDATE PNF ENTRY
- STEP 31 PNF READY EVENT
- STEP 34 UPDATE PNF WORKFLOW
- STEP 43 INFORM OSS
|
Release | Casablanca |
Preconditions | - Up and running 3 PnP PNF Simualtors according to https://wiki.onap.org/display/DW/PnP+PNF+Simulator
- Created PNF and Service using Test Case T01 (Create and distribute service which contains PNF) for 4 PNF
- Instantiated service for PNF using Test Case T02 (Waiting for PNFReady) for 4 PNF
|
Testing Steps | Step | Expected Resul |
- Verify AAI entry created by SO service for 4 PNFs using command:
curl -X GET -k -H "accept: application/json" -H "Real-Time: true" -H "Content-Type: application/json" -H "X-FromAppId: dcae-curl" -H "x-transactionId: 9998" "https://AAI:AAI@<kubernetes noed ip address>:<aai service port>/aai/v11/network/pnfs/pnf/<correlationID>" - Login to each virtual machine with simulator
- In config.json file :
- fill value for sourceName key - use correlationId value used during service instantiation in prerequisite no. 3
- fill pnfOamIpv4Address, pnfOamIpv6Address with some value
- Run script
./simulator.sh run simulator in order to start sending registration request messages - Once again verify AAI entry created by SO service 4 PNFs using command:
curl -X GET -k -H "accept: application/json" -H "Real-Time: true" -H "Content-Type: application/json" -H "X-FromAppId: dcae-curl" -H "x-transactionId: 9998" "https://AAI:AAI@<kubernetes noed ip address>:<aai service port>/aai/v11/network/pnfs/pnf/<correlationID>" - Verify if SO service has reacted on PNFReady message from PRH and has ended
| - Command should return JSONs with empty value for IPv4 and IPv6 address
- User is logged in
- config.json file is updated accordingly
- PnP PNF simulator sends registration request
- Command should return JSONs with IPv4 and IPv6 address filled accordingly with inputs from simulator's config.json for 3 PNFs
For PNF which don't have working simulator command should return once again JSONs with empty value for IPv4 and IPv6 address - Instantiated SO service has been ended for 3 PNFs. Verification can be done:
- VID,
Service is instantiated. It is visible in menu PNF resource is assigned to Service - SO-BPMN pod in /app/logs/bpmn/debug.log should be present following message:
o.o.s.b.i.pnf.dmaap.PnfEventReadyDmaapClient - pnf ready event got from dmaap for correlationId: <correlationId> For PNF which don't have working simulator SO service is in waiting state.
|
Actual Results | PNF registration is accepted and AAI entries: ipaddress-v4-oam and ipaddress-v6-oam are updated correctly based on correlationID exept PNF which don't have working simulator. SO service are intatntieted for PNF except PNF which don't have working simulator. For this PNF service is in progress state.
|
Conclusion (Pass/Fail) |
|
Testing Lab |
|
Tester Name | Krzysztof Kuzmicki |
Test Case ID | T07 |
Test Case Name | PNF registration accepted when AAI entry is created using AAI API (without SO instantiation) |
Description | Verification if PNF resource registration is done properly when correct AAI record (based on correlationID) is present - created using AAI API Verification if AAI entries: ipaddress-v4-oam and ipaddress-v6-oam are updated correctly based on correlationID. Test case covers following steps from message flow in 5G - PNF Plug and Play:
- STEP 26 PNF SENDS PNF REGISTRATION
- STEP 26A pnfREGISTRATION EVENT ONTO DMAAP
- STEP 26B pnfREGISTRATION EVENT RETRIEVED BY PRH
- STEP 27 PRH DOES INVENTORY QUERY
- STEP 29 INVENTORY QUERY
- STEP 30 UPDATE PNF ENTRY
- STEP 31 PNF READY EVENT
|
Release | Casablanca |
Preconditions | - Up and running PnP PNF Simualtor according to https://wiki.onap.org/display/DW/PnP+PNF+Simulator
|
Testing Steps | Step | Expected Result |
- Create PNF entry AAI entry using AAI API
curl -i -X PUT -k -H "accept: application/json" -H "Real-Time: true" -H "Content-Type: application/json" -H "X-FromAppId: dcae-curl" -H "x-transactionId: 9998" -d '{"pnf-name":"<correlationID>","pnf-name2":"example-pnf-name2-val-78244","pnf-name2-source":"example-pnf-name2-source-val-99275","pnf-id":"example-pnf-id-val-7989","equip-type":"example-equip-type-val-20348","equip-vendor":"example-equip-vendor-val-52182","equip-model":"example-equip-model-val-8370","management-option":"example-management-option-val-72881", "ipaddress-v4-oam": "", "ipaddress-v6-oam": ""}' "http://AAI:AAI@<kubernetes noed ip address>:<aai service port>/aai/v11/network/pnfs/pnf/<correlationID>" - Verify AAI entry:
curl -X GET -k -H "accept: application/json" -H "Real-Time: true" -H "Content-Type: application/json" -H "X-FromAppId: dcae-curl" -H "x-transactionId: 9998" "https://AAI:AAI@<kubernetes noed ip address>:<aai service port>/aai/v11/network/pnfs/pnf/<correlationID>" - Login to each virtual machine with simulator
- In config.json file :
- fill value for sourceName key - use correlationId value used during service instantiation in prerequisite no. 3
- fill pnfOamIpv4Address, pnfOamIpv6Address with some value
- Run script
./simulator.sh run simulator in order to start sending registration request messages - Once again verify AAI entry created by SO service 4 PNFs using command:
curl -X GET -k -H "accept: application/json" -H "Real-Time: true" -H "Content-Type: application/json" -H "X-FromAppId: dcae-curl" -H "x-transactionId: 9998" "https://AAI:AAI@<kubernetes noed ip address>:<aai service port>/aai/v11/network/pnfs/pnf/<correlationID>" - Verify available message in Message Router topic
curl -i -X GET http://<kubernetes noed ip address>:<message router service port>/events/unauthenticated.PNF_READY/2/1
| - Command should return HTTP 202 code
- Command should return JSONs
with empty value for IPv4 and IPv6 address - User is logged in
- config.json file is updated accordingly
- PnP PNF simulator sends registration request
- Command should return JSONs with IPv4 and IPv6 address filled accordingly with inputs from simulator's config.json
- Command should return JSONs with IPv4, IPv6 and correlationID filled accordingly with inputs from simulator's config.json
|
Actual Results | PNF registration is accepted and AAI entries: ipaddress-v4-oam and ipaddress-v6-oam are updated correctly based on correlationID
|
Conclusion (Pass/Fail) |
|
Testing Lab |
|
Tester Name | Krzysztof Kuzmicki |
PNF PnP Casablanca demo
Theoretical introduction
PnP_PNF_theory.mp4
Live demo
PnP_PNF_live_demo.mp4