cloudstack-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "ASF GitHub Bot (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (CLOUDSTACK-8715) Add support for qemu-guest-agent to libvirt provider
Date Wed, 28 Oct 2015 12:44:27 GMT

    [ 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)

Mime
View raw message