Refactor dpi playbook 45/29845/5
authorwu.zhihui <wu.zhihui1@zte.com.cn>
Mon, 6 Mar 2017 10:21:34 +0000 (18:21 +0800)
committerwu.zhihui <wu.zhihui1@zte.com.cn>
Wed, 8 Mar 2017 01:41:42 +0000 (09:41 +0800)
Local test is ok.

Change-Id: I22a333eae940433a1ca228e6ee7f570b8d0c0fc9
Signed-off-by: wu.zhihui <wu.zhihui1@zte.com.cn>
legacy/assets/perftest/etc/dpi_average.sh [deleted file]
qtip/driver/playbook/dpi/clean.yaml [new file with mode: 0644]
qtip/driver/playbook/dpi/dpi_average.sh [new file with mode: 0644]
qtip/driver/playbook/dpi/run.yaml [new file with mode: 0644]
qtip/driver/playbook/dpi/setup.yaml [new file with mode: 0644]

diff --git a/legacy/assets/perftest/etc/dpi_average.sh b/legacy/assets/perftest/etc/dpi_average.sh
deleted file mode 100644 (file)
index 405d3ff..0000000
+++ /dev/null
@@ -1,14 +0,0 @@
-#!/bin/bash
-
-COUNTER=0
-WDIR=$PWD
-while [ $COUNTER -lt 10 ]; do
-
-        echo $WDIR
-       $( ./ndpiReader -i test.pcap >> $WDIR/dpi_dump.txt )
-        let COUNTER=COUNTER+1
-        echo "Run number: $COUNTER"
-       
-done
-
diff --git a/qtip/driver/playbook/dpi/clean.yaml b/qtip/driver/playbook/dpi/clean.yaml
new file mode 100644 (file)
index 0000000..0b9f929
--- /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 tempD
+      file:
+        path: '{{ ansible_env.HOME }}/tempD'
+        state: absent
+
+    - name: Cleaning qtip_result
+      file:
+        path: '{{ ansible_env.HOME }}/qtip_result'
+        state: absent
diff --git a/qtip/driver/playbook/dpi/dpi_average.sh b/qtip/driver/playbook/dpi/dpi_average.sh
new file mode 100644 (file)
index 0000000..6f03805
--- /dev/null
@@ -0,0 +1,10 @@
+#!/bin/bash
+
+COUNTER=0
+WDIR=$PWD
+while [ $COUNTER -lt 10 ]; do
+    echo $WDIR
+    $( ./ndpiReader -i test.pcap >> $WDIR/dpi_dump.txt )
+    let COUNTER=COUNTER+1
+    echo "Run number: $COUNTER"
+done
\ No newline at end of file
diff --git a/qtip/driver/playbook/dpi/run.yaml b/qtip/driver/playbook/dpi/run.yaml
new file mode 100644 (file)
index 0000000..58f7eb2
--- /dev/null
@@ -0,0 +1,46 @@
+##############################################################################
+# 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: Run nDPI benchmark
+      shell: ./dpi_average.sh
+      args:
+        chdir: '{{ ansible_env.HOME }}/tempD/nDPI/example/'
+
+    - name: Copying result and system info to qtip result directory
+      command: cp $HOME/tempD/nDPI/example/dpi_dump.txt ./
+      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 }}/dpi/logs/'
diff --git a/qtip/driver/playbook/dpi/setup.yaml b/qtip/driver/playbook/dpi/setup.yaml
new file mode 100644 (file)
index 0000000..c1b4545
--- /dev/null
@@ -0,0 +1,93 @@
+##############################################################################
+# 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 Dpi directory
+      file:
+        path: '{{ result_dir }}/dpi/logs/'
+        state: directory
+
+- hosts: hosts
+  become: yes
+  remote_user: root
+
+  tasks:
+    - name: Cleaning tempD directory
+      file:
+        path: '{{ ansible_env.HOME }}/tempD'
+        state: absent
+
+    - name: Cleaning qtip_result directory
+      file:
+        path: '{{ ansible_env.HOME }}/qtip_result'
+        state: absent
+
+    - include: ../prepare_env.yaml
+
+    - name: Installing nDPI dependencies if CentOS
+      yum:
+        name: '{{ item }}'
+        state: present
+      when: ansible_os_family == "RedHat"
+      with_items:
+        - git
+        - gcc
+        - patch
+        - perl-Time-HiRes
+        - autofconf
+        - automake
+        - libpcap-devel libtool
+
+    - name: Installing nDPI dependencies if Ubuntu
+      apt:
+        name: '{{ item }}'
+        state: present
+      when: ansible_os_family == "Debian"
+      with_items:
+        - git
+        - gcc
+        - patch
+        - autoconf
+        - automake
+        - libpcap-dev
+        - libtool
+
+    - name: Making nDPI temporary directory
+      file:
+        path: '{{ ansible_env.HOME }}/tempD'
+        state: directory
+
+    - name: Clone nDPI
+      git:
+        repo: https://github.com/ntop/nDPI.git
+        dest: '{{ ansible_env.HOME }}/tempD/nDPI'
+
+    - name: Run autogen && configure Dpi && make Dpi
+      command: '{{ item }}'
+      with_items:
+        - ./autogen.sh
+        - ./configure
+        - make
+      args:
+        chdir: '{{ ansible_env.HOME }}/tempD/nDPI/'
+
+    - name: Fetching Test_pcap file
+      get_url:
+        url: http://build.opnfv.org/artifacts.opnfv.org/qtip/utilities/test.pcap
+        dest: '{{ ansible_env.HOME }}/tempD/nDPI/example/test.pcap'
+
+    - name: Fetch Averaging script
+      copy:
+        src: ./dpi_average.sh
+        dest: '{{ ansible_env.HOME }}/tempD/nDPI/example'
+        mode: 777
\ No newline at end of file