Bug 1374872

Summary: Domain fails to migrate between user sessions because of different $HOME paths
Product: [Community] Virtualization Tools Reporter: David Jaša <djasa>
Component: libvirtAssignee: Jiri Denemark <jdenemar>
Status: CLOSED NOTABUG QA Contact: zhe peng <zpeng>
Severity: unspecified Docs Contact:
Priority: unspecified    
Version: unspecifiedCC: berrange, dyuan, libvirt-maint, rbalakri, xuzhang, zpeng
Target Milestone: ---   
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2017-11-06 12:46:08 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:

Description David Jaša 2016-09-09 22:29:15 UTC
Description of problem:
Even when the qemu-ga socket path is not defined in domain xml of VM running in user session:
    <channel type='unix'>
      <source mode='bind'/>
      <target type='virtio' name='org.qemu.guest_agent.0' state='connected'/>
    </channel>
The domain fails to migrate to another user session on other machine with an error:
Sep 09 18:13:18 DST_HOSTNAME libvirtd[25754]: internal error: process exited while connecting to monitor: 2016-09-09T16:13:18.218921Z qemu-kvm: -chardev socket,id=charchannel1,path=$SRC_HOME/.config/libvirt/qemu/channel/target/domain-rhel7-tmp/org.qemu.guest_agent.0,server,nowait: Failed to bind socket to /home/shadowman/.config/libvirt/qemu/channel/target/domain-rhel7-tmp/org.qemu.guest_agent.0: No such file or directory

Version-Release number of selected component (if applicable):
libvirt-daemon-2.0.0-6.el7.x86_64

How reproducible:
always

Steps to Reproduce:
1. configure user with different user names (on one machine each) to listen on network
2. migrate a domain with qemu-ga enabled as per above
3.

Actual results:
error message as above

Expected results:
domain migrates just fine

Additional info:

Comment 1 Daniel Berrangé 2017-11-06 12:46:08 UTC
This is really not a bug. A pre-requisite for any migration is that the host filesystem resources are configured the same way on both hosts. If that isn't the case, then the application/user who triggers the migration is responsible for passing in updated XML with the changed file paths.

Even in this example where the user didn't originally provide a path for the channel, I consider this pre-requisite to hold, because the live XML will reflect the auto-generated path.