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

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

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

    https://github.com/apache/cloudstack/pull/1545#discussion_r74249185
  
    --- Diff: 
plugins/hypervisors/kvm/src/com/cloud/hypervisor/kvm/resource/LibvirtDomainXMLParser.java
 ---
    @@ -171,6 +174,25 @@ public boolean parseDomainXML(String domXML) {
                     interfaces.add(def);
                 }
     
    +            NodeList ports = devices.getElementsByTagName("channel");
    +            for (int i = 0; i < ports.getLength(); i++) {
    +                Element channel = (Element)ports.item(i);
    +
    +                String type = channel.getAttribute("type");
    +                String path = getAttrValue("source", "path", channel);
    +                String name = getAttrValue("target", "name", channel);
    +                String state = getAttrValue("target", "state", channel);
    +
    +                ChannelDef def = null;
    +                if (Strings.isNullOrEmpty(state)) {
    +                    def = new ChannelDef(name, 
ChannelDef.ChannelType.valueOf(type.toUpperCase()), path);
    --- End diff --
    
    What if ``type`` is ``null``?  While it likely shouldn't happen, malformed 
XML could cause an NPE.  Consider adding a 
``checkState(StringUtils.isNoneBlank(type), "<explanation of unexpected 
condition>")`` on line 185.


> 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