summaryrefslogtreecommitdiffstats
path: root/legacy/assets/perftest/dpi.yaml
blob: 55a5dcb5d20fb6fe40546a9e6a52cda75f047c6e (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
##############################################################################
# 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={{Dest_dir}}/dpi state=directory

    - name: making temporary whetstone directory
      file: path={{Dest_dir}}/dpi/dpi_temp state=directory

 - hosts: "{{role}}"
   become: yes
   remote_user: "{{username}}"

   tasks:
    - name: echo
      shell: echo $USER

    - name: checking home directory
      shell: echo $HOME
      register: home_dir

    - name: cleaning
      file: path={{home_dir.stdout}}/tempD state=absent

    - name: cleaning previous results
      file: path={{home_dir.stdout}}/qtip_result state=absent

    - name: make qtip_result
      file: path={{home_dir.stdout}}/qtip_result state=directory

    - include: ./common/sys_proxy_pbook.yaml

    - include: ./common/sys_info_pbook.yaml
      vars:
          network: false

    - name: Installing nDPI dependencies if CentOS
      shell: sudo yum install git gcc patch  perl-Time-HiRes autofconf automake libpcap-devel libtool -y
      when: ansible_os_family == "RedHat"

    - name: Installing nDPI dependcies if Ubuntu
      shell: sudo apt-get install git gcc patch  autoconf automake libpcap-dev libtool -y
      when: ansible_os_family == "Debian"

    - name: making  nDPI temporary directory
      file: path=$HOME/tempD state=directory

    - include: ./common/git_proxy_pbook.yaml

    - name: Clone nDPI
      git: repo=https://github.com/ntop/nDPI.git
           dest=$HOME/tempD/nDPI

    - name: autogen
      shell: cd $HOME/tempD/nDPI && sudo ./autogen.sh

    - name: configure
      shell: cd $HOME/tempD/nDPI && sudo ./configure

    - name: make
      shell: cd $HOME/tempD/nDPI && sudo make

    - name: Fetching Test_pcap file
      shell: cd $HOME/tempD/nDPI/example  &&  wget http://build.opnfv.org/artifacts.opnfv.org/qtip/utilities/test.pcap

    - name: fetch Averaging script
      copy: src=./etc/dpi_average.sh dest={{home_dir.stdout}}/tempD/nDPI/example mode=777

    - name: Run nDPI benchmark
      shell: cd $HOME/tempD/nDPI/example && sudo ./dpi_average.sh

    - name: copy result to temp_direc
      shell: sudo cp $HOME/tempD/nDPI/example/dpi_dump.txt $HOME/qtip_result

    - name: fetch dpi result transform script
      copy: src={{workingdir}}/qtip/utils/transform/dpi_transform.py dest={{home_dir.stdout}}/qtip_result

    - name: Transforming results
      shell: cd $HOME/qtip_result && sudo python dpi_transform.py

    - name: copy report formation script
      copy: src={{workingdir}}/qtip/utils/transform/final_report.py dest={{home_dir.stdout}}/qtip_result

    - name: consolidating report
      shell: cd $HOME/qtip_result && sudo python final_report.py DPI {{fname}}

    - name: registering files
      shell: (cd $HOME/qtip_result/; find . -maxdepth 1 -name "*.json") | cut -d'/' -f2
      register: files_to_copy

    - name: copy results
      fetch:  src={{home_dir.stdout}}/qtip_result/{{item}} dest={{Dest_dir}}/dpi/dpi_temp
      with_items: "{{files_to_copy.stdout_lines}}"

    - name: registering log files
      shell: (cd $HOME/qtip_result/; find . -maxdepth 1 -name "*.log") | cut -d'/' -f2
      register: copy_log_results

    - name: copying log results
      fetch:  src={{home_dir.stdout}}/qtip_result/{{item}} dest={{Dest_dir}}/dpi/dpi_temp
      with_items: "{{copy_log_results.stdout_lines}}"

    - name: cleaning tempD
      file: path={{home_dir.stdout}}/tempD state=absent

    - name: cleaning_qtip_result
      file: path={{home_dir.stdout}}/qtip_result state=absent

 - hosts: localhost
   connection: local
   gather_facts: no

   tasks:
    - name: extracting_json
      shell: (find {{Dest_dir}}/dpi/dpi_temp/ -name "*.json" | xargs cp -t {{Dest_dir}}/dpi/)

    - name: making_logs_folder
      file: path={{Dest_dir}}/dpi/logs state=directory

    - name: extracting_log
      shell: (find {{Dest_dir}}/dpi/dpi_temp/ -name "*.log" | xargs cp -t {{Dest_dir}}/dpi/logs)

    - name: removing dpi_temp
      file: path={{Dest_dir}}/dpi/dpi_temp state=absent