aboutsummaryrefslogtreecommitdiffstats
path: root/resources
diff options
context:
space:
mode:
authorYujun Zhang <zhang.yujunz@zte.com.cn>2017-04-22 12:49:21 +0800
committerYujun Zhang <zhang.yujunz@zte.com.cn>2017-04-24 08:51:46 +0800
commit40c29df6796e6d055f35b730e70dac87ab7db2d4 (patch)
treed8cb93e351f41f3fb371751ed2a632672459a35b /resources
parent385aa6e98428982802ea14a4f6a5a32d3f78c643 (diff)
Organize **all** tasks into ansible role `qtip`
Change-Id: I5d3852d2a31e9c4043191377e5cb7d539d222a8c Signed-off-by: Yujun Zhang <zhang.yujunz@zte.com.cn>
Diffstat (limited to 'resources')
-rw-r--r--resources/ansible_roles/opnfv-testapi/tasks/main.yml5
-rw-r--r--resources/ansible_roles/opnfv-testapi/tasks/report.yml2
-rw-r--r--resources/ansible_roles/opnfv-testapi/tasks/setup.yml (renamed from resources/ansible_roles/opnfv-testapi/tasks/init.yml)1
-rw-r--r--resources/ansible_roles/qtip-workspace/files/defaults/run.yml62
-rw-r--r--resources/ansible_roles/qtip-workspace/files/defaults/setup.yml43
-rw-r--r--resources/ansible_roles/qtip/tasks/aggregate.yml15
-rw-r--r--resources/ansible_roles/qtip/tasks/calculate.yml18
-rw-r--r--resources/ansible_roles/qtip/tasks/gather-facts-apex.yml23
-rw-r--r--resources/ansible_roles/qtip/tasks/gather-facts-fuel.yml13
-rw-r--r--resources/ansible_roles/qtip/tasks/generate-inventory.yml21
-rw-r--r--resources/ansible_roles/qtip/tasks/install-deps-debian.yml (renamed from resources/ansible_roles/qtip-deps/tasks/debian.yml)6
-rw-r--r--resources/ansible_roles/qtip/tasks/install-deps-redhat.yml (renamed from resources/ansible_roles/qtip-deps/tasks/redhat.yml)4
-rw-r--r--resources/ansible_roles/qtip/tasks/install-deps.yml (renamed from resources/ansible_roles/qtip-deps/tasks/main.yml)8
-rw-r--r--resources/ansible_roles/qtip/tasks/main.yml12
-rw-r--r--resources/ansible_roles/qtip/tasks/setup-local.yml21
-rw-r--r--resources/ansible_roles/qtip/tasks/setup-node.yml22
16 files changed, 174 insertions, 102 deletions
diff --git a/resources/ansible_roles/opnfv-testapi/tasks/main.yml b/resources/ansible_roles/opnfv-testapi/tasks/main.yml
index 1dd52208..270ffb59 100644
--- a/resources/ansible_roles/opnfv-testapi/tasks/main.yml
+++ b/resources/ansible_roles/opnfv-testapi/tasks/main.yml
@@ -8,8 +8,5 @@
##############################################################################
---
-- include: init.yml
- when: action == 'init'
-- include: report.yml
- when: action == 'report'
+- include: "{{ tasks }}.yml"
diff --git a/resources/ansible_roles/opnfv-testapi/tasks/report.yml b/resources/ansible_roles/opnfv-testapi/tasks/report.yml
index fd23e549..aa213a71 100644
--- a/resources/ansible_roles/opnfv-testapi/tasks/report.yml
+++ b/resources/ansible_roles/opnfv-testapi/tasks/report.yml
@@ -7,6 +7,8 @@
# http://www.apache.org/licenses/LICENSE-2.0
##############################################################################
+---
+
- name: push result to testapi
uri:
url: "{{ testapi_url }}/results"
diff --git a/resources/ansible_roles/opnfv-testapi/tasks/init.yml b/resources/ansible_roles/opnfv-testapi/tasks/setup.yml
index 278a4e27..e6bb5224 100644
--- a/resources/ansible_roles/opnfv-testapi/tasks/init.yml
+++ b/resources/ansible_roles/opnfv-testapi/tasks/setup.yml
@@ -8,6 +8,7 @@
##############################################################################
---
+
- name: create project and pod
uri:
url: "{{ testapi_url }}/{{item}}s"
diff --git a/resources/ansible_roles/qtip-workspace/files/defaults/run.yml b/resources/ansible_roles/qtip-workspace/files/defaults/run.yml
index 31969281..b76e4573 100644
--- a/resources/ansible_roles/qtip-workspace/files/defaults/run.yml
+++ b/resources/ansible_roles/qtip-workspace/files/defaults/run.yml
@@ -8,74 +8,38 @@
##############################################################################
---
-# Execute compute benchmark plan and collect data
-# - system information
-# - test condition
-# - performance metrics
- hosts: localhost
- tasks:
- - name: setting result directory name
- set_fact:
- qtip_results_base: "{{ qtip_results }}/{{ pod_name }}-{{ lookup('pipe', 'date +%Y%m%d-%H%M') }}"
-- hosts: compute
-
- pre_tasks:
-
- - name: check ssh connection
- ping:
+ roles:
+ # prepare local environment
+ - { role: qtip, tasks: setup-local }
- - name: overriding result directory name
- set_fact:
- qtip_results: "{{ hostvars['localhost']['qtip_results_base']}}/{{ inventory_hostname }}"
- - name: create result directory
- file:
- path: "{{ qtip_results }}"
- state: directory
- delegate_to: localhost
+- hosts: compute
roles:
- - qtip-deps
-
- tags: [setup]
+ # prepare environment
+ - { role: qtip, tasks: setup-node }
- hosts: compute
roles:
-
+ # run test and collect metrics
- { role: inxi, tags: [inxi, sysinfo] }
- { role: unixbench, tags: [unixbench, float, int] }
- { role: openssl, tags: [openssl, ssl]}
- { role: nDPI, tags: [ndpi, dpi]}
- { role: ramspeed, tags: [ramspeed, mem]}
-
- post_tasks:
- - name: calculate QPI of compute
- calculate:
- metrics:
- ssl_rsa: "{{ ssl_rsa_metrics }}"
- spec: "{{ qtip_resources }}/QPI/compute.yaml"
- register: qpi_result
- delegate_to: localhost
- tags: [qpi]
+ # calculate scores
+ - { role: qtip, tasks: calculate}
- hosts: localhost
- pre_tasks:
-
- - name: aggregate QPI results from all tested nodes
- aggregate:
- group: compute
- register: pod_result
- tags: [pod]
-
- # Generate and publish report
-
roles:
- - role: opnfv-testapi
- action: report
- when: testapi_url is defined
+ # aggregate results and produce report
+ - { role: qtip, tasks: aggregate }
+ # publish results
+ - { role: opnfv-testapi, tasks: report, when: testapi_url is defined}
diff --git a/resources/ansible_roles/qtip-workspace/files/defaults/setup.yml b/resources/ansible_roles/qtip-workspace/files/defaults/setup.yml
index 5b4677e9..a522d67b 100644
--- a/resources/ansible_roles/qtip-workspace/files/defaults/setup.yml
+++ b/resources/ansible_roles/qtip-workspace/files/defaults/setup.yml
@@ -8,43 +8,10 @@
##############################################################################
# Prepare connection to SUT (System Under Test)
-- hosts: fuel-masters
- gather_facts: no
- tasks:
- - name: collect facts of fuel hosts
- fuel:
-
-- hosts: apex-underclouds
- gather_facts: no
- tasks:
- - name: collect overcloud baremetal info
- shell: . /root/stackrc && openstack baremetal list --fields instance_uuid properties provision_state --format json
- register: baremetal_info
- - name: collect overcloud server info
- shell: . /root/stackrc && openstack server list --format json
- register: server_info
- - name: generate inventory
- apex_generate_inventory:
- baremetal_info: "{{ baremetal_info.stdout | from_json }}"
- server_info: "{{ server_info.stdout | from_json }}"
+---
-- hosts:
- - fuel-masters
- - apex-underclouds
- tasks:
- - name: update inventory file
- template: src=templates/hosts dest=./hosts
- delegate_to: localhost
- - name: update ssh.cfg file
- template: src=templates/ssh.cfg dest=./ssh.cfg
- delegate_to: localhost
-
-- hosts: localhost
- tasks:
- - name: create cache directory
- file:
- path: "{{ item }}"
- state: directory
- with_items:
- - "{{ qtip_cache }}"
+- hosts: [fuel-masters, apex-underclouds]
+ gather_facts: no
+ roles:
+ - { role: qtip, tasks: generate-inventory }
diff --git a/resources/ansible_roles/qtip/tasks/aggregate.yml b/resources/ansible_roles/qtip/tasks/aggregate.yml
new file mode 100644
index 00000000..659874fe
--- /dev/null
+++ b/resources/ansible_roles/qtip/tasks/aggregate.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
+##############################################################################
+
+---
+
+- name: aggregate results from all tested nodes
+ aggregate:
+ group: compute
+ register: pod_result
diff --git a/resources/ansible_roles/qtip/tasks/calculate.yml b/resources/ansible_roles/qtip/tasks/calculate.yml
new file mode 100644
index 00000000..aae4b453
--- /dev/null
+++ b/resources/ansible_roles/qtip/tasks/calculate.yml
@@ -0,0 +1,18 @@
+##############################################################################
+# 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: calculate compute score
+ calculate:
+ metrics:
+ ssl_rsa: "{{ ssl_rsa_metrics }}"
+ spec: "{{ qtip_resources }}/QPI/compute.yaml"
+ register: qpi_result
+ delegate_to: localhost
diff --git a/resources/ansible_roles/qtip/tasks/gather-facts-apex.yml b/resources/ansible_roles/qtip/tasks/gather-facts-apex.yml
new file mode 100644
index 00000000..f7112554
--- /dev/null
+++ b/resources/ansible_roles/qtip/tasks/gather-facts-apex.yml
@@ -0,0 +1,23 @@
+##############################################################################
+# 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: gathering overcloud baremetal info
+ shell: . /root/stackrc && openstack baremetal list --fields instance_uuid properties provision_state --format json
+ register: baremetal_info
+
+- name: gathering overcloud server info
+ shell: . /root/stackrc && openstack server list --format json
+ register: server_info
+
+- name: generating inventory
+ apex_generate_inventory:
+ baremetal_info: "{{ baremetal_info.stdout | from_json }}"
+ server_info: "{{ server_info.stdout | from_json }}"
diff --git a/resources/ansible_roles/qtip/tasks/gather-facts-fuel.yml b/resources/ansible_roles/qtip/tasks/gather-facts-fuel.yml
new file mode 100644
index 00000000..cd3e75e7
--- /dev/null
+++ b/resources/ansible_roles/qtip/tasks/gather-facts-fuel.yml
@@ -0,0 +1,13 @@
+##############################################################################
+# 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: gathering facts of fuel slave nodes
+ fuel:
diff --git a/resources/ansible_roles/qtip/tasks/generate-inventory.yml b/resources/ansible_roles/qtip/tasks/generate-inventory.yml
new file mode 100644
index 00000000..f19b0447
--- /dev/null
+++ b/resources/ansible_roles/qtip/tasks/generate-inventory.yml
@@ -0,0 +1,21 @@
+##############################################################################
+# 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
+##############################################################################
+
+# Common tasks for installer master setup
+
+---
+
+- include: "gather-facts-{{ installer }}.yml"
+
+- name: generating inventory file
+ template: src=templates/hosts dest=./hosts
+ delegate_to: localhost
+- name: generating ssh.cfg file
+ template: src=templates/ssh.cfg dest=./ssh.cfg
+ delegate_to: localhost
diff --git a/resources/ansible_roles/qtip-deps/tasks/debian.yml b/resources/ansible_roles/qtip/tasks/install-deps-debian.yml
index 1e15a68b..d71a984e 100644
--- a/resources/ansible_roles/qtip-deps/tasks/debian.yml
+++ b/resources/ansible_roles/qtip/tasks/install-deps-debian.yml
@@ -8,14 +8,14 @@
##############################################################################
---
-- name: Installing software properties common
+- name: installing software properties common
apt:
name: "{{ item }}"
state: present
with_items:
- software-properties-common
-- name: Adding ubuntu backport main repo
+- name: adding ubuntu backport main repo
apt_repository:
repo: "{{ item }}"
state: present
@@ -23,7 +23,7 @@
- deb http://archive.ubuntu.com/ubuntu/ {{ansible_distribution_release}}-backports main restricted universe multiverse
- deb http://archive.ubuntu.com/ubuntu/ {{ansible_distribution_release}} main restricted universe multiverse
-- name: Installing required software
+- name: installing dependencies
apt:
name: "{{ item }}"
state: present
diff --git a/resources/ansible_roles/qtip-deps/tasks/redhat.yml b/resources/ansible_roles/qtip/tasks/install-deps-redhat.yml
index 6a53aacf..32df3a41 100644
--- a/resources/ansible_roles/qtip-deps/tasks/redhat.yml
+++ b/resources/ansible_roles/qtip/tasks/install-deps-redhat.yml
@@ -8,12 +8,12 @@
##############################################################################
---
-- name: Installing epel release
+- name: installing epel release
yum:
name: epel-release
state: present
-- name: Installing required packages
+- name: installing dependencis
yum:
name: "{{ item }}"
state: present
diff --git a/resources/ansible_roles/qtip-deps/tasks/main.yml b/resources/ansible_roles/qtip/tasks/install-deps.yml
index 3e885796..f48c5191 100644
--- a/resources/ansible_roles/qtip-deps/tasks/main.yml
+++ b/resources/ansible_roles/qtip/tasks/install-deps.yml
@@ -8,13 +8,9 @@
##############################################################################
---
-- include: redhat.yml
- when: ansible_os_family == "RedHat"
+- include: "install-deps-{{ ansible_os_family|lower }}.yml"
-- include: debian.yml
- when: ansible_os_family == "Debian"
-
-- name: Installing required packages
+- name: installing dependencies
package:
name: "{{ item }}"
state: present
diff --git a/resources/ansible_roles/qtip/tasks/main.yml b/resources/ansible_roles/qtip/tasks/main.yml
new file mode 100644
index 00000000..270ffb59
--- /dev/null
+++ b/resources/ansible_roles/qtip/tasks/main.yml
@@ -0,0 +1,12 @@
+##############################################################################
+# 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: "{{ tasks }}.yml"
diff --git a/resources/ansible_roles/qtip/tasks/setup-local.yml b/resources/ansible_roles/qtip/tasks/setup-local.yml
new file mode 100644
index 00000000..add58b3e
--- /dev/null
+++ b/resources/ansible_roles/qtip/tasks/setup-local.yml
@@ -0,0 +1,21 @@
+##############################################################################
+# 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: setting result directory name
+ set_fact:
+ qtip_results_base: "{{ qtip_results }}/{{ pod_name }}-{{ lookup('pipe', 'date +%Y%m%d-%H%M') }}"
+
+- name: create cache directory
+ file:
+ path: "{{ item }}"
+ state: directory
+ with_items:
+ - "{{ qtip_cache }}"
diff --git a/resources/ansible_roles/qtip/tasks/setup-node.yml b/resources/ansible_roles/qtip/tasks/setup-node.yml
new file mode 100644
index 00000000..b40cc625
--- /dev/null
+++ b/resources/ansible_roles/qtip/tasks/setup-node.yml
@@ -0,0 +1,22 @@
+##############################################################################
+# 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: overriding result directory name
+ set_fact:
+ qtip_results: "{{ hostvars['localhost']['qtip_results_base']}}/{{ inventory_hostname }}"
+
+- name: create result directory
+ file:
+ path: "{{ qtip_results }}"
+ state: directory
+ delegate_to: localhost
+
+- include: install-deps.yml