diff options
Diffstat (limited to 'recipes-test/virt-test/files/qemu-tests-multi-nic-stress.patch')
-rw-r--r-- | recipes-test/virt-test/files/qemu-tests-multi-nic-stress.patch | 102 |
1 files changed, 102 insertions, 0 deletions
diff --git a/recipes-test/virt-test/files/qemu-tests-multi-nic-stress.patch b/recipes-test/virt-test/files/qemu-tests-multi-nic-stress.patch new file mode 100644 index 0000000..9c916f5 --- /dev/null +++ b/recipes-test/virt-test/files/qemu-tests-multi-nic-stress.patch | |||
@@ -0,0 +1,102 @@ | |||
1 | commit df8666dfa327670b680ff05d5c43fff715c62ff9 | ||
2 | Author: Jonas Eriksson <jonas.eriksson@enea.com> | ||
3 | Date: Tue Mar 18 16:11:50 2014 +0100 | ||
4 | |||
5 | multi_nic_stress: Check if netperf is installed | ||
6 | |||
7 | To avoid an unnecessary download and build of netperf, check if the | ||
8 | application is present before building. | ||
9 | |||
10 | Signed-off-by: Jonas Eriksson <jonas.eriksson@enea.com> | ||
11 | Upstream-Status: Pending | ||
12 | |||
13 | diff --git a/qemu/tests/cfg/multi_nic_stress.cfg b/qemu/tests/cfg/multi_nic_stress.cfg | ||
14 | index 2ec6cb6..36a073e 100644 | ||
15 | --- a/qemu/tests/cfg/multi_nic_stress.cfg | ||
16 | +++ b/qemu/tests/cfg/multi_nic_stress.cfg | ||
17 | @@ -15,6 +15,9 @@ | ||
18 | pkg_md5sum = 9654ffdfd4c4f2c93ce3733cd9ed9236 | ||
19 | remote_dir = /var/tmp | ||
20 | setup_cmd = "cd ${remote_dir} && rm -rf netperf-2.6.0 && tar xvfj netperf-2.6.0.tar.bz2 && cd netperf-2.6.0 && ./configure --enable-burst --enable-demo=yes && make" | ||
21 | + app_check_cmd = "netperf -V" | ||
22 | + client_cmd = netperf | ||
23 | + server_cmd = netserver | ||
24 | l = 30 | ||
25 | protocols = "TCP_STREAM TCP_MAERTS TCP_RR TCP_CRR" | ||
26 | sessions = "1" | ||
27 | diff --git a/qemu/tests/multi_nic_stress.py b/qemu/tests/multi_nic_stress.py | ||
28 | index 698bc99..aaf6d21 100644 | ||
29 | --- a/qemu/tests/multi_nic_stress.py | ||
30 | +++ b/qemu/tests/multi_nic_stress.py | ||
31 | @@ -41,20 +41,24 @@ def run(test, params, env): | ||
32 | """ | ||
33 | error.context("Setup env for %s" % ip_addr) | ||
34 | ssh_cmd(session, "service iptables stop; true") | ||
35 | - netperf_links = params["netperf_links"].split() | ||
36 | - remote_dir = params.get("remote_dir", "/var/tmp") | ||
37 | - for netperf_link in netperf_links: | ||
38 | - if utils.is_url(netperf_link): | ||
39 | - download_dir = data_dir.get_download_dir() | ||
40 | - md5sum = params.get("pkg_md5sum") | ||
41 | - netperf_dir = utils.unmap_url_cache(download_dir, | ||
42 | - netperf_link, md5sum) | ||
43 | - elif netperf_link: | ||
44 | - netperf_dir = os.path.join(data_dir.get_root_dir(), | ||
45 | - "shared/%s" % netperf_link) | ||
46 | - remote.scp_to_remote(ip_addr, shell_port, username, password, | ||
47 | - netperf_dir, remote_dir) | ||
48 | - ssh_cmd(session, params.get("setup_cmd")) | ||
49 | + app_check_cmd = params.get("app_check_cmd", "") | ||
50 | + | ||
51 | + # Install netperf in guest if not already available | ||
52 | + if not (app_check_cmd and session.cmd_status(app_check_cmd) == 0): | ||
53 | + netperf_links = params["netperf_links"].split() | ||
54 | + remote_dir = params.get("remote_dir", "/var/tmp") | ||
55 | + for netperf_link in netperf_links: | ||
56 | + if utils.is_url(netperf_link): | ||
57 | + download_dir = data_dir.get_download_dir() | ||
58 | + md5sum = params.get("pkg_md5sum") | ||
59 | + netperf_dir = utils.unmap_url_cache(download_dir, | ||
60 | + netperf_link, md5sum) | ||
61 | + elif netperf_link: | ||
62 | + netperf_dir = os.path.join(data_dir.get_root_dir(), | ||
63 | + "shared/%s" % netperf_link) | ||
64 | + remote.scp_to_remote(ip_addr, shell_port, username, password, | ||
65 | + netperf_dir, remote_dir) | ||
66 | + ssh_cmd(session, params.get("setup_cmd")) | ||
67 | |||
68 | vm = env.get_vm(params["main_vm"]) | ||
69 | vm.verify_alive() | ||
70 | @@ -202,8 +206,10 @@ def launch_client(sessions, servers, server_ctl, clients, | ||
71 | # Start netserver | ||
72 | error.context("Start Netserver on guest", logging.info) | ||
73 | remote_dir = params.get("remote_dir", "/var/tmp") | ||
74 | - client_path = os.path.join(remote_dir, "netperf-2.6.0/src/netperf") | ||
75 | - server_path = os.path.join(remote_dir, "netperf-2.6.0/src/netserver") | ||
76 | + client_path_default = os.path.join(remote_dir, "netperf-2.6.0/src/netperf") | ||
77 | + client_cmd = params.get("client_cmd", client_path_default) | ||
78 | + server_path_default = os.path.join(remote_dir, "netperf-2.6.0/src/netserver") | ||
79 | + server_cmd = params.get("server_cmd", server_path_default) | ||
80 | |||
81 | if params.get("os_type") == "windows": | ||
82 | winutils_vol = utils_misc.get_winutils_vol(server_ctl) | ||
83 | @@ -219,8 +225,8 @@ def launch_client(sessions, servers, server_ctl, clients, | ||
84 | raise error.TestError(msg) | ||
85 | |||
86 | else: | ||
87 | - logging.info("Netserver start cmd is '%s'" % server_path) | ||
88 | - ssh_cmd(server_ctl, "pidof netserver || %s" % server_path) | ||
89 | + logging.info("Netserver start cmd is '%s'" % server_cmd) | ||
90 | + ssh_cmd(server_ctl, "pidof netserver || %s" % server_cmd) | ||
91 | logging.info("Netserver start successfully") | ||
92 | |||
93 | # start netperf | ||
94 | @@ -230,7 +236,7 @@ def launch_client(sessions, servers, server_ctl, clients, | ||
95 | for client in clients: | ||
96 | test_timeout = len(clients) * l | ||
97 | server = servers[clients.index(client) % len(servers)] | ||
98 | - netperf_cmd = "%s -H %s -l %s %s" % (client_path, server, | ||
99 | + netperf_cmd = "%s -H %s -l %s %s" % (client_cmd, server, | ||
100 | int(l), nf_args) | ||
101 | client_threads.append([ssh_cmd, (client, netperf_cmd, test_timeout)]) | ||
102 | |||