Bug 875770
Summary: | libvirt: cancel migration is sent but migration continues | ||
---|---|---|---|
Product: | Red Hat Enterprise Linux 6 | Reporter: | Chris Pelland <cpelland> |
Component: | libvirt | Assignee: | Michal Privoznik <mprivozn> |
Status: | CLOSED ERRATA | QA Contact: | Virtualization Bugs <virt-bugs> |
Severity: | high | Docs Contact: | |
Priority: | high | ||
Version: | 6.3 | CC: | acathrow, bazulay, dallan, dron, dyasny, dyuan, iheim, jdenemar, mjenner, mprivozn, mzhan, pm-eus, rwu, weizhan, zhpeng |
Target Milestone: | rc | Keywords: | ZStream |
Target Release: | --- | ||
Hardware: | x86_64 | ||
OS: | Linux | ||
Whiteboard: | |||
Fixed In Version: | libvirt-0.9.10-21.el6_3.6 | Doc Type: | Bug Fix |
Doc Text: |
Cause:
Libvirt allows users to cancel ongoing migration. Internally it was implemented by sending 'migrate_cancel' command to qemu. However, from libvirt POV migration has several phases. The first is begin, where the preparation work takes place (e.g. the connection to destination is established, the domain XML is sent to destination, ABI stability is checked, etc.). The very next phase is perform, where 'migrate' command is issued and libvirt waits for qemu to migrate. However, with bad timing it was possible to issue 'migrate_cancel' prior to 'migrate' command.
Consequence:
This inconvenience led to situation where migration wasn't cancelled even though user requested it.
Fix:
Correct fix was to check when translating to perform phase if user requested migration cancellation. That is, virDomainAbortJob() API not just issue 'migrate_cancel' but sets a flag as well. This flag is checked just before issuing 'migrate' command and may lead to not issuing the command at all (if user requested cancellation at prepare phase).
Result:
Migration can be cancelled at prepare phase as well.
|
Story Points: | --- |
Clone Of: | Environment: | ||
Last Closed: | 2012-11-22 09:40:28 UTC | Type: | --- |
Regression: | --- | Mount Type: | --- |
Documentation: | --- | CRM: | |
Verified Versions: | Category: | --- | |
oVirt Team: | --- | RHEL 7.3 requirements from Atomic Host: | |
Cloudforms Team: | --- | Target Upstream Version: | |
Embargoed: | |||
Bug Depends On: | 873792 | ||
Bug Blocks: |
Description
Chris Pelland
2012-11-12 14:52:47 UTC
Moving to POST: http://post-office.corp.redhat.com/archives/rhvirt-patches/2012-November/msg00098.html Verify pass on libvirt-0.9.10-21.el6_3.6.x86_64 qemu-kvm-0.12.1.2-2.323.el6.x86_64 kernel-2.6.32-329.el6.x86_64 # virsh migrate --live vr-rhel6u3-x86_64-kvm qemu+ssh://10.66.84.16/system --verbose & usleep 500000; virsh domjobabort vr-rhel6u3-x86_64-kvm error: operation aborted: migration out: canceled by client Since the problem described in this bug report should be resolved in a recent advisory, it has been closed with a resolution of ERRATA. For information on the advisory, and where to find the updated files, follow the link below. If the solution does not work for you, open a new bug report. http://rhn.redhat.com/errata/RHBA-2012-1484.html |