playbook for ramspeed 05/30005/1
authorwu.zhihui <wu.zhihui1@zte.com.cn>
Wed, 8 Mar 2017 01:05:55 +0000 (09:05 +0800)
committerwu.zhihui <wu.zhihui1@zte.com.cn>
Wed, 8 Mar 2017 02:54:27 +0000 (10:54 +0800)
These playbooks are successfully executed on Local.

Change-Id: Ie22ecb9b66364e6edf6ae0f59d0524603c4d46a9
Signed-off-by: wu.zhihui <wu.zhihui1@zte.com.cn>
qtip/driver/playbook/ramspeed/clean.yaml [new file with mode: 0644]
qtip/driver/playbook/ramspeed/run.yaml [new file with mode: 0644]
qtip/driver/playbook/ramspeed/setup.yaml [new file with mode: 0644]

diff --git a/qtip/driver/playbook/ramspeed/clean.yaml b/qtip/driver/playbook/ramspeed/clean.yaml
new file mode 100644 (file)
index 0000000..f018815
--- /dev/null
@@ -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
+##############################################################################
+
+- hosts: hosts
+  become: yes
+  remote_user: root
+
+  tasks:
+    - name: Cleaning ramspeed
+      file:
+        path: '{{ ansible_env.HOME }}/ramspeed'
+        state: absent
+
+    - name: Cleaning qtip_result
+      file:
+        path: '{{ ansible_env.HOME }}/qtip_result'
+        state: absent
diff --git a/qtip/driver/playbook/ramspeed/run.yaml b/qtip/driver/playbook/ramspeed/run.yaml
new file mode 100644 (file)
index 0000000..33c9a6e
--- /dev/null
@@ -0,0 +1,44 @@
+##############################################################################
+# 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: 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/{{ timestamp }}/{{ ansible_hostname }}/'
+
+    - include: ../top.yaml
+      vars:
+        dest_path: '{{ ansible_env.HOME }}/qtip_result/{{ timestamp }}/{{ ansible_hostname }}/'
+
+    - name: Benchmarking IntMem Bandwidth and FloatMem Bandwidth
+      shell: '{{ item }}'
+      with_items:
+        - ~/ramspeed/ramsmp-3.5.0/ramsmp -b 3 -l 5 -p 1 >> Intmem
+        - ~/ramspeed/ramsmp-3.5.0/ramsmp -b 6 -l 5 -p 1 >> Floatmem
+      args:
+        chdir: '{{ ansible_env.HOME }}/qtip_result/{{ timestamp }}/{{ ansible_hostname }}/'
+
+    - name: Fetch result files to local manchine
+      synchronize:
+        mode: pull
+        src: '{{ ansible_env.HOME }}/qtip_result/'
+        dest: '{{ result_dir }}/ramspeed/logs/'
diff --git a/qtip/driver/playbook/ramspeed/setup.yaml b/qtip/driver/playbook/ramspeed/setup.yaml
new file mode 100644 (file)
index 0000000..6036860
--- /dev/null
@@ -0,0 +1,70 @@
+##############################################################################
+# 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 ramspeed directory
+      file:
+        path: '{{ result_dir }}/ramspeed/logs/'
+        state: directory
+
+- hosts: hosts
+  become: yes
+  remote_user: root
+
+  tasks:
+      - name: Cleaning ramspeed directory
+        file:
+          path: '{{ ansible_env.HOME }}/ramspeed'
+          state: absent
+
+      - name: Cleaning qtip_result directory
+        file:
+          path: '{{ ansible_env.HOME }}/qtip_result'
+          state: absent
+
+      - include: ../prepare_env.yaml
+
+      - name: Installing RAM_Speed dependencies if CentOS
+        yum:
+          name: '{{ item }}'
+          state: present
+        when: ansible_os_family == "RedHat"
+        with_items:
+          - gcc
+          - wget
+
+      - name: Installing RAM_Speed dependencies if Ubuntu
+        apt:
+          name: '{{ item }}'
+          state: present
+        when: ansible_os_family == "Debian"
+        with_items:
+          - gcc
+          - wget
+
+      - name: Making ramspeed temporary directory
+        file:
+          path: '{{ ansible_env.HOME }}/ramspeed'
+          state: directory
+
+      - name: Fetch and untar ramspeed.tar.gz
+        unarchive:
+          # TODO: Need to upload this file to http://artifacts.opnfv.org/qtip/utilities
+          src: https://docs.google.com/uc?id=0B92Bp5LZTM7gRFctalZLMktTNDQ
+          dest: '{{ ansible_env.HOME }}/ramspeed/'
+          remote_src: True
+
+      - name: Build ramsmp
+        shell: ./build.sh
+        args:
+          chdir: '{{ ansible_env.HOME }}/ramspeed/ramsmp-3.5.0'