[ 
https://issues.apache.org/jira/browse/CLOUDSTACK-8715?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15290818#comment-15290818
 ] 

ASF GitHub Bot commented on CLOUDSTACK-8715:
--------------------------------------------

Github user rhtyd commented on a diff in the pull request:

    https://github.com/apache/cloudstack/pull/1545#discussion_r63850379
  
    --- Diff: 
plugins/hypervisors/kvm/src/com/cloud/hypervisor/kvm/resource/LibvirtComputingResource.java
 ---
    @@ -1978,11 +1978,16 @@ So if getMinSpeed() returns null we fall back to 
getSpeed().
             final SerialDef serial = new SerialDef("pty", null, (short)0);
             devices.addDevice(serial);
     
    +        /* Add a VirtIO channel for SystemVMs for communication and 
provisioning */
             if (vmTO.getType() != VirtualMachine.Type.User) {
    -            final VirtioSerialDef vserial = new 
VirtioSerialDef(vmTO.getName(), null);
    -            devices.addDevice(vserial);
    +            devices.addDevice(new ChannelDef(vmTO.getName() + ".vport", 
ChannelDef.ChannelType.UNIX,
    +                                             "/var/lib/libvirt/qemu/" + 
vmTO.getName() + ".agent"));
             }
     
    +        /* Add a VirtIO channel for the Qemu Guest Agent tools */
    +        devices.addDevice(new ChannelDef("org.qemu.guest_agent.0", 
ChannelDef.ChannelType.UNIX,
    +                                         "/var/lib/libvirt/qemu/" + 
vmTO.getName() + ".org.qemu.guest_agent.0"));
    --- End diff --
    
    We're hardcoding channel type `unix` here, is that the default or should we 
allow users to choose between unix, serial and others? Also, about the guest 
agent name, while `/var/lib/libvirt/qemu` is the default path on most distros 
we should make it configurable or make it detect the path based on the env.


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

Reply via email to