libvirt error when trying to 'hot' attach-disk on guest with "Channel qemu-ga"

I have KVM virtual machine running CentOS 7 as guest OS. I'm trying to attach an additional disk to it on the run (without shutting it down) using this command:

$ sudo virsh attach-disk centos --source /var/lib/libvirt/images/newdisk.img --target sdb --persistent

But receive an error:

error: Failed to attach disk
error: internal error: cannot update AppArmor profile 'libvirt-d2e7bbb8-c7b3-44ec-b0ea-27539e0df732'

If I do the same with Debian guest - everything is ok.

What is difference, how to solve that?


I have a comment!

I compared two VM's xml and saw that CentOS have QEMU-agent in his configuration:

<channel type="unix">
    <source mode="bind" path="/var/lib/libvirt/qemu/channel/target/"></source>
    <target name="org.qemu.guest_agent.0" type="virtio"></target>
    <address bus="0" controller="0" port="1" type="virtio-serial"></address>

Then I removed "channel qemu-ga", restarted VM and checked "hot add" feature. It worked.

I tested it on other VMs (CentOS, Fedora, Debian) and saw the same.

As a result:

  1. If enable qemu-agent i cannot use hot plug.
  2. If use "hot plug" i must forget about agent.

Is it my mistake in configuration or these features can't work together?

Host-OS: Ubuntu 15.10

QEMU emulator: now 2.4.92 (tested 2.3 and 2.4.1)

VMM: 1.3.0


This is a clear bug in the apparmor security driver for libvirt. The existence of the QEMU guest agent config in the XML should have no impact on ability to hotplug disks to a guest. This bug should be reported to the libvirt upstream, or Ubuntu bug trackers.

Need Your Help

how to save the webpage using c#?

c# web

How to save the webpage using c#? I need to open a dialog asking for the path to save the file.

How to list available instances of SQL Servers using SMO in C#?

c# .net sql-server smo

Can anybody explain me what I wrong I am doing in the following piece of code: