forked from pool/libvirt
Accepting request 653614 from home:jfehlig:branches:Virtualization
- Update to libvirt 4.10.0 - Many incremental improvements and bug fixes, see http://libvirt.org/news.html - Dropped patches: 14d03b27-libxl-rm-redundant-virObjectEventStateQueue.patch, 82452a5d-libxl-rm-goto-libxlDomainShutdownThread.patch, da4b0fd9-libxl-support-soft-reset.patch, libxl-qemu-emulator-caps.patch - Added patches: libxl-support-ovswitch.patch, libxl-ovswitch-config-format-conversions.patch - FATE#320928, FATE#325817, FATE#326380, FATE#326698 OBS-URL: https://build.opensuse.org/request/show/653614 OBS-URL: https://build.opensuse.org/package/show/Virtualization/libvirt?expand=0&rev=718
This commit is contained in:
parent
0a997d39fb
commit
096d671ce7
@ -18,10 +18,10 @@ them.
|
|||||||
create mode 100644 src/conf/domain_stats.c
|
create mode 100644 src/conf/domain_stats.c
|
||||||
create mode 100644 src/conf/domain_stats.h
|
create mode 100644 src/conf/domain_stats.h
|
||||||
|
|
||||||
Index: libvirt-4.9.0/src/conf/domain_stats.c
|
Index: libvirt-4.10.0/src/conf/domain_stats.c
|
||||||
===================================================================
|
===================================================================
|
||||||
--- /dev/null
|
--- /dev/null
|
||||||
+++ libvirt-4.9.0/src/conf/domain_stats.c
|
+++ libvirt-4.10.0/src/conf/domain_stats.c
|
||||||
@@ -0,0 +1,139 @@
|
@@ -0,0 +1,139 @@
|
||||||
+/*
|
+/*
|
||||||
+ * domain_stats.c: domain stats extraction helpers
|
+ * domain_stats.c: domain stats extraction helpers
|
||||||
@ -162,10 +162,10 @@ Index: libvirt-4.9.0/src/conf/domain_stats.c
|
|||||||
+}
|
+}
|
||||||
+
|
+
|
||||||
+#undef STATS_ADD_NET_PARAM
|
+#undef STATS_ADD_NET_PARAM
|
||||||
Index: libvirt-4.9.0/src/conf/domain_stats.h
|
Index: libvirt-4.10.0/src/conf/domain_stats.h
|
||||||
===================================================================
|
===================================================================
|
||||||
--- /dev/null
|
--- /dev/null
|
||||||
+++ libvirt-4.9.0/src/conf/domain_stats.h
|
+++ libvirt-4.10.0/src/conf/domain_stats.h
|
||||||
@@ -0,0 +1,64 @@
|
@@ -0,0 +1,64 @@
|
||||||
+/*
|
+/*
|
||||||
+ * domain_stats.h: domain stats extraction helpers
|
+ * domain_stats.h: domain stats extraction helpers
|
||||||
@ -231,11 +231,11 @@ Index: libvirt-4.9.0/src/conf/domain_stats.h
|
|||||||
+ int *maxparams);
|
+ int *maxparams);
|
||||||
+
|
+
|
||||||
+#endif /* __DOMAIN_STATS_H */
|
+#endif /* __DOMAIN_STATS_H */
|
||||||
Index: libvirt-4.9.0/src/libvirt_private.syms
|
Index: libvirt-4.10.0/src/libvirt_private.syms
|
||||||
===================================================================
|
===================================================================
|
||||||
--- libvirt-4.9.0.orig/src/libvirt_private.syms
|
--- libvirt-4.10.0.orig/src/libvirt_private.syms
|
||||||
+++ libvirt-4.9.0/src/libvirt_private.syms
|
+++ libvirt-4.10.0/src/libvirt_private.syms
|
||||||
@@ -653,6 +653,9 @@ virDomainConfNWFilterInstantiate;
|
@@ -658,6 +658,9 @@ virDomainConfNWFilterInstantiate;
|
||||||
virDomainConfNWFilterTeardown;
|
virDomainConfNWFilterTeardown;
|
||||||
virDomainConfVMNWFilterTeardown;
|
virDomainConfVMNWFilterTeardown;
|
||||||
|
|
||||||
@ -245,7 +245,7 @@ Index: libvirt-4.9.0/src/libvirt_private.syms
|
|||||||
|
|
||||||
# conf/interface_conf.h
|
# conf/interface_conf.h
|
||||||
virInterfaceDefFormat;
|
virInterfaceDefFormat;
|
||||||
@@ -1541,6 +1544,7 @@ virCgroupGetMemoryUsage;
|
@@ -1547,6 +1550,7 @@ virCgroupGetMemoryUsage;
|
||||||
virCgroupGetMemSwapHardLimit;
|
virCgroupGetMemSwapHardLimit;
|
||||||
virCgroupGetMemSwapUsage;
|
virCgroupGetMemSwapUsage;
|
||||||
virCgroupGetPercpuStats;
|
virCgroupGetPercpuStats;
|
||||||
@ -253,10 +253,10 @@ Index: libvirt-4.9.0/src/libvirt_private.syms
|
|||||||
virCgroupHasController;
|
virCgroupHasController;
|
||||||
virCgroupHasEmptyTasks;
|
virCgroupHasEmptyTasks;
|
||||||
virCgroupKillPainfully;
|
virCgroupKillPainfully;
|
||||||
Index: libvirt-4.9.0/src/qemu/qemu_driver.c
|
Index: libvirt-4.10.0/src/qemu/qemu_driver.c
|
||||||
===================================================================
|
===================================================================
|
||||||
--- libvirt-4.9.0.orig/src/qemu/qemu_driver.c
|
--- libvirt-4.10.0.orig/src/qemu/qemu_driver.c
|
||||||
+++ libvirt-4.9.0/src/qemu/qemu_driver.c
|
+++ libvirt-4.10.0/src/qemu/qemu_driver.c
|
||||||
@@ -69,6 +69,7 @@
|
@@ -69,6 +69,7 @@
|
||||||
#include "virarptable.h"
|
#include "virarptable.h"
|
||||||
#include "viruuid.h"
|
#include "viruuid.h"
|
||||||
@ -265,7 +265,7 @@ Index: libvirt-4.9.0/src/qemu/qemu_driver.c
|
|||||||
#include "domain_audit.h"
|
#include "domain_audit.h"
|
||||||
#include "node_device_conf.h"
|
#include "node_device_conf.h"
|
||||||
#include "virpci.h"
|
#include "virpci.h"
|
||||||
@@ -19677,21 +19678,7 @@ qemuDomainGetStatsState(virQEMUDriverPtr
|
@@ -19908,21 +19909,7 @@ qemuDomainGetStatsState(virQEMUDriverPtr
|
||||||
int *maxparams,
|
int *maxparams,
|
||||||
unsigned int privflags ATTRIBUTE_UNUSED)
|
unsigned int privflags ATTRIBUTE_UNUSED)
|
||||||
{
|
{
|
||||||
@ -288,8 +288,8 @@ Index: libvirt-4.9.0/src/qemu/qemu_driver.c
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@@ -19714,37 +19701,7 @@ qemuDomainGetStatsCpu(virQEMUDriverPtr d
|
@@ -20112,37 +20099,7 @@ qemuDomainGetStatsCpuCgroup(virDomainObj
|
||||||
unsigned int privflags ATTRIBUTE_UNUSED)
|
int *maxparams)
|
||||||
{
|
{
|
||||||
qemuDomainObjPrivatePtr priv = dom->privateData;
|
qemuDomainObjPrivatePtr priv = dom->privateData;
|
||||||
- unsigned long long cpu_time = 0;
|
- unsigned long long cpu_time = 0;
|
||||||
@ -326,8 +326,8 @@ Index: libvirt-4.9.0/src/qemu/qemu_driver.c
|
|||||||
+ return virCgroupGetStatsCpu(priv->cgroup, record, maxparams);
|
+ return virCgroupGetStatsCpu(priv->cgroup, record, maxparams);
|
||||||
}
|
}
|
||||||
|
|
||||||
static int
|
|
||||||
@@ -19924,44 +19881,6 @@ qemuDomainGetStatsVcpu(virQEMUDriverPtr
|
@@ -20340,44 +20297,6 @@ qemuDomainGetStatsVcpu(virQEMUDriverPtr
|
||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -372,7 +372,7 @@ Index: libvirt-4.9.0/src/qemu/qemu_driver.c
|
|||||||
static int
|
static int
|
||||||
qemuDomainGetStatsInterface(virQEMUDriverPtr driver ATTRIBUTE_UNUSED,
|
qemuDomainGetStatsInterface(virQEMUDriverPtr driver ATTRIBUTE_UNUSED,
|
||||||
virDomainObjPtr dom,
|
virDomainObjPtr dom,
|
||||||
@@ -19969,68 +19888,9 @@ qemuDomainGetStatsInterface(virQEMUDrive
|
@@ -20385,68 +20304,9 @@ qemuDomainGetStatsInterface(virQEMUDrive
|
||||||
int *maxparams,
|
int *maxparams,
|
||||||
unsigned int privflags ATTRIBUTE_UNUSED)
|
unsigned int privflags ATTRIBUTE_UNUSED)
|
||||||
{
|
{
|
||||||
@ -442,7 +442,7 @@ Index: libvirt-4.9.0/src/qemu/qemu_driver.c
|
|||||||
#define QEMU_ADD_BLOCK_PARAM_UI(record, maxparams, num, name, value) \
|
#define QEMU_ADD_BLOCK_PARAM_UI(record, maxparams, num, name, value) \
|
||||||
do { \
|
do { \
|
||||||
char param_name[VIR_TYPED_PARAM_FIELD_LENGTH]; \
|
char param_name[VIR_TYPED_PARAM_FIELD_LENGTH]; \
|
||||||
@@ -20263,10 +20123,10 @@ qemuDomainGetStatsBlockExportHeader(virD
|
@@ -20679,10 +20539,10 @@ qemuDomainGetStatsBlockExportHeader(virD
|
||||||
{
|
{
|
||||||
int ret = -1;
|
int ret = -1;
|
||||||
|
|
||||||
@ -455,7 +455,7 @@ Index: libvirt-4.9.0/src/qemu/qemu_driver.c
|
|||||||
if (src->id)
|
if (src->id)
|
||||||
QEMU_ADD_BLOCK_PARAM_UI(records, nrecords, recordnr, "backingIndex",
|
QEMU_ADD_BLOCK_PARAM_UI(records, nrecords, recordnr, "backingIndex",
|
||||||
src->id);
|
src->id);
|
||||||
@@ -20406,7 +20266,7 @@ qemuDomainGetStatsBlock(virQEMUDriverPtr
|
@@ -20822,7 +20682,7 @@ qemuDomainGetStatsBlock(virQEMUDriverPtr
|
||||||
* after the iteration than it is to iterate twice; but we still
|
* after the iteration than it is to iterate twice; but we still
|
||||||
* want count listed first. */
|
* want count listed first. */
|
||||||
count_index = record->nparams;
|
count_index = record->nparams;
|
||||||
@ -464,21 +464,37 @@ Index: libvirt-4.9.0/src/qemu/qemu_driver.c
|
|||||||
|
|
||||||
for (i = 0; i < dom->def->ndisks; i++) {
|
for (i = 0; i < dom->def->ndisks; i++) {
|
||||||
if (qemuDomainGetStatsBlockExportDisk(dom->def->disks[i], stats, nodestats,
|
if (qemuDomainGetStatsBlockExportDisk(dom->def->disks[i], stats, nodestats,
|
||||||
@@ -20431,10 +20291,6 @@ qemuDomainGetStatsBlock(virQEMUDriverPtr
|
@@ -20847,8 +20707,6 @@ qemuDomainGetStatsBlock(virQEMUDriverPtr
|
||||||
|
|
||||||
#undef QEMU_ADD_BLOCK_PARAM_ULL
|
#undef QEMU_ADD_BLOCK_PARAM_ULL
|
||||||
|
|
||||||
-#undef QEMU_ADD_NAME_PARAM
|
-#undef QEMU_ADD_NAME_PARAM
|
||||||
-
|
-
|
||||||
|
#define QEMU_ADD_IOTHREAD_PARAM_UI(record, maxparams, id, name, value) \
|
||||||
|
do { \
|
||||||
|
char param_name[VIR_TYPED_PARAM_FIELD_LENGTH]; \
|
||||||
|
@@ -20896,7 +20754,7 @@ qemuDomainGetStatsIOThread(virQEMUDriver
|
||||||
|
if (niothreads == 0)
|
||||||
|
return 0;
|
||||||
|
|
||||||
|
- QEMU_ADD_COUNT_PARAM(record, maxparams, "iothread", niothreads);
|
||||||
|
+ VIR_DOMAIN_STATS_ADD_COUNT_PARAM(record, maxparams, "iothread", niothreads);
|
||||||
|
|
||||||
|
for (i = 0; i < niothreads; i++) {
|
||||||
|
if (iothreads[i]->poll_valid) {
|
||||||
|
@@ -20929,8 +20787,6 @@ qemuDomainGetStatsIOThread(virQEMUDriver
|
||||||
|
|
||||||
|
#undef QEMU_ADD_IOTHREAD_PARAM_ULL
|
||||||
|
|
||||||
-#undef QEMU_ADD_COUNT_PARAM
|
-#undef QEMU_ADD_COUNT_PARAM
|
||||||
-
|
-
|
||||||
static int
|
static int
|
||||||
qemuDomainGetStatsPerfOneEvent(virPerfPtr perf,
|
qemuDomainGetStatsPerfOneEvent(virPerfPtr perf,
|
||||||
virPerfEventType type,
|
virPerfEventType type,
|
||||||
Index: libvirt-4.9.0/src/util/vircgroup.c
|
Index: libvirt-4.10.0/src/util/vircgroup.c
|
||||||
===================================================================
|
===================================================================
|
||||||
--- libvirt-4.9.0.orig/src/util/vircgroup.c
|
--- libvirt-4.10.0.orig/src/util/vircgroup.c
|
||||||
+++ libvirt-4.9.0/src/util/vircgroup.c
|
+++ libvirt-4.10.0/src/util/vircgroup.c
|
||||||
@@ -2794,6 +2794,44 @@ virCgroupControllerAvailable(int control
|
@@ -2794,6 +2794,44 @@ virCgroupControllerAvailable(int control
|
||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
@ -540,10 +556,10 @@ Index: libvirt-4.9.0/src/util/vircgroup.c
|
|||||||
int
|
int
|
||||||
virCgroupNewPartition(const char *path ATTRIBUTE_UNUSED,
|
virCgroupNewPartition(const char *path ATTRIBUTE_UNUSED,
|
||||||
bool create ATTRIBUTE_UNUSED,
|
bool create ATTRIBUTE_UNUSED,
|
||||||
Index: libvirt-4.9.0/src/util/vircgroup.h
|
Index: libvirt-4.10.0/src/util/vircgroup.h
|
||||||
===================================================================
|
===================================================================
|
||||||
--- libvirt-4.9.0.orig/src/util/vircgroup.h
|
--- libvirt-4.10.0.orig/src/util/vircgroup.h
|
||||||
+++ libvirt-4.9.0/src/util/vircgroup.h
|
+++ libvirt-4.10.0/src/util/vircgroup.h
|
||||||
@@ -287,4 +287,9 @@ int virCgroupSetOwner(virCgroupPtr cgrou
|
@@ -287,4 +287,9 @@ int virCgroupSetOwner(virCgroupPtr cgrou
|
||||||
int virCgroupHasEmptyTasks(virCgroupPtr cgroup, int controller);
|
int virCgroupHasEmptyTasks(virCgroupPtr cgroup, int controller);
|
||||||
|
|
||||||
@ -554,10 +570,10 @@ Index: libvirt-4.9.0/src/util/vircgroup.h
|
|||||||
+ int *maxparams);
|
+ int *maxparams);
|
||||||
+
|
+
|
||||||
#endif /* __VIR_CGROUP_H__ */
|
#endif /* __VIR_CGROUP_H__ */
|
||||||
Index: libvirt-4.9.0/src/conf/Makefile.inc.am
|
Index: libvirt-4.10.0/src/conf/Makefile.inc.am
|
||||||
===================================================================
|
===================================================================
|
||||||
--- libvirt-4.9.0.orig/src/conf/Makefile.inc.am
|
--- libvirt-4.10.0.orig/src/conf/Makefile.inc.am
|
||||||
+++ libvirt-4.9.0/src/conf/Makefile.inc.am
|
+++ libvirt-4.10.0/src/conf/Makefile.inc.am
|
||||||
@@ -20,6 +20,8 @@ DOMAIN_CONF_SOURCES = \
|
@@ -20,6 +20,8 @@ DOMAIN_CONF_SOURCES = \
|
||||||
conf/domain_audit.h \
|
conf/domain_audit.h \
|
||||||
conf/domain_nwfilter.c \
|
conf/domain_nwfilter.c \
|
||||||
|
@ -19,10 +19,10 @@ reworking this patch and submitting it to upstream libvirt.
|
|||||||
src/libxl/libxl_driver.c | 91 ++++++++++++++++++++++++++++++++++++++++++++++++
|
src/libxl/libxl_driver.c | 91 ++++++++++++++++++++++++++++++++++++++++++++++++
|
||||||
1 file changed, 91 insertions(+)
|
1 file changed, 91 insertions(+)
|
||||||
|
|
||||||
Index: libvirt-4.9.0/src/libxl/libxl_driver.c
|
Index: libvirt-4.10.0/src/libxl/libxl_driver.c
|
||||||
===================================================================
|
===================================================================
|
||||||
--- libvirt-4.9.0.orig/src/libxl/libxl_driver.c
|
--- libvirt-4.10.0.orig/src/libxl/libxl_driver.c
|
||||||
+++ libvirt-4.9.0/src/libxl/libxl_driver.c
|
+++ libvirt-4.10.0/src/libxl/libxl_driver.c
|
||||||
@@ -5253,6 +5253,97 @@ libxlDomainMemoryStats(virDomainPtr dom,
|
@@ -5253,6 +5253,97 @@ libxlDomainMemoryStats(virDomainPtr dom,
|
||||||
|
|
||||||
#undef LIBXL_SET_MEMSTAT
|
#undef LIBXL_SET_MEMSTAT
|
||||||
@ -121,7 +121,7 @@ Index: libvirt-4.9.0/src/libxl/libxl_driver.c
|
|||||||
static int
|
static int
|
||||||
libxlDomainGetJobInfo(virDomainPtr dom,
|
libxlDomainGetJobInfo(virDomainPtr dom,
|
||||||
virDomainJobInfoPtr info)
|
virDomainJobInfoPtr info)
|
||||||
@@ -6635,6 +6726,7 @@ static virHypervisorDriver libxlHypervis
|
@@ -6637,6 +6728,7 @@ static virHypervisorDriver libxlHypervis
|
||||||
#endif
|
#endif
|
||||||
.nodeGetFreeMemory = libxlNodeGetFreeMemory, /* 0.9.0 */
|
.nodeGetFreeMemory = libxlNodeGetFreeMemory, /* 0.9.0 */
|
||||||
.nodeGetCellsFreeMemory = libxlNodeGetCellsFreeMemory, /* 1.1.1 */
|
.nodeGetCellsFreeMemory = libxlNodeGetCellsFreeMemory, /* 1.1.1 */
|
||||||
|
@ -9,10 +9,10 @@ them using the existing API.
|
|||||||
src/lxc/lxc_driver.c | 138 +++++++++++++++++++++++++++++++++++++++++++++++++++
|
src/lxc/lxc_driver.c | 138 +++++++++++++++++++++++++++++++++++++++++++++++++++
|
||||||
1 file changed, 138 insertions(+)
|
1 file changed, 138 insertions(+)
|
||||||
|
|
||||||
Index: libvirt-4.9.0/src/lxc/lxc_driver.c
|
Index: libvirt-4.10.0/src/lxc/lxc_driver.c
|
||||||
===================================================================
|
===================================================================
|
||||||
--- libvirt-4.9.0.orig/src/lxc/lxc_driver.c
|
--- libvirt-4.10.0.orig/src/lxc/lxc_driver.c
|
||||||
+++ libvirt-4.9.0/src/lxc/lxc_driver.c
|
+++ libvirt-4.10.0/src/lxc/lxc_driver.c
|
||||||
@@ -78,6 +78,7 @@
|
@@ -78,6 +78,7 @@
|
||||||
#include "viraccessapichecklxc.h"
|
#include "viraccessapichecklxc.h"
|
||||||
#include "virhostdev.h"
|
#include "virhostdev.h"
|
||||||
|
@ -1,36 +0,0 @@
|
|||||||
commit 14d03b27bf8f8a13da27a297e23e2b1b80688459
|
|
||||||
Author: Jim Fehlig <jfehlig@suse.com>
|
|
||||||
Date: Wed Oct 31 10:41:28 2018 -0600
|
|
||||||
|
|
||||||
libxl: remove redundant calls to virObjectEventStateQueue
|
|
||||||
|
|
||||||
In libxlDomainShutdownThread, virObjectEventStateQueue is needlessly
|
|
||||||
called in the destroy and restart labels. The cleanup label aready
|
|
||||||
queues whatever event was created based on libxl_shutdown_reason.
|
|
||||||
There is no need to handle destroy and restart differently.
|
|
||||||
|
|
||||||
Signed-off-by: Jim Fehlig <jfehlig@suse.com>
|
|
||||||
ACKed-by: Michal Privoznik <mprivozn@redhat.com>
|
|
||||||
|
|
||||||
diff --git a/src/libxl/libxl_domain.c b/src/libxl/libxl_domain.c
|
|
||||||
index 0032b9dd11..9ed6ee8fb3 100644
|
|
||||||
--- a/src/libxl/libxl_domain.c
|
|
||||||
+++ b/src/libxl/libxl_domain.c
|
|
||||||
@@ -538,8 +538,6 @@ libxlDomainShutdownThread(void *opaque)
|
|
||||||
}
|
|
||||||
|
|
||||||
destroy:
|
|
||||||
- virObjectEventStateQueue(driver->domainEventState, dom_event);
|
|
||||||
- dom_event = NULL;
|
|
||||||
libxlDomainDestroyInternal(driver, vm);
|
|
||||||
libxlDomainCleanup(driver, vm);
|
|
||||||
if (!vm->persistent)
|
|
||||||
@@ -548,8 +546,6 @@ libxlDomainShutdownThread(void *opaque)
|
|
||||||
goto endjob;
|
|
||||||
|
|
||||||
restart:
|
|
||||||
- virObjectEventStateQueue(driver->domainEventState, dom_event);
|
|
||||||
- dom_event = NULL;
|
|
||||||
libxlDomainDestroyInternal(driver, vm);
|
|
||||||
libxlDomainCleanup(driver, vm);
|
|
||||||
if (libxlDomainStartNew(driver, vm, false) < 0) {
|
|
@ -1,133 +0,0 @@
|
|||||||
commit 82452a5d7f55c7698459728a3ee071402f43bb4d
|
|
||||||
Author: Jim Fehlig <jfehlig@suse.com>
|
|
||||||
Date: Wed Oct 31 10:54:14 2018 -0600
|
|
||||||
|
|
||||||
libxl: Remove some goto labels in libxlDomainShutdownThread
|
|
||||||
|
|
||||||
There are too many goto labels in libxlDomainShutdownThread. Convert the
|
|
||||||
'destroy' and 'restart' labels to helper functions, leaving only the
|
|
||||||
commonly used pattern of 'endjob' and 'cleanup' labels.
|
|
||||||
|
|
||||||
Signed-off-by: Jim Fehlig <jfehlig@suse.com>
|
|
||||||
ACKed-by: Michal Privoznik <mprivozn@redhat.com>
|
|
||||||
|
|
||||||
diff --git a/src/libxl/libxl_domain.c b/src/libxl/libxl_domain.c
|
|
||||||
index 9ed6ee8fb3..4cdaee0e51 100644
|
|
||||||
--- a/src/libxl/libxl_domain.c
|
|
||||||
+++ b/src/libxl/libxl_domain.c
|
|
||||||
@@ -430,6 +430,30 @@ virDomainDefParserConfig libxlDomainDefParserConfig = {
|
|
||||||
};
|
|
||||||
|
|
||||||
|
|
||||||
+static void
|
|
||||||
+libxlDomainShutdownHandleDestroy(libxlDriverPrivatePtr driver,
|
|
||||||
+ virDomainObjPtr vm)
|
|
||||||
+{
|
|
||||||
+ libxlDomainDestroyInternal(driver, vm);
|
|
||||||
+ libxlDomainCleanup(driver, vm);
|
|
||||||
+ if (!vm->persistent)
|
|
||||||
+ virDomainObjListRemove(driver->domains, vm);
|
|
||||||
+}
|
|
||||||
+
|
|
||||||
+
|
|
||||||
+static void
|
|
||||||
+libxlDomainShutdownHandleRestart(libxlDriverPrivatePtr driver,
|
|
||||||
+ virDomainObjPtr vm)
|
|
||||||
+{
|
|
||||||
+ libxlDomainDestroyInternal(driver, vm);
|
|
||||||
+ libxlDomainCleanup(driver, vm);
|
|
||||||
+ if (libxlDomainStartNew(driver, vm, false) < 0) {
|
|
||||||
+ VIR_ERROR(_("Failed to restart VM '%s': %s"),
|
|
||||||
+ vm->def->name, virGetLastErrorMessage());
|
|
||||||
+ }
|
|
||||||
+}
|
|
||||||
+
|
|
||||||
+
|
|
||||||
struct libxlShutdownThreadInfo
|
|
||||||
{
|
|
||||||
libxlDriverPrivatePtr driver;
|
|
||||||
@@ -468,10 +492,12 @@ libxlDomainShutdownThread(void *opaque)
|
|
||||||
VIR_DOMAIN_EVENT_STOPPED_SHUTDOWN);
|
|
||||||
switch ((virDomainLifecycleAction) vm->def->onPoweroff) {
|
|
||||||
case VIR_DOMAIN_LIFECYCLE_ACTION_DESTROY:
|
|
||||||
- goto destroy;
|
|
||||||
+ libxlDomainShutdownHandleDestroy(driver, vm);
|
|
||||||
+ goto endjob;
|
|
||||||
case VIR_DOMAIN_LIFECYCLE_ACTION_RESTART:
|
|
||||||
case VIR_DOMAIN_LIFECYCLE_ACTION_RESTART_RENAME:
|
|
||||||
- goto restart;
|
|
||||||
+ libxlDomainShutdownHandleRestart(driver, vm);
|
|
||||||
+ goto endjob;
|
|
||||||
case VIR_DOMAIN_LIFECYCLE_ACTION_PRESERVE:
|
|
||||||
case VIR_DOMAIN_LIFECYCLE_ACTION_COREDUMP_DESTROY:
|
|
||||||
case VIR_DOMAIN_LIFECYCLE_ACTION_COREDUMP_RESTART:
|
|
||||||
@@ -487,19 +513,23 @@ libxlDomainShutdownThread(void *opaque)
|
|
||||||
VIR_DOMAIN_EVENT_STOPPED_CRASHED);
|
|
||||||
switch ((virDomainLifecycleAction) vm->def->onCrash) {
|
|
||||||
case VIR_DOMAIN_LIFECYCLE_ACTION_DESTROY:
|
|
||||||
- goto destroy;
|
|
||||||
+ libxlDomainShutdownHandleDestroy(driver, vm);
|
|
||||||
+ goto endjob;
|
|
||||||
case VIR_DOMAIN_LIFECYCLE_ACTION_RESTART:
|
|
||||||
case VIR_DOMAIN_LIFECYCLE_ACTION_RESTART_RENAME:
|
|
||||||
- goto restart;
|
|
||||||
+ libxlDomainShutdownHandleRestart(driver, vm);
|
|
||||||
+ goto endjob;
|
|
||||||
case VIR_DOMAIN_LIFECYCLE_ACTION_PRESERVE:
|
|
||||||
case VIR_DOMAIN_LIFECYCLE_ACTION_LAST:
|
|
||||||
goto endjob;
|
|
||||||
case VIR_DOMAIN_LIFECYCLE_ACTION_COREDUMP_DESTROY:
|
|
||||||
libxlDomainAutoCoreDump(driver, vm);
|
|
||||||
- goto destroy;
|
|
||||||
+ libxlDomainShutdownHandleDestroy(driver, vm);
|
|
||||||
+ goto endjob;
|
|
||||||
case VIR_DOMAIN_LIFECYCLE_ACTION_COREDUMP_RESTART:
|
|
||||||
libxlDomainAutoCoreDump(driver, vm);
|
|
||||||
- goto restart;
|
|
||||||
+ libxlDomainShutdownHandleRestart(driver, vm);
|
|
||||||
+ goto endjob;
|
|
||||||
}
|
|
||||||
} else if (xl_reason == LIBXL_SHUTDOWN_REASON_REBOOT) {
|
|
||||||
virDomainObjSetState(vm, VIR_DOMAIN_SHUTOFF,
|
|
||||||
@@ -510,10 +540,12 @@ libxlDomainShutdownThread(void *opaque)
|
|
||||||
VIR_DOMAIN_EVENT_STOPPED_SHUTDOWN);
|
|
||||||
switch ((virDomainLifecycleAction) vm->def->onReboot) {
|
|
||||||
case VIR_DOMAIN_LIFECYCLE_ACTION_DESTROY:
|
|
||||||
- goto destroy;
|
|
||||||
+ libxlDomainShutdownHandleDestroy(driver, vm);
|
|
||||||
+ goto endjob;
|
|
||||||
case VIR_DOMAIN_LIFECYCLE_ACTION_RESTART:
|
|
||||||
case VIR_DOMAIN_LIFECYCLE_ACTION_RESTART_RENAME:
|
|
||||||
- goto restart;
|
|
||||||
+ libxlDomainShutdownHandleRestart(driver, vm);
|
|
||||||
+ goto endjob;
|
|
||||||
case VIR_DOMAIN_LIFECYCLE_ACTION_PRESERVE:
|
|
||||||
case VIR_DOMAIN_LIFECYCLE_ACTION_COREDUMP_DESTROY:
|
|
||||||
case VIR_DOMAIN_LIFECYCLE_ACTION_COREDUMP_RESTART:
|
|
||||||
@@ -531,26 +563,8 @@ libxlDomainShutdownThread(void *opaque)
|
|
||||||
* Similar to the xl implementation, ignore SUSPEND. Any actions needed
|
|
||||||
* after calling libxl_domain_suspend() are handled by it's callers.
|
|
||||||
*/
|
|
||||||
- goto endjob;
|
|
||||||
} else {
|
|
||||||
VIR_INFO("Unhandled shutdown_reason %d", xl_reason);
|
|
||||||
- goto endjob;
|
|
||||||
- }
|
|
||||||
-
|
|
||||||
- destroy:
|
|
||||||
- libxlDomainDestroyInternal(driver, vm);
|
|
||||||
- libxlDomainCleanup(driver, vm);
|
|
||||||
- if (!vm->persistent)
|
|
||||||
- virDomainObjListRemove(driver->domains, vm);
|
|
||||||
-
|
|
||||||
- goto endjob;
|
|
||||||
-
|
|
||||||
- restart:
|
|
||||||
- libxlDomainDestroyInternal(driver, vm);
|
|
||||||
- libxlDomainCleanup(driver, vm);
|
|
||||||
- if (libxlDomainStartNew(driver, vm, false) < 0) {
|
|
||||||
- VIR_ERROR(_("Failed to restart VM '%s': %s"),
|
|
||||||
- vm->def->name, virGetLastErrorMessage());
|
|
||||||
}
|
|
||||||
|
|
||||||
endjob:
|
|
@ -1,7 +1,7 @@
|
|||||||
Index: libvirt-4.9.0/examples/apparmor/libvirt-lxc
|
Index: libvirt-4.10.0/examples/apparmor/libvirt-lxc
|
||||||
===================================================================
|
===================================================================
|
||||||
--- libvirt-4.9.0.orig/examples/apparmor/libvirt-lxc
|
--- libvirt-4.10.0.orig/examples/apparmor/libvirt-lxc
|
||||||
+++ libvirt-4.9.0/examples/apparmor/libvirt-lxc
|
+++ libvirt-4.10.0/examples/apparmor/libvirt-lxc
|
||||||
@@ -2,39 +2,15 @@
|
@@ -2,39 +2,15 @@
|
||||||
|
|
||||||
#include <abstractions/base>
|
#include <abstractions/base>
|
||||||
|
@ -11,11 +11,11 @@ Signed-off-by: Chunyan Liu <cyliu@suse.com>
|
|||||||
src/qemu/qemu_driver.c | 7 +++++++
|
src/qemu/qemu_driver.c | 7 +++++++
|
||||||
1 file changed, 7 insertions(+)
|
1 file changed, 7 insertions(+)
|
||||||
|
|
||||||
Index: libvirt-4.9.0/src/qemu/qemu_driver.c
|
Index: libvirt-4.10.0/src/qemu/qemu_driver.c
|
||||||
===================================================================
|
===================================================================
|
||||||
--- libvirt-4.9.0.orig/src/qemu/qemu_driver.c
|
--- libvirt-4.10.0.orig/src/qemu/qemu_driver.c
|
||||||
+++ libvirt-4.9.0/src/qemu/qemu_driver.c
|
+++ libvirt-4.10.0/src/qemu/qemu_driver.c
|
||||||
@@ -17506,6 +17506,14 @@ qemuDomainBlockCopyCommon(virDomainObjPt
|
@@ -17737,6 +17737,14 @@ qemuDomainBlockCopyCommon(virDomainObjPt
|
||||||
goto endjob;
|
goto endjob;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1,85 +0,0 @@
|
|||||||
commit da4b0fd9d3cdd117427e7e1981e8639bc859e844
|
|
||||||
Author: Jim Fehlig <jfehlig@suse.com>
|
|
||||||
Date: Wed Oct 31 11:03:37 2018 -0600
|
|
||||||
|
|
||||||
libxl: add support for soft reset
|
|
||||||
|
|
||||||
The pvops Linux kernel implements machine_ops.crash_shutdown as
|
|
||||||
|
|
||||||
static void xen_hvm_crash_shutdown(struct pt_regs *regs)
|
|
||||||
{
|
|
||||||
native_machine_crash_shutdown(regs);
|
|
||||||
xen_reboot(SHUTDOWN_soft_reset);
|
|
||||||
}
|
|
||||||
|
|
||||||
but currently the libxl driver does not handle the soft reset
|
|
||||||
shutdown event. As a result, the guest domain never proceeds
|
|
||||||
past xen_reboot(), making it impossible for HVM domains to save
|
|
||||||
a crash dump using kexec.
|
|
||||||
|
|
||||||
This patch adds support for handling the soft reset event by
|
|
||||||
calling libxl_domain_soft_reset() and re-enabling domain death
|
|
||||||
events, which is similar to the xl tool handling of soft reset
|
|
||||||
shutdown event.
|
|
||||||
|
|
||||||
Signed-off-by: Jim Fehlig <jfehlig@suse.com>
|
|
||||||
ACKed-by: Michal Privoznik <mprivozn@redhat.com>
|
|
||||||
|
|
||||||
Index: libvirt-4.9.0/src/libxl/libxl_domain.c
|
|
||||||
===================================================================
|
|
||||||
--- libvirt-4.9.0.orig/src/libxl/libxl_domain.c
|
|
||||||
+++ libvirt-4.9.0/src/libxl/libxl_domain.c
|
|
||||||
@@ -471,8 +471,10 @@ libxlDomainShutdownThread(void *opaque)
|
|
||||||
virObjectEventPtr dom_event = NULL;
|
|
||||||
libxl_shutdown_reason xl_reason = ev->u.domain_shutdown.shutdown_reason;
|
|
||||||
libxlDriverConfigPtr cfg;
|
|
||||||
+ libxl_domain_config d_config;
|
|
||||||
|
|
||||||
cfg = libxlDriverConfigGet(driver);
|
|
||||||
+ libxl_domain_config_init(&d_config);
|
|
||||||
|
|
||||||
vm = virDomainObjListFindByID(driver->domains, ev->domid);
|
|
||||||
if (!vm) {
|
|
||||||
@@ -563,6 +565,34 @@ libxlDomainShutdownThread(void *opaque)
|
|
||||||
* Similar to the xl implementation, ignore SUSPEND. Any actions needed
|
|
||||||
* after calling libxl_domain_suspend() are handled by it's callers.
|
|
||||||
*/
|
|
||||||
+#ifdef LIBXL_HAVE_SOFT_RESET
|
|
||||||
+ } else if (xl_reason == LIBXL_SHUTDOWN_REASON_SOFT_RESET) {
|
|
||||||
+ libxlDomainObjPrivatePtr priv = vm->privateData;
|
|
||||||
+
|
|
||||||
+ if (libxl_retrieve_domain_configuration(cfg->ctx, vm->def->id,
|
|
||||||
+ &d_config) != 0) {
|
|
||||||
+ VIR_ERROR(_("Failed to retrieve config for VM '%s'. "
|
|
||||||
+ "Unable to perform soft reset. Destroying VM"),
|
|
||||||
+ vm->def->name);
|
|
||||||
+ libxlDomainShutdownHandleDestroy(driver, vm);
|
|
||||||
+ goto endjob;
|
|
||||||
+ }
|
|
||||||
+
|
|
||||||
+ if (priv->deathW) {
|
|
||||||
+ libxl_evdisable_domain_death(cfg->ctx, priv->deathW);
|
|
||||||
+ priv->deathW = NULL;
|
|
||||||
+ }
|
|
||||||
+
|
|
||||||
+ if (libxl_domain_soft_reset(cfg->ctx, &d_config, vm->def->id,
|
|
||||||
+ NULL, NULL) != 0) {
|
|
||||||
+ VIR_ERROR(_("Failed to soft reset VM '%s'. Destroying VM"),
|
|
||||||
+ vm->def->name);
|
|
||||||
+ libxlDomainShutdownHandleDestroy(driver, vm);
|
|
||||||
+ goto endjob;
|
|
||||||
+ }
|
|
||||||
+ libxl_evenable_domain_death(cfg->ctx, vm->def->id, 0, &priv->deathW);
|
|
||||||
+ libxl_domain_unpause(cfg->ctx, vm->def->id);
|
|
||||||
+#endif
|
|
||||||
} else {
|
|
||||||
VIR_INFO("Unhandled shutdown_reason %d", xl_reason);
|
|
||||||
}
|
|
||||||
@@ -575,6 +605,7 @@ libxlDomainShutdownThread(void *opaque)
|
|
||||||
virObjectEventStateQueue(driver->domainEventState, dom_event);
|
|
||||||
libxl_event_free(cfg->ctx, ev);
|
|
||||||
VIR_FREE(shutdown_info);
|
|
||||||
+ libxl_domain_config_dispose(&d_config);
|
|
||||||
virObjectUnref(cfg);
|
|
||||||
}
|
|
||||||
|
|
3
libvirt-4.10.0.tar.xz
Normal file
3
libvirt-4.10.0.tar.xz
Normal file
@ -0,0 +1,3 @@
|
|||||||
|
version https://git-lfs.github.com/spec/v1
|
||||||
|
oid sha256:7f9d830173f146ed3b8a8fdf6b6e03a99ce72b21a26c1468b2b688e5fdff276c
|
||||||
|
size 14841188
|
10
libvirt-4.10.0.tar.xz.asc
Normal file
10
libvirt-4.10.0.tar.xz.asc
Normal file
@ -0,0 +1,10 @@
|
|||||||
|
-----BEGIN PGP SIGNATURE-----
|
||||||
|
|
||||||
|
iQEcBAABAgAGBQJcBREvAAoJEBVYiyZZa+pdNYEH/3lT2nLYV10dOSTevgXzAM3j
|
||||||
|
yjZFUOwD/Vm4HZynFDp5TFTIm7xCy954Jr9ga9h1AufdDhHv+OrXfuDRt1GLVWV7
|
||||||
|
wbrRyf8UJWXl9F0BWKG1bl6nEGqnCgRewpRYjIW9NvGhpijsuDt3TyBf4kYikKZb
|
||||||
|
7ZozD+JGl7DFasIKHXSp6AZY7QdT8LDepIeKql7KF6MdyglSFvmYZwbvJNCGGDV3
|
||||||
|
PmCBd8Ma2SQNn+Qb4mHetOw6sLapjESIGF1oqNRWjfX2Cb00GFeQcXVJJTXwNgz8
|
||||||
|
DffzJwLEMlDSLtEdzhteSmiXnQOsWTn+A02rkgGG172KBOsfOXfhT/dMTUoZJpo=
|
||||||
|
=CSLV
|
||||||
|
-----END PGP SIGNATURE-----
|
@ -1,3 +0,0 @@
|
|||||||
version https://git-lfs.github.com/spec/v1
|
|
||||||
oid sha256:4fd4bfe7312b7996a817c7919cf0062de0d5b3c400c93bd30855a46c40dd455a
|
|
||||||
size 14744184
|
|
@ -1,10 +0,0 @@
|
|||||||
-----BEGIN PGP SIGNATURE-----
|
|
||||||
|
|
||||||
iQEcBAABAgAGBQJb3yVYAAoJEBVYiyZZa+pde8QIALgbitxgn79S7cAYatk5xv7n
|
|
||||||
5OKXY6MjaF1568fx6uCnFo/hM7GR4l43Lqjk4lc3nNxYjhnCIjK6fpwdnIKg0G+F
|
|
||||||
JgsGV0Ydjxrqs140SnhgYYWyaHq6juHdqSdfKqnLJ/uPYVUPhUomhZ5c4LvBcYCX
|
|
||||||
3Sy9TKJOpFjEmuBpzZHMzvXibtS+fUkTyzlNixOQ/tjVNnYu1OboOuXov4ay+aS4
|
|
||||||
uild4jnO86mDa0LBxHWVEobjLiJs5RTDPbnnn8DT6nRdn14TzAsIJU2wms8OO36w
|
|
||||||
x3h1Ao59X7yUKOE5rYZnIIG6oW2I6jM3Vy6NxDVNAx0P/1/bCqE7lwgJD4uh2Zg=
|
|
||||||
=aLc3
|
|
||||||
-----END PGP SIGNATURE-----
|
|
@ -2,10 +2,10 @@ Add POWER8 v2.0 and v2.1 to cpu map XML
|
|||||||
|
|
||||||
From: <ro@suse.de>
|
From: <ro@suse.de>
|
||||||
|
|
||||||
Index: libvirt-4.9.0/src/cpu_map/ppc64_POWER8.xml
|
Index: libvirt-4.10.0/src/cpu_map/ppc64_POWER8.xml
|
||||||
===================================================================
|
===================================================================
|
||||||
--- libvirt-4.9.0.orig/src/cpu_map/ppc64_POWER8.xml
|
--- libvirt-4.10.0.orig/src/cpu_map/ppc64_POWER8.xml
|
||||||
+++ libvirt-4.9.0/src/cpu_map/ppc64_POWER8.xml
|
+++ libvirt-4.10.0/src/cpu_map/ppc64_POWER8.xml
|
||||||
@@ -4,5 +4,7 @@
|
@@ -4,5 +4,7 @@
|
||||||
<pvr value='0x004b0000' mask='0xffff0000'/>
|
<pvr value='0x004b0000' mask='0xffff0000'/>
|
||||||
<pvr value='0x004c0000' mask='0xffff0000'/>
|
<pvr value='0x004c0000' mask='0xffff0000'/>
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
Index: libvirt-4.9.0/configure.ac
|
Index: libvirt-4.10.0/configure.ac
|
||||||
===================================================================
|
===================================================================
|
||||||
--- libvirt-4.9.0.orig/configure.ac
|
--- libvirt-4.10.0.orig/configure.ac
|
||||||
+++ libvirt-4.9.0/configure.ac
|
+++ libvirt-4.10.0/configure.ac
|
||||||
@@ -256,6 +256,7 @@ LIBVIRT_ARG_LIBSSH
|
@@ -256,6 +256,7 @@ LIBVIRT_ARG_LIBSSH
|
||||||
LIBVIRT_ARG_LIBXML
|
LIBVIRT_ARG_LIBXML
|
||||||
LIBVIRT_ARG_MACVTAP
|
LIBVIRT_ARG_MACVTAP
|
||||||
@ -26,10 +26,10 @@ Index: libvirt-4.9.0/configure.ac
|
|||||||
LIBVIRT_RESULT_NLS
|
LIBVIRT_RESULT_NLS
|
||||||
LIBVIRT_RESULT_NSS
|
LIBVIRT_RESULT_NSS
|
||||||
LIBVIRT_RESULT_NUMACTL
|
LIBVIRT_RESULT_NUMACTL
|
||||||
Index: libvirt-4.9.0/tools/virsh.c
|
Index: libvirt-4.10.0/tools/virsh.c
|
||||||
===================================================================
|
===================================================================
|
||||||
--- libvirt-4.9.0.orig/tools/virsh.c
|
--- libvirt-4.10.0.orig/tools/virsh.c
|
||||||
+++ libvirt-4.9.0/tools/virsh.c
|
+++ libvirt-4.10.0/tools/virsh.c
|
||||||
@@ -570,6 +570,8 @@ virshShowVersion(vshControl *ctl ATTRIBU
|
@@ -570,6 +570,8 @@ virshShowVersion(vshControl *ctl ATTRIBU
|
||||||
vshPrint(ctl, " Interface");
|
vshPrint(ctl, " Interface");
|
||||||
# if defined(WITH_NETCF)
|
# if defined(WITH_NETCF)
|
||||||
@ -39,10 +39,10 @@ Index: libvirt-4.9.0/tools/virsh.c
|
|||||||
# elif defined(WITH_UDEV)
|
# elif defined(WITH_UDEV)
|
||||||
vshPrint(ctl, " udev");
|
vshPrint(ctl, " udev");
|
||||||
# endif
|
# endif
|
||||||
Index: libvirt-4.9.0/src/interface/interface_backend_netcf.c
|
Index: libvirt-4.10.0/src/interface/interface_backend_netcf.c
|
||||||
===================================================================
|
===================================================================
|
||||||
--- libvirt-4.9.0.orig/src/interface/interface_backend_netcf.c
|
--- libvirt-4.10.0.orig/src/interface/interface_backend_netcf.c
|
||||||
+++ libvirt-4.9.0/src/interface/interface_backend_netcf.c
|
+++ libvirt-4.10.0/src/interface/interface_backend_netcf.c
|
||||||
@@ -23,7 +23,12 @@
|
@@ -23,7 +23,12 @@
|
||||||
|
|
||||||
#include <config.h>
|
#include <config.h>
|
||||||
@ -126,10 +126,10 @@ Index: libvirt-4.9.0/src/interface/interface_backend_netcf.c
|
|||||||
if (virRegisterConnectDriver(&interfaceConnectDriver, false) < 0)
|
if (virRegisterConnectDriver(&interfaceConnectDriver, false) < 0)
|
||||||
return -1;
|
return -1;
|
||||||
if (virSetSharedInterfaceDriver(&interfaceDriver) < 0)
|
if (virSetSharedInterfaceDriver(&interfaceDriver) < 0)
|
||||||
Index: libvirt-4.9.0/src/interface/interface_driver.c
|
Index: libvirt-4.10.0/src/interface/interface_driver.c
|
||||||
===================================================================
|
===================================================================
|
||||||
--- libvirt-4.9.0.orig/src/interface/interface_driver.c
|
--- libvirt-4.10.0.orig/src/interface/interface_driver.c
|
||||||
+++ libvirt-4.9.0/src/interface/interface_driver.c
|
+++ libvirt-4.10.0/src/interface/interface_driver.c
|
||||||
@@ -30,8 +30,15 @@ interfaceRegister(void)
|
@@ -30,8 +30,15 @@ interfaceRegister(void)
|
||||||
if (netcfIfaceRegister() == 0)
|
if (netcfIfaceRegister() == 0)
|
||||||
return 0;
|
return 0;
|
||||||
@ -147,10 +147,10 @@ Index: libvirt-4.9.0/src/interface/interface_driver.c
|
|||||||
if (udevIfaceRegister() == 0)
|
if (udevIfaceRegister() == 0)
|
||||||
return 0;
|
return 0;
|
||||||
#endif /* WITH_UDEV */
|
#endif /* WITH_UDEV */
|
||||||
Index: libvirt-4.9.0/m4/virt-netcontrol.m4
|
Index: libvirt-4.10.0/m4/virt-netcontrol.m4
|
||||||
===================================================================
|
===================================================================
|
||||||
--- /dev/null
|
--- /dev/null
|
||||||
+++ libvirt-4.9.0/m4/virt-netcontrol.m4
|
+++ libvirt-4.10.0/m4/virt-netcontrol.m4
|
||||||
@@ -0,0 +1,39 @@
|
@@ -0,0 +1,39 @@
|
||||||
+dnl The libnetcontrol library
|
+dnl The libnetcontrol library
|
||||||
+dnl
|
+dnl
|
||||||
@ -191,10 +191,10 @@ Index: libvirt-4.9.0/m4/virt-netcontrol.m4
|
|||||||
+AC_DEFUN([LIBVIRT_RESULT_NETCONTROL],[
|
+AC_DEFUN([LIBVIRT_RESULT_NETCONTROL],[
|
||||||
+ LIBVIRT_RESULT_LIB([NETCONTROL])
|
+ LIBVIRT_RESULT_LIB([NETCONTROL])
|
||||||
+])
|
+])
|
||||||
Index: libvirt-4.9.0/src/interface/Makefile.inc.am
|
Index: libvirt-4.10.0/src/interface/Makefile.inc.am
|
||||||
===================================================================
|
===================================================================
|
||||||
--- libvirt-4.9.0.orig/src/interface/Makefile.inc.am
|
--- libvirt-4.10.0.orig/src/interface/Makefile.inc.am
|
||||||
+++ libvirt-4.9.0/src/interface/Makefile.inc.am
|
+++ libvirt-4.10.0/src/interface/Makefile.inc.am
|
||||||
@@ -4,6 +4,7 @@ INTERFACE_DRIVER_SOURCES = \
|
@@ -4,6 +4,7 @@ INTERFACE_DRIVER_SOURCES = \
|
||||||
$(NULL)
|
$(NULL)
|
||||||
|
|
||||||
|
@ -1,3 +1,19 @@
|
|||||||
|
-------------------------------------------------------------------
|
||||||
|
Mon Dec 3 21:58:53 UTC 2018 - James Fehlig <jfehlig@suse.com>
|
||||||
|
|
||||||
|
- Update to libvirt 4.10.0
|
||||||
|
- Many incremental improvements and bug fixes, see
|
||||||
|
http://libvirt.org/news.html
|
||||||
|
- Dropped patches:
|
||||||
|
14d03b27-libxl-rm-redundant-virObjectEventStateQueue.patch,
|
||||||
|
82452a5d-libxl-rm-goto-libxlDomainShutdownThread.patch,
|
||||||
|
da4b0fd9-libxl-support-soft-reset.patch,
|
||||||
|
libxl-qemu-emulator-caps.patch
|
||||||
|
- Added patches:
|
||||||
|
libxl-support-ovswitch.patch,
|
||||||
|
libxl-ovswitch-config-format-conversions.patch
|
||||||
|
- FATE#320928, FATE#325817, FATE#326380, FATE#326698
|
||||||
|
|
||||||
-------------------------------------------------------------------
|
-------------------------------------------------------------------
|
||||||
Tue Nov 6 18:33:26 UTC 2018 - James Fehlig <jfehlig@suse.com>
|
Tue Nov 6 18:33:26 UTC 2018 - James Fehlig <jfehlig@suse.com>
|
||||||
|
|
||||||
|
14
libvirt.spec
14
libvirt.spec
@ -185,7 +185,7 @@
|
|||||||
|
|
||||||
Name: libvirt
|
Name: libvirt
|
||||||
Url: http://libvirt.org/
|
Url: http://libvirt.org/
|
||||||
Version: 4.9.0
|
Version: 4.10.0
|
||||||
Release: 0
|
Release: 0
|
||||||
Summary: Library providing a virtualization API
|
Summary: Library providing a virtualization API
|
||||||
License: LGPL-2.1-or-later
|
License: LGPL-2.1-or-later
|
||||||
@ -339,12 +339,11 @@ Source6: libvirtd-relocation-server.xml
|
|||||||
Source99: baselibs.conf
|
Source99: baselibs.conf
|
||||||
Source100: %{name}-rpmlintrc
|
Source100: %{name}-rpmlintrc
|
||||||
# Upstream patches
|
# Upstream patches
|
||||||
Patch0: 14d03b27-libxl-rm-redundant-virObjectEventStateQueue.patch
|
|
||||||
Patch1: 82452a5d-libxl-rm-goto-libxlDomainShutdownThread.patch
|
|
||||||
Patch2: da4b0fd9-libxl-support-soft-reset.patch
|
|
||||||
# Patches pending upstream review
|
# Patches pending upstream review
|
||||||
Patch100: libxl-dom-reset.patch
|
Patch100: libxl-dom-reset.patch
|
||||||
Patch101: network-don-t-use-dhcp-authoritative-on-static-netwo.patch
|
Patch101: network-don-t-use-dhcp-authoritative-on-static-netwo.patch
|
||||||
|
Patch102: libxl-support-ovswitch.patch
|
||||||
|
Patch103: libxl-ovswitch-config-format-conversions.patch
|
||||||
# Need to go upstream
|
# Need to go upstream
|
||||||
Patch150: xen-pv-cdrom.patch
|
Patch150: xen-pv-cdrom.patch
|
||||||
Patch151: blockcopy-check-dst-identical-device.patch
|
Patch151: blockcopy-check-dst-identical-device.patch
|
||||||
@ -372,7 +371,6 @@ Patch212: apparmor-no-mount.patch
|
|||||||
Patch213: qemu-apparmor-screenshot.patch
|
Patch213: qemu-apparmor-screenshot.patch
|
||||||
Patch214: libvirt-suse-netcontrol.patch
|
Patch214: libvirt-suse-netcontrol.patch
|
||||||
Patch215: lxc-wait-after-eth-del.patch
|
Patch215: lxc-wait-after-eth-del.patch
|
||||||
Patch216: libxl-qemu-emulator-caps.patch
|
|
||||||
# SLES-Only patches
|
# SLES-Only patches
|
||||||
%if ! 0%{?is_opensuse}
|
%if ! 0%{?is_opensuse}
|
||||||
Patch400: virt-create-rootfs.patch
|
Patch400: virt-create-rootfs.patch
|
||||||
@ -904,11 +902,10 @@ libvirt plugin for NSS for translating domain names into IP addresses.
|
|||||||
|
|
||||||
%prep
|
%prep
|
||||||
%setup -q
|
%setup -q
|
||||||
%patch0 -p1
|
|
||||||
%patch1 -p1
|
|
||||||
%patch2 -p1
|
|
||||||
%patch100 -p1
|
%patch100 -p1
|
||||||
%patch101 -p1
|
%patch101 -p1
|
||||||
|
%patch102 -p1
|
||||||
|
%patch103 -p1
|
||||||
%patch150 -p1
|
%patch150 -p1
|
||||||
%patch151 -p1
|
%patch151 -p1
|
||||||
%patch152 -p1
|
%patch152 -p1
|
||||||
@ -934,7 +931,6 @@ libvirt plugin for NSS for translating domain names into IP addresses.
|
|||||||
%patch213 -p1
|
%patch213 -p1
|
||||||
%patch214 -p1
|
%patch214 -p1
|
||||||
%patch215 -p1
|
%patch215 -p1
|
||||||
%patch216 -p1
|
|
||||||
%if ! 0%{?is_opensuse}
|
%if ! 0%{?is_opensuse}
|
||||||
%patch400 -p1
|
%patch400 -p1
|
||||||
%endif
|
%endif
|
||||||
|
@ -8,10 +8,10 @@ Date: Mon Jun 23 15:51:20 2014 -0600
|
|||||||
option, but domainReset can be implemented in the libxl driver by
|
option, but domainReset can be implemented in the libxl driver by
|
||||||
forcibly destroying the domain and starting it again.
|
forcibly destroying the domain and starting it again.
|
||||||
|
|
||||||
Index: libvirt-4.9.0/src/libxl/libxl_driver.c
|
Index: libvirt-4.10.0/src/libxl/libxl_driver.c
|
||||||
===================================================================
|
===================================================================
|
||||||
--- libvirt-4.9.0.orig/src/libxl/libxl_driver.c
|
--- libvirt-4.10.0.orig/src/libxl/libxl_driver.c
|
||||||
+++ libvirt-4.9.0/src/libxl/libxl_driver.c
|
+++ libvirt-4.10.0/src/libxl/libxl_driver.c
|
||||||
@@ -1355,6 +1355,61 @@ libxlDomainReboot(virDomainPtr dom, unsi
|
@@ -1355,6 +1355,61 @@ libxlDomainReboot(virDomainPtr dom, unsi
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -74,7 +74,7 @@ Index: libvirt-4.9.0/src/libxl/libxl_driver.c
|
|||||||
libxlDomainDestroyFlags(virDomainPtr dom,
|
libxlDomainDestroyFlags(virDomainPtr dom,
|
||||||
unsigned int flags)
|
unsigned int flags)
|
||||||
{
|
{
|
||||||
@@ -6510,6 +6565,7 @@ static virHypervisorDriver libxlHypervis
|
@@ -6512,6 +6567,7 @@ static virHypervisorDriver libxlHypervis
|
||||||
.domainShutdown = libxlDomainShutdown, /* 0.9.0 */
|
.domainShutdown = libxlDomainShutdown, /* 0.9.0 */
|
||||||
.domainShutdownFlags = libxlDomainShutdownFlags, /* 0.9.10 */
|
.domainShutdownFlags = libxlDomainShutdownFlags, /* 0.9.10 */
|
||||||
.domainReboot = libxlDomainReboot, /* 0.9.0 */
|
.domainReboot = libxlDomainReboot, /* 0.9.0 */
|
||||||
|
348
libxl-ovswitch-config-format-conversions.patch
Normal file
348
libxl-ovswitch-config-format-conversions.patch
Normal file
@ -0,0 +1,348 @@
|
|||||||
|
commit 17c45f4014eb4f98cca86a944b61e0393d597059
|
||||||
|
Author: Jim Fehlig <jfehlig@suse.com>
|
||||||
|
Date: Fri Nov 16 13:08:23 2018 -0700
|
||||||
|
|
||||||
|
xenconfig: add support for openvswitch configuration
|
||||||
|
|
||||||
|
Add support for converting openvswitch interface configuration
|
||||||
|
to/from libvirt domXML and xl.cfg(5). The xl config syntax for
|
||||||
|
virtual interfaces is described in detail in the
|
||||||
|
xl-network-configuration(5) man page. The Xen Networking wiki
|
||||||
|
also contains information and examples for using openvswitch
|
||||||
|
in xl.cfg config format
|
||||||
|
|
||||||
|
https://wiki.xenproject.org/wiki/Xen_Networking#Open_vSwitch
|
||||||
|
|
||||||
|
Tests are added to check conversions of openvswitch tagged and
|
||||||
|
trunked VLAN configuration.
|
||||||
|
|
||||||
|
Signed-off-by: Jim Fehlig <jfehlig@suse.com>
|
||||||
|
|
||||||
|
Index: libvirt-4.10.0/src/xenconfig/xen_common.c
|
||||||
|
===================================================================
|
||||||
|
--- libvirt-4.10.0.orig/src/xenconfig/xen_common.c
|
||||||
|
+++ libvirt-4.10.0/src/xenconfig/xen_common.c
|
||||||
|
@@ -856,6 +856,84 @@ xenParseCharDev(virConfPtr conf, virDoma
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
+static int
|
||||||
|
+xenParseVifBridge(virDomainNetDefPtr net, char *bridge)
|
||||||
|
+{
|
||||||
|
+ char *vlanstr;
|
||||||
|
+ unsigned int tag;
|
||||||
|
+
|
||||||
|
+ /* 'bridge' string contains a bridge name and single vlan tag */
|
||||||
|
+ vlanstr = strchr(bridge, '.');
|
||||||
|
+ if (vlanstr) {
|
||||||
|
+ if (VIR_STRNDUP(net->data.bridge.brname, bridge, vlanstr - bridge) < 0)
|
||||||
|
+ return -1;
|
||||||
|
+
|
||||||
|
+ vlanstr++;
|
||||||
|
+ if (virStrToLong_ui(vlanstr, NULL, 10, &tag) < 0)
|
||||||
|
+ return -1;
|
||||||
|
+
|
||||||
|
+ if (VIR_ALLOC_N(net->vlan.tag, 1) < 0)
|
||||||
|
+ return -1;
|
||||||
|
+
|
||||||
|
+ net->vlan.tag[0] = tag;
|
||||||
|
+ net->vlan.nTags = 1;
|
||||||
|
+
|
||||||
|
+ if (VIR_ALLOC(net->virtPortProfile) < 0)
|
||||||
|
+ return -1;
|
||||||
|
+
|
||||||
|
+ net->virtPortProfile->virtPortType = VIR_NETDEV_VPORT_PROFILE_OPENVSWITCH;
|
||||||
|
+ return 0;
|
||||||
|
+ }
|
||||||
|
+
|
||||||
|
+ /* 'bridge' string contains a bridge name and one or more vlan trunks */
|
||||||
|
+ vlanstr = strchr(bridge, ':');
|
||||||
|
+ if (vlanstr) {
|
||||||
|
+ size_t i;
|
||||||
|
+ size_t nvlans = 0;
|
||||||
|
+ char **vlanstr_list = virStringSplit(bridge, ":", 0);
|
||||||
|
+
|
||||||
|
+ if (!vlanstr_list)
|
||||||
|
+ return -1;
|
||||||
|
+
|
||||||
|
+ if (VIR_STRDUP(net->data.bridge.brname, vlanstr_list[0]) < 0) {
|
||||||
|
+ virStringListFree(vlanstr_list);
|
||||||
|
+ return -1;
|
||||||
|
+ }
|
||||||
|
+
|
||||||
|
+ for (i = 1; vlanstr_list[i]; i++)
|
||||||
|
+ nvlans++;
|
||||||
|
+
|
||||||
|
+ if (VIR_ALLOC_N(net->vlan.tag, nvlans) < 0) {
|
||||||
|
+ virStringListFree(vlanstr_list);
|
||||||
|
+ return -1;
|
||||||
|
+ }
|
||||||
|
+
|
||||||
|
+ for (i = 1; i <= nvlans; i++) {
|
||||||
|
+ if (virStrToLong_ui(vlanstr_list[i], NULL, 10, &tag) < 0) {
|
||||||
|
+ virStringListFree(vlanstr_list);
|
||||||
|
+ return -1;
|
||||||
|
+ }
|
||||||
|
+ net->vlan.tag[i - 1] = tag;
|
||||||
|
+ }
|
||||||
|
+ net->vlan.nTags = nvlans;
|
||||||
|
+ net->vlan.trunk = true;
|
||||||
|
+ virStringListFree(vlanstr_list);
|
||||||
|
+
|
||||||
|
+ if (VIR_ALLOC(net->virtPortProfile) < 0)
|
||||||
|
+ return -1;
|
||||||
|
+
|
||||||
|
+ net->virtPortProfile->virtPortType = VIR_NETDEV_VPORT_PROFILE_OPENVSWITCH;
|
||||||
|
+ return 0;
|
||||||
|
+ }
|
||||||
|
+
|
||||||
|
+ /* 'bridge' string only contains the bridge name */
|
||||||
|
+ if (VIR_STRDUP(net->data.bridge.brname, bridge) < 0)
|
||||||
|
+ return -1;
|
||||||
|
+
|
||||||
|
+ return 0;
|
||||||
|
+}
|
||||||
|
+
|
||||||
|
+
|
||||||
|
static virDomainNetDefPtr
|
||||||
|
xenParseVif(char *entry, const char *vif_typename)
|
||||||
|
{
|
||||||
|
@@ -974,8 +1052,8 @@ xenParseVif(char *entry, const char *vif
|
||||||
|
net->type = VIR_DOMAIN_NET_TYPE_ETHERNET;
|
||||||
|
}
|
||||||
|
|
||||||
|
- if (net->type == VIR_DOMAIN_NET_TYPE_BRIDGE) {
|
||||||
|
- if (bridge[0] && VIR_STRDUP(net->data.bridge.brname, bridge) < 0)
|
||||||
|
+ if (net->type == VIR_DOMAIN_NET_TYPE_BRIDGE && bridge[0]) {
|
||||||
|
+ if (xenParseVifBridge(net, bridge) < 0)
|
||||||
|
goto cleanup;
|
||||||
|
}
|
||||||
|
if (ip[0]) {
|
||||||
|
@@ -1264,14 +1342,41 @@ xenFormatNet(virConnectPtr conn,
|
||||||
|
|
||||||
|
switch (net->type) {
|
||||||
|
case VIR_DOMAIN_NET_TYPE_BRIDGE:
|
||||||
|
+ {
|
||||||
|
+ virNetDevVPortProfilePtr port_profile = virDomainNetGetActualVirtPortProfile(net);
|
||||||
|
+ virNetDevVlanPtr virt_vlan = virDomainNetGetActualVlan(net);
|
||||||
|
+ const char *script = net->script;
|
||||||
|
+ size_t i;
|
||||||
|
+
|
||||||
|
virBufferAsprintf(&buf, ",bridge=%s", net->data.bridge.brname);
|
||||||
|
+ if (port_profile &&
|
||||||
|
+ port_profile->virtPortType == VIR_NETDEV_VPORT_PROFILE_OPENVSWITCH) {
|
||||||
|
+ if (!script)
|
||||||
|
+ script = "vif-openvswitch";
|
||||||
|
+ /*
|
||||||
|
+ * libxl_device_nic->bridge supports an extended format for
|
||||||
|
+ * specifying VLAN tags and trunks
|
||||||
|
+ *
|
||||||
|
+ * BRIDGE_NAME[.VLAN][:TRUNK:TRUNK]
|
||||||
|
+ */
|
||||||
|
+ if (virt_vlan && virt_vlan->nTags > 0) {
|
||||||
|
+ if (virt_vlan->trunk) {
|
||||||
|
+ for (i = 0; i < virt_vlan->nTags; i++)
|
||||||
|
+ virBufferAsprintf(&buf, ":%d", virt_vlan->tag[i]);
|
||||||
|
+ } else {
|
||||||
|
+ virBufferAsprintf(&buf, ".%d", virt_vlan->tag[0]);
|
||||||
|
+ }
|
||||||
|
+ }
|
||||||
|
+ }
|
||||||
|
+
|
||||||
|
if (net->guestIP.nips > 0) {
|
||||||
|
char *ipStr = xenMakeIPList(&net->guestIP);
|
||||||
|
virBufferAsprintf(&buf, ",ip=%s", ipStr);
|
||||||
|
VIR_FREE(ipStr);
|
||||||
|
}
|
||||||
|
- virBufferAsprintf(&buf, ",script=%s", DEFAULT_VIF_SCRIPT);
|
||||||
|
- break;
|
||||||
|
+ virBufferAsprintf(&buf, ",script=%s", script ? script : DEFAULT_VIF_SCRIPT);
|
||||||
|
+ }
|
||||||
|
+ break;
|
||||||
|
|
||||||
|
case VIR_DOMAIN_NET_TYPE_ETHERNET:
|
||||||
|
if (net->script)
|
||||||
|
Index: libvirt-4.10.0/tests/xlconfigdata/test-fullvirt-ovswitch-tagged.cfg
|
||||||
|
===================================================================
|
||||||
|
--- /dev/null
|
||||||
|
+++ libvirt-4.10.0/tests/xlconfigdata/test-fullvirt-ovswitch-tagged.cfg
|
||||||
|
@@ -0,0 +1,25 @@
|
||||||
|
+name = "XenGuest2"
|
||||||
|
+uuid = "c7a5fdb2-cdaf-9455-926a-d65c16db1809"
|
||||||
|
+maxmem = 8192
|
||||||
|
+memory = 8192
|
||||||
|
+vcpus = 8
|
||||||
|
+pae = 1
|
||||||
|
+acpi = 1
|
||||||
|
+apic = 1
|
||||||
|
+viridian = 0
|
||||||
|
+rtc_timeoffset = 0
|
||||||
|
+localtime = 0
|
||||||
|
+on_poweroff = "destroy"
|
||||||
|
+on_reboot = "restart"
|
||||||
|
+on_crash = "restart"
|
||||||
|
+device_model = "/usr/lib/xen/bin/qemu-system-i386"
|
||||||
|
+sdl = 0
|
||||||
|
+vnc = 1
|
||||||
|
+vncunused = 1
|
||||||
|
+vnclisten = "127.0.0.1"
|
||||||
|
+vif = [ "mac=00:16:3e:66:92:9c,bridge=ovsbr0.42,script=vif-openvswitch,model=e1000" ]
|
||||||
|
+parallel = "none"
|
||||||
|
+serial = "none"
|
||||||
|
+builder = "hvm"
|
||||||
|
+boot = "c"
|
||||||
|
+disk = [ "format=raw,vdev=hda,access=rw,backendtype=phy,target=/dev/HostVG/XenGuest2" ]
|
||||||
|
Index: libvirt-4.10.0/tests/xlconfigdata/test-fullvirt-ovswitch-tagged.xml
|
||||||
|
===================================================================
|
||||||
|
--- /dev/null
|
||||||
|
+++ libvirt-4.10.0/tests/xlconfigdata/test-fullvirt-ovswitch-tagged.xml
|
||||||
|
@@ -0,0 +1,50 @@
|
||||||
|
+<domain type='xen'>
|
||||||
|
+ <name>XenGuest2</name>
|
||||||
|
+ <uuid>c7a5fdb2-cdaf-9455-926a-d65c16db1809</uuid>
|
||||||
|
+ <memory unit='KiB'>8388608</memory>
|
||||||
|
+ <currentMemory unit='KiB'>8388608</currentMemory>
|
||||||
|
+ <vcpu placement='static'>8</vcpu>
|
||||||
|
+ <os>
|
||||||
|
+ <type arch='x86_64' machine='xenfv'>hvm</type>
|
||||||
|
+ <loader type='rom'>/usr/lib/xen/boot/hvmloader</loader>
|
||||||
|
+ <boot dev='hd'/>
|
||||||
|
+ </os>
|
||||||
|
+ <features>
|
||||||
|
+ <acpi/>
|
||||||
|
+ <apic/>
|
||||||
|
+ <pae/>
|
||||||
|
+ </features>
|
||||||
|
+ <clock offset='variable' adjustment='0' basis='utc'/>
|
||||||
|
+ <on_poweroff>destroy</on_poweroff>
|
||||||
|
+ <on_reboot>restart</on_reboot>
|
||||||
|
+ <on_crash>restart</on_crash>
|
||||||
|
+ <devices>
|
||||||
|
+ <emulator>/usr/lib/xen/bin/qemu-system-i386</emulator>
|
||||||
|
+ <disk type='block' device='disk'>
|
||||||
|
+ <driver name='phy' type='raw'/>
|
||||||
|
+ <source dev='/dev/HostVG/XenGuest2'/>
|
||||||
|
+ <target dev='hda' bus='ide'/>
|
||||||
|
+ <address type='drive' controller='0' bus='0' target='0' unit='0'/>
|
||||||
|
+ </disk>
|
||||||
|
+ <controller type='ide' index='0'/>
|
||||||
|
+ <interface type='bridge'>
|
||||||
|
+ <mac address='00:16:3e:66:92:9c'/>
|
||||||
|
+ <source bridge='ovsbr0'/>
|
||||||
|
+ <vlan>
|
||||||
|
+ <tag id='42'/>
|
||||||
|
+ </vlan>
|
||||||
|
+ <virtualport type='openvswitch'/>
|
||||||
|
+ <script path='vif-openvswitch'/>
|
||||||
|
+ <model type='e1000'/>
|
||||||
|
+ </interface>
|
||||||
|
+ <input type='mouse' bus='ps2'/>
|
||||||
|
+ <input type='keyboard' bus='ps2'/>
|
||||||
|
+ <graphics type='vnc' port='-1' autoport='yes' listen='127.0.0.1'>
|
||||||
|
+ <listen type='address' address='127.0.0.1'/>
|
||||||
|
+ </graphics>
|
||||||
|
+ <video>
|
||||||
|
+ <model type='cirrus' vram='8192' heads='1' primary='yes'/>
|
||||||
|
+ </video>
|
||||||
|
+ <memballoon model='xen'/>
|
||||||
|
+ </devices>
|
||||||
|
+</domain>
|
||||||
|
Index: libvirt-4.10.0/tests/xlconfigdata/test-fullvirt-ovswitch-trunked.cfg
|
||||||
|
===================================================================
|
||||||
|
--- /dev/null
|
||||||
|
+++ libvirt-4.10.0/tests/xlconfigdata/test-fullvirt-ovswitch-trunked.cfg
|
||||||
|
@@ -0,0 +1,25 @@
|
||||||
|
+name = "XenGuest2"
|
||||||
|
+uuid = "c7a5fdb2-cdaf-9455-926a-d65c16db1809"
|
||||||
|
+maxmem = 8192
|
||||||
|
+memory = 8192
|
||||||
|
+vcpus = 8
|
||||||
|
+pae = 1
|
||||||
|
+acpi = 1
|
||||||
|
+apic = 1
|
||||||
|
+viridian = 0
|
||||||
|
+rtc_timeoffset = 0
|
||||||
|
+localtime = 0
|
||||||
|
+on_poweroff = "destroy"
|
||||||
|
+on_reboot = "restart"
|
||||||
|
+on_crash = "restart"
|
||||||
|
+device_model = "/usr/lib/xen/bin/qemu-system-i386"
|
||||||
|
+sdl = 0
|
||||||
|
+vnc = 1
|
||||||
|
+vncunused = 1
|
||||||
|
+vnclisten = "127.0.0.1"
|
||||||
|
+vif = [ "mac=00:16:3e:66:92:9c,bridge=ovsbr0:42:43,script=vif-openvswitch,model=e1000" ]
|
||||||
|
+parallel = "none"
|
||||||
|
+serial = "none"
|
||||||
|
+builder = "hvm"
|
||||||
|
+boot = "c"
|
||||||
|
+disk = [ "format=raw,vdev=hda,access=rw,backendtype=phy,target=/dev/HostVG/XenGuest2" ]
|
||||||
|
Index: libvirt-4.10.0/tests/xlconfigdata/test-fullvirt-ovswitch-trunked.xml
|
||||||
|
===================================================================
|
||||||
|
--- /dev/null
|
||||||
|
+++ libvirt-4.10.0/tests/xlconfigdata/test-fullvirt-ovswitch-trunked.xml
|
||||||
|
@@ -0,0 +1,51 @@
|
||||||
|
+<domain type='xen'>
|
||||||
|
+ <name>XenGuest2</name>
|
||||||
|
+ <uuid>c7a5fdb2-cdaf-9455-926a-d65c16db1809</uuid>
|
||||||
|
+ <memory unit='KiB'>8388608</memory>
|
||||||
|
+ <currentMemory unit='KiB'>8388608</currentMemory>
|
||||||
|
+ <vcpu placement='static'>8</vcpu>
|
||||||
|
+ <os>
|
||||||
|
+ <type arch='x86_64' machine='xenfv'>hvm</type>
|
||||||
|
+ <loader type='rom'>/usr/lib/xen/boot/hvmloader</loader>
|
||||||
|
+ <boot dev='hd'/>
|
||||||
|
+ </os>
|
||||||
|
+ <features>
|
||||||
|
+ <acpi/>
|
||||||
|
+ <apic/>
|
||||||
|
+ <pae/>
|
||||||
|
+ </features>
|
||||||
|
+ <clock offset='variable' adjustment='0' basis='utc'/>
|
||||||
|
+ <on_poweroff>destroy</on_poweroff>
|
||||||
|
+ <on_reboot>restart</on_reboot>
|
||||||
|
+ <on_crash>restart</on_crash>
|
||||||
|
+ <devices>
|
||||||
|
+ <emulator>/usr/lib/xen/bin/qemu-system-i386</emulator>
|
||||||
|
+ <disk type='block' device='disk'>
|
||||||
|
+ <driver name='phy' type='raw'/>
|
||||||
|
+ <source dev='/dev/HostVG/XenGuest2'/>
|
||||||
|
+ <target dev='hda' bus='ide'/>
|
||||||
|
+ <address type='drive' controller='0' bus='0' target='0' unit='0'/>
|
||||||
|
+ </disk>
|
||||||
|
+ <controller type='ide' index='0'/>
|
||||||
|
+ <interface type='bridge'>
|
||||||
|
+ <mac address='00:16:3e:66:92:9c'/>
|
||||||
|
+ <source bridge='ovsbr0'/>
|
||||||
|
+ <vlan trunk='yes'>
|
||||||
|
+ <tag id='42'/>
|
||||||
|
+ <tag id='43'/>
|
||||||
|
+ </vlan>
|
||||||
|
+ <virtualport type='openvswitch'/>
|
||||||
|
+ <script path='vif-openvswitch'/>
|
||||||
|
+ <model type='e1000'/>
|
||||||
|
+ </interface>
|
||||||
|
+ <input type='mouse' bus='ps2'/>
|
||||||
|
+ <input type='keyboard' bus='ps2'/>
|
||||||
|
+ <graphics type='vnc' port='-1' autoport='yes' listen='127.0.0.1'>
|
||||||
|
+ <listen type='address' address='127.0.0.1'/>
|
||||||
|
+ </graphics>
|
||||||
|
+ <video>
|
||||||
|
+ <model type='cirrus' vram='8192' heads='1' primary='yes'/>
|
||||||
|
+ </video>
|
||||||
|
+ <memballoon model='xen'/>
|
||||||
|
+ </devices>
|
||||||
|
+</domain>
|
||||||
|
Index: libvirt-4.10.0/tests/xlconfigtest.c
|
||||||
|
===================================================================
|
||||||
|
--- libvirt-4.10.0.orig/tests/xlconfigtest.c
|
||||||
|
+++ libvirt-4.10.0/tests/xlconfigtest.c
|
||||||
|
@@ -250,6 +250,8 @@ mymain(void)
|
||||||
|
DO_TEST_FORMAT(name, true); \
|
||||||
|
} while (0)
|
||||||
|
|
||||||
|
+ DO_TEST("fullvirt-ovswitch-tagged");
|
||||||
|
+ DO_TEST("fullvirt-ovswitch-trunked");
|
||||||
|
DO_TEST_REPLACE_VARS("fullvirt-ovmf");
|
||||||
|
DO_TEST("paravirt-maxvcpus");
|
||||||
|
DO_TEST("new-disk");
|
@ -1,31 +0,0 @@
|
|||||||
libxl: advertise system qemu instead of qemu-xen in caps
|
|
||||||
|
|
||||||
Xen in SLE12 SP2, openSUSE Leap 42.2, and Tumbleweed will no
|
|
||||||
longer provide qemu-xen (aka qemu-upstream). Instead, the
|
|
||||||
qemu binary from the distro qemu package will be used. Change
|
|
||||||
the libvirt capabilities to advertise /usr/bin/qemu-system-x86_64
|
|
||||||
as the default <emulator>, instead of the qemu-xen one.
|
|
||||||
|
|
||||||
See FATE#320638 for details.
|
|
||||||
|
|
||||||
Index: libvirt-4.9.0/src/libxl/libxl_capabilities.c
|
|
||||||
===================================================================
|
|
||||||
--- libvirt-4.9.0.orig/src/libxl/libxl_capabilities.c
|
|
||||||
+++ libvirt-4.9.0/src/libxl/libxl_capabilities.c
|
|
||||||
@@ -38,6 +38,7 @@
|
|
||||||
#include "libxl_capabilities.h"
|
|
||||||
#include "cpu/cpu_x86.h"
|
|
||||||
#include "cpu/cpu_x86_data.h"
|
|
||||||
+#include "configmake.h"
|
|
||||||
|
|
||||||
|
|
||||||
#define VIR_FROM_THIS VIR_FROM_LIBXL
|
|
||||||
@@ -506,7 +507,7 @@ libxlCapsInitGuests(libxl_ctx *ctx, virC
|
|
||||||
if ((guest = virCapabilitiesAddGuest(caps,
|
|
||||||
guest_archs[i].hvm ? VIR_DOMAIN_OSTYPE_HVM : VIR_DOMAIN_OSTYPE_XEN,
|
|
||||||
guest_archs[i].arch,
|
|
||||||
- LIBXL_EXECBIN_DIR "/qemu-system-i386",
|
|
||||||
+ BINDIR "/qemu-system-x86_64",
|
|
||||||
(guest_archs[i].hvm ?
|
|
||||||
LIBXL_FIRMWARE_DIR "/hvmloader" :
|
|
||||||
NULL),
|
|
@ -3,11 +3,11 @@ https://bugzilla.novell.com/show_bug.cgi?id=879425
|
|||||||
src/libxl/libxl_conf.c | 25 +++++++++++++++++++++++++
|
src/libxl/libxl_conf.c | 25 +++++++++++++++++++++++++
|
||||||
1 file changed, 25 insertions(+)
|
1 file changed, 25 insertions(+)
|
||||||
|
|
||||||
Index: libvirt-4.9.0/src/libxl/libxl_conf.c
|
Index: libvirt-4.10.0/src/libxl/libxl_conf.c
|
||||||
===================================================================
|
===================================================================
|
||||||
--- libvirt-4.9.0.orig/src/libxl/libxl_conf.c
|
--- libvirt-4.10.0.orig/src/libxl/libxl_conf.c
|
||||||
+++ libvirt-4.9.0/src/libxl/libxl_conf.c
|
+++ libvirt-4.10.0/src/libxl/libxl_conf.c
|
||||||
@@ -848,6 +848,30 @@ libxlDiskSetDiscard(libxl_device_disk *x
|
@@ -888,6 +888,30 @@ libxlDiskSetDiscard(libxl_device_disk *x
|
||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -38,7 +38,7 @@ Index: libvirt-4.9.0/src/libxl/libxl_conf.c
|
|||||||
static char *
|
static char *
|
||||||
libxlMakeNetworkDiskSrcStr(virStorageSourcePtr src,
|
libxlMakeNetworkDiskSrcStr(virStorageSourcePtr src,
|
||||||
const char *username,
|
const char *username,
|
||||||
@@ -1096,6 +1120,7 @@ libxlMakeDisk(virDomainDiskDefPtr l_disk
|
@@ -1136,6 +1160,7 @@ libxlMakeDisk(virDomainDiskDefPtr l_disk
|
||||||
x_disk->is_cdrom = l_disk->device == VIR_DOMAIN_DISK_DEVICE_CDROM ? 1 : 0;
|
x_disk->is_cdrom = l_disk->device == VIR_DOMAIN_DISK_DEVICE_CDROM ? 1 : 0;
|
||||||
if (libxlDiskSetDiscard(x_disk, l_disk->discard) < 0)
|
if (libxlDiskSetDiscard(x_disk, l_disk->discard) < 0)
|
||||||
return -1;
|
return -1;
|
||||||
|
@ -16,11 +16,11 @@ Signed-off-by: Jim Fehlig <jfehlig@suse.com>
|
|||||||
tools/virsh.pod | 8 ++++++++
|
tools/virsh.pod | 8 ++++++++
|
||||||
6 files changed, 125 insertions(+), 6 deletions(-)
|
6 files changed, 125 insertions(+), 6 deletions(-)
|
||||||
|
|
||||||
Index: libvirt-4.9.0/include/libvirt/libvirt-domain.h
|
Index: libvirt-4.10.0/include/libvirt/libvirt-domain.h
|
||||||
===================================================================
|
===================================================================
|
||||||
--- libvirt-4.9.0.orig/include/libvirt/libvirt-domain.h
|
--- libvirt-4.10.0.orig/include/libvirt/libvirt-domain.h
|
||||||
+++ libvirt-4.9.0/include/libvirt/libvirt-domain.h
|
+++ libvirt-4.10.0/include/libvirt/libvirt-domain.h
|
||||||
@@ -1015,6 +1015,31 @@ typedef enum {
|
@@ -1017,6 +1017,31 @@ typedef enum {
|
||||||
*/
|
*/
|
||||||
# define VIR_MIGRATE_PARAM_AUTO_CONVERGE_INCREMENT "auto_converge.increment"
|
# define VIR_MIGRATE_PARAM_AUTO_CONVERGE_INCREMENT "auto_converge.increment"
|
||||||
|
|
||||||
@ -52,10 +52,10 @@ Index: libvirt-4.9.0/include/libvirt/libvirt-domain.h
|
|||||||
/* Domain migration. */
|
/* Domain migration. */
|
||||||
virDomainPtr virDomainMigrate (virDomainPtr domain, virConnectPtr dconn,
|
virDomainPtr virDomainMigrate (virDomainPtr domain, virConnectPtr dconn,
|
||||||
unsigned long flags, const char *dname,
|
unsigned long flags, const char *dname,
|
||||||
Index: libvirt-4.9.0/src/libxl/libxl_driver.c
|
Index: libvirt-4.10.0/src/libxl/libxl_driver.c
|
||||||
===================================================================
|
===================================================================
|
||||||
--- libvirt-4.9.0.orig/src/libxl/libxl_driver.c
|
--- libvirt-4.10.0.orig/src/libxl/libxl_driver.c
|
||||||
+++ libvirt-4.9.0/src/libxl/libxl_driver.c
|
+++ libvirt-4.10.0/src/libxl/libxl_driver.c
|
||||||
@@ -6119,6 +6119,9 @@ libxlDomainMigratePerform3Params(virDoma
|
@@ -6119,6 +6119,9 @@ libxlDomainMigratePerform3Params(virDoma
|
||||||
const char *dname = NULL;
|
const char *dname = NULL;
|
||||||
const char *uri = NULL;
|
const char *uri = NULL;
|
||||||
@ -99,10 +99,10 @@ Index: libvirt-4.9.0/src/libxl/libxl_driver.c
|
|||||||
goto cleanup;
|
goto cleanup;
|
||||||
}
|
}
|
||||||
|
|
||||||
Index: libvirt-4.9.0/src/libxl/libxl_migration.c
|
Index: libvirt-4.10.0/src/libxl/libxl_migration.c
|
||||||
===================================================================
|
===================================================================
|
||||||
--- libvirt-4.9.0.orig/src/libxl/libxl_migration.c
|
--- libvirt-4.10.0.orig/src/libxl/libxl_migration.c
|
||||||
+++ libvirt-4.9.0/src/libxl/libxl_migration.c
|
+++ libvirt-4.10.0/src/libxl/libxl_migration.c
|
||||||
@@ -346,18 +346,39 @@ libxlMigrateDstReceive(virNetSocketPtr s
|
@@ -346,18 +346,39 @@ libxlMigrateDstReceive(virNetSocketPtr s
|
||||||
static int
|
static int
|
||||||
libxlDoMigrateSrcSend(libxlDriverPrivatePtr driver,
|
libxlDoMigrateSrcSend(libxlDriverPrivatePtr driver,
|
||||||
@ -264,10 +264,10 @@ Index: libvirt-4.9.0/src/libxl/libxl_migration.c
|
|||||||
virObjectLock(vm);
|
virObjectLock(vm);
|
||||||
|
|
||||||
if (ret < 0) {
|
if (ret < 0) {
|
||||||
Index: libvirt-4.9.0/src/libxl/libxl_migration.h
|
Index: libvirt-4.10.0/src/libxl/libxl_migration.h
|
||||||
===================================================================
|
===================================================================
|
||||||
--- libvirt-4.9.0.orig/src/libxl/libxl_migration.h
|
--- libvirt-4.10.0.orig/src/libxl/libxl_migration.h
|
||||||
+++ libvirt-4.9.0/src/libxl/libxl_migration.h
|
+++ libvirt-4.10.0/src/libxl/libxl_migration.h
|
||||||
@@ -39,6 +39,10 @@
|
@@ -39,6 +39,10 @@
|
||||||
VIR_MIGRATE_PARAM_URI, VIR_TYPED_PARAM_STRING, \
|
VIR_MIGRATE_PARAM_URI, VIR_TYPED_PARAM_STRING, \
|
||||||
VIR_MIGRATE_PARAM_DEST_NAME, VIR_TYPED_PARAM_STRING, \
|
VIR_MIGRATE_PARAM_DEST_NAME, VIR_TYPED_PARAM_STRING, \
|
||||||
@ -312,11 +312,11 @@ Index: libvirt-4.9.0/src/libxl/libxl_migration.h
|
|||||||
|
|
||||||
virDomainPtr
|
virDomainPtr
|
||||||
libxlDomainMigrationDstFinish(virConnectPtr dconn,
|
libxlDomainMigrationDstFinish(virConnectPtr dconn,
|
||||||
Index: libvirt-4.9.0/tools/virsh-domain.c
|
Index: libvirt-4.10.0/tools/virsh-domain.c
|
||||||
===================================================================
|
===================================================================
|
||||||
--- libvirt-4.9.0.orig/tools/virsh-domain.c
|
--- libvirt-4.10.0.orig/tools/virsh-domain.c
|
||||||
+++ libvirt-4.9.0/tools/virsh-domain.c
|
+++ libvirt-4.10.0/tools/virsh-domain.c
|
||||||
@@ -10450,6 +10450,22 @@ static const vshCmdOptDef opts_migrate[]
|
@@ -10554,6 +10554,22 @@ static const vshCmdOptDef opts_migrate[]
|
||||||
.type = VSH_OT_BOOL,
|
.type = VSH_OT_BOOL,
|
||||||
.help = N_("use TLS for migration")
|
.help = N_("use TLS for migration")
|
||||||
},
|
},
|
||||||
@ -339,7 +339,7 @@ Index: libvirt-4.9.0/tools/virsh-domain.c
|
|||||||
{.name = NULL}
|
{.name = NULL}
|
||||||
};
|
};
|
||||||
|
|
||||||
@@ -10473,6 +10489,7 @@ doMigrate(void *opaque)
|
@@ -10577,6 +10593,7 @@ doMigrate(void *opaque)
|
||||||
unsigned long long ullOpt = 0;
|
unsigned long long ullOpt = 0;
|
||||||
int rv;
|
int rv;
|
||||||
virConnectPtr dconn = data->dconn;
|
virConnectPtr dconn = data->dconn;
|
||||||
@ -347,7 +347,7 @@ Index: libvirt-4.9.0/tools/virsh-domain.c
|
|||||||
|
|
||||||
sigemptyset(&sigmask);
|
sigemptyset(&sigmask);
|
||||||
sigaddset(&sigmask, SIGINT);
|
sigaddset(&sigmask, SIGINT);
|
||||||
@@ -10592,6 +10609,27 @@ doMigrate(void *opaque)
|
@@ -10696,6 +10713,27 @@ doMigrate(void *opaque)
|
||||||
goto save_error;
|
goto save_error;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -375,11 +375,11 @@ Index: libvirt-4.9.0/tools/virsh-domain.c
|
|||||||
if (vshCommandOptStringReq(ctl, cmd, "xml", &opt) < 0)
|
if (vshCommandOptStringReq(ctl, cmd, "xml", &opt) < 0)
|
||||||
goto out;
|
goto out;
|
||||||
if (opt) {
|
if (opt) {
|
||||||
Index: libvirt-4.9.0/tools/virsh.pod
|
Index: libvirt-4.10.0/tools/virsh.pod
|
||||||
===================================================================
|
===================================================================
|
||||||
--- libvirt-4.9.0.orig/tools/virsh.pod
|
--- libvirt-4.10.0.orig/tools/virsh.pod
|
||||||
+++ libvirt-4.9.0/tools/virsh.pod
|
+++ libvirt-4.10.0/tools/virsh.pod
|
||||||
@@ -1937,6 +1937,14 @@ Providing I<--tls> causes the migration
|
@@ -1994,6 +1994,14 @@ Providing I<--tls> causes the migration
|
||||||
the migration of the domain. Usage requires proper TLS setup for both source
|
the migration of the domain. Usage requires proper TLS setup for both source
|
||||||
and target.
|
and target.
|
||||||
|
|
||||||
|
@ -7,11 +7,11 @@ and npiv.
|
|||||||
|
|
||||||
For more details, see bsc#954872 and FATE#319810
|
For more details, see bsc#954872 and FATE#319810
|
||||||
|
|
||||||
Index: libvirt-4.9.0/src/libxl/libxl_conf.c
|
Index: libvirt-4.10.0/src/libxl/libxl_conf.c
|
||||||
===================================================================
|
===================================================================
|
||||||
--- libvirt-4.9.0.orig/src/libxl/libxl_conf.c
|
--- libvirt-4.10.0.orig/src/libxl/libxl_conf.c
|
||||||
+++ libvirt-4.9.0/src/libxl/libxl_conf.c
|
+++ libvirt-4.10.0/src/libxl/libxl_conf.c
|
||||||
@@ -848,6 +848,25 @@ libxlDiskSetDiscard(libxl_device_disk *x
|
@@ -888,6 +888,25 @@ libxlDiskSetDiscard(libxl_device_disk *x
|
||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -37,7 +37,7 @@ Index: libvirt-4.9.0/src/libxl/libxl_conf.c
|
|||||||
static void
|
static void
|
||||||
libxlDiskSetCacheMode(libxl_device_disk *x_disk, int cachemode)
|
libxlDiskSetCacheMode(libxl_device_disk *x_disk, int cachemode)
|
||||||
{
|
{
|
||||||
@@ -993,6 +1012,7 @@ libxlMakeNetworkDiskSrc(virStorageSource
|
@@ -1033,6 +1052,7 @@ libxlMakeNetworkDiskSrc(virStorageSource
|
||||||
int
|
int
|
||||||
libxlMakeDisk(virDomainDiskDefPtr l_disk, libxl_device_disk *x_disk)
|
libxlMakeDisk(virDomainDiskDefPtr l_disk, libxl_device_disk *x_disk)
|
||||||
{
|
{
|
||||||
@ -45,7 +45,7 @@ Index: libvirt-4.9.0/src/libxl/libxl_conf.c
|
|||||||
const char *driver = virDomainDiskGetDriver(l_disk);
|
const char *driver = virDomainDiskGetDriver(l_disk);
|
||||||
int format = virDomainDiskGetFormat(l_disk);
|
int format = virDomainDiskGetFormat(l_disk);
|
||||||
int actual_type = virStorageSourceGetActualType(l_disk->src);
|
int actual_type = virStorageSourceGetActualType(l_disk->src);
|
||||||
@@ -1008,7 +1028,7 @@ libxlMakeDisk(virDomainDiskDefPtr l_disk
|
@@ -1048,7 +1068,7 @@ libxlMakeDisk(virDomainDiskDefPtr l_disk
|
||||||
if (libxlMakeNetworkDiskSrc(l_disk->src, &x_disk->pdev_path) < 0)
|
if (libxlMakeNetworkDiskSrc(l_disk->src, &x_disk->pdev_path) < 0)
|
||||||
return -1;
|
return -1;
|
||||||
} else {
|
} else {
|
||||||
@ -54,7 +54,7 @@ Index: libvirt-4.9.0/src/libxl/libxl_conf.c
|
|||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -1121,6 +1141,9 @@ libxlMakeDisk(virDomainDiskDefPtr l_disk
|
@@ -1161,6 +1181,9 @@ libxlMakeDisk(virDomainDiskDefPtr l_disk
|
||||||
if (libxlDiskSetDiscard(x_disk, l_disk->discard) < 0)
|
if (libxlDiskSetDiscard(x_disk, l_disk->discard) < 0)
|
||||||
return -1;
|
return -1;
|
||||||
libxlDiskSetCacheMode(x_disk, l_disk->cachemode);
|
libxlDiskSetCacheMode(x_disk, l_disk->cachemode);
|
||||||
|
120
libxl-support-ovswitch.patch
Normal file
120
libxl-support-ovswitch.patch
Normal file
@ -0,0 +1,120 @@
|
|||||||
|
commit 2f5d4894a9d8680461883161beb97b6602734726
|
||||||
|
Author: Jim Fehlig <jfehlig@suse.com>
|
||||||
|
Date: Tue Jun 28 14:20:02 2016 -0600
|
||||||
|
|
||||||
|
libxl: support openvswitch interfaces
|
||||||
|
|
||||||
|
It is currently possible to use <interface>s of type openvswitch
|
||||||
|
with the libxl driver in a non-standard way, e.g.
|
||||||
|
|
||||||
|
<interface type='bridge'>
|
||||||
|
<source bridge='ovsbr0'/>
|
||||||
|
<mac address='00:16:3e:7a:35:ce'/>
|
||||||
|
<script path='vif-openvswitch'/>
|
||||||
|
</interface>
|
||||||
|
|
||||||
|
This patch adds support for openvswitch <interface>s specified
|
||||||
|
in typical libvirt config
|
||||||
|
|
||||||
|
<interface type='bridge'>
|
||||||
|
<source bridge='ovsbr0'/>
|
||||||
|
<mac address='00:16:3e:7a:35:ce'/>
|
||||||
|
<virtualport type='openvswitch'/>
|
||||||
|
</interface>
|
||||||
|
|
||||||
|
VLAN tags and trunking are also supported using the extended
|
||||||
|
syntax for specifying an openvswitch bridge in libxl
|
||||||
|
|
||||||
|
BRIDGE_NAME[.VLAN][:TRUNK:TRUNK]
|
||||||
|
|
||||||
|
See Xen's networking wiki for more details on openvswitch support
|
||||||
|
|
||||||
|
https://wiki.xenproject.org/wiki/Xen_Networking#Open_vSwitch
|
||||||
|
|
||||||
|
Signed-off-by: Jim Fehlig <jfehlig@suse.com>
|
||||||
|
|
||||||
|
Index: libvirt-4.10.0/src/libxl/libxl_conf.c
|
||||||
|
===================================================================
|
||||||
|
--- libvirt-4.10.0.orig/src/libxl/libxl_conf.c
|
||||||
|
+++ libvirt-4.10.0/src/libxl/libxl_conf.c
|
||||||
|
@@ -51,6 +51,7 @@
|
||||||
|
#include "cpu/cpu.h"
|
||||||
|
#include "xen_common.h"
|
||||||
|
#include "xen_xl.h"
|
||||||
|
+#include "virnetdevvportprofile.h"
|
||||||
|
|
||||||
|
|
||||||
|
#define VIR_FROM_THIS VIR_FROM_LIBXL
|
||||||
|
@@ -1229,6 +1230,11 @@ libxlMakeNic(virDomainDefPtr def,
|
||||||
|
virNetworkPtr network = NULL;
|
||||||
|
virConnectPtr conn = NULL;
|
||||||
|
virNetDevBandwidthPtr actual_bw;
|
||||||
|
+ virNetDevVPortProfilePtr port_profile;
|
||||||
|
+ virNetDevVlanPtr virt_vlan;
|
||||||
|
+ virBuffer buf = VIR_BUFFER_INITIALIZER;
|
||||||
|
+ size_t i;
|
||||||
|
+ const char *script = NULL;
|
||||||
|
int ret = -1;
|
||||||
|
|
||||||
|
/* TODO: Where is mtu stored?
|
||||||
|
@@ -1287,14 +1293,50 @@ libxlMakeNic(virDomainDefPtr def,
|
||||||
|
if (VIR_STRDUP(x_nic->ifname, l_nic->ifname) < 0)
|
||||||
|
goto cleanup;
|
||||||
|
|
||||||
|
+ port_profile = virDomainNetGetActualVirtPortProfile(l_nic);
|
||||||
|
+ virt_vlan = virDomainNetGetActualVlan(l_nic);
|
||||||
|
+ script = l_nic->script;
|
||||||
|
switch (actual_type) {
|
||||||
|
case VIR_DOMAIN_NET_TYPE_BRIDGE:
|
||||||
|
+ virBufferAsprintf(&buf, "%s", virDomainNetGetActualBridgeName(l_nic));
|
||||||
|
+ /*
|
||||||
|
+ * A bit of special handling if vif will be connected to an
|
||||||
|
+ * openvswitch bridge
|
||||||
|
+ */
|
||||||
|
+ if (port_profile &&
|
||||||
|
+ port_profile->virtPortType == VIR_NETDEV_VPORT_PROFILE_OPENVSWITCH) {
|
||||||
|
+ /*
|
||||||
|
+ * If a custom script is not specified for openvswitch, use
|
||||||
|
+ * Xen's vif-openvswitch script
|
||||||
|
+ */
|
||||||
|
+ if (!script)
|
||||||
|
+ script = "vif-openvswitch";
|
||||||
|
+ /*
|
||||||
|
+ * libxl_device_nic->bridge supports an extended format for
|
||||||
|
+ * specifying VLAN tags and trunks when using openvswitch
|
||||||
|
+ *
|
||||||
|
+ * BRIDGE_NAME[.VLAN][:TRUNK:TRUNK]
|
||||||
|
+ *
|
||||||
|
+ * See Xen's networking wiki for more details
|
||||||
|
+ * https://wiki.xenproject.org/wiki/Xen_Networking#Open_vSwitch
|
||||||
|
+ */
|
||||||
|
+ if (virt_vlan && virt_vlan->nTags > 0) {
|
||||||
|
+ if (virt_vlan->trunk) {
|
||||||
|
+ for (i = 0; i < virt_vlan->nTags; i++)
|
||||||
|
+ virBufferAsprintf(&buf, ":%d", virt_vlan->tag[i]);
|
||||||
|
+ } else {
|
||||||
|
+ virBufferAsprintf(&buf, ".%d", virt_vlan->tag[0]);
|
||||||
|
+ }
|
||||||
|
+ }
|
||||||
|
+ }
|
||||||
|
+ if (virBufferCheckError(&buf) < 0)
|
||||||
|
+ goto cleanup;
|
||||||
|
if (VIR_STRDUP(x_nic->bridge,
|
||||||
|
- virDomainNetGetActualBridgeName(l_nic)) < 0)
|
||||||
|
+ virBufferCurrentContent(&buf)) < 0)
|
||||||
|
goto cleanup;
|
||||||
|
ATTRIBUTE_FALLTHROUGH;
|
||||||
|
case VIR_DOMAIN_NET_TYPE_ETHERNET:
|
||||||
|
- if (VIR_STRDUP(x_nic->script, l_nic->script) < 0)
|
||||||
|
+ if (VIR_STRDUP(x_nic->script, script) < 0)
|
||||||
|
goto cleanup;
|
||||||
|
if (l_nic->guestIP.nips > 0) {
|
||||||
|
x_nic->ip = xenMakeIPList(&l_nic->guestIP);
|
||||||
|
@@ -1391,6 +1433,7 @@ libxlMakeNic(virDomainDefPtr def,
|
||||||
|
ret = 0;
|
||||||
|
|
||||||
|
cleanup:
|
||||||
|
+ virBufferFreeAndReset(&buf);
|
||||||
|
virObjectUnref(network);
|
||||||
|
virObjectUnref(conn);
|
||||||
|
|
@ -13,10 +13,10 @@ device with the same name that is being created.
|
|||||||
src/lxc/lxc_process.c | 1 +
|
src/lxc/lxc_process.c | 1 +
|
||||||
3 files changed, 4 insertions(+)
|
3 files changed, 4 insertions(+)
|
||||||
|
|
||||||
Index: libvirt-4.9.0/src/lxc/lxc_controller.c
|
Index: libvirt-4.10.0/src/lxc/lxc_controller.c
|
||||||
===================================================================
|
===================================================================
|
||||||
--- libvirt-4.9.0.orig/src/lxc/lxc_controller.c
|
--- libvirt-4.10.0.orig/src/lxc/lxc_controller.c
|
||||||
+++ libvirt-4.9.0/src/lxc/lxc_controller.c
|
+++ libvirt-4.10.0/src/lxc/lxc_controller.c
|
||||||
@@ -72,6 +72,7 @@
|
@@ -72,6 +72,7 @@
|
||||||
#include "rpc/virnetdaemon.h"
|
#include "rpc/virnetdaemon.h"
|
||||||
#include "virstring.h"
|
#include "virstring.h"
|
||||||
@ -33,10 +33,10 @@ Index: libvirt-4.9.0/src/lxc/lxc_controller.c
|
|||||||
|
|
||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
Index: libvirt-4.9.0/src/lxc/lxc_driver.c
|
Index: libvirt-4.10.0/src/lxc/lxc_driver.c
|
||||||
===================================================================
|
===================================================================
|
||||||
--- libvirt-4.9.0.orig/src/lxc/lxc_driver.c
|
--- libvirt-4.10.0.orig/src/lxc/lxc_driver.c
|
||||||
+++ libvirt-4.9.0/src/lxc/lxc_driver.c
|
+++ libvirt-4.10.0/src/lxc/lxc_driver.c
|
||||||
@@ -73,6 +73,7 @@
|
@@ -73,6 +73,7 @@
|
||||||
#include "virtime.h"
|
#include "virtime.h"
|
||||||
#include "virtypedparam.h"
|
#include "virtypedparam.h"
|
||||||
@ -61,10 +61,10 @@ Index: libvirt-4.9.0/src/lxc/lxc_driver.c
|
|||||||
break;
|
break;
|
||||||
|
|
||||||
/* It'd be nice to support this, but with macvlan
|
/* It'd be nice to support this, but with macvlan
|
||||||
Index: libvirt-4.9.0/src/lxc/lxc_process.c
|
Index: libvirt-4.10.0/src/lxc/lxc_process.c
|
||||||
===================================================================
|
===================================================================
|
||||||
--- libvirt-4.9.0.orig/src/lxc/lxc_process.c
|
--- libvirt-4.10.0.orig/src/lxc/lxc_process.c
|
||||||
+++ libvirt-4.9.0/src/lxc/lxc_process.c
|
+++ libvirt-4.10.0/src/lxc/lxc_process.c
|
||||||
@@ -51,6 +51,7 @@
|
@@ -51,6 +51,7 @@
|
||||||
#include "viratomic.h"
|
#include "viratomic.h"
|
||||||
#include "virprocess.h"
|
#include "virprocess.h"
|
||||||
|
@ -17,10 +17,10 @@ Signed-off-by: Martin Wilck <mwilck@suse.com>
|
|||||||
tests/networkxml2confdata/dhcp6host-routed-network.conf | 1 -
|
tests/networkxml2confdata/dhcp6host-routed-network.conf | 1 -
|
||||||
2 files changed, 8 insertions(+), 2 deletions(-)
|
2 files changed, 8 insertions(+), 2 deletions(-)
|
||||||
|
|
||||||
Index: libvirt-4.9.0/src/network/bridge_driver.c
|
Index: libvirt-4.10.0/src/network/bridge_driver.c
|
||||||
===================================================================
|
===================================================================
|
||||||
--- libvirt-4.9.0.orig/src/network/bridge_driver.c
|
--- libvirt-4.10.0.orig/src/network/bridge_driver.c
|
||||||
+++ libvirt-4.9.0/src/network/bridge_driver.c
|
+++ libvirt-4.10.0/src/network/bridge_driver.c
|
||||||
@@ -1458,7 +1458,14 @@ networkDnsmasqConfContents(virNetworkObj
|
@@ -1458,7 +1458,14 @@ networkDnsmasqConfContents(virNetworkObj
|
||||||
if (VIR_SOCKET_ADDR_IS_FAMILY(&ipdef->address, AF_INET)) {
|
if (VIR_SOCKET_ADDR_IS_FAMILY(&ipdef->address, AF_INET)) {
|
||||||
if (ipdef->nranges || ipdef->nhosts) {
|
if (ipdef->nranges || ipdef->nhosts) {
|
||||||
@ -37,10 +37,10 @@ Index: libvirt-4.9.0/src/network/bridge_driver.c
|
|||||||
}
|
}
|
||||||
|
|
||||||
if (ipdef->tftproot) {
|
if (ipdef->tftproot) {
|
||||||
Index: libvirt-4.9.0/tests/networkxml2confdata/dhcp6host-routed-network.conf
|
Index: libvirt-4.10.0/tests/networkxml2confdata/dhcp6host-routed-network.conf
|
||||||
===================================================================
|
===================================================================
|
||||||
--- libvirt-4.9.0.orig/tests/networkxml2confdata/dhcp6host-routed-network.conf
|
--- libvirt-4.10.0.orig/tests/networkxml2confdata/dhcp6host-routed-network.conf
|
||||||
+++ libvirt-4.9.0/tests/networkxml2confdata/dhcp6host-routed-network.conf
|
+++ libvirt-4.10.0/tests/networkxml2confdata/dhcp6host-routed-network.conf
|
||||||
@@ -10,7 +10,6 @@ bind-dynamic
|
@@ -10,7 +10,6 @@ bind-dynamic
|
||||||
interface=virbr1
|
interface=virbr1
|
||||||
dhcp-range=192.168.122.1,static
|
dhcp-range=192.168.122.1,static
|
||||||
|
@ -2,10 +2,10 @@ Canonicalize hostarch name ppc64le to ppc64
|
|||||||
|
|
||||||
See bnc#894956
|
See bnc#894956
|
||||||
|
|
||||||
Index: libvirt-4.9.0/src/util/virarch.c
|
Index: libvirt-4.10.0/src/util/virarch.c
|
||||||
===================================================================
|
===================================================================
|
||||||
--- libvirt-4.9.0.orig/src/util/virarch.c
|
--- libvirt-4.10.0.orig/src/util/virarch.c
|
||||||
+++ libvirt-4.9.0/src/util/virarch.c
|
+++ libvirt-4.10.0/src/util/virarch.c
|
||||||
@@ -172,6 +172,8 @@ virArch virArchFromHost(void)
|
@@ -172,6 +172,8 @@ virArch virArchFromHost(void)
|
||||||
arch = VIR_ARCH_I686;
|
arch = VIR_ARCH_I686;
|
||||||
} else if (STREQ(ut.machine, "amd64")) {
|
} else if (STREQ(ut.machine, "amd64")) {
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
Index: libvirt-4.9.0/examples/apparmor/libvirt-qemu
|
Index: libvirt-4.10.0/examples/apparmor/libvirt-qemu
|
||||||
===================================================================
|
===================================================================
|
||||||
--- libvirt-4.9.0.orig/examples/apparmor/libvirt-qemu
|
--- libvirt-4.10.0.orig/examples/apparmor/libvirt-qemu
|
||||||
+++ libvirt-4.9.0/examples/apparmor/libvirt-qemu
|
+++ libvirt-4.10.0/examples/apparmor/libvirt-qemu
|
||||||
@@ -221,3 +221,6 @@
|
@@ -221,3 +221,6 @@
|
||||||
# required for sasl GSSAPI plugin
|
# required for sasl GSSAPI plugin
|
||||||
/etc/gss/mech.d/ r,
|
/etc/gss/mech.d/ r,
|
||||||
|
@ -8,10 +8,10 @@ Subject: [PATCH] support managed pci devices in xen driver
|
|||||||
src/xenxs/xen_xm.c | 28 +++++++++++++++++++++++++++-
|
src/xenxs/xen_xm.c | 28 +++++++++++++++++++++++++++-
|
||||||
2 files changed, 35 insertions(+), 15 deletions(-)
|
2 files changed, 35 insertions(+), 15 deletions(-)
|
||||||
|
|
||||||
Index: libvirt-4.9.0/src/xenconfig/xen_common.c
|
Index: libvirt-4.10.0/src/xenconfig/xen_common.c
|
||||||
===================================================================
|
===================================================================
|
||||||
--- libvirt-4.9.0.orig/src/xenconfig/xen_common.c
|
--- libvirt-4.10.0.orig/src/xenconfig/xen_common.c
|
||||||
+++ libvirt-4.9.0/src/xenconfig/xen_common.c
|
+++ libvirt-4.10.0/src/xenconfig/xen_common.c
|
||||||
@@ -390,12 +390,19 @@ xenParsePCI(char *entry)
|
@@ -390,12 +390,19 @@ xenParsePCI(char *entry)
|
||||||
int busID;
|
int busID;
|
||||||
int slotID;
|
int slotID;
|
||||||
@ -64,10 +64,10 @@ Index: libvirt-4.9.0/src/xenconfig/xen_common.c
|
|||||||
hostdev->source.subsys.type = VIR_DOMAIN_HOSTDEV_SUBSYS_TYPE_PCI;
|
hostdev->source.subsys.type = VIR_DOMAIN_HOSTDEV_SUBSYS_TYPE_PCI;
|
||||||
hostdev->source.subsys.u.pci.addr.domain = domainID;
|
hostdev->source.subsys.u.pci.addr.domain = domainID;
|
||||||
hostdev->source.subsys.u.pci.addr.bus = busID;
|
hostdev->source.subsys.u.pci.addr.bus = busID;
|
||||||
Index: libvirt-4.9.0/src/xenconfig/xen_sxpr.c
|
Index: libvirt-4.10.0/src/xenconfig/xen_sxpr.c
|
||||||
===================================================================
|
===================================================================
|
||||||
--- libvirt-4.9.0.orig/src/xenconfig/xen_sxpr.c
|
--- libvirt-4.10.0.orig/src/xenconfig/xen_sxpr.c
|
||||||
+++ libvirt-4.9.0/src/xenconfig/xen_sxpr.c
|
+++ libvirt-4.10.0/src/xenconfig/xen_sxpr.c
|
||||||
@@ -1057,6 +1057,7 @@ xenParseSxprPCI(virDomainDefPtr def,
|
@@ -1057,6 +1057,7 @@ xenParseSxprPCI(virDomainDefPtr def,
|
||||||
int busID;
|
int busID;
|
||||||
int slotID;
|
int slotID;
|
||||||
|
@ -8,10 +8,10 @@ It was also noticed that the per-domain profiles need a libnl rule
|
|||||||
to squelch a denial when starting confined domains.
|
to squelch a denial when starting confined domains.
|
||||||
|
|
||||||
Found while investigating bsc#1058847
|
Found while investigating bsc#1058847
|
||||||
Index: libvirt-4.9.0/examples/apparmor/usr.lib.libvirt.virt-aa-helper
|
Index: libvirt-4.10.0/examples/apparmor/usr.lib.libvirt.virt-aa-helper
|
||||||
===================================================================
|
===================================================================
|
||||||
--- libvirt-4.9.0.orig/examples/apparmor/usr.lib.libvirt.virt-aa-helper
|
--- libvirt-4.10.0.orig/examples/apparmor/usr.lib.libvirt.virt-aa-helper
|
||||||
+++ libvirt-4.9.0/examples/apparmor/usr.lib.libvirt.virt-aa-helper
|
+++ libvirt-4.10.0/examples/apparmor/usr.lib.libvirt.virt-aa-helper
|
||||||
@@ -17,7 +17,7 @@ profile virt-aa-helper /usr/{lib,lib64}/
|
@@ -17,7 +17,7 @@ profile virt-aa-helper /usr/{lib,lib64}/
|
||||||
owner @{PROC}/[0-9]*/status r,
|
owner @{PROC}/[0-9]*/status r,
|
||||||
@{PROC}/filesystems r,
|
@{PROC}/filesystems r,
|
||||||
@ -21,10 +21,10 @@ Index: libvirt-4.9.0/examples/apparmor/usr.lib.libvirt.virt-aa-helper
|
|||||||
|
|
||||||
# for hostdev
|
# for hostdev
|
||||||
/sys/devices/ r,
|
/sys/devices/ r,
|
||||||
Index: libvirt-4.9.0/examples/apparmor/libvirt-qemu
|
Index: libvirt-4.10.0/examples/apparmor/libvirt-qemu
|
||||||
===================================================================
|
===================================================================
|
||||||
--- libvirt-4.9.0.orig/examples/apparmor/libvirt-qemu
|
--- libvirt-4.10.0.orig/examples/apparmor/libvirt-qemu
|
||||||
+++ libvirt-4.9.0/examples/apparmor/libvirt-qemu
|
+++ libvirt-4.10.0/examples/apparmor/libvirt-qemu
|
||||||
@@ -62,6 +62,7 @@
|
@@ -62,6 +62,7 @@
|
||||||
#/dev/fb* rw,
|
#/dev/fb* rw,
|
||||||
|
|
||||||
|
@ -1,9 +1,9 @@
|
|||||||
Adjust libvirt-guests service to conform to SUSE standards
|
Adjust libvirt-guests service to conform to SUSE standards
|
||||||
|
|
||||||
Index: libvirt-4.9.0/tools/libvirt-guests.init.in
|
Index: libvirt-4.10.0/tools/libvirt-guests.init.in
|
||||||
===================================================================
|
===================================================================
|
||||||
--- libvirt-4.9.0.orig/tools/libvirt-guests.init.in
|
--- libvirt-4.10.0.orig/tools/libvirt-guests.init.in
|
||||||
+++ libvirt-4.9.0/tools/libvirt-guests.init.in
|
+++ libvirt-4.10.0/tools/libvirt-guests.init.in
|
||||||
@@ -4,27 +4,27 @@
|
@@ -4,27 +4,27 @@
|
||||||
# http://refspecs.linuxfoundation.org/LSB_5.0.0/LSB-Core-generic/LSB-Core-generic/initscrcomconv.html
|
# http://refspecs.linuxfoundation.org/LSB_5.0.0/LSB-Core-generic/LSB-Core-generic/initscrcomconv.html
|
||||||
#
|
#
|
||||||
@ -46,10 +46,10 @@ Index: libvirt-4.9.0/tools/libvirt-guests.init.in
|
|||||||
+
|
+
|
||||||
|
|
||||||
exec @libexecdir@/libvirt-guests.sh "$@"
|
exec @libexecdir@/libvirt-guests.sh "$@"
|
||||||
Index: libvirt-4.9.0/tools/libvirt-guests.sh.in
|
Index: libvirt-4.10.0/tools/libvirt-guests.sh.in
|
||||||
===================================================================
|
===================================================================
|
||||||
--- libvirt-4.9.0.orig/tools/libvirt-guests.sh.in
|
--- libvirt-4.10.0.orig/tools/libvirt-guests.sh.in
|
||||||
+++ libvirt-4.9.0/tools/libvirt-guests.sh.in
|
+++ libvirt-4.10.0/tools/libvirt-guests.sh.in
|
||||||
@@ -16,14 +16,13 @@
|
@@ -16,14 +16,13 @@
|
||||||
# License along with this library. If not, see
|
# License along with this library. If not, see
|
||||||
# <http://www.gnu.org/licenses/>.
|
# <http://www.gnu.org/licenses/>.
|
||||||
@ -209,10 +209,10 @@ Index: libvirt-4.9.0/tools/libvirt-guests.sh.in
|
|||||||
esac
|
esac
|
||||||
-exit $RETVAL
|
-exit $RETVAL
|
||||||
+rc_exit
|
+rc_exit
|
||||||
Index: libvirt-4.9.0/tools/libvirt-guests.sysconf
|
Index: libvirt-4.10.0/tools/libvirt-guests.sysconf
|
||||||
===================================================================
|
===================================================================
|
||||||
--- libvirt-4.9.0.orig/tools/libvirt-guests.sysconf
|
--- libvirt-4.10.0.orig/tools/libvirt-guests.sysconf
|
||||||
+++ libvirt-4.9.0/tools/libvirt-guests.sysconf
|
+++ libvirt-4.10.0/tools/libvirt-guests.sysconf
|
||||||
@@ -1,19 +1,29 @@
|
@@ -1,19 +1,29 @@
|
||||||
+## Path: System/Virtualization/libvirt-guests
|
+## Path: System/Virtualization/libvirt-guests
|
||||||
+
|
+
|
||||||
|
@ -3,10 +3,10 @@ Disable TLS by default
|
|||||||
On SUSE distros, the default is for libvirtd to listen only on the
|
On SUSE distros, the default is for libvirtd to listen only on the
|
||||||
Unix Domain Socket. The libvirt client still provides remote access
|
Unix Domain Socket. The libvirt client still provides remote access
|
||||||
via a SSH tunnel.
|
via a SSH tunnel.
|
||||||
Index: libvirt-4.9.0/src/remote/libvirtd.conf
|
Index: libvirt-4.10.0/src/remote/libvirtd.conf
|
||||||
===================================================================
|
===================================================================
|
||||||
--- libvirt-4.9.0.orig/src/remote/libvirtd.conf
|
--- libvirt-4.10.0.orig/src/remote/libvirtd.conf
|
||||||
+++ libvirt-4.9.0/src/remote/libvirtd.conf
|
+++ libvirt-4.10.0/src/remote/libvirtd.conf
|
||||||
@@ -18,8 +18,8 @@
|
@@ -18,8 +18,8 @@
|
||||||
# It is necessary to setup a CA and issue server certificates before
|
# It is necessary to setup a CA and issue server certificates before
|
||||||
# using this capability.
|
# using this capability.
|
||||||
@ -18,10 +18,10 @@ Index: libvirt-4.9.0/src/remote/libvirtd.conf
|
|||||||
|
|
||||||
# Listen for unencrypted TCP connections on the public TCP/IP port.
|
# Listen for unencrypted TCP connections on the public TCP/IP port.
|
||||||
# NB, must pass the --listen flag to the libvirtd process for this to
|
# NB, must pass the --listen flag to the libvirtd process for this to
|
||||||
Index: libvirt-4.9.0/src/remote/remote_daemon_config.c
|
Index: libvirt-4.10.0/src/remote/remote_daemon_config.c
|
||||||
===================================================================
|
===================================================================
|
||||||
--- libvirt-4.9.0.orig/src/remote/remote_daemon_config.c
|
--- libvirt-4.10.0.orig/src/remote/remote_daemon_config.c
|
||||||
+++ libvirt-4.9.0/src/remote/remote_daemon_config.c
|
+++ libvirt-4.10.0/src/remote/remote_daemon_config.c
|
||||||
@@ -110,7 +110,7 @@ daemonConfigNew(bool privileged ATTRIBUT
|
@@ -110,7 +110,7 @@ daemonConfigNew(bool privileged ATTRIBUT
|
||||||
if (VIR_ALLOC(data) < 0)
|
if (VIR_ALLOC(data) < 0)
|
||||||
return NULL;
|
return NULL;
|
||||||
@ -31,10 +31,10 @@ Index: libvirt-4.9.0/src/remote/remote_daemon_config.c
|
|||||||
data->listen_tcp = 0;
|
data->listen_tcp = 0;
|
||||||
|
|
||||||
if (VIR_STRDUP(data->tls_port, LIBVIRTD_TLS_PORT) < 0 ||
|
if (VIR_STRDUP(data->tls_port, LIBVIRTD_TLS_PORT) < 0 ||
|
||||||
Index: libvirt-4.9.0/src/remote/test_libvirtd.aug.in
|
Index: libvirt-4.10.0/src/remote/test_libvirtd.aug.in
|
||||||
===================================================================
|
===================================================================
|
||||||
--- libvirt-4.9.0.orig/src/remote/test_libvirtd.aug.in
|
--- libvirt-4.10.0.orig/src/remote/test_libvirtd.aug.in
|
||||||
+++ libvirt-4.9.0/src/remote/test_libvirtd.aug.in
|
+++ libvirt-4.10.0/src/remote/test_libvirtd.aug.in
|
||||||
@@ -2,7 +2,7 @@ module Test_libvirtd =
|
@@ -2,7 +2,7 @@ module Test_libvirtd =
|
||||||
::CONFIG::
|
::CONFIG::
|
||||||
|
|
||||||
|
@ -7,10 +7,10 @@ On SUSE distros, we promote libvirt and all the libvirt-based
|
|||||||
tools. If a user installs libvirt on their SUSE Xen host, then
|
tools. If a user installs libvirt on their SUSE Xen host, then
|
||||||
libvirt should be king and override xendomains. See bsc#1015348
|
libvirt should be king and override xendomains. See bsc#1015348
|
||||||
|
|
||||||
Index: libvirt-4.9.0/src/remote/libvirtd.service.in
|
Index: libvirt-4.10.0/src/remote/libvirtd.service.in
|
||||||
===================================================================
|
===================================================================
|
||||||
--- libvirt-4.9.0.orig/src/remote/libvirtd.service.in
|
--- libvirt-4.10.0.orig/src/remote/libvirtd.service.in
|
||||||
+++ libvirt-4.9.0/src/remote/libvirtd.service.in
|
+++ libvirt-4.10.0/src/remote/libvirtd.service.in
|
||||||
@@ -17,6 +17,8 @@ After=local-fs.target
|
@@ -17,6 +17,8 @@ After=local-fs.target
|
||||||
After=remote-fs.target
|
After=remote-fs.target
|
||||||
After=systemd-logind.service
|
After=systemd-logind.service
|
||||||
|
@ -1,9 +1,9 @@
|
|||||||
Adjust libvirtd sysconfig file to conform to SUSE standards
|
Adjust libvirtd sysconfig file to conform to SUSE standards
|
||||||
|
|
||||||
Index: libvirt-4.9.0/src/remote/libvirtd.sysconf
|
Index: libvirt-4.10.0/src/remote/libvirtd.sysconf
|
||||||
===================================================================
|
===================================================================
|
||||||
--- libvirt-4.9.0.orig/src/remote/libvirtd.sysconf
|
--- libvirt-4.10.0.orig/src/remote/libvirtd.sysconf
|
||||||
+++ libvirt-4.9.0/src/remote/libvirtd.sysconf
|
+++ libvirt-4.10.0/src/remote/libvirtd.sysconf
|
||||||
@@ -1,16 +1,25 @@
|
@@ -1,16 +1,25 @@
|
||||||
+## Path: System/Virtualization/libvirt
|
+## Path: System/Virtualization/libvirt
|
||||||
+
|
+
|
||||||
|
@ -1,9 +1,9 @@
|
|||||||
Adjust paths of OVMF firmwares on SUSE distros
|
Adjust paths of OVMF firmwares on SUSE distros
|
||||||
|
|
||||||
Index: libvirt-4.9.0/src/qemu/qemu.conf
|
Index: libvirt-4.10.0/src/qemu/qemu.conf
|
||||||
===================================================================
|
===================================================================
|
||||||
--- libvirt-4.9.0.orig/src/qemu/qemu.conf
|
--- libvirt-4.10.0.orig/src/qemu/qemu.conf
|
||||||
+++ libvirt-4.9.0/src/qemu/qemu.conf
|
+++ libvirt-4.10.0/src/qemu/qemu.conf
|
||||||
@@ -768,10 +768,9 @@ security_default_confined = 0
|
@@ -768,10 +768,9 @@ security_default_confined = 0
|
||||||
# for x86_64 and i686, but it's AAVMF for aarch64. The libvirt default
|
# for x86_64 and i686, but it's AAVMF for aarch64. The libvirt default
|
||||||
# follows this scheme.
|
# follows this scheme.
|
||||||
@ -18,10 +18,10 @@ Index: libvirt-4.9.0/src/qemu/qemu.conf
|
|||||||
#]
|
#]
|
||||||
|
|
||||||
# The backend to use for handling stdout/stderr output from
|
# The backend to use for handling stdout/stderr output from
|
||||||
Index: libvirt-4.9.0/src/qemu/qemu_conf.c
|
Index: libvirt-4.10.0/src/qemu/qemu_conf.c
|
||||||
===================================================================
|
===================================================================
|
||||||
--- libvirt-4.9.0.orig/src/qemu/qemu_conf.c
|
--- libvirt-4.10.0.orig/src/qemu/qemu_conf.c
|
||||||
+++ libvirt-4.9.0/src/qemu/qemu_conf.c
|
+++ libvirt-4.10.0/src/qemu/qemu_conf.c
|
||||||
@@ -118,10 +118,9 @@ void qemuDomainCmdlineDefFree(qemuDomain
|
@@ -118,10 +118,9 @@ void qemuDomainCmdlineDefFree(qemuDomain
|
||||||
|
|
||||||
#ifndef DEFAULT_LOADER_NVRAM
|
#ifndef DEFAULT_LOADER_NVRAM
|
||||||
@ -36,10 +36,10 @@ Index: libvirt-4.9.0/src/qemu/qemu_conf.c
|
|||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
|
||||||
Index: libvirt-4.9.0/src/security/virt-aa-helper.c
|
Index: libvirt-4.10.0/src/security/virt-aa-helper.c
|
||||||
===================================================================
|
===================================================================
|
||||||
--- libvirt-4.9.0.orig/src/security/virt-aa-helper.c
|
--- libvirt-4.10.0.orig/src/security/virt-aa-helper.c
|
||||||
+++ libvirt-4.9.0/src/security/virt-aa-helper.c
|
+++ libvirt-4.10.0/src/security/virt-aa-helper.c
|
||||||
@@ -511,7 +511,8 @@ valid_path(const char *path, const bool
|
@@ -511,7 +511,8 @@ valid_path(const char *path, const bool
|
||||||
"/usr/share/ovmf/", /* for OVMF images */
|
"/usr/share/ovmf/", /* for OVMF images */
|
||||||
"/usr/share/AAVMF/", /* for AAVMF images */
|
"/usr/share/AAVMF/", /* for AAVMF images */
|
||||||
|
@ -7,10 +7,10 @@ suse-qemu-conf-secdriver.patch, suse-qemu-conf-lockmgr.patch,
|
|||||||
etc.), but for now they are all lumped together in this
|
etc.), but for now they are all lumped together in this
|
||||||
single patch.
|
single patch.
|
||||||
|
|
||||||
Index: libvirt-4.9.0/src/qemu/qemu.conf
|
Index: libvirt-4.10.0/src/qemu/qemu.conf
|
||||||
===================================================================
|
===================================================================
|
||||||
--- libvirt-4.9.0.orig/src/qemu/qemu.conf
|
--- libvirt-4.10.0.orig/src/qemu/qemu.conf
|
||||||
+++ libvirt-4.9.0/src/qemu/qemu.conf
|
+++ libvirt-4.10.0/src/qemu/qemu.conf
|
||||||
@@ -414,11 +414,20 @@
|
@@ -414,11 +414,20 @@
|
||||||
# isolation, but it cannot appear in a list of drivers.
|
# isolation, but it cannot appear in a list of drivers.
|
||||||
#
|
#
|
||||||
|
@ -1,9 +1,9 @@
|
|||||||
Adjust virtlockd sysconfig file to conform to SUSE standards
|
Adjust virtlockd sysconfig file to conform to SUSE standards
|
||||||
|
|
||||||
Index: libvirt-4.9.0/src/locking/virtlockd.sysconf
|
Index: libvirt-4.10.0/src/locking/virtlockd.sysconf
|
||||||
===================================================================
|
===================================================================
|
||||||
--- libvirt-4.9.0.orig/src/locking/virtlockd.sysconf
|
--- libvirt-4.10.0.orig/src/locking/virtlockd.sysconf
|
||||||
+++ libvirt-4.9.0/src/locking/virtlockd.sysconf
|
+++ libvirt-4.10.0/src/locking/virtlockd.sysconf
|
||||||
@@ -1,3 +1,7 @@
|
@@ -1,3 +1,7 @@
|
||||||
+## Path: System/Virtualization/virtlockd
|
+## Path: System/Virtualization/virtlockd
|
||||||
+
|
+
|
||||||
|
@ -1,9 +1,9 @@
|
|||||||
Adjust virtlogd sysconfig file to conform to SUSE standards
|
Adjust virtlogd sysconfig file to conform to SUSE standards
|
||||||
|
|
||||||
Index: libvirt-4.9.0/src/logging/virtlogd.sysconf
|
Index: libvirt-4.10.0/src/logging/virtlogd.sysconf
|
||||||
===================================================================
|
===================================================================
|
||||||
--- libvirt-4.9.0.orig/src/logging/virtlogd.sysconf
|
--- libvirt-4.10.0.orig/src/logging/virtlogd.sysconf
|
||||||
+++ libvirt-4.9.0/src/logging/virtlogd.sysconf
|
+++ libvirt-4.10.0/src/logging/virtlogd.sysconf
|
||||||
@@ -1,3 +1,7 @@
|
@@ -1,3 +1,7 @@
|
||||||
+## Path: System/Virtualization/virtlogd
|
+## Path: System/Virtualization/virtlogd
|
||||||
+
|
+
|
||||||
|
@ -1,8 +1,8 @@
|
|||||||
Index: libvirt-4.0.0/tools/Makefile.am
|
Index: libvirt-4.10.0/tools/Makefile.am
|
||||||
===================================================================
|
===================================================================
|
||||||
--- libvirt-4.0.0.orig/tools/Makefile.am
|
--- libvirt-4.10.0.orig/tools/Makefile.am
|
||||||
+++ libvirt-4.0.0/tools/Makefile.am
|
+++ libvirt-4.10.0/tools/Makefile.am
|
||||||
@@ -52,6 +52,7 @@ PODFILES = \
|
@@ -53,6 +53,7 @@ PODFILES = \
|
||||||
virt-sanlock-cleanup.pod \
|
virt-sanlock-cleanup.pod \
|
||||||
virt-xml-validate.pod \
|
virt-xml-validate.pod \
|
||||||
virsh.pod \
|
virsh.pod \
|
||||||
@ -10,7 +10,7 @@ Index: libvirt-4.0.0/tools/Makefile.am
|
|||||||
$(NULL)
|
$(NULL)
|
||||||
|
|
||||||
MANINFILES = \
|
MANINFILES = \
|
||||||
@@ -86,7 +87,7 @@ MAINTAINERCLEANFILES =
|
@@ -87,7 +88,7 @@ MAINTAINERCLEANFILES =
|
||||||
confdir = $(sysconfdir)/libvirt
|
confdir = $(sysconfdir)/libvirt
|
||||||
conf_DATA =
|
conf_DATA =
|
||||||
|
|
||||||
@ -19,7 +19,7 @@ Index: libvirt-4.0.0/tools/Makefile.am
|
|||||||
bin_PROGRAMS = virsh virt-admin
|
bin_PROGRAMS = virsh virt-admin
|
||||||
libexec_SCRIPTS = libvirt-guests.sh
|
libexec_SCRIPTS = libvirt-guests.sh
|
||||||
man1_MANS = \
|
man1_MANS = \
|
||||||
@@ -112,6 +113,8 @@ bin_PROGRAMS += virt-host-validate
|
@@ -113,6 +114,8 @@ bin_PROGRAMS += virt-host-validate
|
||||||
man1_MANS += virt-host-validate.1
|
man1_MANS += virt-host-validate.1
|
||||||
endif WITH_HOST_VALIDATE
|
endif WITH_HOST_VALIDATE
|
||||||
|
|
||||||
@ -28,10 +28,10 @@ Index: libvirt-4.0.0/tools/Makefile.am
|
|||||||
virt-xml-validate: virt-xml-validate.in Makefile
|
virt-xml-validate: virt-xml-validate.in Makefile
|
||||||
$(AM_V_GEN)sed -e 's|[@]schemadir@|$(pkgdatadir)/schemas|g' \
|
$(AM_V_GEN)sed -e 's|[@]schemadir@|$(pkgdatadir)/schemas|g' \
|
||||||
-e 's|[@]VERSION@|$(VERSION)|g' \
|
-e 's|[@]VERSION@|$(VERSION)|g' \
|
||||||
Index: libvirt-4.0.0/tools/virt-create-rootfs
|
Index: libvirt-4.10.0/tools/virt-create-rootfs
|
||||||
===================================================================
|
===================================================================
|
||||||
--- /dev/null
|
--- /dev/null
|
||||||
+++ libvirt-4.0.0/tools/virt-create-rootfs
|
+++ libvirt-4.10.0/tools/virt-create-rootfs
|
||||||
@@ -0,0 +1,214 @@
|
@@ -0,0 +1,214 @@
|
||||||
+#!/bin/sh
|
+#!/bin/sh
|
||||||
+set -e
|
+set -e
|
||||||
@ -247,10 +247,10 @@ Index: libvirt-4.0.0/tools/virt-create-rootfs
|
|||||||
+ echo "pts/0" >> "$ROOT/etc/securetty"
|
+ echo "pts/0" >> "$ROOT/etc/securetty"
|
||||||
+ chroot "$ROOT" /usr/bin/passwd
|
+ chroot "$ROOT" /usr/bin/passwd
|
||||||
+fi
|
+fi
|
||||||
Index: libvirt-4.0.0/tools/virt-create-rootfs.pod
|
Index: libvirt-4.10.0/tools/virt-create-rootfs.pod
|
||||||
===================================================================
|
===================================================================
|
||||||
--- /dev/null
|
--- /dev/null
|
||||||
+++ libvirt-4.0.0/tools/virt-create-rootfs.pod
|
+++ libvirt-4.10.0/tools/virt-create-rootfs.pod
|
||||||
@@ -0,0 +1,77 @@
|
@@ -0,0 +1,77 @@
|
||||||
+=head1 NAME
|
+=head1 NAME
|
||||||
+
|
+
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
Index: libvirt-4.9.0/src/xenconfig/xen_sxpr.c
|
Index: libvirt-4.10.0/src/xenconfig/xen_sxpr.c
|
||||||
===================================================================
|
===================================================================
|
||||||
--- libvirt-4.9.0.orig/src/xenconfig/xen_sxpr.c
|
--- libvirt-4.10.0.orig/src/xenconfig/xen_sxpr.c
|
||||||
+++ libvirt-4.9.0/src/xenconfig/xen_sxpr.c
|
+++ libvirt-4.10.0/src/xenconfig/xen_sxpr.c
|
||||||
@@ -387,7 +387,7 @@ xenParseSxprVifRate(const char *rate, un
|
@@ -387,7 +387,7 @@ xenParseSxprVifRate(const char *rate, un
|
||||||
static int
|
static int
|
||||||
xenParseSxprDisks(virDomainDefPtr def,
|
xenParseSxprDisks(virDomainDefPtr def,
|
||||||
|
@ -6,10 +6,10 @@ and 'file'. This was implicitly done prior to commit 9673418c.
|
|||||||
|
|
||||||
https://bugzilla.suse.com/show_bug.cgi?id=938228
|
https://bugzilla.suse.com/show_bug.cgi?id=938228
|
||||||
|
|
||||||
Index: libvirt-4.9.0/src/xenconfig/xen_sxpr.c
|
Index: libvirt-4.10.0/src/xenconfig/xen_sxpr.c
|
||||||
===================================================================
|
===================================================================
|
||||||
--- libvirt-4.9.0.orig/src/xenconfig/xen_sxpr.c
|
--- libvirt-4.10.0.orig/src/xenconfig/xen_sxpr.c
|
||||||
+++ libvirt-4.9.0/src/xenconfig/xen_sxpr.c
|
+++ libvirt-4.10.0/src/xenconfig/xen_sxpr.c
|
||||||
@@ -501,10 +501,11 @@ xenParseSxprDisks(virDomainDefPtr def,
|
@@ -501,10 +501,11 @@ xenParseSxprDisks(virDomainDefPtr def,
|
||||||
omnipotent, we can revisit this, perhaps stat()'ing
|
omnipotent, we can revisit this, perhaps stat()'ing
|
||||||
the src file in question */
|
the src file in question */
|
||||||
|
Loading…
Reference in New Issue
Block a user