...
The script to execute the testsuite is located in the OOM project. Clone the OOM repository and cd to the robot folder.
Code Block |
---|
$ git clone httpsssh://github<username>@gerrit.com/onap.org:29418/oom.git --recurse-submodules
$ cd oom/kubernetes/robot
$ ./instantiate-k8s.sh --help
./instantiate-k8s.sh [options]
required:
-n, --namespace <namespace> namespace that robot pod is running under.
-f, --folder <folder> path to folder containing heat templates, preloads, and vnf-details.json.
additional options:
-p, --poll some cloud environments (like azure) have a short time out value when executing
kubectl. If your shell exits before the testsuite finishes, using this option
will poll the testsuite logs every 30 seconds until the test finishes.
-t, --tag <tag> robot testcase tag to execute (default is instantiate_vnf).
This script executes the VNF instantiation robot testsuite.
- It copies the VNF folder to the robot container that is part of the ONAP deployment.
- It models, distributes, and instantiates a heat-based VNF.
- It copies the logs to an output directory, and creates a tarball for upload to the OVP portal.
|
...
Once the testsuite is finished, it will create a directory and tarball in /tmp (the name of the directory and file is shown at the end of the stdout of the script). There will be a results.json in that directory that has the ultimate outcome of the test, in the structure shown below.
Log files
The output file will have 4 log files in it.
...
- : This is high-level results file of all of the test steps, and is consumed by the OVP portal.
- report.json: This is the output of the vvp validation scripts.
- stack_report.json: This is the output from querying openstack to validate the heat modules.
- log.html: This is the robot log, and contains each execution step of the testcase.
results.json
Code Block |
---|
{
"versionvnf_checksum": "2019.09afc57604a3b3b7401d5b8648328807b594d7711355a2315095ac57db4c334a50",
"testbuild_datetag": "2019vnf-09-04 validation-53270",
"version": "2019.09",
"test_date": "2019-09-04 17:50:10.575",
"duration": 437.002,
"vnf_type": "heat",
"testcases_list": [
{
"mandatory": "true",
"name": "onap-vvp.validate.heat",
"result": "PASS",
"objective": "onap heat template validation",
"sub_testcase": [],
"portal_key_file": "report.json"
},
{
"mandatory": "true",
"name": "onap-vvp.lifecycle_validate.heat",
"result": "PASS",
"objective": "onap vnf lifecycle validation",
"sub_testcase": [
{
"name": "model-and-distribute",
"result": "PASS"
},
{
"name": "instantiation",
"result": "PASS"
}
],
"portal_key_file": "log.html"
},
{
"mandatory": "true",
"name": "stack_validation",
"result": "PASS",
"objective": "onap vnf openstack validation",
"sub_testcase": [],
"portal_key_file": "stack_report.json"
}
]
}
|
...
If the result is "PASS", that means the testsuite was successful and the tarball is ready for submission to the OVP portal.
Examples
Attached to this page are simple examples that you can use to try out the testcase, along with the output tarballs that are generated. To run one of the examples, download one of the zip files named input-* and unzip it to your computer, then follow the instructions from the section Running the testsuite above.
View file |
---|
name | input-VNF-API-fail-single_module.zip |
---|
height | 250 |
---|
|
View file |
---|
name | input-VNF-API-pass-single_module.zip |
---|
height | 250 |
---|
|
View file |
---|
name | vnf_heat_results-fail-vnfapi-singlemodule.tar.gz |
---|
height | 250 |
---|
|
View file |
---|
name | vnf_heat_results-pass-vnfapi-singlemodule.tar.gz |
---|
height | 250 |
---|
|