* [Autotest][PATCH V3] KVM Test: Add ioquit test case
@ 2010-05-24 7:37 Feng Yang
2010-05-26 0:05 ` [Autotest] [PATCH " Lucas Meneghel Rodrigues
0 siblings, 1 reply; 2+ messages in thread
From: Feng Yang @ 2010-05-24 7:37 UTC (permalink / raw)
To: autotest; +Cc: kvm, Feng Yang
Emulate the powercut under IO workload(dd so far) using kill -9.
Then check image in post command.
This case want to make sure powercut under IO workload will not
break qcow2 image.
Now it only work on linux.
Signed-off-by: Feng Yang <fyang@redhat.com>
---
client/tests/kvm/tests/ioquit.py | 38 ++++++++++++++++++++++++++++++++
client/tests/kvm/tests_base.cfg.sample | 12 ++++++++++
2 files changed, 50 insertions(+), 0 deletions(-)
create mode 100644 client/tests/kvm/tests/ioquit.py
diff --git a/client/tests/kvm/tests/ioquit.py b/client/tests/kvm/tests/ioquit.py
new file mode 100644
index 0000000..389a867
--- /dev/null
+++ b/client/tests/kvm/tests/ioquit.py
@@ -0,0 +1,38 @@
+import logging, time, random
+from autotest_lib.client.common_lib import error
+import kvm_test_utils
+
+
+def run_ioquit(test, params, env):
+ """
+ Emulate the poweroff under IO workload(dd so far) using kill -9.
+
+ @param test: Kvm test object
+ @param params: Dictionary with the test parameters.
+ @param env: Dictionary with test environment.
+ """
+
+ vm = kvm_test_utils.get_living_vm(env, params.get("main_vm"))
+ session = kvm_test_utils.wait_for_login(vm,
+ timeout=int(params.get("login_timeout", 360)))
+ session2 = kvm_test_utils.wait_for_login(vm,
+ timeout=int(params.get("login_timeout", 360)))
+ try:
+ bg_cmd = params.get("background_cmd")
+ logging.info("Add IO workload for guest OS.")
+ (s, o) = session.get_command_status_output(bg_cmd, timeout=60)
+ check_cmd = params.get("check_cmd")
+ (s, o) = session2.get_command_status_output(check_cmd, timeout=60)
+ if int(o) <= 0:
+ raise error.TestError("Fail to add IO workload for Guest OS")
+
+ logging.info("Sleep for a while")
+ time.sleep(random.randrange(30,100))
+ (s, o) = session2.get_command_status_output(check_cmd, timeout=300)
+ if int(o) <= 0:
+ logging.info("IO workload finished before the VM was killed")
+ logging.info("Kill the virtual machine")
+ vm.process.close()
+ finally:
+ session.close()
+ session2.close()
diff --git a/client/tests/kvm/tests_base.cfg.sample b/client/tests/kvm/tests_base.cfg.sample
index be96dc1..e0e1ba7 100644
--- a/client/tests/kvm/tests_base.cfg.sample
+++ b/client/tests/kvm/tests_base.cfg.sample
@@ -348,6 +348,12 @@ variants:
- vmexit:
case = vmexit
+ - ioquit:
+ type = ioquit
+ background_cmd = "for i in 1 2 3 4; do (nohup dd if=/dev/urandom of=/tmp/file bs=102400 count=10000000 &) done"
+ check_cmd = ps -a |grep dd |wc -l
+ login_timeout = 360
+
- qemu_img:
type = qemu_img
vms = ''
@@ -1359,6 +1365,12 @@ variants:
extra_params += " -mem-path /mnt/kvm_hugepage"
+ioquit:
+ post_command_noncritical = no
+ only qcow2
+ only Linux
+
+
variants:
- @no_pci_assignable:
pci_assignable = no
--
1.5.5.6
^ permalink raw reply related [flat|nested] 2+ messages in thread* Re: [Autotest] [PATCH V3] KVM Test: Add ioquit test case
2010-05-24 7:37 [Autotest][PATCH V3] KVM Test: Add ioquit test case Feng Yang
@ 2010-05-26 0:05 ` Lucas Meneghel Rodrigues
0 siblings, 0 replies; 2+ messages in thread
From: Lucas Meneghel Rodrigues @ 2010-05-26 0:05 UTC (permalink / raw)
To: Feng Yang; +Cc: autotest, kvm
On Mon, 2010-05-24 at 15:37 +0800, Feng Yang wrote:
> Emulate the powercut under IO workload(dd so far) using kill -9.
> Then check image in post command.
> This case want to make sure powercut under IO workload will not
> break qcow2 image.
>
> Now it only work on linux.
Applied, thanks!
http://autotest.kernel.org/changeset/4563
> Signed-off-by: Feng Yang <fyang@redhat.com>
> ---
> client/tests/kvm/tests/ioquit.py | 38 ++++++++++++++++++++++++++++++++
> client/tests/kvm/tests_base.cfg.sample | 12 ++++++++++
> 2 files changed, 50 insertions(+), 0 deletions(-)
> create mode 100644 client/tests/kvm/tests/ioquit.py
>
> diff --git a/client/tests/kvm/tests/ioquit.py b/client/tests/kvm/tests/ioquit.py
> new file mode 100644
> index 0000000..389a867
> --- /dev/null
> +++ b/client/tests/kvm/tests/ioquit.py
> @@ -0,0 +1,38 @@
> +import logging, time, random
> +from autotest_lib.client.common_lib import error
> +import kvm_test_utils
> +
> +
> +def run_ioquit(test, params, env):
> + """
> + Emulate the poweroff under IO workload(dd so far) using kill -9.
> +
> + @param test: Kvm test object
> + @param params: Dictionary with the test parameters.
> + @param env: Dictionary with test environment.
> + """
> +
> + vm = kvm_test_utils.get_living_vm(env, params.get("main_vm"))
> + session = kvm_test_utils.wait_for_login(vm,
> + timeout=int(params.get("login_timeout", 360)))
> + session2 = kvm_test_utils.wait_for_login(vm,
> + timeout=int(params.get("login_timeout", 360)))
> + try:
> + bg_cmd = params.get("background_cmd")
> + logging.info("Add IO workload for guest OS.")
> + (s, o) = session.get_command_status_output(bg_cmd, timeout=60)
> + check_cmd = params.get("check_cmd")
> + (s, o) = session2.get_command_status_output(check_cmd, timeout=60)
> + if int(o) <= 0:
> + raise error.TestError("Fail to add IO workload for Guest OS")
> +
> + logging.info("Sleep for a while")
> + time.sleep(random.randrange(30,100))
> + (s, o) = session2.get_command_status_output(check_cmd, timeout=300)
> + if int(o) <= 0:
> + logging.info("IO workload finished before the VM was killed")
> + logging.info("Kill the virtual machine")
> + vm.process.close()
> + finally:
> + session.close()
> + session2.close()
> diff --git a/client/tests/kvm/tests_base.cfg.sample b/client/tests/kvm/tests_base.cfg.sample
> index be96dc1..e0e1ba7 100644
> --- a/client/tests/kvm/tests_base.cfg.sample
> +++ b/client/tests/kvm/tests_base.cfg.sample
> @@ -348,6 +348,12 @@ variants:
> - vmexit:
> case = vmexit
>
> + - ioquit:
> + type = ioquit
> + background_cmd = "for i in 1 2 3 4; do (nohup dd if=/dev/urandom of=/tmp/file bs=102400 count=10000000 &) done"
> + check_cmd = ps -a |grep dd |wc -l
> + login_timeout = 360
> +
> - qemu_img:
> type = qemu_img
> vms = ''
> @@ -1359,6 +1365,12 @@ variants:
> extra_params += " -mem-path /mnt/kvm_hugepage"
>
>
> +ioquit:
> + post_command_noncritical = no
> + only qcow2
> + only Linux
> +
> +
> variants:
> - @no_pci_assignable:
> pci_assignable = no
^ permalink raw reply [flat|nested] 2+ messages in thread
end of thread, other threads:[~2010-05-26 0:05 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2010-05-24 7:37 [Autotest][PATCH V3] KVM Test: Add ioquit test case Feng Yang
2010-05-26 0:05 ` [Autotest] [PATCH " Lucas Meneghel Rodrigues
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).