summaryrefslogtreecommitdiffstats
path: root/dovetail/api/swagger.yaml
diff options
context:
space:
mode:
Diffstat (limited to 'dovetail/api/swagger.yaml')
-rw-r--r--dovetail/api/swagger.yaml346
1 files changed, 346 insertions, 0 deletions
diff --git a/dovetail/api/swagger.yaml b/dovetail/api/swagger.yaml
new file mode 100644
index 00000000..54695d7e
--- /dev/null
+++ b/dovetail/api/swagger.yaml
@@ -0,0 +1,346 @@
+swagger: "2.0"
+info:
+ description: "This is the dovetail API."
+ version: "1.0.0"
+ title: "Dovetail API"
+ contact:
+ email: "xudan16@huawei.com"
+ license:
+ name: "Apache 2.0"
+ url: "http://www.apache.org/licenses/LICENSE-2.0.html"
+host: localhost:8888
+basePath: "/api/v1/scenario/nfvi"
+tags:
+- name: "testsuites"
+ description: "Operations about testsuites"
+- name: "testcases"
+ description: "Operations about test cases"
+- name: "execution"
+ description: "Operations about running test cases"
+schemes:
+- "http"
+paths:
+ /testsuites:
+ get:
+ tags:
+ - "testsuites"
+ summary: "Get all testsuites"
+ description: ""
+ operationId: "getTestsuites"
+ consumes:
+ - "application/json"
+ produces:
+ - "application/json"
+ parameters: []
+ responses:
+ 200:
+ description: "successful operation"
+ default:
+ description: Unexpected error
+ /testcases:
+ get:
+ tags:
+ - "testcases"
+ summary: "Get all test cases"
+ description: ""
+ operationId: "getTestcases"
+ consumes:
+ - "application/json"
+ produces:
+ - "application/json"
+ parameters: []
+ responses:
+ 200:
+ description: "successful operation"
+ default:
+ description: Unexpected error
+ /execution:
+ post:
+ tags:
+ - "execution"
+ summary: "Run test cases"
+ description: ""
+ operationId: "runTestCases"
+ consumes:
+ - "application/json"
+ produces:
+ - "application/json"
+ parameters:
+ - name: "body"
+ in: "body"
+ description: "All info used to run tests"
+ required: false
+ schema:
+ $ref: "#/definitions/RunInfo"
+ responses:
+ 200:
+ description: "successful operation"
+ schema:
+ $ref: "#/definitions/StatusResponse"
+ 500:
+ description: "internal error"
+ default:
+ description: Unexpected error
+ /execution/{exec_id}:
+ post:
+ tags:
+ - "execution"
+ summary: "Run test cases with exec_id"
+ description: ""
+ operationId: "runTestCasesWithID"
+ consumes:
+ - "application/json"
+ produces:
+ - "application/json"
+ parameters:
+ - name: "exec_id"
+ in: "path"
+ description: "ID of this run, will generate randomly if not given"
+ required: true
+ schema:
+ type: "integer"
+ format: "uuid"
+ - name: "body"
+ in: "body"
+ description: "All info used to run tests"
+ required: false
+ schema:
+ $ref: "#/definitions/RunInfo"
+ responses:
+ 200:
+ description: "successful operation"
+ schema:
+ $ref: "#/definitions/StatusResponse"
+ 500:
+ description: "internal error"
+ default:
+ description: Unexpected error
+ /execution/status/{exec_id}:
+ post:
+ tags:
+ - "execution/status"
+ summary: "Get status of running test cases"
+ description: ""
+ operationId: "getTestCasesStatus"
+ consumes:
+ - "application/json"
+ produces:
+ - "application/json"
+ parameters:
+ - name: "exec_id"
+ in: "path"
+ description: "exec_id used to get the status of test cases"
+ required: true
+ schema:
+ type: "integer"
+ format: "uuid"
+ - name: "body"
+ in: "body"
+ description: "Test case list used to get status"
+ required: true
+ schema:
+ $ref: "#/definitions/TestCaseList"
+ responses:
+ 200:
+ description: "successful operation"
+ schema:
+ $ref: "#/definitions/StatusResponse"
+ 500:
+ description: "internal error"
+ default:
+ description: Unexpected error
+definitions:
+ TestCaseList:
+ type: "object"
+ properties:
+ testcase:
+ type: "array"
+ items:
+ type: "string"
+ example:
+ - "functest.vping.ssh"
+ - "yardstick.ha.rabbitmq"
+ Node:
+ type: "object"
+ required:
+ - "name"
+ - "role"
+ - "ip"
+ - "user"
+ properties:
+ name:
+ type: "string"
+ example: "node1"
+ role:
+ type: "string"
+ enum:
+ - "Controller"
+ - "Compute"
+ - "Jumpserver"
+ ip:
+ type: "string"
+ example: "192.168.117.222"
+ user:
+ type: "string"
+ example: "root"
+ password:
+ type: "string"
+ example: "root"
+ key_filename:
+ type: "string"
+ example: "/home/ovp/pre_config/id_rsa"
+ ProcessInfo:
+ type: "object"
+ required:
+ - "testcase_name"
+ properties:
+ testcase_name:
+ type: "string"
+ example: "yardstick.ha.rabbitmq"
+ attack_host:
+ type: "string"
+ example: "node1"
+ attack_process:
+ type: "string"
+ example: "rabbitmq"
+ Pods:
+ type: "object"
+ properties:
+ nodes:
+ type: "array"
+ items:
+ $ref: '#/definitions/Node'
+ process_info:
+ type: "array"
+ items:
+ $ref: "#/definitions/ProcessInfo"
+ tempestconf:
+ type: "object"
+ additionalProperties:
+ type: string
+ TempestConf:
+ type: "object"
+ additionalProperties:
+ $ref: "#/definitions/tempestconf"
+ Hosts:
+ type: "object"
+ additionalProperties:
+ type: "array"
+ items:
+ type: "string"
+ Envs:
+ type: "object"
+ additionalProperties:
+ type: string
+ example:
+ OS_USERNAME: "admin"
+ OS_PASSWORD: "admin"
+ OS_AUTH_URL: "https://192.168.117.222:5000/v3"
+ EXTERNAL_NETWORK: "ext-net"
+ Conf:
+ type: "object"
+ properties:
+ vm_images:
+ type: "string"
+ example: "/home/ovp/images"
+ pods:
+ $ref: "#/definitions/Pods"
+ tempest_conf:
+ $ref: "#/definitions/TempestConf"
+ hosts:
+ $ref: "#/definitions/Hosts"
+ envs:
+ $ref: "#/definitions/Envs"
+ RunInfo:
+ type: "object"
+ properties:
+ conf:
+ $ref: "#/definitions/Conf"
+ testcase:
+ type: "array"
+ items:
+ type: "string"
+ example:
+ - "functest.vping.ssh"
+ - "yardstick.ha.rabbitmq"
+ testsuite:
+ type: "string"
+ example: "ovp.2019.12"
+ testarea:
+ type: "array"
+ items:
+ type: "string"
+ example:
+ - "vping"
+ - "ha"
+ deploy_scenario:
+ type: "string"
+ example: "os-nosdn-ovs-ha"
+ options:
+ type: "array"
+ items:
+ type: "string"
+ enum:
+ - "opnfv-ci"
+ - "optional"
+ - "offline"
+ - "report"
+ - "debug"
+ - "stop"
+ - "no-clean"
+ - "no-api-validation"
+ - "mandatory"
+ example:
+ - "debug"
+ - "report"
+ Results:
+ type: "object"
+ properties:
+ criteria:
+ type: "string"
+ enum:
+ - "PASS"
+ - "FAIL"
+ timestart:
+ type: "string"
+ format: "date-time"
+ timestop:
+ type: "string"
+ format: "date-time"
+ TestCaseStatus:
+ type: "object"
+ properties:
+ endTime:
+ type: "string"
+ format: "date-time"
+ executionId:
+ type: "string"
+ format: "uuid"
+ results:
+ $ref: "#/definitions/Results"
+ scenario:
+ type: "string"
+ example: "nfvi"
+ status:
+ type: "string"
+ enum:
+ - "IN_PROGRESS"
+ - "COMPLETED"
+ - "FAILED"
+ - "NOT_EXECUTED"
+ testCaseName:
+ type: "string"
+ example: "functest.vping.ssh"
+ testSuiteName:
+ type: "string"
+ example: "ovp.2019.12"
+ timestart:
+ type: "string"
+ format: "date-time"
+ StatusResponse:
+ type: "object"
+ properties:
+ result:
+ type: "array"
+ items:
+ $ref: "#/definitions/TestCaseStatus"