Bug 1282713
Summary: | guest occurred an error when ping-pong live migration during vm installation with ENOSPAC | ||
---|---|---|---|
Product: | Red Hat Enterprise Linux 6 | Reporter: | Qianqian Zhu <qizhu> |
Component: | qemu-kvm | Assignee: | Juan Quintela <quintela> |
Status: | CLOSED WONTFIX | QA Contact: | Virtualization Bugs <virt-bugs> |
Severity: | high | Docs Contact: | |
Priority: | high | ||
Version: | 6.8 | CC: | amit.shah, chayang, mkenneth, quintela, rbalakri, virt-maint |
Target Milestone: | rc | ||
Target Release: | --- | ||
Hardware: | x86_64 | ||
OS: | Linux | ||
Whiteboard: | |||
Fixed In Version: | Doc Type: | Bug Fix | |
Doc Text: | Story Points: | --- | |
Clone Of: | Environment: | ||
Last Closed: | 2015-11-18 13:12:05 UTC | Type: | Bug |
Regression: | --- | Mount Type: | --- |
Documentation: | --- | CRM: | |
Verified Versions: | Category: | --- | |
oVirt Team: | --- | RHEL 7.3 requirements from Atomic Host: | |
Cloudforms Team: | --- | Target Upstream Version: | |
Embargoed: |
Description
Qianqian Zhu
2015-11-17 08:32:13 UTC
This problem is fixed in RHEL7.2 and upstream. Several problems: - you are not using libvirt - you are migrating with -S on destination (related to previous error) - you migrate and while the migration is happening, you get an -ENOSPACE error (on source qemu) - but you don't check there, migration finishes and it runs on destination - and on destination, qemu hasn't seen the error, and continues, and then it sees the real error. Posible solutions: - backport all (or at least required part) of migration events series - just banish running qemu without libvirt - "hack" qcow2 to return -ENOSPACE on restart (I am not sure that is is easier/more difficult that backport fix upstream). What do you think? I am assuming that you can't reproduce it without migration and that if you look for the error on the source qemu you will find it. Won't fix. It is fixed in 7.2 and not seen if you use libvirt. Hi Quintela, Just to make sure that there is no misunderstanding. Actually there is no ENOSPACE error report from BOTH source and destination qemu, so do you think it is the same issue under this situation? (In reply to Juan Quintela from comment #2) > This problem is fixed in RHEL7.2 and upstream. Several problems: > > - you are not using libvirt > - you are migrating with -S on destination (related to previous error) > - you migrate and while the migration is happening, you get an -ENOSPACE > error > (on source qemu) > - but you don't check there, migration finishes and it runs on destination > - and on destination, qemu hasn't seen the error, and continues, and then it > sees the real error. > > Posible solutions: > - backport all (or at least required part) of migration events series > - just banish running qemu without libvirt > - "hack" qcow2 to return -ENOSPACE on restart > (I am not sure that is is easier/more difficult that backport fix > upstream). > > What do you think? > > I am assuming that you can't reproduce it without migration and that if you > look for the error on the source qemu you will find it. Hi Yeap, I think it is the same issue. You run on machine A. migrate to Machine B. During migration, you get a -ENOSPACE on machine A migration finish correctly to machine B you make run on machine B and migrate back to machine A running on machine B causes the real error guest see the error migration to machine A finish you have a guest that have seen the error and machine A and machine B are not showing -ENOSPACE. Previous to RHEL7.2 (and upstream 2.4 if I remember correctly), if you are using -S, you need to check that source is on state pause (without errors) before doing the cont on destination. That way you detect the error when it first happens. From RHEL7.2, we have added code that just migrates the error state, and then you current test should work/fail as you expect. Is this clearer? Later, Juan. |