forked from pool/libvirt
278a149fdc
Note: tarball verification is now done using %gpg_verify, along with the .asc file the upstream libvirt maintainer now generates for each release. This approach requires using the upstream .gz tarball, which is slightly larger than the regenerated .bz2 one. - Update to libvirt 1.2.9 - Introduce virNodeAllocPages - event: introduce new event for tunable values - Add support for fetching statistics of completed jobs - CVE-2014-3657: domain_conf: fix domain deadlock - CVE-2014-3633: qemu: blkiotune: Use correct definition when looking up disk - Many incremental improvements and bug fixes, see http://libvirt.org/news.html - Drop upstream patches: 3e745e8f-CVE-2014-3633.patch, libvirt-guests-wait-for-ntp.patch - Verify tarball with associated .asc file Add: libvirt.keyring, libvirt-1.2.9.tar.gz.asc Use upstream .gz tarball instead of locally generated .bz2 OBS-URL: https://build.opensuse.org/request/show/253577 OBS-URL: https://build.opensuse.org/package/show/Virtualization/libvirt?expand=0&rev=411
259 lines
7.6 KiB
Diff
259 lines
7.6 KiB
Diff
Adjust libvirt-guests init files to conform to SUSE standards
|
|
|
|
Index: libvirt-1.2.9/tools/libvirt-guests.init.in
|
|
===================================================================
|
|
--- libvirt-1.2.9.orig/tools/libvirt-guests.init.in
|
|
+++ libvirt-1.2.9/tools/libvirt-guests.init.in
|
|
@@ -3,15 +3,15 @@
|
|
# the following is the LSB init header
|
|
#
|
|
### BEGIN INIT INFO
|
|
-# Provides: libvirt-guests
|
|
-# Required-Start: libvirtd
|
|
-# Required-Stop: libvirtd
|
|
-# Default-Start: 2 3 4 5
|
|
-# Default-Stop: 0 1 6
|
|
+# Provides: libvirt-guests
|
|
+# Required-Start: $network $remote_fs libvirtd
|
|
+# Required-Stop: $network $remote_fs libvirtd
|
|
+# Default-Start: 3 5
|
|
+# Default-Stop: 0 1 2 4 6
|
|
# Short-Description: suspend/resume libvirt guests on shutdown/boot
|
|
-# Description: This is a script for suspending active libvirt guests
|
|
-# on shutdown and resuming them on next boot
|
|
-# See http://libvirt.org
|
|
+# Description: This is a script for suspending active libvirt guests
|
|
+# on shutdown and resuming them on next boot
|
|
+# See http://libvirt.org
|
|
### END INIT INFO
|
|
|
|
# the following is chkconfig init header
|
|
Index: libvirt-1.2.9/tools/libvirt-guests.sh.in
|
|
===================================================================
|
|
--- libvirt-1.2.9.orig/tools/libvirt-guests.sh.in
|
|
+++ libvirt-1.2.9/tools/libvirt-guests.sh.in
|
|
@@ -16,14 +16,13 @@
|
|
# License along with this library. If not, see
|
|
# <http://www.gnu.org/licenses/>.
|
|
|
|
+. /etc/rc.status
|
|
+rc_reset
|
|
+
|
|
sysconfdir="@sysconfdir@"
|
|
localstatedir="@localstatedir@"
|
|
libvirtd="@sbindir@"/libvirtd
|
|
|
|
-# Source function library.
|
|
-test ! -r "$sysconfdir"/rc.d/init.d/functions ||
|
|
- . "$sysconfdir"/rc.d/init.d/functions
|
|
-
|
|
# Source gettext library.
|
|
# Make sure this file is recognized as having translations: _("dummy")
|
|
. "@bindir@"/gettext.sh
|
|
@@ -44,9 +43,11 @@ test -f "$sysconfdir"/sysconfig/libvirt-
|
|
. "$sysconfdir"/sysconfig/libvirt-guests
|
|
|
|
LISTFILE="$localstatedir"/lib/libvirt/libvirt-guests
|
|
-VAR_SUBSYS_LIBVIRT_GUESTS="$localstatedir"/lock/subsys/libvirt-guests
|
|
-
|
|
-RETVAL=0
|
|
+if [ -d "$localstatedir"/lock/subsys ]; then
|
|
+ VAR_SUBSYS_LIBVIRT_GUESTS="$localstatedir"/lock/subsys/libvirt-guests
|
|
+else
|
|
+ VAR_SUBSYS_LIBVIRT_GUESTS="$localstatedir"/lock/libvirt-guests
|
|
+fi
|
|
|
|
# retval COMMAND ARGUMENTS...
|
|
# run command with arguments and convert non-zero return value to 1 and set
|
|
@@ -54,7 +55,7 @@ RETVAL=0
|
|
retval() {
|
|
"$@"
|
|
if [ $? -ne 0 ]; then
|
|
- RETVAL=1
|
|
+ rc_failed 1
|
|
return 1
|
|
else
|
|
return 0
|
|
@@ -83,6 +84,25 @@ run_virsh_c() {
|
|
( export LC_ALL=C; run_virsh "$@" )
|
|
}
|
|
|
|
+await_daemon_up()
|
|
+{
|
|
+ uri=$1
|
|
+ i=1
|
|
+ rets=10
|
|
+ run_virsh $uri list > /dev/null 2>&1
|
|
+ while [ $? -ne 0 -a $i -lt $rets ]; do
|
|
+ sleep 1
|
|
+ echo -n .
|
|
+ i=$(($i + 1))
|
|
+ run_virsh $uri list > /dev/null 2>&1
|
|
+ done
|
|
+ if [ $i -eq $rets ]; then
|
|
+ echo $"libvirt-guests unable to connect to URI: $uri"
|
|
+ return 1
|
|
+ fi
|
|
+ return 0
|
|
+}
|
|
+
|
|
# test_connect URI
|
|
# check if URI is reachable
|
|
test_connect()
|
|
@@ -116,7 +136,7 @@ list_guests() {
|
|
|
|
list=$(run_virsh_c "$uri" list --uuid $persistent)
|
|
if [ $? -ne 0 ]; then
|
|
- RETVAL=1
|
|
+ rc_failed 1
|
|
return 1
|
|
fi
|
|
|
|
@@ -142,7 +162,7 @@ guest_is_on() {
|
|
guest_running=false
|
|
id=$(run_virsh "$uri" domid "$uuid")
|
|
if [ $? -ne 0 ]; then
|
|
- RETVAL=1
|
|
+ rc_failed 1
|
|
return 1
|
|
fi
|
|
|
|
@@ -190,6 +210,12 @@ start() {
|
|
|
|
test_connect "$uri" || continue
|
|
|
|
+ await_daemon_up $uri
|
|
+ if [ $? -ne 0 ]; then
|
|
+ echo $"Ignoring guests on $uri URI, can't connect"
|
|
+ continue
|
|
+ fi
|
|
+
|
|
eval_gettext "Resuming guests on \$uri URI..."; echo
|
|
for guest in $list; do
|
|
name=$(guest_name "$uri" "$guest")
|
|
@@ -403,7 +429,7 @@ shutdown_guests_parallel()
|
|
timeout=$(($timeout - 1))
|
|
if [ $timeout -le 0 ]; then
|
|
eval_gettext "Timeout expired while shutting down domains"; echo
|
|
- RETVAL=1
|
|
+ rc_failed 1
|
|
return
|
|
fi
|
|
else
|
|
@@ -431,7 +457,7 @@ stop() {
|
|
if [ $SHUTDOWN_TIMEOUT -lt 0 ]; then
|
|
gettext "SHUTDOWN_TIMEOUT must be equal or greater than 0"
|
|
echo
|
|
- RETVAL=6
|
|
+ rc_failed 6
|
|
return
|
|
fi
|
|
fi
|
|
@@ -479,14 +505,14 @@ stop() {
|
|
if [ $? -ne 0 ]; then
|
|
eval_gettext "Failed to list persistent guests on \$uri"
|
|
echo
|
|
- RETVAL=1
|
|
+ rc_failed 1
|
|
set +f
|
|
return
|
|
fi
|
|
else
|
|
gettext "Failed to list transient guests"
|
|
echo
|
|
- RETVAL=1
|
|
+ rc_failed 1
|
|
set +f
|
|
return
|
|
fi
|
|
@@ -545,14 +571,13 @@ gueststatus() {
|
|
rh_status() {
|
|
if [ -f "$LISTFILE" ]; then
|
|
gettext "stopped, with saved guests"; echo
|
|
- RETVAL=3
|
|
+ rc_failed 3
|
|
else
|
|
if [ -f "$VAR_SUBSYS_LIBVIRT_GUESTS" ]; then
|
|
gettext "started"; echo
|
|
- RETVAL=0
|
|
else
|
|
gettext "stopped, with no saved guests"; echo
|
|
- RETVAL=3
|
|
+ rc_failed 3
|
|
fi
|
|
fi
|
|
}
|
|
@@ -597,4 +622,4 @@ case "$1" in
|
|
usage
|
|
;;
|
|
esac
|
|
-exit $RETVAL
|
|
+rc_exit
|
|
Index: libvirt-1.2.9/tools/libvirt-guests.sysconf
|
|
===================================================================
|
|
--- libvirt-1.2.9.orig/tools/libvirt-guests.sysconf
|
|
+++ libvirt-1.2.9/tools/libvirt-guests.sysconf
|
|
@@ -1,19 +1,29 @@
|
|
+## Path: System/Virtualization/libvirt-guests
|
|
+
|
|
+## Type: string
|
|
+## Default: default
|
|
# URIs to check for running guests
|
|
# example: URIS='default xen:/// vbox+tcp://host/system lxc:///'
|
|
-#URIS=default
|
|
+URIS=default
|
|
|
|
+## Type: string
|
|
+## Default: start
|
|
# action taken on host boot
|
|
# - start all guests which were running on shutdown are started on boot
|
|
# regardless on their autostart settings
|
|
# - ignore libvirt-guests init script won't start any guest on boot, however,
|
|
# guests marked as autostart will still be automatically started by
|
|
# libvirtd
|
|
-#ON_BOOT=start
|
|
+ON_BOOT=start
|
|
|
|
+## Type: integer
|
|
+## Default: 0
|
|
# Number of seconds to wait between each guest start. Set to 0 to allow
|
|
# parallel startup.
|
|
-#START_DELAY=0
|
|
+START_DELAY=0
|
|
|
|
+## Type: string
|
|
+## Default: suspend
|
|
# action taken on host shutdown
|
|
# - suspend all running guests are suspended using virsh managedsave
|
|
# - shutdown all running guests are asked to shutdown. Please be careful with
|
|
@@ -22,12 +32,16 @@
|
|
# which just needs a long time to shutdown. When setting
|
|
# ON_SHUTDOWN=shutdown, you must also set SHUTDOWN_TIMEOUT to a
|
|
# value suitable for your guests.
|
|
-#ON_SHUTDOWN=suspend
|
|
+ON_SHUTDOWN=suspend
|
|
|
|
+## Type: integer
|
|
+## Default: 0
|
|
# If set to non-zero, shutdown will suspend guests concurrently. Number of
|
|
# guests on shutdown at any time will not exceed number set in this variable.
|
|
-#PARALLEL_SHUTDOWN=0
|
|
+PARALLEL_SHUTDOWN=0
|
|
|
|
+## Type: integer
|
|
+## Default: 300
|
|
# Number of seconds we're willing to wait for a guest to shut down. If parallel
|
|
# shutdown is enabled, this timeout applies as a timeout for shutting down all
|
|
# guests on a single URI defined in the variable URIS. If this is 0, then there
|
|
@@ -35,7 +49,9 @@
|
|
# request). The default value is 300 seconds (5 minutes).
|
|
#SHUTDOWN_TIMEOUT=300
|
|
|
|
+## Type: integer
|
|
+## Default: 0
|
|
# If non-zero, try to bypass the file system cache when saving and
|
|
# restoring guests, even though this may give slower operation for
|
|
# some file systems.
|
|
-#BYPASS_CACHE=0
|
|
+BYPASS_CACHE=0
|