From a00a76746646619a1fbd9246f23d78eac5ce3b56 Mon Sep 17 00:00:00 2001 From: Yujun Zhang Date: Fri, 21 Apr 2017 10:28:56 +0800 Subject: Organize testapi tasks into ansible roles Change-Id: If073401b94e7146521fb54a85470b931e458de3c Signed-off-by: Yujun Zhang --- resources/roles/opnfv-testapi/tasks/init.yml | 28 ++++++++++++++++++++++ resources/roles/opnfv-testapi/tasks/main.yml | 15 ++++++++++++ resources/roles/opnfv-testapi/tasks/report.yml | 28 ++++++++++++++++++++++ resources/roles/qtip-workspace/files/copy/run.yml | 27 ++++----------------- .../roles/qtip-workspace/files/copy/setup.yml | 22 ----------------- 5 files changed, 76 insertions(+), 44 deletions(-) create mode 100644 resources/roles/opnfv-testapi/tasks/init.yml create mode 100644 resources/roles/opnfv-testapi/tasks/main.yml create mode 100644 resources/roles/opnfv-testapi/tasks/report.yml diff --git a/resources/roles/opnfv-testapi/tasks/init.yml b/resources/roles/opnfv-testapi/tasks/init.yml new file mode 100644 index 00000000..278a4e27 --- /dev/null +++ b/resources/roles/opnfv-testapi/tasks/init.yml @@ -0,0 +1,28 @@ +############################################################################## +# Copyright (c) 2017 ZTE Corporation and others. +# +# All rights reserved. This program and the accompanying materials +# are made available under the terms of the Apache License, Version 2.0 +# which accompanies this distribution, and is available at +# http://www.apache.org/licenses/LICENSE-2.0 +############################################################################## + +--- +- name: create project and pod + uri: + url: "{{ testapi_url }}/{{item}}s" + method: POST + body: "{{ lookup('file', '{}/{}.json'.format(qtip_fixtures, item)) }}" + status_code: [200, 403] + body_format: json + with_items: + - project + - pod + +- name: create cases + uri: + url: "{{ testapi_url }}/projects/{{ project_name }}/cases" + method: POST + body: "{{ lookup('file', '{}/case.json'.format(qtip_fixtures)) }}" + status_code: [200, 403] + body_format: json diff --git a/resources/roles/opnfv-testapi/tasks/main.yml b/resources/roles/opnfv-testapi/tasks/main.yml new file mode 100644 index 00000000..1dd52208 --- /dev/null +++ b/resources/roles/opnfv-testapi/tasks/main.yml @@ -0,0 +1,15 @@ +############################################################################## +# Copyright (c) 2017 ZTE Corporation and others. +# +# All rights reserved. This program and the accompanying materials +# are made available under the terms of the Apache License, Version 2.0 +# which accompanies this distribution, and is available at +# http://www.apache.org/licenses/LICENSE-2.0 +############################################################################## + +--- +- include: init.yml + when: action == 'init' + +- include: report.yml + when: action == 'report' diff --git a/resources/roles/opnfv-testapi/tasks/report.yml b/resources/roles/opnfv-testapi/tasks/report.yml new file mode 100644 index 00000000..fd23e549 --- /dev/null +++ b/resources/roles/opnfv-testapi/tasks/report.yml @@ -0,0 +1,28 @@ +############################################################################## +# Copyright (c) 2017 ZTE Corporation and others. +# +# All rights reserved. This program and the accompanying materials +# are made available under the terms of the Apache License, Version 2.0 +# which accompanies this distribution, and is available at +# http://www.apache.org/licenses/LICENSE-2.0 +############################################################################## + +- name: push result to testapi + uri: + url: "{{ testapi_url }}/results" + body: "{{ item|to_json }}" + method: POST + body_format: json + status_code: 200 + with_items: + - + project_name: "{{ project_name }}" + case_name: "{{ case_name }}" + pod_name: "{{ pod_name }}" + installer: "{{ installer }}" + version: "{{ version }}" + scenario: "{{ scenario }}" + start_date: "{{ ansible_date_time.date }}" + stop_date: "{{ ansible_date_time.date }}" + criteria: "unknown" + details: "{{ pod_result }}" diff --git a/resources/roles/qtip-workspace/files/copy/run.yml b/resources/roles/qtip-workspace/files/copy/run.yml index ed87b6a4..98846ffc 100644 --- a/resources/roles/qtip-workspace/files/copy/run.yml +++ b/resources/roles/qtip-workspace/files/copy/run.yml @@ -48,7 +48,7 @@ - hosts: localhost - tasks: + pre_tasks: - name: aggregate QPI results from all tested nodes aggregate: @@ -58,24 +58,7 @@ # Generate and publish report - - name: push result to testapi - uri: - url: "{{ testapi_url }}/results" - body: "{{ item|to_json }}" - method: POST - body_format: json - status_code: 200 - with_items: - - - project_name: "{{ project_name }}" - case_name: "{{ case_name }}" - pod_name: "{{ pod_name }}" - installer: "{{ installer }}" - version: "{{ version }}" - scenario: "{{ scenario }}" - start_date: "{{ ansible_date_time.date }}" - stop_date: "{{ ansible_date_time.date }}" - criteria: "" - details: "{{ pod_result }}" - - tags: [testapi] + roles: + - role: opnfv-testapi + action: report + when: testapi_url is defined diff --git a/resources/roles/qtip-workspace/files/copy/setup.yml b/resources/roles/qtip-workspace/files/copy/setup.yml index 0923ba52..4fa75579 100644 --- a/resources/roles/qtip-workspace/files/copy/setup.yml +++ b/resources/roles/qtip-workspace/files/copy/setup.yml @@ -49,25 +49,3 @@ with_items: - "{{ qtip_cache }}" - "{{ qtip_results }}" - -# Initialize testapi database -- hosts: localhost - tasks: - - name: create project and pod - uri: - url: "{{ testapi_url }}/{{item}}s" - method: POST - body: "{{ lookup('file', '{}/{}.json'.format(qtip_fixtures, item)) }}" - status_code: [200, 403] - body_format: json - with_items: - - project - - pod - - name: create cases - uri: - url: "{{ testapi_url }}/projects/qtip/cases" - method: POST - body: "{{ lookup('file', '{}/case.json'.format(qtip_fixtures)) }}" - status_code: [200, 403] - body_format: json - tags: [testapi] -- cgit 1.2.3-korg