...
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
[
{
testsuite: "validation",
testcase: "csar-validate"
}
]
GET on /v1/vtp/tests/csar-validate
{
outputs: [
{
name: "error",
description: "Validation error details",
scope: "short",
type: "string"
}
],
name: "csar-validate",
description: "Validate CSAR package formats",
inputs: [
{
name: "csar",
description: "CSAR file path",
long_option: "csar",
short_option: "b",
type: "binary",
is_optional: false
}
],
testsuite: "validation"
}
http://192.168.17.74:8702/vnf-sdk-marketplace
Executions & results
POST /v1/vtp/tests/csar-validate/run
Body: {"csar":"/tmp/VoLTE.csar"}
{"results":[{"error":"SUCCESS"}]}
This will be enabled with async executon in furture with following API (TBD)
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 (TBD)
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 (TBD)
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