summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'app-emulation/ganeti/files/0001-kvm-use_guest_agent-QEMU-Guest-Agent-sup.stable-2.16.patch')
-rw-r--r--app-emulation/ganeti/files/0001-kvm-use_guest_agent-QEMU-Guest-Agent-sup.stable-2.16.patch122
1 files changed, 0 insertions, 122 deletions
diff --git a/app-emulation/ganeti/files/0001-kvm-use_guest_agent-QEMU-Guest-Agent-sup.stable-2.16.patch b/app-emulation/ganeti/files/0001-kvm-use_guest_agent-QEMU-Guest-Agent-sup.stable-2.16.patch
deleted file mode 100644
index 6bca593a08d6..000000000000
--- a/app-emulation/ganeti/files/0001-kvm-use_guest_agent-QEMU-Guest-Agent-sup.stable-2.16.patch
+++ /dev/null
@@ -1,122 +0,0 @@
-From 16a08ecb268062a2634dbfc081b4729cb749b7b4 Mon Sep 17 00:00:00 2001
-Message-Id: <16a08ecb268062a2634dbfc081b4729cb749b7b4.1483650125.git.robbat2@gentoo.org>
-From: "Robin H. Johnson" <robbat2@gentoo.org>
-Date: Thu, 29 Sep 2016 08:57:28 -0700
-Subject: [PATCH-2.16] kvm: use_guest_agent: QEMU Guest Agent support
-
-Implement the QEMU Guest Agent sockets, so that code/scripts on the
-hypervisors can communicate with guest operating systems easily.
-
-Signed-off-by: Robin H. Johnson <robbat2@gentoo.org>
----
- lib/hypervisor/hv_kvm/__init__.py | 23 +++++++++++++++++++++++
- man/gnt-instance.rst | 7 +++++++
- src/Ganeti/Constants.hs | 5 +++++
- 3 files changed, 35 insertions(+)
-
-diff --git a/lib/hypervisor/hv_kvm/__init__.py b/lib/hypervisor/hv_kvm/__init__.py
-index ac02ff56c..b865d6f3a 100644
---- a/lib/hypervisor/hv_kvm/__init__.py
-+++ b/lib/hypervisor/hv_kvm/__init__.py
-@@ -497,6 +497,7 @@ class KVMHypervisor(hv_base.BaseHypervisor):
- constants.HV_MIGRATION_BANDWIDTH: hv_base.REQ_NONNEGATIVE_INT_CHECK,
- constants.HV_MIGRATION_DOWNTIME: hv_base.REQ_NONNEGATIVE_INT_CHECK,
- constants.HV_MIGRATION_MODE: hv_base.MIGRATION_MODE_CHECK,
-+ constants.HV_USE_GUEST_AGENT: hv_base.NO_CHECK,
- constants.HV_USE_LOCALTIME: hv_base.NO_CHECK,
- constants.HV_DISK_CACHE:
- hv_base.ParamInSet(True, constants.HT_VALID_CACHE_TYPES),
-@@ -750,6 +751,13 @@ class KVMHypervisor(hv_base.BaseHypervisor):
- """
- return utils.PathJoin(cls._CTRL_DIR, "%s.qmp" % instance_name)
-
-+ @classmethod
-+ def _InstanceQemuGuestAgentMonitor(cls, instance_name):
-+ """Returns the instance serial QEMU Guest Agent socket name
-+
-+ """
-+ return utils.PathJoin(cls._CTRL_DIR, "%s.qga" % instance_name)
-+
- @classmethod
- def _InstanceKvmdMonitor(cls, instance_name):
- """Returns the instance kvm daemon socket name
-@@ -836,6 +844,7 @@ class KVMHypervisor(hv_base.BaseHypervisor):
- utils.RemoveFile(cls._InstanceMonitor(instance_name))
- utils.RemoveFile(cls._InstanceSerial(instance_name))
- utils.RemoveFile(cls._InstanceQmpMonitor(instance_name))
-+ utils.RemoveFile(cls._InstanceQemuGuestAgentMonitor(instance_name))
- utils.RemoveFile(cls._InstanceKVMRuntime(instance_name))
- utils.RemoveFile(cls._InstanceKeymapFile(instance_name))
- uid_file = cls._InstanceUidFile(instance_name)
-@@ -1544,6 +1553,20 @@ class KVMHypervisor(hv_base.BaseHypervisor):
- if self._UUID_RE.search(kvmhelp):
- kvm_cmd.extend(["-uuid", instance.uuid])
-
-+ # Add guest agent socket
-+ if hvp[constants.HV_USE_GUEST_AGENT]:
-+ qga_addr = utils.GetFreeSlot(bus_slots[_PCI_BUS], reserve=True)
-+ qga_pci_info = "bus=%s,addr=%s" % (_PCI_BUS, hex(qga_addr))
-+ qga_path = self._InstanceQemuGuestAgentMonitor(instance.name)
-+ logging.info("KVM: Guest Agent available at %s", qga_path)
-+ # The 'qga0' identified can change, but the 'org.qemu.guest_agent.0' string is
-+ # the default expected by the Guest Agent.
-+ kvm_cmd.extend([
-+ "-chardev", "socket,path=%s,server,nowait,id=qga0" % qga_path,
-+ "-device", "virtio-serial,id=qga0,%s" % qga_pci_info,
-+ "-device", "virtserialport,chardev=qga0,name=org.qemu.guest_agent.0",
-+ ])
-+
- if hvp[constants.HV_KVM_EXTRA]:
- kvm_cmd.extend(hvp[constants.HV_KVM_EXTRA].split(" "))
-
-diff --git a/man/gnt-instance.rst b/man/gnt-instance.rst
-index 283392cc8..493ae929d 100644
---- a/man/gnt-instance.rst
-+++ b/man/gnt-instance.rst
-@@ -545,6 +545,13 @@ viridian
- viridian (Hyper-V) for this instance. The default is false,
- disabling viridian support.
-
-+use\_guest\_agent
-+ Valid for the KVM hypervisor.
-+
-+ A boolean option that specifies if the hypervisor should enable
-+ the QEMU Guest Agent protocol for this instance. By default, the
-+ Guest Agent is disabled.
-+
- use\_localtime
- Valid for the Xen HVM and KVM hypervisors.
-
-diff --git a/src/Ganeti/Constants.hs b/src/Ganeti/Constants.hs
-index 420ccb6cd..4aa5edf63 100644
---- a/src/Ganeti/Constants.hs
-+++ b/src/Ganeti/Constants.hs
-@@ -1814,6 +1814,9 @@ hvUsbMouse = "usb_mouse"
- hvUseBootloader :: String
- hvUseBootloader = "use_bootloader"
-
-+hvUseGuestAgent :: String
-+hvUseGuestAgent = "use_guest_agent"
-+
- hvUseLocaltime :: String
- hvUseLocaltime = "use_localtime"
-
-@@ -1948,6 +1951,7 @@ hvsParameterTypes = Map.fromList
- , (hvUsbDevices, VTypeString)
- , (hvUsbMouse, VTypeString)
- , (hvUseBootloader, VTypeBool)
-+ , (hvUseGuestAgent, VTypeBool)
- , (hvUseLocaltime, VTypeBool)
- , (hvVga, VTypeString)
- , (hvVhostNet, VTypeBool)
-@@ -4099,6 +4103,7 @@ hvcDefaults =
- , (hvMigrationBandwidth, PyValueEx (32 :: Int))
- , (hvMigrationDowntime, PyValueEx (30 :: Int))
- , (hvMigrationMode, PyValueEx htMigrationLive)
-+ , (hvUseGuestAgent, PyValueEx False)
- , (hvUseLocaltime, PyValueEx False)
- , (hvDiskCache, PyValueEx htCacheDefault)
- , (hvSecurityModel, PyValueEx htSmNone)
---
-2.11.0.rc2
-