summaryrefslogtreecommitdiffstats
path: root/qtip
diff options
context:
space:
mode:
authorwu.zhihui <wu.zhihui1@zte.com.cn>2017-03-06 18:21:34 +0800
committerwu.zhihui <wu.zhihui1@zte.com.cn>2017-03-08 09:41:42 +0800
commit4c7557234e0395edda02efddbfae8de74cdda1e9 (patch)
tree35a30a0f98c7744b02ebf975ed47d85f4828fb3f /qtip
parentde5c51ecba1e74a4c9c201155b0a4f129e38efad (diff)
Refactor dpi playbook
Local test is ok. Change-Id: I22a333eae940433a1ca228e6ee7f570b8d0c0fc9 Signed-off-by: wu.zhihui <wu.zhihui1@zte.com.cn>
Diffstat (limited to 'qtip')
-rw-r--r--qtip/driver/playbook/dpi/clean.yaml23
-rw-r--r--qtip/driver/playbook/dpi/dpi_average.sh10
-rw-r--r--qtip/driver/playbook/dpi/run.yaml46
-rw-r--r--qtip/driver/playbook/dpi/setup.yaml93
4 files changed, 172 insertions, 0 deletions
diff --git a/qtip/driver/playbook/dpi/clean.yaml b/qtip/driver/playbook/dpi/clean.yaml
new file mode 100644
index 00000000..0b9f9291
--- /dev/null
+++ b/qtip/driver/playbook/dpi/clean.yaml
@@ -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
index 00000000..6f038053
--- /dev/null
+++ b/qtip/driver/playbook/dpi/dpi_average.sh
@@ -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
index 00000000..58f7eb2f
--- /dev/null
+++ b/qtip/driver/playbook/dpi/run.yaml
@@ -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
index 00000000..c1b45450
--- /dev/null
+++ b/qtip/driver/playbook/dpi/setup.yaml
@@ -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