cloudstack/systemvm/patches/debian/config/etc
Wido den Hollander 2a5f37c1b1
CLOUDSTACK-8715: Add channel to Instances for Qemu Guest Agent
This commit adds a additional VirtIO channel with the name
'org.qemu.guest_agent.0' to all Instances.

With the Qemu Guest Agent the Hypervisor gains more control over the Instance if
these tools are present inside the Instance, for example:

* Power control
* Flushing filesystems
* Fetching Network information

In the future this should allow safer snapshots on KVM since we can instruct the
Instance to flush the filesystems prior to snapshotting the disk.

More information: http://wiki.qemu.org/Features/QAPI/GuestAgent

Keep in mind that on Ubuntu AppArmor still needs to be disabled since the default
AppArmor profile doesn't allow libvirt to write into /var/lib/libvirt/qemu

This commit does not add any communication methods through API-calls, it merely
adds the channel to the Instances and installs the Guest Agent in the SSVMs.

With the addition of the Qemu Guest Agent channel a second channel appears in /dev
on a SSVM as a VirtIO port.

The order in which the ports are defined in the XML matters for the naming inside
the SSVM VM and by not relying on /dev/vportXX but looking for a static name the
SSVM still boots properly if the order in the XML definition is changed.

A SSVM with both ports attached will have something like this:

  root@v-215-VM:~# ls -l /dev/virtio-ports
  total 0
  lrwxrwxrwx 1 root root 11 May 13 21:41 org.qemu.guest_agent.0 -> ../vport0p2
  lrwxrwxrwx 1 root root 11 May 13 21:41 v-215-VM.vport -> ../vport0p1
  root@v-215-VM:~# ls -l /dev/vport*
  crw------- 1 root root 251, 1 May 13 21:41 /dev/vport0p1
  crw------- 1 root root 251, 2 May 13 21:41 /dev/vport0p2
  root@v-215-VM:~#

In this case the SSVM port points to /dev/vport0p1, but if the order in the XML
is different it might point to /dev/vport0p2

By looking for a portname with a pre-defined pattern in /dev/virtio-ports we
do not rely on the order in the XML definition.

Signed-off-by: Wido den Hollander <wido@widodh.nl>
2016-11-23 16:01:08 +01:00
..
apache2 SysVM various fixes to previous refactorings 2016-06-07 13:03:10 +02:00
chef Add missing license headers from recent branch merge 3c429ee 2015-03-18 11:03:54 +05:30
default Move the system vm to a separate maven project. 2013-09-20 18:31:02 +08:00
haproxy Move the system vm to a separate maven project. 2013-09-20 18:31:02 +08:00
init.d CLOUDSTACK-8715: Add channel to Instances for Qemu Guest Agent 2016-11-23 16:01:08 +01:00
iptables Fixing the dhcpsrvr iptables file 2015-09-25 16:10:43 +02:00
logrotate.d systemvm, logrotate: remove daily explicitly as it is ignored 2016-05-04 00:23:30 +02:00
modprobe.d rats 2014-06-10 16:21:06 +02:00
profile.d Move the system vm to a separate maven project. 2013-09-20 18:31:02 +08:00
ssh systemvm: correct sftp subsystem path of debian wheezy 2015-03-10 10:15:05 +05:30
cloud-nic.rules Move the system vm to a separate maven project. 2013-09-20 18:31:02 +08:00
dnsmasq.conf.tmpl Configured dnsmasq to listen on all interfaces so that vpn client gets dns 2015-09-22 14:10:48 +05:30
logrotate.conf CLOUDSTACK-6885: rotate logs hourly on VR 2015-03-30 13:49:23 +05:30
rc.local CLOUDSTACK-9336 surround the execution of baremetal-vr.py with condition 2016-04-05 13:28:39 +02:00
rsyslog.conf Move the system vm to a separate maven project. 2013-09-20 18:31:02 +08:00
sysctl.conf systemvm: avoid tcp responses with timestamp 2015-03-09 17:12:22 +05:30
vpcdnsmasq.conf CLOUDSTACK-6018: Increase dnsmasq dhcp-lease-max to 2100 2014-02-03 14:52:42 -08:00