From: Michael Goldish <mgoldish@redhat.com>
To: Jason Wang <jasowang@redhat.com>
Cc: autotest@test.kernel.org, kvm@vger.kernel.org, mst@redhat.com
Subject: Re: [PATCH 0/3] Launch other test during migration
Date: Mon, 01 Nov 2010 17:45:56 +0200 [thread overview]
Message-ID: <4CCEE0B4.6050209@redhat.com> (raw)
In-Reply-To: <20100925092836.28158.64788.stgit@dhcp-91-158.nay.redhat.com>
On 09/25/2010 11:36 AM, Jason Wang wrote:
> We could give a further test of migration by launch test during migartion. So
> the following series implements:
>
> - A simple class to run a specified test in the background which could be used
> to launch other test during migartion. Its design is rather simple and its usage
> is a little tricky, but it work well.
> - Two sample tests which take advantages of the background class: Test reboot
> during guest migration and test file_transfer during guest migration.
>
> In the future, we could even lauch autotest client test during guest migation.
>
> ---
>
> Jason Wang (3):
> KVM Test: Introduce a helper class to run a test in the background
> KVM test: Test reboot during migration
> KVM test: Test the file transfer during migartion
>
>
> client/tests/kvm/kvm_test_utils.py | 44 +++++++++++++++
> .../kvm/tests/migration_with_file_transfer.py | 59 ++++++++++++++++++++
> client/tests/kvm/tests/migration_with_reboot.py | 45 +++++++++++++++
> client/tests/kvm/tests_base.cfg.sample | 12 ++++
> 4 files changed, 159 insertions(+), 1 deletions(-)
> create mode 100644 client/tests/kvm/tests/migration_with_file_transfer.py
> create mode 100644 client/tests/kvm/tests/migration_with_reboot.py
It seems to me that this method is only applicable to tests/functions
that don't require a VM object (i.e. that require only a shell session
object). kvm_test_utils.reboot() operates on a VM object, and the same
VM is destroyed by migrate() which runs in the background, so eventually
reboot() tries logging into a destroyed VM, which fails because
vm.get_address() fails. Any monitor operation will also fail. If the
autotest wrapper requires a VM object (currently it does) then it can't
be used either.
An alternative (somewhat ugly) way to migrate in the background is to
pass a boolean 'migrate' flag to various functions/tests, such as
reboot() and run_autotest(). If 'migrate' is True, these functions will
do something like
vm = kvm_test_utils.migrate(vm, ...)
in their waiting loops, where wait_for() is normally used. This
guarantees that 'vm' is always a valid VM object. For example:
# Log in after reboot
while time.time() < end_time:
if migrate_in_bg:
vm = kvm_test_utils.migrate(vm, ...)
session = vm.remote_login()
if session:
break
time.sleep(2)
This is much longer than the usual wait_for(...) but it does the job.
What do you think?
next prev parent reply other threads:[~2010-11-01 15:45 UTC|newest]
Thread overview: 14+ messages / expand[flat|nested] mbox.gz Atom feed top
2010-09-25 9:36 [PATCH 0/3] Launch other test during migration Jason Wang
2010-09-25 9:36 ` [PATCH 1/3] KVM Test: Introduce a helper class to run a test in the background Jason Wang
2010-09-25 9:36 ` [PATCH 2/3] KVM test: Test reboot during migration Jason Wang
2010-09-25 9:36 ` [PATCH 3/3] KVM test: Test the file transfer during migartion Jason Wang
2010-11-01 15:58 ` Michael Goldish
2010-11-02 5:34 ` Jason Wang
2010-11-01 15:45 ` Michael Goldish [this message]
2010-11-02 5:34 ` [PATCH 0/3] Launch other test during migration Jason Wang
2010-11-02 8:14 ` Michael Goldish
2010-11-03 2:53 ` Jason Wang
2010-11-03 9:08 ` Michael Goldish
[not found] <658682630.629911287377003874.JavaMail.root@zmail05.collab.prod.int.phx2.redhat.com>
2010-10-18 4:59 ` Jason Wang
2010-10-18 9:51 ` pradeep
2010-10-20 0:48 ` Jason Wang
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=4CCEE0B4.6050209@redhat.com \
--to=mgoldish@redhat.com \
--cc=autotest@test.kernel.org \
--cc=jasowang@redhat.com \
--cc=kvm@vger.kernel.org \
--cc=mst@redhat.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.