[
https://issues.apache.org/jira/browse/CLOUDSTACK-8715?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14978352#comment-14978352
]
ASF GitHub Bot commented on CLOUDSTACK-8715:
--------------------------------------------
Github user remibergsma commented on the pull request:
https://github.com/apache/cloudstack/pull/985#issuecomment-151832340
@wido Thanks for working on this, awesome!
I was testing this PR and found that the SSVM and CPVM systemvms do not
start properly. This is the error:
```
2015-10-28 12:36:30,145 WARN [resource.wrapper.LibvirtStartCommandWrapper]
(agentRequest-Handler-4:null) Li
bvirtException
org.libvirt.LibvirtException: internal error: process exited while
connecting to monitor: 2015-10-28T12:36:2
9.904910Z qemu-kvm: -chardev
socket,id=charchannel0,path=/var/lib/libvirt/qemu/channel/target/v-273-VM.org.qemu.guest_agent.0,server,nowait:
Failed to bind socket: Permission denied
2015-10-28T12:36:29.904949Z qemu-kvm: -chardev
socket,id=charchannel0,path=/var/lib/libvirt/qemu/channel/target/v-273-VM.org.qemu.guest_agent.0,server,nowait:
chardev: opening backend "socket" failed
at org.libvirt.ErrorHandler.processError(Unknown Source)
at org.libvirt.Connect.processError(Unknown Source)
at org.libvirt.Connect.processError(Unknown Source)
at org.libvirt.Connect.domainCreateXML(Unknown Source)
at
com.cloud.hypervisor.kvm.resource.LibvirtComputingResource.startVM(LibvirtComputingResource.java:1292)
at
com.cloud.hypervisor.kvm.resource.wrapper.LibvirtStartCommandWrapper.execute(LibvirtStartCommandWrapper.java:82)
at
com.cloud.hypervisor.kvm.resource.wrapper.LibvirtStartCommandWrapper.execute(LibvirtStartCommandWrapper.java:46)
at
com.cloud.hypervisor.kvm.resource.wrapper.LibvirtRequestWrapper.execute(LibvirtRequestWrapper.java:75)
at
com.cloud.hypervisor.kvm.resource.LibvirtComputingResource.executeRequest(LibvirtComputingResource.java:1316)
at com.cloud.agent.Agent.processRequest(Agent.java:518)
at com.cloud.agent.Agent$AgentRequestHandler.doTask(Agent.java:823)
at com.cloud.utils.nio.Task.call(Task.java:83)
at com.cloud.utils.nio.Task.call(Task.java:29)
at java.util.concurrent.FutureTask.run(FutureTask.java:266)
at
java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
at
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
at java.lang.Thread.run(Thread.java:745)
```
Here is the channel dir:
```
[root@kvm1 channel]# ls -al /var/lib/libvirt/qemu/channel/
total 12
drwxr-x---. 3 qemu qemu 4096 Oct 28 09:55 .
drwxr-x---. 7 root root 4096 Oct 28 12:39 ..
drwxr-x---. 2 qemu qemu 4096 Sep 15 14:03 target
```
The `target` folder was empty.
I've installed the rpm package that I've built from this branch. The agent
seems to run as root:
```
root 9815 0.4 3.1 4815960 255916 ? Sl 10:17 0:41
/usr/lib/jvm/jre/bin/java -Xms256m -Xmx2048 <cut>
```
It was tested on a KVM hypervisor on CentOS 7. Ping me if you need more
details.
> Add support for qemu-guest-agent to libvirt provider
> ----------------------------------------------------
>
> Key: CLOUDSTACK-8715
> URL: https://issues.apache.org/jira/browse/CLOUDSTACK-8715
> Project: CloudStack
> Issue Type: New Feature
> Security Level: Public(Anyone can view this level - this is the
> default.)
> Components: KVM
> Reporter: Sten Spans
> Assignee: Wido den Hollander
> Labels: kvm, libvirt, qemu, systemvm
> Fix For: Future
>
>
> The qemu guest agent is a newer part of qemu/kvm/libvirt which exposes quite
> a lot of useful functionality, which can only be provided by having an agent
> on the VM. This includes things like freezing/thawing filesystems (for
> backups), reading files on the guest, listing interfaces / ip addresses, etc.
> This feature has been requested by users, but is currently not implemented.
> http://users.cloudstack.apache.narkive.com/3TTmy3zj/enabling-qemu-guest-agent
> The first change needed is to add the following to the XML generated for KVM
> virtual machines,:
> <channel type='unix'>
> <source mode='bind'/>
> <target type='virtio' name='org.qemu.guest_agent.0'/>
> </channel>
> This provides the communication channel between libvirt and the agent on the
> host. All in all a pretty simple change to LibvirtComputingResource.java /
> LibvirtVMDef.java
> Secondly the qemu-guest-agent package needs to be added to the systemvm
> template.
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)