Hide Forgot
Description of problem: When do tunnelled migration from virt-manager, popup error message. Version-Release number of selected component (if applicable): virt-manager-0.8.6-4.el6.noarch libvirt-0.8.7-18.el6.x86_64 kernel-2.6.32-131.0.5.el6.x86_64 How reproducible: Always Steps to Reproduce: 1. Prepare 2 hosts and prepare a nfs which is mounted on both hosts, and setting the virt_use_nfs boolean on both sides # setsebool -P virt_use_nfs 1 and close the iptable on both sides # iptables -F 2. Dispatch ssh public key of source host to target host. Creating your local public key pair # ssh-keygen -t rsa Copying the public key to remote host # ssh-copy-id -i ~/.ssh/id_rsa.pub root@{target ip} 3. Run virt-manager 4. Click File->Add Connection, choose QEMU/KVM on Hypervisor, choose SSH on Method, and write down the hostname of target host, then click Connect 5. Right click guest and select migrate, select new host with dest ip, click the "Advance", choose checkbox "Tunnel migration through libvirt's daemon", then click "Migrate" Actual results: popup error message, migration cannot start. Expected results: migration should be successful Additional info: Use virsh migrate can be successful. # virsh migrate --live --p2p --tunnelled migrateVM qemu+ssh://{target ip}/system # virsh migrate --p2p --tunnelled migrateVM qemu+ssh://{target ip}/system
What is the exact error you are seeing? Can you provide the output of virt-manager --debug when reproducing? Does tunneled migration work using virsh?
Created attachment 495380 [details] debug log for tunnelled migration
Created attachment 495381 [details] Screenshot for tunnelled migration error
(In reply to comment #2) > What is the exact error you are seeing? Can you provide the output of > virt-manager --debug when reproducing? Does tunneled migration work using > virsh? 1) I have created two attachments for error message. 2) Tunneled migration can work well by using virsh. # virsh migrate --live --p2p --tunnelled migrateVM qemu+ssh://{target ip}/system Result: success # virsh migrate --p2p --tunnelled migrateVM qemu+ssh://{target ip}/system Result: success
Thanks, fixed upstream: http://git.fedorahosted.org/git?p=virt-manager.git;a=commit;h=0db10e366b3789a4d580c407f324a732e6359ab6
Fixed in virt-manager-0.9.0-2.el6
Created attachment 516868 [details] migration failed on one virt-manager on the source host
Created attachment 516869 [details] Debug log of virt-manager for migration failure.
Test with the following components: virt-manager-0.9.0-5.el6.x86_64 qemu-kvm-0.12.1.2-2.175.el6.x86_64 libvirt-0.9.4-1.el6.x86_64 python-virtinst-0.600.0-2.el6.noarch kernel-2.6.32-171.el6.x86_64 Steps: 1. Prepare 2 hosts and prepare a nfs which is mounted on both hosts, and setting the virt_use_nfs boolean on both sides # setsebool -P virt_use_nfs 1 and close the iptable on both sides # iptables -F Edit /etc/hosts file on both hosts, add the following sentence to the file. {IP_addr_of_source_hosts} {HOSTNAME_of_source_hosts} {IP_addr_of_target_hosts} {HOSTNAME_of_target_hosts} 2. Dispatch ssh public key of source host to target host, and also from target host to source host. Creating your local public key pair # ssh-keygen -t rsa Copying the public key to remote host # ssh-copy-id -i ~/.ssh/id_rsa.pub root@{target ip} The following steps is done on one virt-manager on the source host. 3. Run virt-manager 4. Click File->Add Connection, choose QEMU/KVM on Hypervisor, choose SSH on Method, and write down the hostname of target host, then click Connect 5. Right click guest below the localhost connect and select migrate, select new host with dest ip, click the "Advance", choose checkbox "Tunnel migration through libvirt's daemon", then click "Migrate", it will succeed. 6. Right click the guest below the remote connection,select new host with dest ip, click the "Advance", choose checkbox "Tunnel migration through libvirt's daemon", then click "Migrate", it will failed with error:"unable to migrate guest":operation failed: Failed to connect to remote libvirt URI(null). Test failed. so set the status to 'ASSIGN'. Addition info: Tunneled migration can work well by using virsh. If do this test on two virt-manager, it will work well.
Hmm, don't know if that's a virt-manager issue or not, guessing it's libvirt. Is this reproducible every time? Does: virsh --connect qemu:///system migrate rhel61 --p2p --tunnelled qemu+ssh://root.3.130/system fail in the same way?
(In reply to comment #13) > Hmm, don't know if that's a virt-manager issue or not, guessing it's libvirt. > > Is this reproducible every time? > Does: > virsh --connect qemu:///system migrate rhel61 --p2p --tunnelled > qemu+ssh://root.3.130/system > > fail in the same way? I redo the test as comment 12, it always has this problem when use virt-manager on the source host to do the tunnelled migration. And i use the command to do the test, and it has no this problem: On Source host: 1.# virsh --connect qemu:///system migrate test --p2p --tunnelled qemu+ssh://root.3.130/system ------(OK) 2. # virsh migrate --live --p2p --tunnelled test qemu+ssh://10.66.3.130/system ------(OK) 3.# virsh migrate --p2p --tunnelled test qemu+ssh://10.66.3.130/system ------(OK) On target host: 1.# virsh --connect qemu:///system migrate test --p2p --tunnelled qemu+ssh://root.3.131/system ------(OK) 2. # virsh migrate --live --p2p --tunnelled test qemu+ssh://10.66.3.131/system ------(OK) 3.# virsh migrate --p2p --tunnelled test qemu+ssh://10.66.3.131/system ------(OK)
Okay, I've pushed an upstream fix for making a better attempt at generating a remotely accessible URI for localhost: http://git.fedorahosted.org/git?p=virt-manager.git;a=commit;h=bca155230609efb01c0d63062036d413fab3a43c
Fixed in virt-manager-0.9.0-7.el6
The bug can reproduce on version: virt-manager-0.9.0-6.el6 Verified on version: virt-manager-0.9.0-7.el6 Environment: kernel-2.6.32-206.el6.x86_64 libvirt-0.9.4-17.el6 python-virtinst-0.600.0-3.el6 qemu-kvm-0.12.1.2-2.195.el6.x86_64 Detail Steps: 1. Prepare 2 hosts and prepare a nfs which is mounted on both hosts, and setting the virt_use_nfs boolean on both sides # setsebool -P virt_use_nfs 1 and close the iptable on both sides # iptables -F Edit /etc/hosts file on both hosts, add the following sentence to the file. {IP_addr_of_source_hosts} {HOSTNAME_of_source_hosts} {IP_addr_of_target_hosts} {HOSTNAME_of_target_hosts} 2. Dispatch ssh public key of source host to target host, and also from target host to source host. Creating your local public key pair # ssh-keygen -t rsa Copying the public key to remote host # ssh-copy-id -i ~/.ssh/id_rsa.pub root@{target ip} The following steps is done on one virt-manager on the source host. 3. Run virt-manager 4. Click File->Add Connection, choose QEMU/KVM on Hypervisor, choose SSH on Method, and write down the hostname of target hostIP, then click Connect 5. Right click guest below the localhost connect and select migrate, select new host with dest ip, click the "Advance", choose checkbox "Tunnel migration through libvirt's daemon", then click "Migrate", it will succeed. 6. Right click the guest below the remote connection,select new host with localhost(QEMU) , click the "Advance", choose checkbox "Tunnel migration through libvirt's daemon",then click "Migrate", it will succeed.
Hi Daisy, thanks for confirming, can you set bug status to VERIFIED?
Move to VERIFIED per Comment 17.
Technical note added. If any revisions are required, please edit the "Technical Notes" field accordingly. All revisions will be proofread by the Engineering Content Services team. New Contents: Cause: virt-manager initiated tunneled migration had several defects Consequence: tunneled migration failed Fix: fixed defects Result: tunneled migration works
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-2011-1642.html