summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--resources/roles/opnfv-testapi/tasks/init.yml28
-rw-r--r--resources/roles/opnfv-testapi/tasks/main.yml15
-rw-r--r--resources/roles/opnfv-testapi/tasks/report.yml28
-rw-r--r--resources/roles/qtip-workspace/files/copy/run.yml27
-rw-r--r--resources/roles/qtip-workspace/files/copy/setup.yml22
5 files changed, 76 insertions, 44 deletions
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]