On 09/02/2011 03:57 AM, Daniel Veillard wrote:
On Thu, Sep 01, 2011 at 10:24:37PM -0600, Eric Blake wrote:
> I think I've addressed most findings from round 3 - by implementing
> the ability to redefine a snapshot, it becomes possible to restore
> snapshot hierarchy when recreating a transient domain by the same
> name. New goodies in this round: several bug fixes, add virsh
> snapshot-edit, drop undefine --snapshots-full (you can only remove
> snapshot metadata on undefine). I tested as I went, but this went
> through so many rebases that there may be some nasties that snuck
> in; but I wanted to get this posted now. I also know that I'm
> missing at least one major feature requested in the v3 review:
> namely, transient domains _should_ auto-remove snapshot metadata
> files when they halt, but right now aren't doing that.
>
> v3 was at:
>
https://www.redhat.com/archives/libvir-list/2011-August/msg01132.html
>
> Also available here:
>
> git fetch git://repo.or.cz/libvirt/ericb.git snapshot
thanks, very convenient !
though I had to use
git fetch git://repo.or.cz/libvirt/ericb.git +snapshot:snapshot
to actually get a snapshot branch locally...
Review:
1 ACK
I'll commit things in phases, broken out by BZs that each phase fixes.
I have now pushed patch 1 (BZ 674537).
2 ACK
3,4,5,6: New flags in API ACK, it would be good to have regression tests
tracking all the events sent in the various cases...
These tests will have to be in the TCK, unless we were to also teach
src/tests/test_driver.c the same events. Improving tests:///default to
cover events is certainly doable in the future, but not in time for 0.9.5.
27 I'm not so sure about that, as the caching is infinite. Some
module
rely on inotify already, and best would be to add an utility for
inotify use and then use it on the dirs of $PATH, then upon change
discard the cacher path
I would push for now but add a TODO to fix that problem
If we expected the location of qemu-img along a PATH search to change,
then I see your point. But I see nothing wrong with caching that
qemu-img lives in /usr/bin (or wherever else it was found) - that is
unlikely to change, even if you upgrade the package that provided
qemu-img in the meantime.
Using inotify cache expulsion is more useful for things like caching
'qemu -help' output - it's one thing to cache where qemu lives, it's
another to also cache what that version of qemu supports, and the cache
must be invalidated if the file at the cached location changes due to a
package upgrade. But in this case, we aren't caching qemu-img capabilities.
28 ACK
29 Isn't there a way to save the domain snapshot on shared storage when
available to try to avoid the problem ? It wouldn't work all the
time but might be simpler than rolling out a v4. or consider the
snapshot data as extra domain resource that could be migrated on
the fly like we can do for disk images in some cases.
Certainly lots of room for improvement along this front, but probably
most of it will be post-0.9.5. Right now, we're just getting the basics
in place.
30 ACK
31 ACK
32 argh ... ACK
33 the new rng need to be added to libvirt.spec.in file list,
once done ACK
Good catch. I also had to rebase on top of Osier's change to domain.rng
(git wasn't very nice, claiming a conflict of several thousand lines
even though it was really just a single addition).
Elapsed time: 3h 20mn
Not bad, considering it took me several weeks to reach 51 pending patches.
now the 100hours question is how are we gonna test all this in a
reasonable fashion and outside of your environment :-)
I think we should push, but need a testing plan because I don't think
we can reasonably expect people to test this in time for 0.9.5,
I'll have everything pushed in the next 8 hours or so, in batches tied
to BZ as I mentioned above. I'll have limited connectivity next week
(I'll be traveling), so hopefully I've tested well enough that I'm not
leaving people in a lurch by pushing a large series then disappearing
for a few days.
--
Eric Blake eblake(a)redhat.com +1-801-349-2682
Libvirt virtualization library
http://libvirt.org