From 9222ecb462099f667d78494f4886d6c84f8a2310 Mon Sep 17 00:00:00 2001 From: Yujun Zhang Date: Thu, 20 Apr 2017 20:58:13 +0800 Subject: Reorganize benchmarking tasks into ansible roles which helps to - group task with related templates and variables - simplify the main playbook to improve readability See: http://docs.ansible.com/ansible/playbooks_roles.html Change-Id: I9d3180edaac83ee9dba85ce5ac14ff574af7a905 Signed-off-by: Yujun Zhang --- .../qtip-bootstrap/files/copy/fixtures/case.json | 14 --- .../qtip-bootstrap/files/copy/fixtures/pod.json | 6 - .../files/copy/fixtures/project.json | 4 - .../qtip-bootstrap/files/copy/group_vars/.gitkeep | 0 .../qtip-bootstrap/files/copy/host_vars/.gitkeep | 0 resources/roles/qtip-bootstrap/files/copy/run.yml | 126 --------------------- .../roles/qtip-bootstrap/files/copy/setup.yml | 73 ------------ .../qtip-bootstrap/files/copy/templates/hosts | 20 ---- .../qtip-bootstrap/files/copy/templates/ssh.cfg | 14 --- 9 files changed, 257 deletions(-) delete mode 100644 resources/roles/qtip-bootstrap/files/copy/fixtures/case.json delete mode 100644 resources/roles/qtip-bootstrap/files/copy/fixtures/pod.json delete mode 100644 resources/roles/qtip-bootstrap/files/copy/fixtures/project.json delete mode 100644 resources/roles/qtip-bootstrap/files/copy/group_vars/.gitkeep delete mode 100644 resources/roles/qtip-bootstrap/files/copy/host_vars/.gitkeep delete mode 100644 resources/roles/qtip-bootstrap/files/copy/run.yml delete mode 100644 resources/roles/qtip-bootstrap/files/copy/setup.yml delete mode 100644 resources/roles/qtip-bootstrap/files/copy/templates/hosts delete mode 100644 resources/roles/qtip-bootstrap/files/copy/templates/ssh.cfg (limited to 'resources/roles/qtip-bootstrap/files/copy') diff --git a/resources/roles/qtip-bootstrap/files/copy/fixtures/case.json b/resources/roles/qtip-bootstrap/files/copy/fixtures/case.json deleted file mode 100644 index 22abc40f..00000000 --- a/resources/roles/qtip-bootstrap/files/copy/fixtures/case.json +++ /dev/null @@ -1,14 +0,0 @@ -{ - "run": "", - "name": "compute", - "ci_loop": "", - "tags": "", - "url": "", - "domains": "", - "dependencies": "", - "version": "", - "criteria": "", - "tier": "", - "blocking": "", - "description": "" -} \ No newline at end of file diff --git a/resources/roles/qtip-bootstrap/files/copy/fixtures/pod.json b/resources/roles/qtip-bootstrap/files/copy/fixtures/pod.json deleted file mode 100644 index 654b5828..00000000 --- a/resources/roles/qtip-bootstrap/files/copy/fixtures/pod.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "details": "", - "role": "", - "name": "qtip-pod", - "mode": "" -} \ No newline at end of file diff --git a/resources/roles/qtip-bootstrap/files/copy/fixtures/project.json b/resources/roles/qtip-bootstrap/files/copy/fixtures/project.json deleted file mode 100644 index ecd03e83..00000000 --- a/resources/roles/qtip-bootstrap/files/copy/fixtures/project.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "name": "qtip", - "description": "Platform Performance Benchmarking" -} \ No newline at end of file diff --git a/resources/roles/qtip-bootstrap/files/copy/group_vars/.gitkeep b/resources/roles/qtip-bootstrap/files/copy/group_vars/.gitkeep deleted file mode 100644 index e69de29b..00000000 diff --git a/resources/roles/qtip-bootstrap/files/copy/host_vars/.gitkeep b/resources/roles/qtip-bootstrap/files/copy/host_vars/.gitkeep deleted file mode 100644 index e69de29b..00000000 diff --git a/resources/roles/qtip-bootstrap/files/copy/run.yml b/resources/roles/qtip-bootstrap/files/copy/run.yml deleted file mode 100644 index 52a66990..00000000 --- a/resources/roles/qtip-bootstrap/files/copy/run.yml +++ /dev/null @@ -1,126 +0,0 @@ -############################################################################## -# 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 -############################################################################## - ---- -# Execute compute benchmark plan and collect data -# - system information -# - test condition -# - performance metrics - -- hosts: compute - - pre_tasks: - - name: check ssh connection - ping: - - roles: - - development-tools - - post_tasks: - - name: create dumping directories - file: - path: "{{ qtip_dump }}/{{ inventory_hostname }}" - state: directory - delegate_to: localhost - - tags: [setup] - - -- hosts: compute - - roles: - - - { role: unixbench, tags: [unixbench] } - - tasks: - - - name: collect system information - include: "{{ qtip_resources }}/metric/inxi.yaml" - - - name: ssl metrics - include: "{{ qtip_resources }}/metric/openssl.yaml" - tags: [ssl] - - - name: DPI metrics - include: "{{ qtip_resources }}/metric/nDPI.yaml" - vars: - nDPI_cwd: "{{ ansible_env.HOME }}/qtip/nDPI" - nDPI_file: "dpi.pcap" - tags: [dpi] - - - name: memory metrics - include: "{{ qtip_resources }}/metric/ramspeed.yaml" - vars: - cwd: "{{ ansible_env.HOME }}/qtip/ramspeed" - tags: [mem] - - - name: calculate QPI of compute - calculate: - metrics: - ssl_rsa: "{{ openssl_rsa_metrics }}" - spec: "{{ qtip_resources }}/QPI/compute.yaml" - register: qpi_result - delegate_to: localhost - tags: [calculate] - - -- hosts: localhost - - tasks: - - - name: aggregate QPI results from all tested nodes - aggregate: - group: compute - register: pod_result - - # Generate and publish report - - - name: create report folder - file: - path: "{{ qtip_reports }}" - state: directory - - - name: create system information report - template: - src: "{{ qtip_resources }}/template/system-info.j2" - dest: "{{ qtip_reports }}/system-info" - - - name: create qpi report - template: - src: "{{ qtip_resources }}/template/qpi-report.j2" - dest: "{{ qtip_reports }}/qpi-report" - tags: [report] - - - name: create dpi metrics report - template: - src: "{{ qtip_resources }}/template/dpi-metrics.j2" - dest: "{{ qtip_reports }}/dpi-metrics" - tags: [report, dpi] - - - 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] diff --git a/resources/roles/qtip-bootstrap/files/copy/setup.yml b/resources/roles/qtip-bootstrap/files/copy/setup.yml deleted file mode 100644 index 88cdb1d2..00000000 --- a/resources/roles/qtip-bootstrap/files/copy/setup.yml +++ /dev/null @@ -1,73 +0,0 @@ -############################################################################## -# 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 -############################################################################## - -# 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 output directories - file: - path: "{{ item }}" - state: directory - with_items: - - "{{ qtip_cache }}" - - "{{ qtip_reports }}" - -# 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] diff --git a/resources/roles/qtip-bootstrap/files/copy/templates/hosts b/resources/roles/qtip-bootstrap/files/copy/templates/hosts deleted file mode 100644 index 27c8d1d6..00000000 --- a/resources/roles/qtip-bootstrap/files/copy/templates/hosts +++ /dev/null @@ -1,20 +0,0 @@ -localhost ansible_connection=local - -[{{ installer_master_group[installer] }}] -{{ installer_master }} - -[fuel-groups:children] -{% for group in hosts|sort %} -{{ group }} -{% endfor %} - -[fuel-groups:vars] -ansible_ssh_common_args=-F ./ssh.cfg - -{% for group in hosts|sort %} -[{{ group }}] -{% for host in hosts[group]|sort %} -{{ host }} -{% endfor %} - -{% endfor %} diff --git a/resources/roles/qtip-bootstrap/files/copy/templates/ssh.cfg b/resources/roles/qtip-bootstrap/files/copy/templates/ssh.cfg deleted file mode 100644 index d6a266ba..00000000 --- a/resources/roles/qtip-bootstrap/files/copy/templates/ssh.cfg +++ /dev/null @@ -1,14 +0,0 @@ -# Connect to target node through jump host -# -# OpenSSH 7.3: -# ProxyJump jumphost -# before OpenSSH 7.3 -# ProxyCommand ssh -o 'ForwardAgent yes' jumphost 'ssh-add && nc %h %p' - -{% for (name, host) in hosts_meta.items() %} -Host {{ name }} - HostName {{ host.ansible_ssh_host }} - User root - ProxyCommand ssh -o 'ForwardAgent yes' {{ installer_master }} 'ssh-add && nc %h %p' - -{% endfor %} -- cgit 1.2.3-korg