On Thu, Sep 20, 2012 at 01:33:39PM +0800, liguang wrote: > original migration did not aware of offline case > so, add code to support offline migration quietly > (did not disturb original migration) by pass > VIR_MIGRATE_OFFLINE flag to migration APIs if only > the domain is really inactive, and > migration process will not puzzled by domain > offline and exit unexpectedly. > these changes did not take care of disk images the > domain required, for them could be transferred by > other APIs as suggested, then VIR_MIGRATE_OFFLINE > should not combined with VIR_MIGRATE_NON_SHARED_*. > so, this migration result is just make domain > definition alive at target side. > > Signed-off-by: liguang <lig.fnst@xxxxxxxxxxxxxx> I've tested this patch and it does not appear to work at all I have 2 hosts, avocado & mustard, and guest 'vm1' I want to migrate from avocado to mustard: # virsh -c avocado list --all Id Name State ---------------------------------------------------- - debian6-x86_64 shut off - f13x86_64 shut off - f16_x86_64 shut off - f16x86_64 shut off - f18x86_64 shut off - freebsd-8.2-x86_64 shut off - netbsd-5.1-x86_64 shut off - openbsd-4.9-x86_64 shut off - opensuse-11.4-x86_64 shut off - rhel5x86_64 shut off - rhel6x86_64 shut off - rhel6x86_64ga shut off - ubuntu-11.10-x86_64 shut off - vm1 shut off # virsh -c mustard list --all Id Name State ---------------------------------------------------- 2 instance-00000001 running - rhel6x86_64 shut off The guest is not running: # virsh -c avocado dominfo vm1 Id: - Name: vm1 UUID: c7b3edbd-edaf-9455-926a-d65c16db1800 OS Type: hvm State: shut off CPU(s): 1 Max memory: 219200 kB Used memory: 219136 kB Persistent: yes Autostart: disable Managed save: no Security model: selinux Security DOI: 0 So a normal migrate fails, which is good. # virsh -c avocado migrate vm1 mustard error: Requested operation is not valid: domain is not running Now I try your new offline migrate, which claims to succeed # virsh -c avocado migrate --offline vm1 mustard We should have rejected an attempt to use --offline, unless the user has also specified either --persistent, or --copy-storage-all Now I repeat using --persistent which succeeds: # virsh -c avocado migrate --persistent --offline vm1 mustard But it has not created the guest on the target: # virsh -c mustard list --all Id Name State ---------------------------------------------------- 2 instance-00000001 running - rhel6x86_64 shut off Also if I add --undefinesource it also succeeds # /home/berrange/src/virt/libvirt/tools/virsh -c avocado migrate --persistent --undefinesource --offline vm1 mustard But again has not created the guest on the target # virsh -c mustard list --all Id Name State ---------------------------------------------------- 2 instance-00000001 running - rhel6x86_64 shut off Now has it removed it on the source # virsh -c avocado list --all Id Name State ---------------------------------------------------- - debian6-x86_64 shut off - f13x86_64 shut off - f16_x86_64 shut off - f16x86_64 shut off - f18x86_64 shut off - freebsd-8.2-x86_64 shut off - netbsd-5.1-x86_64 shut off - openbsd-4.9-x86_64 shut off - opensuse-11.4-x86_64 shut off - rhel5x86_64 shut off - rhel6x86_64 shut off - rhel6x86_64ga shut off - ubuntu-11.10-x86_64 shut off - vm1 shut off Regards, Daniel -- |: http://berrange.com -o- http://www.flickr.com/photos/dberrange/ :| |: http://libvirt.org -o- http://virt-manager.org :| |: http://autobuild.org -o- http://search.cpan.org/~danberr/ :| |: http://entangle-photo.org -o- http://live.gnome.org/gtk-vnc :| -- libvir-list mailing list libvir-list@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/libvir-list