Accepting request 136014 from Virtualization

- Temporarily disable building libxl driver.  The current
  implementation does not support libxl in Xen 4.2.

- Update to libvirt 0.10.2
  - network: define new API virNetworkUpdate
  - add support for QEmu sandbox support
  - blockjob: add virDomainBlockCommit
  - node_memory: Define the APIs to get/set memory parameters
  - list: Define new API virConnectListAllSecrets
  - list: Define new API virConnectListAllNWFilter
  - list: Define new API virConnectListAllNodeDevices
  - list: Define new API virConnectListAllInterfaces
  - list: Define new API virConnectListAllNetworks
  - list: Define new API virStoragePoolListAllVolumes
  - list: Define new API virStorageListAllStoragePools
  - parallels: add support of containers to the driver
  - Add PMSUSPENDED life cycle event
  - Add per-guest S3/S4 state configuration
  - qemu: Support for Block Device IO Limits

- Update to libvirt 0.10.1
  - Bug fix release for critical bugs in 0.10.0
  - Drop upstream patch f781e276-xen-driver-fix.patch

- Update to libvirt 0.10.0
  - agent: add qemuAgentArbitraryCommand()
  - Introduce virDomainPinEmulator and virDomainGetEmulatorPinInfo
  - network: use firewalld instead of iptables, when available
  - network: make network driver vlan-aware
  - esx: Implement network driver

OBS-URL: https://build.opensuse.org/request/show/136014
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/libvirt?expand=0&rev=104
This commit is contained in:
Stephan Kulow 2012-09-26 08:08:00 +00:00 committed by Git OBS Bridge
commit 1d27e86149
17 changed files with 174 additions and 398 deletions

View File

@ -1,26 +0,0 @@
commit 4036aa91bff6482cf4c136c93277619fa8ec6f94
Author: Jim Fehlig <jfehlig@suse.com>
Date: Mon Jul 9 09:52:55 2012 -0600
systemd: start libvirtd after network
Domains configured with autostart may fail to start if the host
network stack has not been started. E.g. when using bridged
networking autostarting a domain can fail with
libvirtd[1403]: 2012-06-20 13:23:49.833+0000: 1485: error :
qemuAutostartDomain:177 : Failed to autostart VM 'test': Cannot get
interface MTU on 'br0': No such device
Index: libvirt-0.9.13/daemon/libvirtd.service.in
===================================================================
--- libvirt-0.9.13.orig/daemon/libvirtd.service.in
+++ libvirt-0.9.13/daemon/libvirtd.service.in
@@ -6,6 +6,7 @@
[Unit]
Description=Virtualization daemon
Before=libvirt-guests.service
+After=network.target
[Service]
EnvironmentFile=-/etc/sysconfig/libvirtd

View File

@ -1,99 +0,0 @@
commit 6039a2cb49c8af4c68460d2faf365a7e1c686c7b
Author: Jiri Denemark <jdenemar@redhat.com>
Date: Mon Jul 30 12:14:54 2012 +0200
daemon: Fix crash in virTypedParameterArrayClear
Daemon uses the following pattern when dispatching APIs with typed
parameters:
VIR_ALLOC_N(params, nparams);
virDomain*(dom, params, &nparams, flags);
virTypedParameterArrayClear(params, nparams);
In case nparams was originally set to 0, virDomain* API would fill it
with the number of typed parameters it can provide and we would use this
number (rather than zero) to clear params. Because VIR_ALLOC* returns
non-NULL pointer even if size is 0, the code would end up walking
through random memory. If we were lucky enough and the memory contained
7 (VIR_TYPED_PARAM_STRING) at the right place, we would try to free a
random pointer and crash.
Let's make sure params stays NULL when nparams is 0.
Index: libvirt-0.9.13/daemon/remote.c
===================================================================
--- libvirt-0.9.13.orig/daemon/remote.c
+++ libvirt-0.9.13/daemon/remote.c
@@ -964,7 +964,7 @@ remoteDispatchDomainGetSchedulerParamete
virNetError(VIR_ERR_INTERNAL_ERROR, "%s", _("nparams too large"));
goto cleanup;
}
- if (VIR_ALLOC_N(params, nparams) < 0)
+ if (nparams && VIR_ALLOC_N(params, nparams) < 0)
goto no_memory;
if (!(dom = get_nonnull_domain(priv->conn, args->dom)))
@@ -1073,7 +1073,7 @@ remoteDispatchDomainGetSchedulerParamete
virNetError(VIR_ERR_INTERNAL_ERROR, "%s", _("nparams too large"));
goto cleanup;
}
- if (VIR_ALLOC_N(params, nparams) < 0)
+ if (nparams && VIR_ALLOC_N(params, nparams) < 0)
goto no_memory;
if (!(dom = get_nonnull_domain(priv->conn, args->dom)))
@@ -1254,7 +1254,7 @@ remoteDispatchDomainBlockStatsFlags(virN
virNetError(VIR_ERR_INTERNAL_ERROR, "%s", _("nparams too large"));
goto cleanup;
}
- if (VIR_ALLOC_N(params, nparams) < 0) {
+ if (nparams && VIR_ALLOC_N(params, nparams) < 0) {
virReportOOMError();
goto cleanup;
}
@@ -1728,7 +1728,7 @@ remoteDispatchDomainGetMemoryParameters(
virNetError(VIR_ERR_INTERNAL_ERROR, "%s", _("nparams too large"));
goto cleanup;
}
- if (VIR_ALLOC_N(params, nparams) < 0) {
+ if (nparams && VIR_ALLOC_N(params, nparams) < 0) {
virReportOOMError();
goto cleanup;
}
@@ -1793,7 +1793,7 @@ remoteDispatchDomainGetNumaParameters(vi
virNetError(VIR_ERR_INTERNAL_ERROR, "%s", _("nparams too large"));
goto cleanup;
}
- if (VIR_ALLOC_N(params, nparams) < 0) {
+ if (nparams && VIR_ALLOC_N(params, nparams) < 0) {
virReportOOMError();
goto cleanup;
}
@@ -1858,7 +1858,7 @@ remoteDispatchDomainGetBlkioParameters(v
virNetError(VIR_ERR_INTERNAL_ERROR, "%s", _("nparams too large"));
goto cleanup;
}
- if (VIR_ALLOC_N(params, nparams) < 0) {
+ if (nparams && VIR_ALLOC_N(params, nparams) < 0) {
virReportOOMError();
goto cleanup;
}
@@ -2118,7 +2118,7 @@ remoteDispatchDomainGetBlockIoTune(virNe
goto cleanup;
}
- if (VIR_ALLOC_N(params, nparams) < 0) {
+ if (nparams && VIR_ALLOC_N(params, nparams) < 0) {
virReportOOMError();
goto cleanup;
}
@@ -3621,7 +3621,7 @@ remoteDispatchDomainGetInterfaceParamete
virNetError(VIR_ERR_INTERNAL_ERROR, "%s", _("nparams too large"));
goto cleanup;
}
- if (VIR_ALLOC_N(params, nparams) < 0) {
+ if (nparams && VIR_ALLOC_N(params, nparams) < 0) {
virReportOOMError();
goto cleanup;
}

View File

@ -1,8 +1,8 @@
Index: libvirt-0.9.13/src/util/virnetdev.c
Index: libvirt-0.10.2/src/util/virnetdev.c
===================================================================
--- libvirt-0.9.13.orig/src/util/virnetdev.c
+++ libvirt-0.9.13/src/util/virnetdev.c
@@ -85,7 +85,7 @@ static int virNetDevSetupControlFull(con
--- libvirt-0.10.2.orig/src/util/virnetdev.c
+++ libvirt-0.10.2/src/util/virnetdev.c
@@ -81,7 +81,7 @@ static int virNetDevSetupControlFull(con
static int virNetDevSetupControl(const char *ifname,
struct ifreq *ifr)
{
@ -11,10 +11,10 @@ Index: libvirt-0.9.13/src/util/virnetdev.c
}
#endif
Index: libvirt-0.9.13/src/util/virnetdevbridge.c
Index: libvirt-0.10.2/src/util/virnetdevbridge.c
===================================================================
--- libvirt-0.9.13.orig/src/util/virnetdevbridge.c
+++ libvirt-0.9.13/src/util/virnetdevbridge.c
--- libvirt-0.10.2.orig/src/util/virnetdevbridge.c
+++ libvirt-0.10.2/src/util/virnetdevbridge.c
@@ -84,7 +84,7 @@ static int virNetDevSetupControlFull(con
static int virNetDevSetupControl(const char *ifname,
struct ifreq *ifr)

View File

@ -2,7 +2,7 @@ Index: src/lxc/lxc_container.c
===================================================================
--- src/lxc/lxc_container.c.orig
+++ src/lxc/lxc_container.c
@@ -1791,6 +1791,9 @@ int lxcContainerStart(virDomainDefPtr de
@@ -1932,6 +1932,9 @@ int lxcContainerStart(virDomainDefPtr de
ttyPaths, nttyPaths, handshakefd};
/* allocate a stack for the container */
@ -12,7 +12,7 @@ Index: src/lxc/lxc_container.c
if (VIR_ALLOC_N(stack, stacksize) < 0) {
virReportOOMError();
return -1;
@@ -1810,7 +1813,11 @@ int lxcContainerStart(virDomainDefPtr de
@@ -1951,7 +1954,11 @@ int lxcContainerStart(virDomainDefPtr de
cflags |= CLONE_NEWNET;
}
@ -24,7 +24,7 @@ Index: src/lxc/lxc_container.c
VIR_FREE(stack);
VIR_DEBUG("clone() completed, new container PID is %d", pid);
@@ -1836,6 +1843,7 @@ int lxcContainerAvailable(int features)
@@ -1977,6 +1984,7 @@ int lxcContainerAvailable(int features)
int cpid;
char *childStack;
char *stack;
@ -32,7 +32,7 @@ Index: src/lxc/lxc_container.c
if (features & LXC_CONTAINER_FEATURE_USER)
flags |= CLONE_NEWUSER;
@@ -1843,14 +1851,21 @@ int lxcContainerAvailable(int features)
@@ -1984,14 +1992,21 @@ int lxcContainerAvailable(int features)
if (features & LXC_CONTAINER_FEATURE_NET)
flags |= CLONE_NEWNET;

View File

@ -1,91 +0,0 @@
commit f781e27653c7e50747c414a916c788cfc81760c4
Author: Jim Fehlig <jfehlig@suse.com>
Date: Thu Aug 30 12:53:02 2012 -0600
Fix xen driver following changes to make it stateful
Recent work to improve support for loadable driver modules introduced
a regression in the xen driver. The legacy xen driver is now a
stateful, libvirtd driver but was not being registered when building
without driver modules.
A slight behavior change was also noted in the xen drivers when
built as driver modules. Previously, explicitly specifying a
connection URI was not necessary, but now
Compiled against library: libvirt 0.10.0
Using library: libvirt 0.10.0
Using API: QEMU 0.10.0
error: failed to get the hypervisor version
error: internal error Cannot find suitable emulator for x86_64
The xen drivers need to be registered before the qemu driver since
the qemu driver will return success with a null connection URI.
This ordering is safe since the xen drivers will decline when not
running the xen kernel.
Index: libvirt-0.9.13/daemon/Makefile.am
===================================================================
--- libvirt-0.9.13.orig/daemon/Makefile.am
+++ libvirt-0.9.13/daemon/Makefile.am
@@ -132,6 +132,10 @@ if WITH_LXC
libvirtd_LDADD += ../src/libvirt_driver_lxc.la
endif
+if WITH_XEN
+ libvirtd_LDADD += ../src/libvirt_driver_xen.la
+endif
+
if WITH_LIBXL
libvirtd_LDADD += ../src/libvirt_driver_libxl.la
endif
Index: libvirt-0.9.13/daemon/libvirtd.c
===================================================================
--- libvirt-0.9.13.orig/daemon/libvirtd.c
+++ libvirt-0.9.13/daemon/libvirtd.c
@@ -65,6 +65,9 @@
# ifdef WITH_LXC
# include "lxc/lxc_driver.h"
# endif
+# ifdef WITH_XEN
+# include "xen/xen_driver.h"
+# endif
# ifdef WITH_LIBXL
# include "libxl/libxl_driver.h"
# endif
@@ -381,6 +384,12 @@ static void daemonInitialize(void)
# ifdef WITH_INTERFACE
virDriverLoadModule("interface");
# endif
+# ifdef WITH_XEN
+ virDriverLoadModule("xen");
+# endif
+# ifdef WITH_LIBXL
+ virDriverLoadModule("libxl");
+# endif
# ifdef WITH_QEMU
virDriverLoadModule("qemu");
# endif
@@ -390,12 +399,6 @@ static void daemonInitialize(void)
# ifdef WITH_UML
virDriverLoadModule("uml");
# endif
-# ifdef WITH_XEN
- virDriverLoadModule("xen");
-# endif
-# ifdef WITH_LIBXL
- virDriverLoadModule("libxl");
-# endif
#else
# ifdef WITH_NETWORK
networkRegister();
@@ -415,6 +418,9 @@ static void daemonInitialize(void)
# ifdef WITH_NWFILTER
nwfilterRegister();
# endif
+# ifdef WITH_XEN
+ xenRegister();
+# endif
# ifdef WITH_LIBXL
libxlRegister();
# endif

View File

@ -1,7 +1,7 @@
Index: libvirt-0.9.13/examples/apparmor/Makefile.am
Index: libvirt-0.10.2/examples/apparmor/Makefile.am
===================================================================
--- libvirt-0.9.13.orig/examples/apparmor/Makefile.am
+++ libvirt-0.9.13/examples/apparmor/Makefile.am
--- libvirt-0.10.2.orig/examples/apparmor/Makefile.am
+++ libvirt-0.10.2/examples/apparmor/Makefile.am
@@ -1,8 +1,39 @@
## Copyright (C) 2005-2011 Red Hat, Inc.
## See COPYING.LIB for the License of this software
@ -47,10 +47,10 @@ Index: libvirt-0.9.13/examples/apparmor/Makefile.am
+ rm -f $(DESTDIR)$(sysconfdir)/apparmor.d/libvirt/TEMPLATE
+
+endif
Index: libvirt-0.9.13/examples/apparmor/usr.lib.libvirt.virt-aa-helper.in
Index: libvirt-0.10.2/examples/apparmor/usr.lib.libvirt.virt-aa-helper.in
===================================================================
--- /dev/null
+++ libvirt-0.9.13/examples/apparmor/usr.lib.libvirt.virt-aa-helper.in
+++ libvirt-0.10.2/examples/apparmor/usr.lib.libvirt.virt-aa-helper.in
@@ -0,0 +1,40 @@
+# Last Modified: Fri Aug 19 11:21:48 2011
+#include <tunables/global>
@ -92,9 +92,9 @@ Index: libvirt-0.9.13/examples/apparmor/usr.lib.libvirt.virt-aa-helper.in
+ /var/lib/kvm/images/ r,
+ /var/lib/kvm/images/** r,
+}
Index: libvirt-0.9.13/examples/apparmor/usr.lib.libvirt.virt-aa-helper
Index: libvirt-0.10.2/examples/apparmor/usr.lib.libvirt.virt-aa-helper
===================================================================
--- libvirt-0.9.13.orig/examples/apparmor/usr.lib.libvirt.virt-aa-helper
--- libvirt-0.10.2.orig/examples/apparmor/usr.lib.libvirt.virt-aa-helper
+++ /dev/null
@@ -1,38 +0,0 @@
-# Last Modified: Mon Apr 5 15:10:27 2010
@ -135,9 +135,9 @@ Index: libvirt-0.9.13/examples/apparmor/usr.lib.libvirt.virt-aa-helper
- /var/lib/libvirt/images/ r,
- /var/lib/libvirt/images/** r,
-}
Index: libvirt-0.9.13/examples/apparmor/usr.sbin.libvirtd
Index: libvirt-0.10.2/examples/apparmor/usr.sbin.libvirtd
===================================================================
--- libvirt-0.9.13.orig/examples/apparmor/usr.sbin.libvirtd
--- libvirt-0.10.2.orig/examples/apparmor/usr.sbin.libvirtd
+++ /dev/null
@@ -1,52 +0,0 @@
-# Last Modified: Mon Apr 5 15:03:58 2010
@ -192,10 +192,10 @@ Index: libvirt-0.9.13/examples/apparmor/usr.sbin.libvirtd
- change_profile -> @{LIBVIRT}-[0-9a-f]*-[0-9a-f]*-[0-9a-f]*-[0-9a-f]*-[0-9a-f]*,
-
-}
Index: libvirt-0.9.13/examples/apparmor/usr.sbin.libvirtd.in
Index: libvirt-0.10.2/examples/apparmor/usr.sbin.libvirtd.in
===================================================================
--- /dev/null
+++ libvirt-0.9.13/examples/apparmor/usr.sbin.libvirtd.in
+++ libvirt-0.10.2/examples/apparmor/usr.sbin.libvirtd.in
@@ -0,0 +1,57 @@
+# Last Modified: Fri Aug 19 11:20:36 2011
+#include <tunables/global>
@ -254,10 +254,10 @@ Index: libvirt-0.9.13/examples/apparmor/usr.sbin.libvirtd.in
+ change_profile -> @{LIBVIRT}-[0-9a-f]*-[0-9a-f]*-[0-9a-f]*-[0-9a-f]*-[0-9a-f]*,
+
+}
Index: libvirt-0.9.13/examples/apparmor/libvirt-qemu
Index: libvirt-0.10.2/examples/apparmor/libvirt-qemu
===================================================================
--- libvirt-0.9.13.orig/examples/apparmor/libvirt-qemu
+++ libvirt-0.9.13/examples/apparmor/libvirt-qemu
--- libvirt-0.10.2.orig/examples/apparmor/libvirt-qemu
+++ libvirt-0.10.2/examples/apparmor/libvirt-qemu
@@ -52,6 +52,7 @@
# access to firmware's etc
/usr/share/kvm/** r,

3
libvirt-0.10.2.tar.bz2 Normal file
View File

@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:9c155e0805275688128abdcd0f43eb32907dc80c5ea6c5cb485723ddf03d0646
size 15629786

View File

@ -1,3 +0,0 @@
version https://git-lfs.github.com/spec/v1
oid sha256:1a1944135d0a52116e1085614a8c86a573b922cb25c18a62939960c40b85b365
size 14360261

View File

@ -1,8 +1,8 @@
Index: libvirt-0.9.13/configure.ac
Index: libvirt-0.10.2/configure.ac
===================================================================
--- libvirt-0.9.13.orig/configure.ac
+++ libvirt-0.9.13/configure.ac
@@ -63,6 +63,7 @@ AVAHI_REQUIRED="0.6.0"
--- libvirt-0.10.2.orig/configure.ac
+++ libvirt-0.10.2/configure.ac
@@ -102,6 +102,7 @@ AVAHI_REQUIRED="0.6.0"
POLKIT_REQUIRED="0.6"
PARTED_REQUIRED="1.8.0"
NETCF_REQUIRED="0.1.4"
@ -10,7 +10,7 @@ Index: libvirt-0.9.13/configure.ac
UDEV_REQUIRED=145
PCIACCESS_REQUIRED=0.10.0
XMLRPC_REQUIRED=1.14.0
@@ -1796,6 +1797,38 @@ AM_CONDITIONAL([WITH_NETCF], [test "$wit
@@ -1948,6 +1949,38 @@ AM_CONDITIONAL([WITH_NETCF], [test "$wit
AC_SUBST([NETCF_CFLAGS])
AC_SUBST([NETCF_LIBS])
@ -49,15 +49,7 @@ Index: libvirt-0.9.13/configure.ac
AC_ARG_WITH([secrets],
AC_HELP_STRING([--with-secrets], [with local secrets management driver @<:@default=yes@:>@]),[],[with_secrets=yes])
@@ -2810,6 +2843,7 @@ AC_MSG_NOTICE([ Remote: $with_remote])
AC_MSG_NOTICE([ Network: $with_network])
AC_MSG_NOTICE([Libvirtd: $with_libvirtd])
AC_MSG_NOTICE([ netcf: $with_netcf])
+AC_MSG_NOTICE([ netctrl: $with_netcontrol])
AC_MSG_NOTICE([ macvtap: $with_macvtap])
AC_MSG_NOTICE([virtport: $with_virtualport])
AC_MSG_NOTICE([])
@@ -2942,6 +2976,11 @@ AC_MSG_NOTICE([ netcf: $NETCF_CFLAGS $
@@ -3183,6 +3216,11 @@ AC_MSG_NOTICE([ netcf: $NETCF_CFLAGS $
else
AC_MSG_NOTICE([ netcf: no])
fi
@ -69,52 +61,11 @@ Index: libvirt-0.9.13/configure.ac
if test "$with_qemu" = "yes" && test "$LIBPCAP_FOUND" != "no"; then
AC_MSG_NOTICE([ pcap: $LIBPCAP_CFLAGS $LIBPCAP_LIBS])
else
Index: libvirt-0.9.13/daemon/Makefile.am
Index: libvirt-0.10.2/src/Makefile.am
===================================================================
--- libvirt-0.9.13.orig/daemon/Makefile.am
+++ libvirt-0.9.13/daemon/Makefile.am
@@ -150,6 +150,10 @@ endif
if WITH_NETCF
libvirtd_LDADD += ../src/libvirt_driver_interface.la
+else
+if WITH_NETCONTROL
+ libvirtd_LDADD += ../src/libvirt_driver_interface.la
+endif
endif
if WITH_NODE_DEVICES
Index: libvirt-0.9.13/daemon/libvirtd.c
===================================================================
--- libvirt-0.9.13.orig/daemon/libvirtd.c
+++ libvirt-0.9.13/daemon/libvirtd.c
@@ -76,6 +76,10 @@
# endif
# ifdef WITH_NETCF
# include "interface/netcf_driver.h"
+# else
+# ifdef WITH_NETCONTROL
+# include "interface/netcf_driver.h"
+# endif
# endif
# ifdef WITH_STORAGE
# include "storage/storage_driver.h"
@@ -402,6 +406,10 @@ static void daemonInitialize(void)
# endif
# ifdef WITH_NETCF
interfaceRegister();
+#else
+# ifdef WITH_NETCONTROL
+ interfaceRegister();
+# endif
# endif
# ifdef WITH_STORAGE
storageRegister();
Index: libvirt-0.9.13/src/Makefile.am
===================================================================
--- libvirt-0.9.13.orig/src/Makefile.am
+++ libvirt-0.9.13/src/Makefile.am
@@ -941,6 +941,24 @@ libvirt_driver_interface_la_LIBADD += ..
--- libvirt-0.10.2.orig/src/Makefile.am
+++ libvirt-0.10.2/src/Makefile.am
@@ -1050,6 +1050,24 @@ libvirt_driver_interface_la_LIBADD += ..
libvirt_driver_interface_la_LDFLAGS += -module -avoid-version
endif
libvirt_driver_interface_la_SOURCES = $(INTERFACE_DRIVER_SOURCES)
@ -139,25 +90,40 @@ Index: libvirt-0.9.13/src/Makefile.am
endif
if WITH_SECRETS
Index: libvirt-0.9.13/src/interface/netcf_driver.c
Index: libvirt-0.10.2/tools/virsh.c
===================================================================
--- libvirt-0.9.13.orig/src/interface/netcf_driver.c
+++ libvirt-0.9.13/src/interface/netcf_driver.c
@@ -23,7 +23,13 @@
--- libvirt-0.10.2.orig/tools/virsh.c
+++ libvirt-0.10.2/tools/virsh.c
@@ -2708,6 +2708,10 @@ vshShowVersion(vshControl *ctl ATTRIBUTE
vshPrint(ctl, " Interface");
# if defined(WITH_NETCF)
vshPrint(ctl, " netcf");
+# else
+# ifdef WITH_NETCONTROL
+ vshPrint(ctl, " Interface");
+# endif
# endif
#endif
#ifdef WITH_NWFILTER
Index: libvirt-0.10.2/src/interface/interface_backend_netcf.c
===================================================================
--- libvirt-0.10.2.orig/src/interface/interface_backend_netcf.c
+++ libvirt-0.10.2/src/interface/interface_backend_netcf.c
@@ -23,7 +23,12 @@
#include <config.h>
-#include <netcf.h>
+#ifdef WITH_NETCONTROL
+#include <netcontrol/netcf.h>
+#include <netcontrol/logger.h>
+#include "logging.h"
+# include <netcontrol/netcf.h>
+# include <netcontrol/logger.h>
+#else
#include <netcf.h>
+# include <netcf.h>
+#endif
#include "virterror_internal.h"
#include "datatypes.h"
@@ -55,6 +61,39 @@ static void interfaceDriverUnlock(struct
@@ -52,6 +57,39 @@ static void interfaceDriverUnlock(struct
virMutexUnlock(&driver->lock);
}
@ -197,7 +163,7 @@ Index: libvirt-0.9.13/src/interface/netcf_driver.c
static int netcf_to_vir_err(int netcf_errcode)
{
switch (netcf_errcode)
@@ -140,6 +179,10 @@ static virDrvOpenStatus interfaceOpenInt
@@ -137,6 +175,10 @@ static virDrvOpenStatus interfaceOpenInt
goto mutex_error;
}
@ -208,18 +174,3 @@ Index: libvirt-0.9.13/src/interface/netcf_driver.c
/* open netcf */
if (ncf_init(&driverState->netcf, NULL) != 0)
{
Index: libvirt-0.9.13/tools/virsh.c
===================================================================
--- libvirt-0.9.13.orig/tools/virsh.c
+++ libvirt-0.9.13/tools/virsh.c
@@ -20837,6 +20837,10 @@ vshShowVersion(vshControl *ctl ATTRIBUTE
#endif
#ifdef WITH_NETCF
vshPrint(ctl, " Interface");
+#else
+# ifdef WITH_NETCONTROL
+ vshPrint(ctl, " Interface");
+# endif
#endif
#ifdef WITH_NWFILTER
vshPrint(ctl, " Nwfilter");

View File

@ -1,3 +1,52 @@
-------------------------------------------------------------------
Tue Sep 25 16:20:43 MDT 2012 - jfehlig@suse.com
- Temporarily disable building libxl driver. The current
implementation does not support libxl in Xen 4.2.
-------------------------------------------------------------------
Tue Sep 25 16:17:29 MDT 2012 - jfehlig@suse.com
- Update to libvirt 0.10.2
- network: define new API virNetworkUpdate
- add support for QEmu sandbox support
- blockjob: add virDomainBlockCommit
- node_memory: Define the APIs to get/set memory parameters
- list: Define new API virConnectListAllSecrets
- list: Define new API virConnectListAllNWFilter
- list: Define new API virConnectListAllNodeDevices
- list: Define new API virConnectListAllInterfaces
- list: Define new API virConnectListAllNetworks
- list: Define new API virStoragePoolListAllVolumes
- list: Define new API virStorageListAllStoragePools
- parallels: add support of containers to the driver
- Add PMSUSPENDED life cycle event
- Add per-guest S3/S4 state configuration
- qemu: Support for Block Device IO Limits
-------------------------------------------------------------------
Fri Sep 7 13:42:10 MDT 2012 - jfehlig@suse.com
- Update to libvirt 0.10.1
- Bug fix release for critical bugs in 0.10.0
- Drop upstream patch f781e276-xen-driver-fix.patch
-------------------------------------------------------------------
Fri Aug 31 11:20:35 MDT 2012 - jfehlig@suse.com
- Update to libvirt 0.10.0
- agent: add qemuAgentArbitraryCommand()
- Introduce virDomainPinEmulator and virDomainGetEmulatorPinInfo
- network: use firewalld instead of iptables, when available
- network: make network driver vlan-aware
- esx: Implement network driver
- driver for parallels hypervisor
- Various LXC improvements
- Add virDomainGetHostname
- Drop upstream patches
4036aa91-systemd.patch
6039a2cb-CVE-2012-3445.patch
-------------------------------------------------------------------
Thu Aug 30 21:20:11 MDT 2012 - jfehlig@suse.com

View File

@ -95,11 +95,9 @@
%define with_libxl 0
%endif
# libxenlight driver requires Xen >= 4.1, which is only
# available in openSUSE >= 12.1 or SLE >= 11sp2
%if 0%{?suse_version} < 1210
# Temporarily disable building the libxl driver since the current
# implementation only works with Xen 4.1
%define with_libxl 0
%endif
# numactl only on x86_64 and ia64
%ifnarch x86_64 ia64
@ -330,7 +328,7 @@ BuildRequires: systemd
Name: libvirt
Url: http://libvirt.org/
Version: 0.9.13
Version: 0.10.2
Release: 0
Summary: A C toolkit to interact with the virtualization capabilities of Linux
License: LGPL-2.1+
@ -413,9 +411,6 @@ Source1: libvirtd.init
Source2: libvirtd-relocation-server.fw
Source99: baselibs.conf
# Upstream patches
Patch0: 4036aa91-systemd.patch
Patch1: 6039a2cb-CVE-2012-3445.patch
Patch2: f781e276-xen-driver-fix.patch
# Need to go upstream
Patch100: xen-name-for-devid.patch
Patch101: clone.patch
@ -551,9 +546,6 @@ Authors:
%prep
%setup -q
%patch0 -p1
%patch1 -p1
%patch2 -p1
%patch100 -p1
%patch101
%patch102 -p1

View File

@ -1,7 +1,7 @@
Index: libvirt-0.9.13/daemon/libvirtd.conf
Index: libvirt-0.10.2/daemon/libvirtd.conf
===================================================================
--- libvirt-0.9.13.orig/daemon/libvirtd.conf
+++ libvirt-0.9.13/daemon/libvirtd.conf
--- libvirt-0.10.2.orig/daemon/libvirtd.conf
+++ libvirt-0.10.2/daemon/libvirtd.conf
@@ -18,8 +18,8 @@
# It is necessary to setup a CA and issue server certificates before
# using this capability.
@ -13,11 +13,11 @@ Index: libvirt-0.9.13/daemon/libvirtd.conf
# Listen for unencrypted TCP connections on the public TCP/IP port.
# NB, must pass the --listen flag to the libvirtd process for this to
Index: libvirt-0.9.13/daemon/libvirtd-config.c
Index: libvirt-0.10.2/daemon/libvirtd-config.c
===================================================================
--- libvirt-0.9.13.orig/daemon/libvirtd-config.c
+++ libvirt-0.9.13/daemon/libvirtd-config.c
@@ -237,7 +237,7 @@ daemonConfigNew(bool privileged ATTRIBUT
--- libvirt-0.10.2.orig/daemon/libvirtd-config.c
+++ libvirt-0.10.2/daemon/libvirtd-config.c
@@ -233,7 +233,7 @@ daemonConfigNew(bool privileged ATTRIBUT
return NULL;
}

View File

@ -7,11 +7,11 @@ 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.13/src/qemu/qemu_conf.c
Index: libvirt-0.10.2/src/qemu/qemu_conf.c
===================================================================
--- libvirt-0.9.13.orig/src/qemu/qemu_conf.c
+++ libvirt-0.9.13/src/qemu/qemu_conf.c
@@ -271,9 +271,7 @@ int qemudLoadDriverConfig(struct qemud_d
--- libvirt-0.10.2.orig/src/qemu/qemu_conf.c
+++ libvirt-0.10.2/src/qemu/qemu_conf.c
@@ -350,9 +350,7 @@ int qemudLoadDriverConfig(struct qemud_d
return -1;
}
if (virGetUserID(user, &driver->user) < 0) {
@ -22,7 +22,7 @@ Index: libvirt-0.9.13/src/qemu/qemu_conf.c
}
VIR_FREE(user);
@@ -286,9 +284,7 @@ int qemudLoadDriverConfig(struct qemud_d
@@ -365,9 +363,7 @@ int qemudLoadDriverConfig(struct qemud_d
return -1;
}
if (virGetGroupID(group, &driver->group) < 0) {

View File

@ -1,10 +1,10 @@
Index: libvirt-0.9.13/src/qemu/qemu.conf
Index: libvirt-0.10.2/src/qemu/qemu.conf
===================================================================
--- libvirt-0.9.13.orig/src/qemu/qemu.conf
+++ libvirt-0.9.13/src/qemu/qemu.conf
@@ -146,7 +146,16 @@
# leaving SELinux enabled for the host in general, then set this
# to 'none' instead.
--- libvirt-0.10.2.orig/src/qemu/qemu.conf
+++ libvirt-0.10.2/src/qemu/qemu.conf
@@ -169,7 +169,16 @@
# a special value; security_driver can be set to that value in
# isolation, but it cannot appear in a list of drivers.
#
+# SUSE Note:
+# Currently, Apparmor is the default security framework in SUSE
@ -14,12 +14,12 @@ Index: libvirt-0.9.13/src/qemu/qemu.conf
+# confinement of qemu instances.
+#
#security_driver = "selinux"
+# security_driver = "apparmor"
+#security_driver = "apparmor"
+security_driver = "none"
# If set to non-zero, then the default security labeling
# will make guests confined. If set to zero, then guests
@@ -319,6 +328,15 @@
@@ -342,6 +351,15 @@
#allow_disk_format_probing = 1

View File

@ -1,8 +1,8 @@
Index: libvirt-0.9.13/tools/Makefile.am
Index: libvirt-0.10.2/tools/Makefile.am
===================================================================
--- libvirt-0.9.13.orig/tools/Makefile.am
+++ libvirt-0.9.13/tools/Makefile.am
@@ -148,24 +148,22 @@ install-data-local: install-init install
--- libvirt-0.10.2.orig/tools/Makefile.am
+++ libvirt-0.10.2/tools/Makefile.am
@@ -169,24 +169,22 @@ install-data-local: install-init install
uninstall-local: uninstall-init uninstall-systemd
install-sysconfig:
@ -33,10 +33,10 @@ Index: libvirt-0.9.13/tools/Makefile.am
if LIBVIRT_INIT_SCRIPT_RED_HAT
Index: libvirt-0.9.13/tools/libvirt-guests.sysconf
Index: libvirt-0.10.2/tools/libvirt-guests.sysconf
===================================================================
--- libvirt-0.9.13.orig/tools/libvirt-guests.sysconf
+++ libvirt-0.9.13/tools/libvirt-guests.sysconf
--- libvirt-0.10.2.orig/tools/libvirt-guests.sysconf
+++ libvirt-0.10.2/tools/libvirt-guests.sysconf
@@ -1,19 +1,29 @@
+## Path: System/Virtualization/libvirt
+
@ -101,10 +101,10 @@ Index: libvirt-0.9.13/tools/libvirt-guests.sysconf
# some file systems.
-#BYPASS_CACHE=0
+BYPASS_CACHE=0
Index: libvirt-0.9.13/tools/libvirt-guests.init.sh
Index: libvirt-0.10.2/tools/libvirt-guests.init.sh
===================================================================
--- libvirt-0.9.13.orig/tools/libvirt-guests.init.sh
+++ libvirt-0.9.13/tools/libvirt-guests.init.sh
--- libvirt-0.10.2.orig/tools/libvirt-guests.init.sh
+++ libvirt-0.10.2/tools/libvirt-guests.init.sh
@@ -4,10 +4,10 @@
#
### BEGIN INIT INFO
@ -212,7 +212,7 @@ Index: libvirt-0.9.13/tools/libvirt-guests.init.sh
eval_gettext "Resuming guests on \$uri URI..."; echo
for guest in $list; do
name=$(guest_name "$uri" "$guest")
@@ -372,7 +394,7 @@ shutdown_guests_parallel()
@@ -401,7 +423,7 @@ shutdown_guests_parallel()
timeout=$(($timeout - 1))
if [ $timeout -le 0 ]; then
eval_gettext "Timeout expired while shutting down domains"; echo
@ -220,8 +220,8 @@ Index: libvirt-0.9.13/tools/libvirt-guests.init.sh
+ rc_failed 1
return
fi
fi
@@ -394,7 +416,7 @@ stop() {
else
@@ -429,7 +451,7 @@ stop() {
if [ $SHUTDOWN_TIMEOUT -lt 0 ]; then
gettext "SHUTDOWN_TIMEOUT must be equal or greater than 0"
echo
@ -230,7 +230,7 @@ Index: libvirt-0.9.13/tools/libvirt-guests.init.sh
return
fi
fi
@@ -508,14 +530,13 @@ gueststatus() {
@@ -543,14 +565,13 @@ gueststatus() {
rh_status() {
if [ -f "$LISTFILE" ]; then
gettext "stopped, with saved guests"; echo
@ -246,17 +246,17 @@ Index: libvirt-0.9.13/tools/libvirt-guests.init.sh
fi
}
@@ -559,4 +580,4 @@ case "$1" in
@@ -594,4 +615,4 @@ case "$1" in
usage
;;
esac
-exit $RETVAL
+rc_exit
Index: libvirt-0.9.13/daemon/Makefile.am
Index: libvirt-0.10.2/daemon/Makefile.am
===================================================================
--- libvirt-0.9.13.orig/daemon/Makefile.am
+++ libvirt-0.9.13/daemon/Makefile.am
@@ -260,39 +260,23 @@ uninstall-logrotate:
--- libvirt-0.10.2.orig/daemon/Makefile.am
+++ libvirt-0.10.2/daemon/Makefile.am
@@ -259,39 +259,23 @@ uninstall-logrotate:
rmdir $(DESTDIR)$(sysconfdir)/logrotate.d || :
install-sysconfig:
@ -300,10 +300,10 @@ Index: libvirt-0.9.13/daemon/Makefile.am
else
install-init-redhat:
uninstall-init-redhat:
Index: libvirt-0.9.13/daemon/libvirtd.sysconf
Index: libvirt-0.10.2/daemon/libvirtd.sysconf
===================================================================
--- libvirt-0.9.13.orig/daemon/libvirtd.sysconf
+++ libvirt-0.9.13/daemon/libvirtd.sysconf
--- libvirt-0.10.2.orig/daemon/libvirtd.sysconf
+++ libvirt-0.10.2/daemon/libvirtd.sysconf
@@ -1,16 +1,25 @@
+## Path: System/Virtualization/libvirt
+

View File

@ -13,11 +13,11 @@ Date: Wed Jan 27 16:11:41 2010 -0700
This approach allows removing a disk when domain is inactive. We
obviously can't search xenstore when the domain is inactive.
Index: libvirt-0.9.13/src/xen/xend_internal.c
Index: libvirt-0.10.2/src/xen/xend_internal.c
===================================================================
--- libvirt-0.9.13.orig/src/xen/xend_internal.c
+++ libvirt-0.9.13/src/xen/xend_internal.c
@@ -60,6 +60,7 @@
--- libvirt-0.10.2.orig/src/xen/xend_internal.c
+++ libvirt-0.10.2/src/xen/xend_internal.c
@@ -61,6 +61,7 @@
static int
virDomainXMLDevID(virDomainPtr domain,
@ -25,7 +25,7 @@ Index: libvirt-0.9.13/src/xen/xend_internal.c
virDomainDeviceDefPtr dev,
char *class,
char *ref,
@@ -2757,7 +2758,7 @@ xenDaemonAttachDeviceFlags(virDomainPtr
@@ -2764,7 +2765,7 @@ xenDaemonAttachDeviceFlags(virDomainPtr
sexpr = virBufferContentAndReset(&buf);
@ -34,16 +34,16 @@ Index: libvirt-0.9.13/src/xen/xend_internal.c
/* device doesn't exist, define it */
ret = xend_op(domain->conn, domain->name, "op", "device_create",
"config", sexpr, NULL);
@@ -2878,7 +2879,7 @@ xenDaemonUpdateDeviceFlags(virDomainPtr
@@ -2885,7 +2886,7 @@ xenDaemonUpdateDeviceFlags(virDomainPtr
sexpr = virBufferContentAndReset(&buf);
- if (virDomainXMLDevID(domain, dev, class, ref, sizeof(ref))) {
+ if (virDomainXMLDevID(domain, def, dev, class, ref, sizeof(ref))) {
virXendError(VIR_ERR_OPERATION_INVALID, "%s",
_("requested device does not exist"));
virReportError(VIR_ERR_OPERATION_INVALID, "%s",
_("requested device does not exist"));
goto cleanup;
@@ -2973,7 +2974,7 @@ xenDaemonDetachDeviceFlags(virDomainPtr
@@ -2980,7 +2981,7 @@ xenDaemonDetachDeviceFlags(virDomainPtr
def, xml, VIR_DOMAIN_XML_INACTIVE)))
goto cleanup;
@ -52,7 +52,7 @@ Index: libvirt-0.9.13/src/xen/xend_internal.c
goto cleanup;
if (dev->type == VIR_DOMAIN_DEVICE_HOSTDEV) {
@@ -3919,6 +3920,7 @@ struct xenUnifiedDriver xenDaemonDriver
@@ -3926,6 +3927,7 @@ struct xenUnifiedDriver xenDaemonDriver
*/
static int
virDomainXMLDevID(virDomainPtr domain,
@ -60,7 +60,7 @@ Index: libvirt-0.9.13/src/xen/xend_internal.c
virDomainDeviceDefPtr dev,
char *class,
char *ref,
@@ -3927,8 +3929,12 @@ virDomainXMLDevID(virDomainPtr domain,
@@ -3934,8 +3936,12 @@ virDomainXMLDevID(virDomainPtr domain,
xenUnifiedPrivatePtr priv = domain->conn->privateData;
char *xref;
char *tmp;
@ -73,7 +73,7 @@ Index: libvirt-0.9.13/src/xen/xend_internal.c
if (dev->data.disk->driverName &&
STREQ(dev->data.disk->driverName, "tap"))
strcpy(class, "tap");
@@ -3938,19 +3944,21 @@ virDomainXMLDevID(virDomainPtr domain,
@@ -3945,19 +3951,21 @@ virDomainXMLDevID(virDomainPtr domain,
else
strcpy(class, "vbd");

View File

@ -1,7 +1,7 @@
Index: libvirt-0.9.13/src/xenxs/xen_sxpr.c
Index: libvirt-0.10.2/src/xenxs/xen_sxpr.c
===================================================================
--- libvirt-0.9.13.orig/src/xenxs/xen_sxpr.c
+++ libvirt-0.9.13/src/xenxs/xen_sxpr.c
--- libvirt-0.10.2.orig/src/xenxs/xen_sxpr.c
+++ libvirt-0.10.2/src/xenxs/xen_sxpr.c
@@ -340,7 +340,7 @@ error:
static int
xenParseSxprDisks(virDomainDefPtr def,
@ -17,5 +17,5 @@ Index: libvirt-0.9.13/src/xenxs/xen_sxpr.c
if (!offset ||
- !hvm ||
STRNEQ(offset, ":cdrom")) {
XENXS_ERROR(VIR_ERR_INTERNAL_ERROR,
"%s", _("domain information incomplete, vbd has no src"));
virReportError(VIR_ERR_INTERNAL_ERROR,
"%s", _("domain information incomplete, vbd has no src"));