Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

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.

...


Image Added

Architecture

...

Image Added

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)

...