...
Table of Contents | ||
---|---|---|
|
Objectives
- LFN/As part of LFN Anuket Certification Program, 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.
Overview
A vert generic test platform for perfoming various VNF testing and could be used at different stage such as CI/CD, LFN OVP certification, onboarding, design and active&passive testing.
Usecases
It has been used for following usecases:
- VSP compliance check (on-boarding phase)
- VNF validation (certification phase)
- VNF OVP certifications (certification phase)
Test flow design
...
Architecture
More Details
VNFSDK - VNF Test platform (VTP)
REST API
Casablanca
...
Demos
Above usecases are demoed in following ONS events
Others
Press Releases
— In ONAP, VTP plays this role.
— mentioned about the VNF Test Platform (VTP) as "publically available VNF compliance testing tool"
REST API
Casablanca
Code Block | ||
---|---|---|
| ||
"/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" } } } } } |
Dublin
...
Tests
GET on /vtp/v1/tests
GET on /vtp/v1/tests/test-id
Executions & results
POST on /vtp/v1/tests/test-id for given VNF id, profile id returns execution id
GET on /vtp/v1/tests/test-id/executions?vnf-id=xxx&&test-id=yyy
GET on /vtp/v1/tests/test-id/executions/execution-id
VNFs
GET on /vtp/v1/vnfs
GET on /vtp/v1/vnfs/vnf-id
GET on /vtp/v1/vnfs/vnf-id/content - get vnf package
POST on /vtp/v1/vnfs/vnf-id/content - upload vnf
PUT on /vtp/v1/vnfs/vnf-id/content - update vnf content
DELETE on /vtp/v1/vnf-id
Profiles/configurations
GET on /vtp/v1/profiles?vnf-id=xxx
GET on /vtp/v1/profiles/profile-id
POST on /vtp/v1/profiles
PUT on /vtp/v1/profiles/profile-id
...
Provides required API for qureying and executing the test cases as part of VSP Compliance check use case in dublin.
More details VTP REST API v1