diff --git a/e092daac-prohib-parallel-tunneled-mig.patch b/e092daac-prohib-parallel-tunneled-mig.patch new file mode 100644 index 0000000..163025e --- /dev/null +++ b/e092daac-prohib-parallel-tunneled-mig.patch @@ -0,0 +1,75 @@ +commit e092daacee330b8f758bceaf1e9a0ccfec2e00c8 +Author: Jim Fehlig +Date: Fri Jan 17 10:36:32 2020 -0700 + + lib: Prohibit parallel connections with tunneled migration + + As discussed on the developer list, parallel migration connections + are not compatible with tunneled migration + + https://www.redhat.com/archives/libvir-list/2020-January/msg00463.html + + Prohibit the concurrent use of parallel and tunneled migration options. + + Signed-off-by: Jim Fehlig + Reviewed-by: Ján Tomko + +Index: libvirt-6.0.0/src/libvirt-domain.c +=================================================================== +--- libvirt-6.0.0.orig/src/libvirt-domain.c ++++ libvirt-6.0.0/src/libvirt-domain.c +@@ -3548,6 +3548,10 @@ virDomainMigrate(virDomainPtr domain, + VIR_MIGRATE_NON_SHARED_INC, + error); + ++ VIR_EXCLUSIVE_FLAGS_GOTO(VIR_MIGRATE_TUNNELLED, ++ VIR_MIGRATE_PARALLEL, ++ error); ++ + if (flags & VIR_MIGRATE_OFFLINE) { + if (!VIR_DRV_SUPPORTS_FEATURE(domain->conn->driver, domain->conn, + VIR_DRV_FEATURE_MIGRATION_OFFLINE)) { +@@ -3703,6 +3707,10 @@ virDomainMigrate2(virDomainPtr domain, + VIR_MIGRATE_NON_SHARED_INC, + error); + ++ VIR_EXCLUSIVE_FLAGS_GOTO(VIR_MIGRATE_TUNNELLED, ++ VIR_MIGRATE_PARALLEL, ++ error); ++ + if (flags & VIR_MIGRATE_OFFLINE) { + if (!VIR_DRV_SUPPORTS_FEATURE(domain->conn->driver, domain->conn, + VIR_DRV_FEATURE_MIGRATION_OFFLINE)) { +@@ -4089,6 +4097,10 @@ virDomainMigrateToURI(virDomainPtr domai + virCheckReadOnlyGoto(domain->conn->flags, error); + virCheckNonNullArgGoto(duri, error); + ++ VIR_EXCLUSIVE_FLAGS_GOTO(VIR_MIGRATE_TUNNELLED, ++ VIR_MIGRATE_PARALLEL, ++ error); ++ + if (virDomainMigrateUnmanagedCheckCompat(domain, flags) < 0) + goto error; + +@@ -4161,6 +4173,10 @@ virDomainMigrateToURI2(virDomainPtr doma + virCheckDomainReturn(domain, -1); + virCheckReadOnlyGoto(domain->conn->flags, error); + ++ VIR_EXCLUSIVE_FLAGS_GOTO(VIR_MIGRATE_TUNNELLED, ++ VIR_MIGRATE_PARALLEL, ++ error); ++ + if (virDomainMigrateUnmanagedCheckCompat(domain, flags) < 0) + goto error; + +@@ -4234,6 +4250,10 @@ virDomainMigrateToURI3(virDomainPtr doma + virCheckDomainReturn(domain, -1); + virCheckReadOnlyGoto(domain->conn->flags, error); + ++ VIR_EXCLUSIVE_FLAGS_GOTO(VIR_MIGRATE_TUNNELLED, ++ VIR_MIGRATE_PARALLEL, ++ error); ++ + if (virDomainMigrateUnmanagedCheckCompat(domain, flags) < 0) + goto error; + diff --git a/libvirt.changes b/libvirt.changes index b62fa4f..bae6e14 100644 --- a/libvirt.changes +++ b/libvirt.changes @@ -1,3 +1,23 @@ +------------------------------------------------------------------- +Wed Feb 5 22:51:48 UTC 2020 - James Fehlig + +- xen: Fix the list of supported ovmf firmwares + suse-xen-ovmf-loaders.patch + bsc#1159793 + +------------------------------------------------------------------- +Mon Feb 3 18:32:49 UTC 2020 - James Fehlig + +- lib: Prohibit parallel connections with tunneled migration + e092daac-prohib-parallel-tunneled-mig.patch + jsc#SLE-6998 + +------------------------------------------------------------------- +Mon Feb 3 15:27:17 UTC 2020 - Dominique Leuenberger + +- BuildRequire pkgconfig((lib)?udev) instead of (lib)?udev: allow + OBS to shortcut through -mini flavors. + ------------------------------------------------------------------- Thu Jan 30 22:05:24 UTC 2020 - James Fehlig diff --git a/libvirt.spec b/libvirt.spec index 47ed399..d82cc4b 100644 --- a/libvirt.spec +++ b/libvirt.spec @@ -251,8 +251,8 @@ BuildRequires: rpcgen # For pool-build probing for existing pools BuildRequires: libblkid-devel >= 2.17 BuildRequires: libpciaccess0-devel >= 0.10.9 -BuildRequires: libudev-devel >= 145 BuildRequires: libyajl-devel +BuildRequires: pkgconfig(libudev) >= 145 %if %{with_sanlock} BuildRequires: sanlock-devel >= 2.4 %endif @@ -341,6 +341,7 @@ Source100: %{name}-rpmlintrc Patch0: 6c1dddaf-libxl-shutdown-inhibit.patch Patch1: 849052ec-libxl-support-credit2.patch Patch2: 72ed254b-drop-exec-perms-bashcompletion.patch +Patch3: e092daac-prohib-parallel-tunneled-mig.patch # Patches pending upstream review Patch100: libxl-dom-reset.patch Patch101: network-don-t-use-dhcp-authoritative-on-static-netwo.patch @@ -367,6 +368,7 @@ Patch210: qemu-apparmor-screenshot.patch Patch211: libvirt-suse-netcontrol.patch Patch212: lxc-wait-after-eth-del.patch Patch213: suse-libxl-disable-autoballoon.patch +Patch214: suse-xen-ovmf-loaders.patch # SLES-Only patches %if ! 0%{?is_opensuse} Patch400: virt-create-rootfs.patch @@ -404,7 +406,7 @@ Requires: modutils # for /sbin/ip & /sbin/tc Requires: iproute Requires: logrotate -Requires: udev >= 145 +Requires: pkgconfig(udev) >= 145 Recommends: polkit >= 0.112 %ifarch %ix86 x86_64 ia64 # For virConnectGetSysinfo @@ -876,6 +878,7 @@ libvirt plugin for NSS for translating domain names into IP addresses. %patch0 -p1 %patch1 -p1 %patch2 -p1 +%patch3 -p1 %patch100 -p1 %patch101 -p1 %patch150 -p1 @@ -899,6 +902,7 @@ libvirt plugin for NSS for translating domain names into IP addresses. %patch211 -p1 %patch212 -p1 %patch213 -p1 +%patch214 -p1 %if ! 0%{?is_opensuse} %patch400 -p1 %endif diff --git a/suse-xen-ovmf-loaders.patch b/suse-xen-ovmf-loaders.patch new file mode 100644 index 0000000..a5a0f4c --- /dev/null +++ b/suse-xen-ovmf-loaders.patch @@ -0,0 +1,27 @@ +libxl: Temporarily hardcode paths to ovmf firmwares + +This is a quick, hacky fix for bsc#1159793 until there is time to work on +upstream support for firmware autoselection in the xen driver. Sadly, the +upstream efforts to improve firmware handling in the qemu driver broke +the firmware handling in the xen driver. + +Index: libvirt-6.0.0/src/libxl/libxl_conf.c +=================================================================== +--- libvirt-6.0.0.orig/src/libxl/libxl_conf.c ++++ libvirt-6.0.0/src/libxl/libxl_conf.c +@@ -1776,6 +1776,15 @@ libxlDriverConfigNew(void) + goto error; + } + ++ /* Begin hack --- ++ * bsc#1159793: Until there is time to work on proper upstream support for ++ * firmware autoselection in the xen driver we'll go with this minimal fix. ++ */ ++#define DEFAULT_LOADER_NVRAM "/usr/share/qemu/ovmf-x86_64-ms-4m.bin:/usr/share/qemu/ovmf-x86_64-ms-4m-vars.bin:/usr/share/qemu/ovmf-x86_64-ms.bin:/usr/share/qemu/ovmf-x86_64-ms-vars.bin" ++ /* ++ * --- End hack ++ */ ++ + #ifdef DEFAULT_LOADER_NVRAM + if (virFirmwareParseList(DEFAULT_LOADER_NVRAM, + &cfg->firmwares,