Automated Test Scripts

Steps to set up simulators for VoLTE use case



Step 1. Run "demo.sh init" from Robot VM to populate A&AI



Step 1.1. Create VoLTE service with Huawei VNFs and set nf_type parameter to huaweivnfmdriver. Put a screenshot here



Step 1.2 Register a dummy Huawei VNFM from ESR (this is needed by VFC even though we don't use any VNFM in automated testing as we will mock huaweivnfmdriver). Attach a picture here



Step 1.3 Register CloudOwner_RegionOne from ESR. Make sure the ESR VIM entry has esr-system-info-list. If AAI record doesn't have esr-system-info-list for the VIM, update the record.  



Step 2. Install MockServer docker in Robot VM

>sudo docker pull jamesdbloom/mockserver >sudo docker run --name mockserver -d -p 1080:1080 jamesdbloom/mockserver



Step 3. Use Postman to create PE1 and PE2 in A&AI

PE1
PUT https://{{aai}}:8443/aai/v11/network/pnfs/pnf/2ef788f0-407c-3070-b756-3a5cd71fde18 body: <?xml version="1.0" encoding="UTF-8"?> <pnf xmlns="http://org.openecomp.aai.inventory/v11"> <pnf-name>2ef788f0-407c-3070-b756-3a5cd71fde18</pnf-name> <pnf-name2>pe1_id</pnf-name2> <pnf-name2-source>NE40E-01</pnf-name2-source> <pnf-id>2ef788f0-407c-3070-b756-3a5cd71fde18</pnf-id> <equip-type>NE40E-X3A</equip-type> <equip-vendor>HUAWEI</equip-vendor> <equip-model>example-equip-model-val-44828</equip-model> <management-option>example-management-option-val-84964</management-option> <ipaddress-v4-oam>10.1.1.101</ipaddress-v4-oam> <sw-version>V800R009C10SPC200</sw-version> <in-maint>true</in-maint> <frame-id>example-frame-id-val-21069</frame-id> <serial-number>2102350FMLN0G9000019</serial-number> <ipaddress-v4-loopback-0>example-ipaddress-v4-loopback0-val-57218</ipaddress-v4-loopback-0> <ipaddress-v6-loopback-0>example-ipaddress-v6-loopback0-val-64041</ipaddress-v6-loopback-0> <ipaddress-v4-aim>example-ipaddress-v4-aim-val-89025</ipaddress-v4-aim> <ipaddress-v6-aim>example-ipaddress-v6-aim-val-89025</ipaddress-v6-aim> <ipaddress-v6-oam>example-ipaddress-v6-oam-val-82953</ipaddress-v6-oam> <inv-status>example-inv-status-val-1920</inv-status> <prov-status>example-prov-status-val-35250</prov-status> <nf-role>example-nf-role-val-75080</nf-role> </pnf>
PE2
PUT https://{{aai}}:8443/aai/v11/network/pnfs/pnf/4412d3f0-c296-314d-9284-b72fc5d485e8 Headers: Authorization:Basic QUFJOkFBSQ== X-TransactionId:9999 X-FromAppId:jimmy-postman Accept:application/json Content-Type:application/xml Body: <?xml version="1.0" encoding="UTF-8"?> <pnf xmlns="http://org.openecomp.aai.inventory/v11"> <pnf-name>4412d3f0-c296-314d-9284-b72fc5d485e8</pnf-name> <pnf-name2>pe2_id</pnf-name2> <pnf-name2-source>NE40E-02</pnf-name2-source> <pnf-id>a8098c1a-f86e-11da-bd1a-00112444be1e</pnf-id> <equip-type>NE40E-X3A</equip-type> <equip-vendor>HUAWEI</equip-vendor> <equip-model>example-equip-model-val-44828</equip-model> <management-option>example-management-option-val-84964</management-option> <ipaddress-v4-oam>10.1.1.102</ipaddress-v4-oam> <sw-version>V800R009C10SPC200</sw-version> <in-maint>true</in-maint> <frame-id>example-frame-id-val-21069</frame-id> <serial-number>2102350FMLN0G9000021</serial-number> <ipaddress-v4-loopback-0>example-ipaddress-v4-loopback0-val-57218</ipaddress-v4-loopback-0> <ipaddress-v6-loopback-0>example-ipaddress-v6-loopback0-val-64041</ipaddress-v6-loopback-0> <ipaddress-v4-aim>192.168.1.1</ipaddress-v4-aim> <ipaddress-v6-aim>example-ipaddress-v6-aim-val-89025</ipaddress-v6-aim> <ipaddress-v6-oam>example-ipaddress-v6-oam-val-82953</ipaddress-v6-oam> <inv-status>example-inv-status-val-1920</inv-status> <prov-status>example-prov-status-val-35250</prov-status> <nf-role>example-nf-role-val-75080</nf-role> </pnf>



Step 4. Use Postman to create SDN WAN controller for underlay network (you can do this in Portal ESR app too)

WAN SDN Controller



Step 5. Use Postman to create DC1 and DC2 SDN controllers

Create DC1 and DC2 SDN Controller



Step 6. Use Postman to create data center network 1,2,3,4 for overlay network. Make sure update model-invariant-id and model-version-id with VoLTE e2e service invariant uuid and uui respectively. 

Create DC Network 1,2,3,4



Step 7. Change huaweivnfmdriver MSB service url and point to MockServer. Assume you are running from MutliService VM, update /opt/msb_vm_init.sh to replace huaweivnfmdriver host ip and port with MockServer ip and port, and rerun the script.



Step 9. Open /service//vfc/nfvo/lcm/lcm/pub/config/config.py in vfc_nslcm container and change AAI_BASE_URL = "http://10.0.14.1/aai/v11"



Step 10. Update file basemodel.py in vfc_catalog container with the version from master branch

/service/vfc/nfvo/catalog/catalog/pub/utils/toscaparser/basemodel.py (See R1 Known Issues issue 1)



Step 11. Update config.py in vfc_catalog container

 

Step 11-1. Restart MockServer container and reset it



Step 11-2. Change msb and sdnc ip and port in /etc/mso/config.d/topology.properties to correct ip and port in SO container testlab_mso_1. Everytime testlab_mso_1 container restarts, this file needs to be corrected like this. 



Step 12. Configure MockServer to simulate SDN controller and VNFM driver

Mock server script to simulate SDN controllers and huawei VNFM driver



Step 13. Distribute VoLTE service from SDC. After distribution, use distribution monitor to make AAI, SO, SDNC all received the VoLTE service model distribution. If SDNC did not receive the model, restart sdnc_ueblistener_container from SDNC VM. 



Step 14. Onboard VNFs, EPC_NS, IMS_NS, EPC Service, IMS Service in order from UUI (why EPC_NS before EPC Service)?



Step 15. Simulate request from UUI to SO



Step 16. Simulate notification message from Huawei VNFM driver to nslcm

Notification message sent from vnfm driver to nslcm

VNFM Status Notification Message



Step 17. Verify the requests received by MockServer. e.g.:

or a particular request by url, e.g.:



Step 18. Verify service instance and network entries are created in A&AI



Step 19. Record resource usage of major containers with docker stats command