Iterate over reboot
PATCH 1/1 Iterate over reboot
A patch for iterating over VM reboot
- Supriya Kannery,
LTC, IBM
client/tests/kvm_runtest_2/kvm_tests.cfg.sample +1 -0
@@ -50,6 +50,7 @@ variants: reboot = yes extra_params += " -snapshot" kill_vm_on_error = yes + reboot_iterations = 1 - migrate: install setup type = migration
client/tests/kvm_runtest_2/kvm_tests.py +21 -18
@@ -31,25 +31,28 @@ def run_boot(test, params, env): kvm_log.info("Logged in") if params.get("reboot") == "yes": - session.sendline(params.get("cmd_reboot")) - kvm_log.info("Reboot command sent; waiting for guest to go down...") + iteration = int(params.get("reboot_iterations",1)) + while iteration: + session.sendline(params.get("cmd_reboot")) + kvm_log.info("Reboot command sent; waiting for guest to go down...") + + if not kvm_utils.wait_for(lambda: not session.is_responsive(), 120, 0, 1): + message = "Guest refuses to go down" + kvm_log.error(message) + raise error.TestFail, message + + session.close() + + kvm_log.info("Guest is down; waiting for it to go up again...") + + session = kvm_utils.wait_for(vm.ssh_login, 120, 0, 2) + if not session: + message = "Could not log into guest after reboot" + kvm_log.error(message) + raise error.TestFail, message - if not kvm_utils.wait_for(lambda: not session.is_responsive(), 120, 0, 1): - message = "Guest refuses to go down" - kvm_log.error(message) - raise error.TestFail, message - - session.close() - - kvm_log.info("Guest is down; waiting for it to go up again...") - - session = kvm_utils.wait_for(vm.ssh_login, 120, 0, 2) - if not session: - message = "Could not log into guest after reboot" - kvm_log.error(message) - raise error.TestFail, message - - kvm_log.info("Guest is up again") + kvm_log.info("Guest is up again") + iteration -= 1 session.close()
Quoted 4 lines · supriya kannery
A patch for iterating over VM reboot
- Supriya Kannery,
LTC, IBM
Needs a Signed-off-by:
Quoted 61 lines
diff -Naurp kvm-autotest/client/tests/kvm_runtest_2/kvm_tests.cfg.sample kvm-autotest.mod/client/tests/kvm_runtest_2/kvm_tests.cfg.sample
client/tests/kvm_runtest_2/kvm_tests.cfg.sample +1
-0@@ -50,6 +50,7 @@ variants: reboot = yes extra_params += " -snapshot" kill_vm_on_error = yes + reboot_iterations = 1 - migrate: install setup type = migrationdiff -Naurp
kvm-autotest/client/tests/kvm_runtest_2/kvm_tests.pykvm-autotest.mod/client/tests/kvm_runtest_2/kvm_tests.pyclient/tests/kvm_runtest_2/kvm_tests.py +21
-18@@ -31,25 +31,28 @@ def run_boot(test, params, env): kvm_log.info("Logged in") if params.get("reboot") == "yes": - session.sendline(params.get("cmd_reboot")) - kvm_log.info("Reboot command sent; waiting for guest to go down...") + iteration = int(params.get("reboot_iterations",1)) + while iteration: + session.sendline(params.get("cmd_reboot")) + kvm_log.info("Reboot command sent; waiting for guest to go down...") + + if not kvm_utils.wait_for(lambda: not session.is_responsive(), 120, 0, 1): + message = "Guest refuses to go down" + kvm_log.error(message) + raise error.TestFail, message + + session.close() + + kvm_log.info("Guest is down; waiting for it to go up again...") + + session = kvm_utils.wait_for(vm.ssh_login, 120, 0, 2) + if not session: + message = "Could not log into guest after reboot" + kvm_log.error(message) + raise error.TestFail, message - if not kvm_utils.wait_for(lambda: not session.is_responsive(), 120, 0, 1): - message = "Guest refuses to go down" - kvm_log.error(message) - raise error.TestFail, message - - session.close() - - kvm_log.info("Guest is down; waiting for it to go up again...") - - session = kvm_utils.wait_for(vm.ssh_login, 120, 0, 2) - if not session: - message = "Could not log into guest after reboot" - kvm_log.error(message) - raise error.TestFail, message - - kvm_log.info("Guest is up again") + kvm_log.info("Guest is up again") + iteration -= 1 session.close()
Signature · 4 lines
Ryan Harper Software Engineer; Linux Technology Center IBM Corp., Austin, Tx [email protected]
Quoted 11 lines · Ryan Harper
Quoted 5 lines · supriya kannery
A patch for iterating over VM reboot
- Supriya Kannery,
LTC, IBMNeeds a Signed-off-by:
Pls find attached the patch including "Signed-off-by"
diffstat output:
kvm_tests.cfg.sample | 1 + kvm_tests.py | 39 +++++++++++++++++++++------------------ 2 files changed, 22 insertions(+), 18 deletions(-)
---
client/tests/kvm_runtest_2/kvm_tests.cfg.sample +1 -0
@@ -50,6 +50,7 @@ variants: reboot = yes extra_params += " -snapshot" kill_vm_on_error = yes + reboot_iterations = 1 - migrate: install setup type = migration
client/tests/kvm_runtest_2/kvm_tests.py +21 -18
@@ -31,25 +31,28 @@ def run_boot(test, params, env): kvm_log.info("Logged in") if params.get("reboot") == "yes": - session.sendline(params.get("cmd_reboot")) - kvm_log.info("Reboot command sent; waiting for guest to go down...") + iteration = int(params.get("reboot_iterations",1)) + while iteration: + session.sendline(params.get("cmd_reboot")) + kvm_log.info("Reboot command sent; waiting for guest to go down...") + + if not kvm_utils.wait_for(lambda: not session.is_responsive(), 120, 0, 1): + message = "Guest refuses to go down" + kvm_log.error(message) + raise error.TestFail, message + + session.close() + + kvm_log.info("Guest is down; waiting for it to go up again...") + + session = kvm_utils.wait_for(vm.ssh_login, 120, 0, 2) + if not session: + message = "Could not log into guest after reboot" + kvm_log.error(message) + raise error.TestFail, message - if not kvm_utils.wait_for(lambda: not session.is_responsive(), 120, 0, 1): - message = "Guest refuses to go down" - kvm_log.error(message) - raise error.TestFail, message - - session.close() - - kvm_log.info("Guest is down; waiting for it to go up again...") - - session = kvm_utils.wait_for(vm.ssh_login, 120, 0, 2) - if not session: - message = "Could not log into guest after reboot" - kvm_log.error(message) - raise error.TestFail, message - - kvm_log.info("Guest is up again") + kvm_log.info("Guest is up again") + iteration -= 1 session.close()
Quoted 5 lines · supriya kannery
A patch for iterating over VM reboot
- Supriya Kannery,
LTC, IBM
I think adding iterations capability belongs to the infrastructure, not the test itself. Implement it once in the infrastructure, instead of once per test. Also I think autotest has such a capability (adding iteration=n to job.run_test parameters).
Thanks,
Uri.
Quoted 7 lines · Uri Lublin
Quoted 2 lines · supriya kannery
A patch for iterating over VM reboot
I think adding iterations capability belongs to the infrastructure, not the test itself. Implement it once in the infrastructure, instead of once per test. Also I think autotest has such a capability (adding iteration=n to job.run_test parameters).
In the older version of kvm_runtest (kvm_runtest_old), the iteration parameter can be added to the corresponding job.runtest() of each test type (boot, reboot, migration).Different Class and execute function are defined for each test type in old runtest infrastructure which gives the flexibility of providing independent iteration values. But in the current infrastructure, I am not sure how we can apply that way to iterate each test type. My guess is, defining an iteration parameter under corresponding test type variant in the kvm_test.cfg file is one of the ways. Pls let me know if I overlooked anything here.
Thanks, Supriya