Deploy VNF test cases once and trigger it safely from anywhere
Objectives
- as part of LFN /CVP ONAP wants test platform where VNF packages could be certified using ONAP requirements to drive industry adoption
- Provide an platform where vendor/operator can develop, deploy, run test cases and query the results
- Test cases, test results and VNF should be manageable .i,e with authorization, so only user with given roles is allowed to perform operation like
VNF package upload/download, run compliance verification tests, allow only specific VIM for specific users, etc. - Test results should be persisted and should be available for human analysis later via LFN infrastructure.
- Provides test flow where author make flow across different test cases for a given program like compliance verification and VNFREQS/SOL0004.
- Provide integration with OPNFV dovetail to run test cases across dovetail and VNFSDK.
- Deployable as docker container.
...
Architecture
...
More Details
VNFSDK - VNF Test platform (VTP)
REST API
Casablanca
"/onapapi/vnfsdk-marketplace/v1/vtp/tests": { "get": { "tags": [ "VNF Test Platform" ], "summary": "VTP Test cases", "description": "Returns the list of test cases", "operationId": "listTests", "produces": [ "application/json" ], "parameters": [], "responses": { "200": { "description": "successful operation", "schema": { "type": "string" } }, "500": { "description": "Failed to retrieve the tests", "schema": { "type": "string" } } } } }, "/onapapi/vnfsdk-marketplace/v1/vtp/tests/{testName}/run": { "post": { "tags": [ "VNF Test Platform" ], "summary": "Run VTP testcase", "description": "Runs the given test case and returns the result", "operationId": "runTest", "consumes": [ "application/json" ], "produces": [ "application/json" ], "parameters": [ { "name": "testName", "in": "path", "description": "test Name", "required": true, "type": "string" } ], "responses": { "404": { "description": "Test case not found", "schema": { "type": "string" } }, "500": { "description": "VTP internal failure", "schema": { "type": "string" } } } } }
...
POST /v1/vtp/tests/csar-validate/run
Body: {"csar":"/tmp/VoLTE.csar"}
{
"results" : [ {
"error" : "SUCCESS"
} ],
"build_tag" : null,
"criteria" : "PASS"
}
}
This will be enabled with async executon in furture with following API (TBD)
...