From 6e6c8a48caea3862c808a6156c00562aec24a754f748438181d149750bebd417 Mon Sep 17 00:00:00 2001 From: James Fehlig Date: Wed, 30 Nov 2011 16:55:23 +0000 Subject: [PATCH] - Allow qemu driver (and hence libvirtd) to load when qemu user:group does not exist. The kvm or qemu package, which may not exist on a xen host, creates qemu user:group. relax-qemu-usergroup-check.patch OBS-URL: https://build.opensuse.org/package/show/Virtualization/libvirt?expand=0&rev=179 --- libvirt.changes | 8 ++++++++ libvirt.spec | 4 +++- libvirtd-defaults.patch | 12 +++++------ relax-qemu-usergroup-check.patch | 35 ++++++++++++++++++++++++++++++++ suse-qemu-conf.patch | 6 +++--- 5 files changed, 55 insertions(+), 10 deletions(-) create mode 100644 relax-qemu-usergroup-check.patch diff --git a/libvirt.changes b/libvirt.changes index f6f52ac..e70ad9f 100644 --- a/libvirt.changes +++ b/libvirt.changes @@ -1,3 +1,11 @@ +------------------------------------------------------------------- +Wed Nov 30 09:53:25 MST 2011 - jfehlig@suse.com + +- Allow qemu driver (and hence libvirtd) to load when qemu + user:group does not exist. The kvm or qemu package, which may + not exist on a xen host, creates qemu user:group. + relax-qemu-usergroup-check.patch + ------------------------------------------------------------------- Mon Nov 28 14:57:04 MST 2011 - jfehlig@suse.com diff --git a/libvirt.spec b/libvirt.spec index a810254..3c97d0d 100644 --- a/libvirt.spec +++ b/libvirt.spec @@ -390,7 +390,8 @@ Patch103: xen-domctl-ver8.patch # Our patches Patch200: libvirtd-defaults.patch Patch201: use-init-script-redhat.patch -Patch202: suse-qemu-conf.patch +Patch202: relax-qemu-usergroup-check.patch +Patch203: suse-qemu-conf.patch %if %{with_apparmor} Patch250: install-apparmor-profiles.patch %endif @@ -514,6 +515,7 @@ Authors: %patch200 -p1 %patch201 -p1 %patch202 -p1 +%patch203 -p1 %if %{with_apparmor} %patch250 -p1 %endif diff --git a/libvirtd-defaults.patch b/libvirtd-defaults.patch index 5926da2..d0e5f16 100644 --- a/libvirtd-defaults.patch +++ b/libvirtd-defaults.patch @@ -1,7 +1,7 @@ -Index: libvirt-0.9.6/daemon/libvirtd.conf +Index: libvirt-0.9.7/daemon/libvirtd.conf =================================================================== ---- libvirt-0.9.6.orig/daemon/libvirtd.conf -+++ libvirt-0.9.6/daemon/libvirtd.conf +--- libvirt-0.9.7.orig/daemon/libvirtd.conf ++++ libvirt-0.9.7/daemon/libvirtd.conf @@ -18,8 +18,8 @@ # It is necessary to setup a CA and issue server certificates before # using this capability. @@ -28,10 +28,10 @@ Index: libvirt-0.9.6/daemon/libvirtd.conf # Override the default mDNS advertizement name. This must be # unique on the immediate broadcast network. -Index: libvirt-0.9.6/daemon/libvirtd.c +Index: libvirt-0.9.7/daemon/libvirtd.c =================================================================== ---- libvirt-0.9.6.orig/daemon/libvirtd.c -+++ libvirt-0.9.6/daemon/libvirtd.c +--- libvirt-0.9.7.orig/daemon/libvirtd.c ++++ libvirt-0.9.7/daemon/libvirtd.c @@ -846,7 +846,7 @@ daemonConfigNew(bool privileged ATTRIBUT return NULL; } diff --git a/relax-qemu-usergroup-check.patch b/relax-qemu-usergroup-check.patch new file mode 100644 index 0000000..c6b9450 --- /dev/null +++ b/relax-qemu-usergroup-check.patch @@ -0,0 +1,35 @@ +Allow qemu driver (and hence libvirtd) to load when qemu +user:group does not exist. The kvm package, which may not +exist on a xen host, creates qemu user:group. + +A better (future) solution would be to build the libvirtd +drivers as loadable modules instead of built-in to the +daemon. Then the qemu driver would only be loaded when needed, +which would never be the case on a xen-only configuration. + +Index: libvirt-0.9.7/src/qemu/qemu_conf.c +=================================================================== +--- libvirt-0.9.7.orig/src/qemu/qemu_conf.c ++++ libvirt-0.9.7/src/qemu/qemu_conf.c +@@ -255,9 +255,7 @@ int qemudLoadDriverConfig(struct qemud_d + return -1; + } + if (virGetUserID(user, &driver->user) < 0) { +- VIR_FREE(user); +- virConfFree(conf); +- return -1; ++ VIR_WARN("User %s does not exist! Continuing...", user); + } + VIR_FREE(user); + +@@ -270,9 +268,7 @@ int qemudLoadDriverConfig(struct qemud_d + return -1; + } + if (virGetGroupID(group, &driver->group) < 0) { +- VIR_FREE(group); +- virConfFree(conf); +- return -1; ++ VIR_WARN("Group %s does not exist! Continuing...", group); + } + VIR_FREE(group); + diff --git a/suse-qemu-conf.patch b/suse-qemu-conf.patch index 6eada67..e3205cd 100644 --- a/suse-qemu-conf.patch +++ b/suse-qemu-conf.patch @@ -1,7 +1,7 @@ -Index: libvirt-0.9.6/src/qemu/qemu.conf +Index: libvirt-0.9.7/src/qemu/qemu.conf =================================================================== ---- libvirt-0.9.6.orig/src/qemu/qemu.conf -+++ libvirt-0.9.6/src/qemu/qemu.conf +--- libvirt-0.9.7.orig/src/qemu/qemu.conf ++++ libvirt-0.9.7/src/qemu/qemu.conf @@ -136,7 +136,16 @@ # leaving SELinux enabled for the host in general, then set this # to 'none' instead.