Test Cases Definitions


Test ID

Test

Name

Test

Description

Expected

Results

T001upgrade-pre-check API

Use SDNC LCM API to POST /operations/LCM:upgrade-pre-check with the following request body:

{
    "input": {
      "common-header": {
      "timestamp": "2018-10-10T09:40:04.244Z",
      "api-ver": "2.00",
      "originator-id": "664be3d2-6c12-4f4b-a3e7-c349acced203",
      "request-id":"664be3d2-6c12-4f4b-a3e7-c349acced203",
      "sub-request-id": "1",
      "flags": {
                    "force" : "TRUE",
                    "ttl" : 60000
             }
      },
      "action": "UpgradePreCheck",
      "action-identifiers": {
        "vnf-id":"5gDU0001"
      },
      "payload": "{\"pnf-flag\":\"true\", \"pnf-name\": \"5gDU0001\",\"pnfId\": \"5gDU0001\", \"ipaddress-v4-oam\": \"139.159.228.37\",\"oldSwVersion\": \"v1\", \"targetSwVersion\": \"v2\", \"ruleName\": \"r001\", \"Id\": \"10\", \"additionalData\":\"{}\"}"}}
Response status 400
T002upgrade-software API

Use SDNC LCM API to POST /operations/LCM:upgrade-software with the following request body:

{
    "input": {
      "common-header": {
      "timestamp": "2018-10-10T09:40:04.244Z",
      "api-ver": "2.00",
      "originator-id": "664be3d2-6c12-4f4b-a3e7-c349acced203",
      "request-id":"664be3d2-6c12-4f4b-a3e7-c349acced203",
      "sub-request-id": "3",
      "flags": {
                    "force" : "TRUE",
                    "ttl" : 60000
       }
      },
      "action": "UpgradeSoftware",
      "action-identifiers": {
        "vnf-id":"5gDU0001"
      },
      "payload": "{\"pnf-flag\":\"true\", \"pnf-name\": \"5gDU0001\",\"pnfId\": \"5gDU0001\", \"ipaddress-v4-oam\": \"139.159.228.37\",\"oldSwVersion\": \"v1\", \"targetSwVersion\": \"v2\", \"Id\": \"10\", \"additionalData\":\"{}\"}"}}


Response status 400
T003upgrade-post-check API

Use SDNC LCM API to POST /operations/LCM:upgrade-software with the following request body:

{
    "input": {
      "common-header": {
      "timestamp": "2018-10-10T09:40:04.244Z",
      "api-ver": "2.00",
      "originator-id": "664be3d2-6c12-4f4b-a3e7-c349acced203",
      "request-id":"664be3d2-6c12-4f4b-a3e7-c349acced203",
      "sub-request-id": "2",
      "flags": {
                    "force" : "TRUE",
                    "ttl" : 60000
       }
      },
      "action": "UpgradePostCheck",
      "action-identifiers": {
        "vnf-id":"5gDU0001"
      },
      "payload": "{\"pnf-flag\":\"true\", \"pnf-name\": \"5gDU0001\",\"pnfId\": \"5gDU0001\", \"ipaddress-v4-oam\": \"139.159.228.37\",\"oldSwVersion\": \"v1\", \"targetSwVersion\": \"v2\", \"ruleName\": \"r102\", \"Id\": \"10\", \"additionalData\":\"{}\"}"}}
Response status 400


Test Case Recording

5G PNF Software Upgrade.mp4

Test Setup

In this test setup, we just use Rancher node as external controller simulator and onap_dev as private key. 

1.  Set up  SDNC sdnc-ansible-server container:

  • Put onap_dev key file under the contianer /opt/onap/ccsdk directory and rename the file to ssh_key_file, and make sure file permission is 0400. 
  • Replace /opt/onap/ccsdk/Playbooks/Ansible_inventory, with the file of the same name under https://jira.onap.org/browse/CCSDK-464. Open the file and change ansible_ssh_private_key_file=ssh_key_file to ansible_ssh_private_key_file=/opt/onap/ccsdk/ssh_key_file, and set external controller access info as following

    [host]
    10.12.6.19 ansible_connection=ssh ansible_ssh_user=root ansible_ssh_private_key_file=/opt/onap/ccsdk/ssh_key_file
  • Bump huawei playbook versions from 0.00 to 0.01 so they can be picked up by ansible server 

    root@dev-sdnc-sdnc-ansible-server-8b58d86f5-vm6lj:/opt/onap/ccsdk/Playbooks# ls -alrt *huawei*
    -rw-rw-r-- 1 root root 557 Nov 21 18:25 ansible_huawei_precheck@0.01.yml
    -rw-rw-r-- 1 root root 550 Nov 21 18:25 ansible_huawei_upgrade@0.01.yml
    -rw-rw-r-- 1 root root 559 Nov 21 18:25 ansible_huawei_postcheck@0.01.yml

2.  Set up SDNC controller sdnc container. To change file /opt/onap/sdnc/data/properties/lcm-dg.properties in the container, you need to edit pod properties with kubectl configmap dev-sdnc-sdnc-properties and make the following changes, or simply edit the resource file in sdnc charts and make all; make onap, then use helm to redeploy sdnc. 

lcm.pnf.upgrade-pre-check.playbookname=ansible_huawei_precheck
lcm.pnf.upgrade-post-check.playbookname=ansible_huawei_postcheck
lcm.pnf.upgrade-software.playbookname=ansible_huawei_upgrade


3. On Rancher node, create swm directory under /root. Add 3 empty files in swm directory and make them executable as the following: 

root@sb00-rancher:~/swm# ls -l
total 0
-rwxr-xr-x 1 root root 0 Nov 29 17:16 upgrade-post-check.sh
-rwxr-xr-x 1 root root 0 Nov 29 17:16 upgrade-pre-check.sh
-rwxr-xr-x 1 root root 0 Nov 29 17:17 upgrade-software.sh


4.  Login SDNC API swagger page and run the tests of 3 LCM NB APIs as defined in test case definitions section. 

Test Status

Note: In integration lab testing, used the Rancher node as external controller simulator and ONAP onap_dev as the private key.

Test ID

Test Name

Test StatusTest ResultPass/Fail
T001upgrade-pre-check API

COMPLETED

Response body has status code 400Pass
T002upgrade-software API

COMPLETED

Response body has status code 400Pass
T003upgrade-post-check API

COMPLETED

Response body has status code 400Pass






  • No labels

2 Comments

  1. Instead of kubectl edit you can also simply update the resources under the sdnc helm charts before you do the make all; make onap on your install

    1. Thanks for the input, and added the option in the content.