From efbe156d0709991ca4e45a4cc7d8949528ab9954 Mon Sep 17 00:00:00 2001 From: "wu.zhihui" Date: Wed, 8 Mar 2017 00:11:00 +0800 Subject: Playbooks for unixbench Actually, both dhrystone and whether use unixbench tool to get metric. Their playbook are too smiliar. The playbooks under /unixbench can be used to measure both of them. Change-Id: I26e31c2b4ac4de35ff8b7ec6dea26b676d5078de Signed-off-by: wu.zhihui --- qtip/driver/playbook/dhrystone/clean.yaml | 27 ---------- qtip/driver/playbook/dhrystone/run.yaml | 63 ---------------------- qtip/driver/playbook/dhrystone/setup.yaml | 66 ----------------------- qtip/driver/playbook/unixbench/clean.yaml | 25 +++++++++ qtip/driver/playbook/unixbench/dhrystone.yaml | 27 ++++++++++ qtip/driver/playbook/unixbench/run.yaml | 37 +++++++++++++ qtip/driver/playbook/unixbench/setup.yaml | 76 +++++++++++++++++++++++++++ qtip/driver/playbook/unixbench/whetstone.yaml | 28 ++++++++++ 8 files changed, 193 insertions(+), 156 deletions(-) delete mode 100644 qtip/driver/playbook/dhrystone/clean.yaml delete mode 100644 qtip/driver/playbook/dhrystone/run.yaml delete mode 100644 qtip/driver/playbook/dhrystone/setup.yaml create mode 100644 qtip/driver/playbook/unixbench/clean.yaml create mode 100644 qtip/driver/playbook/unixbench/dhrystone.yaml create mode 100644 qtip/driver/playbook/unixbench/run.yaml create mode 100644 qtip/driver/playbook/unixbench/setup.yaml create mode 100644 qtip/driver/playbook/unixbench/whetstone.yaml (limited to 'qtip') diff --git a/qtip/driver/playbook/dhrystone/clean.yaml b/qtip/driver/playbook/dhrystone/clean.yaml deleted file mode 100644 index 72bfab7e..00000000 --- a/qtip/driver/playbook/dhrystone/clean.yaml +++ /dev/null @@ -1,27 +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 -############################################################################## - -- hosts: hosts - become: yes - remote_user: root - - tasks: - - name: Checking home directory - shell: echo $HOME - register: home_dir - - - name: Cleaning tempT - file: - path: '{{ home_dir.stdout }}/tempT' - state: absent - - - name: Cleaning qtip_result - file: - path: '{{ home_dir.stdout }}/qtip_result' - state: absent diff --git a/qtip/driver/playbook/dhrystone/run.yaml b/qtip/driver/playbook/dhrystone/run.yaml deleted file mode 100644 index 55de6597..00000000 --- a/qtip/driver/playbook/dhrystone/run.yaml +++ /dev/null @@ -1,63 +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 -############################################################################## - -- hosts: hosts - become: yes - remote_user: root - - tasks: - - name: Get current timestamp - set_fact: - timestamp: "{{ lookup('pipe', 'date +%Y-%m-%d-%H-%M') }}" - - - name: Checking home directory - shell: echo $HOME - register: home_dir - - - name: Fetch hostname - shell: hostname - register: host_name - - - name: Make UnixBench - shell: make --directory $HOME/tempT/UnixBench/ - - - name: Make some directories needed - file: - path: '{{ home_dir.stdout }}/qtip_result/{{ timestamp }}/{{ host_name.stdout }}' - state: directory - - - include: ../inxi.yaml - - - include: ../top.yaml - - - name: Run dhrystone - shell: ./Run -v dhrystone - args: - chdir: '{{ home_dir.stdout }}/tempT/UnixBench/' - - - name: Copying result to qtip result directory - shell: cp -r $HOME/tempT/UnixBench/results/* ./ - args: - chdir: '{{ home_dir.stdout }}/qtip_result/{{ timestamp }}/{{ host_name.stdout }}' - - - name: Copy top log to qtip result directory - shell: mv $HOME/qtip_result/top.log ./ - args: - chdir: '{{ home_dir.stdout }}/qtip_result/{{ timestamp }}/{{ host_name.stdout }}' - - - name: Copy inxi log to qtip result directory - shell: mv $HOME/qtip_result/inxi.log ./ - args: - chdir: '{{ home_dir.stdout }}/qtip_result/{{ timestamp }}/{{ host_name.stdout }}' - - - name: Fetch result files to local manchine - synchronize: - mode: pull - src: '{{ home_dir.stdout }}/qtip_result/' - dest: '{{ result_dir }}/dhrystone/logs/' diff --git a/qtip/driver/playbook/dhrystone/setup.yaml b/qtip/driver/playbook/dhrystone/setup.yaml deleted file mode 100644 index 430670c1..00000000 --- a/qtip/driver/playbook/dhrystone/setup.yaml +++ /dev/null @@ -1,66 +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 -############################################################################## - -- hosts: localhost - connection: local - gather_facts: no - - tasks: - - name: Making dhrystone directory - file: - path: '{{ result_dir }}/dhrystone/logs/' - state: directory - -- hosts: hosts - become: yes - remote_user: root - - tasks: - - name: Checking home directory - shell: echo $HOME - register: home_dir - - - name: Cleaning tempT directory - file: - path: '{{ home_dir.stdout }}/tempT' - state: absent - - - name: Cleaning qtip_result directory - file: - path: '{{ home_dir.stdout }}/qtip_result' - state: absent - - - include: ../prepare_env.yaml - - - name: Installing UnixBench dependencies if CentOS - yum: - name: '{{ item }}' - state: present - when: ansible_os_family == "RedHat" - with_items: - - git - - gcc - - patch - - perl-Time-HiRes - - - name: Installing UnixBench dependencies if Ubuntu - apt: - name: '{{ item }}' - state: present - when: ansible_os_family == "Debian" - with_items: - - git - - gcc - - patch - - perl - - - name: Clone unixbench - git: - repo: https://github.com/kdlucas/byte-unixbench.git - dest: '{{ home_dir.stdout }}/tempT' diff --git a/qtip/driver/playbook/unixbench/clean.yaml b/qtip/driver/playbook/unixbench/clean.yaml new file mode 100644 index 00000000..a7cb2540 --- /dev/null +++ b/qtip/driver/playbook/unixbench/clean.yaml @@ -0,0 +1,25 @@ +############################################################################## +# Copyright (c) 2017 ZTE Corporation and others. +# zhihui.wu1@zte.com.cn +# 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 +############################################################################## + +- hosts: hosts + become: yes + remote_user: root + + tasks: + - name: Cleaning tempT + file: + path: '{{ ansible_env.HOME }}/tempT' + state: absent + + - name: Cleaning qtip_result + file: + path: '{{ ansible_env.HOME }}/qtip_result' + state: absent + + diff --git a/qtip/driver/playbook/unixbench/dhrystone.yaml b/qtip/driver/playbook/unixbench/dhrystone.yaml new file mode 100644 index 00000000..431814dd --- /dev/null +++ b/qtip/driver/playbook/unixbench/dhrystone.yaml @@ -0,0 +1,27 @@ +############################################################################## +# Copyright (c) 2017 ZTE Corporation and others. +# zhihui.wu1@zte.com.cn +# 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: Run dhrystone + shell: ./Run -v dhrystone + args: + chdir: '{{ ansible_env.HOME }}/tempT/UnixBench/' + +- name: Copying result and system info to qtip result directory + shell: '{{ item }}' + with_items: + - mv ~/tempT/UnixBench/results/* ./ + - cp ~/qtip_result/inxi.log ~/qtip_result/top.log ./ + args: + chdir: '{{ ansible_env.HOME }}/qtip_result/{{ timestamp }}/{{ ansible_hostname }}' + +- name: Fetch dhrystone result files to local manchine + synchronize: + mode: pull + src: '{{ ansible_env.HOME }}/qtip_result/' + dest: '{{ result_dir }}/dhrystone/logs/' diff --git a/qtip/driver/playbook/unixbench/run.yaml b/qtip/driver/playbook/unixbench/run.yaml new file mode 100644 index 00000000..acef36a7 --- /dev/null +++ b/qtip/driver/playbook/unixbench/run.yaml @@ -0,0 +1,37 @@ +############################################################################## +# Copyright (c) 2017 ZTE Corporation and others. +# zhihui.wu1@zte.com.cn +# 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 +############################################################################## + +- hosts: hosts + become: yes + remote_user: root + + tasks: + - set_fact: + is_dhrystone: "{{ dhrystone | default(False) }}" + is_whetstone: "{{ whetstone | default(False) }}" + timestamp: "{{ lookup('pipe', 'date +%Y-%m-%d-%H-%M') }}" + + - name: Make some directories needed + file: + path: '{{ ansible_env.HOME }}/qtip_result/{{ timestamp }}/{{ ansible_hostname }}' + state: directory + + - include: ../inxi.yaml + vars: + dest_path: '{{ ansible_env.HOME }}/qtip_result/' + + - include: ../top.yaml + vars: + dest_path: '{{ ansible_env.HOME }}/qtip_result/' + + - include: ./dhrystone.yaml + when: "{{ is_dhrystone }}" + + - include: ./whetstone.yaml + when: "{{ is_whetstone }}" \ No newline at end of file diff --git a/qtip/driver/playbook/unixbench/setup.yaml b/qtip/driver/playbook/unixbench/setup.yaml new file mode 100644 index 00000000..283884ac --- /dev/null +++ b/qtip/driver/playbook/unixbench/setup.yaml @@ -0,0 +1,76 @@ +############################################################################# +# Copyright (c) 2017 ZTE Corporation and others. +# zhihui.wu1@zte.com.cn +# 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 +############################################################################# + +- hosts: localhost + connection: local + gather_facts: no + + tasks: + - set_fact: + is_dhrystone: "{{ dhrystone | default(False) }}" + is_whetstone: "{{ whetstone | default(False) }}" + + - name: Making dhrystone directory + file: + path: '{{ result_dir }}/dhrystone/logs/' + state: directory + when: '{{ is_dhrystone }}' + + - name: Making whetstone directory + file: + path: '{{ result_dir }}/whetstone/logs/' + state: directory + when: '{{ is_whetstone }}' + +- hosts: hosts + become: yes + remote_user: root + + tasks: + - name: Cleaning tempT directory + file: + path: '{{ ansible_env.HOME }}/tempT' + state: absent + + - name: Cleaning qtip_result directory + file: + path: '{{ ansible_env.HOME }}/qtip_result' + state: absent + + - include: ../prepare_env.yaml + + - name: Installing UnixBench dependencies if CentOS + yum: + name: '{{ item }}' + state: present + when: ansible_os_family == "RedHat" + with_items: + - git + - gcc + - patch + - perl-Time-HiRes + + - name: Installing UnixBench dependencies if Ubuntu + apt: + name: '{{ item }}' + state: present + when: ansible_os_family == "Debian" + with_items: + - git + - gcc + - patch + - perl + + - name: Clone UnixBench + git: + repo: https://github.com/kdlucas/byte-unixbench.git + dest: '{{ ansible_env.HOME }}/tempT/' + + - name: Make UnixBench + shell: make --directory $HOME/tempT/UnixBench/ \ No newline at end of file diff --git a/qtip/driver/playbook/unixbench/whetstone.yaml b/qtip/driver/playbook/unixbench/whetstone.yaml new file mode 100644 index 00000000..f09e4e53 --- /dev/null +++ b/qtip/driver/playbook/unixbench/whetstone.yaml @@ -0,0 +1,28 @@ +############################################################################## +# Copyright (c) 2017 ZTE Corporation and others. +# zhihui.wu1@zte.com.cn +# 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: Run whetstone + shell: ./Run -v whetstone + when: whetstone + args: + chdir: '{{ ansible_env.HOME }}/tempT/UnixBench/' + +- name: Copying result and system info to qtip result directory + shell: '{{ item }}' + with_items: + - mv ~/tempT/UnixBench/results/* ./ + - cp ~/qtip_result/inxi.log ~/qtip_result/top.log ./ + args: + chdir: '{{ ansible_env.HOME }}/qtip_result/{{ timestamp }}/{{ ansible_hostname }}' + +- name: Fetch whetstone result files to local manchine + synchronize: + mode: pull + src: '{{ ansible_env.HOME }}/qtip_result/' + dest: '{{ result_dir }}/whetstone/logs/' -- cgit 1.2.3-korg