The first bad commit is:
commit 9ab451edfb2ba860223364f01a8c408954b26e53
Author: Jiří Župka <[email protected]>
Date: Thu Aug 29 10:11:05 2013 +0200
virt: propcan change __slots__ listing to avoid waste a memory.
class X:
__slots__ = ['a', 'b']
class Y(X):
__slots__ = X.__slots__ + ['c']
Double declaring of slots causes a waste of memory
and aims to bad manners to slots.
Signed-off-by: Jiří Župka <[email protected]>
But this one makes all tests fail with:
18:38:20 ERROR| AttributeError: 'QemuIface' object has no attribute
'__all_slots'
18:38:20 ERROR|
18:38:20 ERROR| FAIL migrate.default.tcp -> AttributeError: 'QemuIface'
object has no attribute '__all_slots'
So it's unclear whether it is the real culprit. The next one:
commit 1f4eb712ab5fee9f4889f0763513bfbcded9ee63
Author: Chris Evich <[email protected]>
Date: Thu Sep 5 10:14:23 2013 +0200
virt: Replace class method with class attribute
There are very few places that need to re-calculate all ancestor
__slots__ values. It's more efficient to just store them as
an instance attribute, set from __new__(). I also updated
all users dependent on the old __slots__ behavior to use
the new __all_slots__ attribute instead.
Signed-off-by: Chris Evich <[email protected]>
Is the first one that manifests the subtle problem: During migration,
vms start to reboot in the middle of the migration process, even when
they are not supposed to, leading to this, very well hidden error:
2013-10-03 19:32:11: [ 1.087980] EXT4-fs (vda1): INFO: recovery
required on readonly filesystem
2013-10-03 19:32:11: [ 1.091435] EXT4-fs (vda1): write access will be
enabled during recovery
2013-10-03 19:32:11: [ 1.115648] EXT4-fs (vda1): recovery complete
2013-10-03 19:32:11: [ 1.118456] EXT4-fs (vda1): mounted filesystem
with ordered data mode. Opts: (null)
2013-10-03 19:32:11: [ 1.150995] dracut: Checking ext4:
/dev/disk/by-uuid/4f667772-b82e-47a0-9c3b-e913b681a3e2
2013-10-03 19:32:11: [ 1.154789] dracut: issuing e2fsck -a
/dev/disk/by-uuid/4f667772-b82e-47a0-9c3b-e913b681a3e2
2013-10-03 19:32:11: [ 1.164073] dracut:
/dev/disk/by-uuid/4f667772-b82e-47a0-9c3b-e913b681a3e2: clean,
19033/655360 files, 225107/2621184 blocks
2013-10-03 19:32:11: [ 1.170866] dracut: Remounting
/dev/disk/by-uuid/4f667772-b82e-47a0-9c3b-e913b681a3e2 with -o ro
On our local testing, this often doesn't lead to corruption, but over
the course of a ton of migrations it starts to introduce real qcow2
image corruption, and that's the gist of all the problems I saw on
regression testing (and maybe the responsible for the JeOS troubles I
was seeing early on Monday/Tuesday).
So, I'm taking all the propcan related commits from next, and Jiri and
Chris need to work on a new branch with all the changes, fix and send
them as a coherent pull request later at their convenience. The list of
commits pulled off are:
pick 1a9bf39 virt: propcan clean some old style construction.
pick 9ab451e virt: propcan change __slots__ listing to avoid waste a memory.
pick 1f4eb71 virt: Replace class method with class attribute
pick fda1bd4 virt: Make special methods in propcan special
pick 777d9b4 virt: Propcan additional fixes
Phew, that one was hard to find!
Cheers,
Lucas
_______________________________________________
Virt-test-devel mailing list
[email protected]
https://www.redhat.com/mailman/listinfo/virt-test-devel