[libvirt] [PATCH] gitlab: Move mips job to Debian 9
by Andrea Bolognani
Support for the mips architecture has been dropped from Debian
sid. Move the mipsel job from Debian 9 to Debian sid at the same
time to keep things balanced.
Signed-off-by: Andrea Bolognani <abologna(a)redhat.com>
---
.gitlab-ci.yml | 8 ++++----
1 file changed, 4 insertions(+), 4 deletions(-)
diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index 3915a37a90..ea49c6178b 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -17,9 +17,9 @@ debian-9-cross-mips64el:
<<: *job_definition
image: quay.io/libvirt/buildenv-libvirt-debian-9-cross-mips64el:latest
-debian-9-cross-mipsel:
+debian-9-cross-mips:
<<: *job_definition
- image: quay.io/libvirt/buildenv-libvirt-debian-9-cross-mipsel:latest
+ image: quay.io/libvirt/buildenv-libvirt-debian-9-cross-mips:latest
debian-10-cross-aarch64:
<<: *job_definition
@@ -41,6 +41,6 @@ debian-sid-cross-i686:
<<: *job_definition
image: quay.io/libvirt/buildenv-libvirt-debian-sid-cross-i686:latest
-debian-sid-cross-mips:
+debian-sid-cross-mipsel:
<<: *job_definition
- image: quay.io/libvirt/buildenv-libvirt-debian-sid-cross-mips:latest
+ image: quay.io/libvirt/buildenv-libvirt-debian-sid-cross-mipsel:latest
--
2.23.0
5 years
[libvirt] [PATCH] qemu: snapshot: Fix libvirtd crash in snapshot-revert
by Lin Ma
When reverting a running domain to a snapshot(active state), We need to
use the FORCE flag for snapshot-revert if current domain configuration
is different from the target domain configuration, and this will start a
new qemu instance for the target domain.
In this situation, if there is existing connection to the domain, say
Spice or VNC through virt-manager, Then the libvirtd would crash during
snapshot revert because: Both of snapshot revert worker and new worker
job 'remoteDispatchDomainOpenGraphicsFd' are waiting for mon->msg->finished
in qemuMonitorSend(), We know if IO process resulted in an error with a
message, Libvirtd main thread calls qemuMonitorIO() to wakeup the waiter.
Then mon->msg will be set to NULL in qemuMonitorSend() once the worker
GraphicsFD is woken up, which causes snapshot revert worker dereferences
this null pointer.
Not sure whether this scenario makes sense, But at least the libvirtd
should not crash, So fix it.
Thread 6 "libvirtd" hit Breakpoint 1, qemuMonitorSend
987 if (mon->lastError.code != VIR_ERR_OK) {
(gdb) bt
#0 in qemuMonitorSend
#1 in qemuMonitorJSONCommandWithFd
#2 in qemuMonitorJSONSendFileHandle
#3 in qemuMonitorSendFileHandle
#4 in qemuMonitorOpenGraphics
#5 in qemuDomainOpenGraphicsFD
#6 in virDomainOpenGraphicsFD
#7 in remoteDispatchDomainOpenGraphicsFd
#8 in remoteDispatchDomainOpenGraphicsFdHelper
#9 in virNetServerProgramDispatchCall
#10 in virNetServerProgramDispatch
#11 in virNetServerProcessMsg
#12 in virNetServerHandleJob
#13 in virThreadPoolWorker
#14 in virThreadHelper
#15 in start_thread
#16 in clone
(gdb) c
Continuing.
Thread 2 "libvirtd" received signal SIGSEGV, Segmentation fault.
[Switching to Thread 0x7fbd20fe2700 (LWP 19014)]
0x00007fbd1c3be838 in qemuMonitorSend (mon=mon@entry=0x7fbd1804a940,
msg=msg@entry=0x7fbd20fe15b0)
at ../../src/qemu/qemu_monitor.c:1001
1001 while (!mon->msg->finished) {
(gdb) bt
#0 in qemuMonitorSend
#1 in qemuMonitorJSONCommandWithFd
#2 in qemuMonitorJSONCommand
#3 in qemuMonitorJSONGetChardevInfo
#4 in qemuMonitorGetChardevInfo
#5 in qemuProcessWaitForMonitor
#6 in qemuProcessLaunch
#7 in qemuProcessStart
#8 in qemuDomainRevertToSnapshot
#9 in virDomainRevertToSnapshot
#10 in remoteDispatchDomainRevertToSnapshot
#11 in remoteDispatchDomainRevertToSnapshotHelper
#12 in virNetServerProgramDispatchCall
#13 in virNetServerProgramDispatch
#14 in virNetServerProcessMsg
#15 in virNetServerHandleJob
#16 in virThreadPoolWorker
#17 in virThreadHelper
#18 in start_thread
#19 in clone
Signed-off-by: Lin Ma <lma(a)suse.com>
---
src/qemu/qemu_monitor.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/src/qemu/qemu_monitor.c b/src/qemu/qemu_monitor.c
index ea3e62dc8e..a8344e698b 100644
--- a/src/qemu/qemu_monitor.c
+++ b/src/qemu/qemu_monitor.c
@@ -994,7 +994,7 @@ qemuMonitorSend(qemuMonitorPtr mon,
"mon=%p msg=%s fd=%d",
mon, mon->msg->txBuffer, mon->msg->txFD);
- while (!mon->msg->finished) {
+ while (mon->msg && !mon->msg->finished) {
if (virCondWait(&mon->notify, &mon->parent.lock) < 0) {
virReportError(VIR_ERR_INTERNAL_ERROR, "%s",
_("Unable to wait on monitor condition"));
--
2.23.0
5 years
[libvirt] [dockerfiles PATCH 0/2] Refresh and add openSUSE Leap 15.1
by Andrea Bolognani
Pushed under the Dockerfile refresh rule. Text diffs are provided.
Andrea Bolognani (2):
Refresh Dockerfiles after recent changes
Add openSUSE Leap 15.1 Dockerfile for libvirt
buildenv-libosinfo-centos-7.zip | Bin 570 -> 1659 bytes
buildenv-libosinfo-centos-8.zip | Bin 586 -> 589 bytes
buildenv-libvirt-centos-7.zip | Bin 758 -> 1878 bytes
buildenv-libvirt-centos-8.zip | Bin 791 -> 793 bytes
buildenv-libvirt-debian-10-cross-aarch64.zip | Bin 1016 -> 1021 bytes
buildenv-libvirt-debian-10-cross-armv6l.zip | Bin 1009 -> 1014 bytes
buildenv-libvirt-debian-10-cross-armv7l.zip | Bin 1013 -> 1019 bytes
buildenv-libvirt-debian-10-cross-i686.zip | Bin 1008 -> 1016 bytes
buildenv-libvirt-debian-10-cross-mips.zip | Bin 1003 -> 1011 bytes
buildenv-libvirt-debian-10-cross-mips64el.zip | Bin 1017 -> 1022 bytes
buildenv-libvirt-debian-10-cross-mipsel.zip | Bin 1007 -> 1016 bytes
buildenv-libvirt-debian-10-cross-ppc64le.zip | Bin 1019 -> 1024 bytes
buildenv-libvirt-debian-10-cross-s390x.zip | Bin 1006 -> 1011 bytes
buildenv-libvirt-debian-10.zip | Bin 904 -> 908 bytes
buildenv-libvirt-debian-9-cross-aarch64.zip | Bin 1048 -> 1053 bytes
buildenv-libvirt-debian-9-cross-armv6l.zip | Bin 1039 -> 1045 bytes
buildenv-libvirt-debian-9-cross-armv7l.zip | Bin 1045 -> 1050 bytes
buildenv-libvirt-debian-9-cross-mips.zip | Bin 1039 -> 1044 bytes
buildenv-libvirt-debian-9-cross-mips64el.zip | Bin 1051 -> 1056 bytes
buildenv-libvirt-debian-9-cross-mipsel.zip | Bin 1043 -> 1048 bytes
buildenv-libvirt-debian-9-cross-ppc64le.zip | Bin 1053 -> 1057 bytes
buildenv-libvirt-debian-9-cross-s390x.zip | Bin 1040 -> 1045 bytes
buildenv-libvirt-debian-9.zip | Bin 934 -> 938 bytes
buildenv-libvirt-debian-sid-cross-aarch64.zip | Bin 1015 -> 1020 bytes
buildenv-libvirt-debian-sid-cross-armv6l.zip | Bin 1009 -> 1013 bytes
buildenv-libvirt-debian-sid-cross-armv7l.zip | Bin 1013 -> 1019 bytes
buildenv-libvirt-debian-sid-cross-i686.zip | Bin 1008 -> 1016 bytes
buildenv-libvirt-debian-sid-cross-mips.zip | Bin 1006 -> 1010 bytes
...denv-libvirt-debian-sid-cross-mips64el.zip | Bin 1017 -> 1022 bytes
buildenv-libvirt-debian-sid-cross-mipsel.zip | Bin 1011 -> 1016 bytes
buildenv-libvirt-debian-sid-cross-ppc64le.zip | Bin 1018 -> 1023 bytes
buildenv-libvirt-debian-sid-cross-s390x.zip | Bin 1006 -> 1011 bytes
buildenv-libvirt-debian-sid.zip | Bin 904 -> 908 bytes
buildenv-libvirt-opensuse-151.zip | Bin 0 -> 761 bytes
buildenv-libvirt-ubuntu-1604.zip | Bin 939 -> 942 bytes
buildenv-libvirt-ubuntu-1804.zip | Bin 941 -> 943 bytes
36 files changed, 0 insertions(+), 0 deletions(-)
create mode 100644 buildenv-libvirt-opensuse-151.zip
--
2.23.0
5 years
[libvirt] [jenkins-ci PATCH] lcitool: Don't install yast2_base group on openSUSE
by Andrea Bolognani
We're handling all configuration using lcitool, and we have to
be able to cope with minimal openSUSE environments anyway because
of containers.
Signed-off-by: Andrea Bolognani <abologna(a)redhat.com>
---
I've tested this by creating a fresh openSUSE Leap 15.1 VM and
verifying that I could successfully 'lcitool build' libvirt inside
it.
guests/configs/autoinst.xml | 1 -
1 file changed, 1 deletion(-)
diff --git a/guests/configs/autoinst.xml b/guests/configs/autoinst.xml
index f8ec3df..ceb702d 100644
--- a/guests/configs/autoinst.xml
+++ b/guests/configs/autoinst.xml
@@ -44,7 +44,6 @@
<patterns config:type="list">
<pattern>base</pattern>
<pattern>minimal_base</pattern>
- <pattern>yast2_basis</pattern>
</patterns>
<packages config:type="list">
<package>openssh</package>
--
2.23.0
5 years
[libvirt] [PATCH] Remove redundant usage of WITH_YAJL
by Ján Tomko
As of commit 2a00ef6e71f30241f9ca6288da984d75f3cef957 which
was released in v5.2.0, we require YAJL to build the QEMU driver.
Remove the checks from code that requires the QEMU driver
or checks that also check for WITH_QEMU.
Signed-off-by: Ján Tomko <jtomko(a)redhat.com>
---
src/qemu/qemu_driver.c | 5 -----
tests/cputest.c | 16 +++++++-------
tests/qemuagenttest.c | 5 -----
tests/qemublocktest.c | 42 ++++++++++++++-----------------------
tests/qemumigparamstest.c | 5 -----
tests/qemumonitorjsontest.c | 5 -----
6 files changed, 24 insertions(+), 54 deletions(-)
diff --git a/src/qemu/qemu_driver.c b/src/qemu/qemu_driver.c
index e65150f42b..66c58d190f 100644
--- a/src/qemu/qemu_driver.c
+++ b/src/qemu/qemu_driver.c
@@ -2104,11 +2104,6 @@ qemuDomainRebootMonitor(virQEMUDriverPtr driver,
if (virDomainObjCheckActive(vm) < 0)
goto endjob;
-#if !WITH_YAJL
- virReportError(VIR_ERR_OPERATION_INVALID, "%s",
- _("ACPI reboot is not supported without the JSON monitor"));
- goto endjob;
-#endif
qemuDomainSetFakeReboot(driver, vm, isReboot);
qemuDomainObjEnterMonitor(driver, vm);
ret = qemuMonitorSystemPowerdown(priv->mon);
diff --git a/tests/cputest.c b/tests/cputest.c
index fd86344ea4..f57516838b 100644
--- a/tests/cputest.c
+++ b/tests/cputest.c
@@ -36,7 +36,7 @@
#include "cpu/cpu_map.h"
#include "virstring.h"
-#if WITH_QEMU && WITH_YAJL
+#if WITH_QEMU
# include "testutilsqemu.h"
# include "qemumonitortestutils.h"
# define LIBVIRT_QEMU_CAPSPRIV_H_ALLOW
@@ -62,7 +62,7 @@ struct data {
int result;
};
-#if WITH_QEMU && WITH_YAJL
+#if WITH_QEMU
static virQEMUDriver driver;
#endif
@@ -465,7 +465,7 @@ typedef enum {
JSON_MODELS_REQUIRED,
} cpuTestCPUIDJson;
-#if WITH_QEMU && WITH_YAJL
+#if WITH_QEMU
static virQEMUCapsPtr
cpuTestMakeQEMUCaps(const struct data *data)
{
@@ -547,7 +547,7 @@ cpuTestGetCPUModels(const struct data *data,
return 0;
}
-#else /* if WITH_QEMU && WITH_YAJL */
+#else /* if WITH_QEMU */
static int
cpuTestGetCPUModels(const struct data *data,
@@ -871,7 +871,7 @@ cpuTestUpdateLive(const void *arg)
}
-#if WITH_QEMU && WITH_YAJL
+#if WITH_QEMU
static int
cpuTestJSONCPUID(const void *arg)
{
@@ -970,7 +970,7 @@ mymain(void)
virDomainCapsCPUModelsPtr ppc_models = NULL;
int ret = 0;
-#if WITH_QEMU && WITH_YAJL
+#if WITH_QEMU
if (qemuTestDriverInit(&driver) < 0)
return EXIT_FAILURE;
@@ -1057,7 +1057,7 @@ mymain(void)
host "/" cpu " (" #models ")", \
host, cpu, models, 0, result)
-#if WITH_QEMU && WITH_YAJL
+#if WITH_QEMU
# define DO_TEST_JSON(arch, host, json) \
do { \
if (json == JSON_MODELS) { \
@@ -1270,7 +1270,7 @@ mymain(void)
DO_TEST_CPUID(VIR_ARCH_X86_64, "Ice-Lake-Server", JSON_MODELS);
cleanup:
-#if WITH_QEMU && WITH_YAJL
+#if WITH_QEMU
qemuTestDriverFree(&driver);
#endif
diff --git a/tests/qemuagenttest.c b/tests/qemuagenttest.c
index d8824b8f09..644dc9d08b 100644
--- a/tests/qemuagenttest.c
+++ b/tests/qemuagenttest.c
@@ -1426,11 +1426,6 @@ mymain(void)
{
int ret = 0;
-#if !WITH_YAJL
- fputs("libvirt not compiled with JSON support, skipping this test\n", stderr);
- return EXIT_AM_SKIP;
-#endif
-
if (qemuTestDriverInit(&driver) < 0)
return EXIT_FAILURE;
diff --git a/tests/qemublocktest.c b/tests/qemublocktest.c
index 2c170548ec..c9335774b9 100644
--- a/tests/qemublocktest.c
+++ b/tests/qemublocktest.c
@@ -18,22 +18,20 @@
#include "testutils.h"
+#include "testutilsqemu.h"
+#include "testutilsqemuschema.h"
+#include "virstoragefile.h"
+#include "virstring.h"
+#include "virlog.h"
+#include "qemu/qemu_block.h"
+#include "qemu/qemu_qapi.h"
-#if WITH_YAJL
-# include "testutilsqemu.h"
-# include "testutilsqemuschema.h"
-# include "virstoragefile.h"
-# include "virstring.h"
-# include "virlog.h"
-# include "qemu/qemu_block.h"
-# include "qemu/qemu_qapi.h"
+#include "qemu/qemu_command.h"
-# include "qemu/qemu_command.h"
+#define LIBVIRT_SNAPSHOT_CONF_PRIV_H_ALLOW
+#include "conf/snapshot_conf_priv.h"
-# define LIBVIRT_SNAPSHOT_CONF_PRIV_H_ALLOW
-# include "conf/snapshot_conf_priv.h"
-
-# define VIR_FROM_THIS VIR_FROM_NONE
+#define VIR_FROM_THIS VIR_FROM_NONE
VIR_LOG_INIT("tests.storagetest");
@@ -523,7 +521,7 @@ mymain(void)
virTestCounterReset("qemu storage source xml->json->xml ");
-# define TEST_JSON_FORMAT(tpe, xmlstr) \
+#define TEST_JSON_FORMAT(tpe, xmlstr) \
do { \
xmljsonxmldata.type = tpe; \
xmljsonxmldata.xml = xmlstr; \
@@ -532,7 +530,7 @@ mymain(void)
ret = -1; \
} while (0)
-# define TEST_JSON_FORMAT_NET(xmlstr) \
+#define TEST_JSON_FORMAT_NET(xmlstr) \
TEST_JSON_FORMAT(VIR_STORAGE_TYPE_NETWORK, xmlstr)
TEST_JSON_FORMAT(VIR_STORAGE_TYPE_FILE, "<source file='/path/to/file'/>\n");
@@ -588,7 +586,7 @@ mymain(void)
" <host name='example.com' port='9999'/>\n"
"</source>\n");
-# define TEST_DISK_TO_JSON_FULL(nme, fl) \
+#define TEST_DISK_TO_JSON_FULL(nme, fl) \
do { \
diskxmljsondata.name = nme; \
diskxmljsondata.props = NULL; \
@@ -611,7 +609,7 @@ mymain(void)
testQemuDiskXMLToPropsClear(&diskxmljsondata); \
} while (0)
-# define TEST_DISK_TO_JSON(nme) TEST_DISK_TO_JSON_FULL(nme, false)
+#define TEST_DISK_TO_JSON(nme) TEST_DISK_TO_JSON_FULL(nme, false)
if (!(diskxmljsondata.schema = testQEMUSchemaLoad())) {
ret = -1;
@@ -667,7 +665,7 @@ mymain(void)
TEST_DISK_TO_JSON("block-raw-noopts");
TEST_DISK_TO_JSON("block-raw-reservations");
-# define TEST_IMAGE_CREATE(testname, testbacking) \
+#define TEST_IMAGE_CREATE(testname, testbacking) \
do { \
imagecreatedata.name = testname; \
imagecreatedata.backingname = testbacking; \
@@ -711,12 +709,4 @@ mymain(void)
return ret == 0 ? EXIT_SUCCESS : EXIT_FAILURE;
}
-#else
-static int
-mymain(void)
-{
- return EXIT_AM_SKIP;
-}
-#endif
-
VIR_TEST_MAIN(mymain)
diff --git a/tests/qemumigparamstest.c b/tests/qemumigparamstest.c
index b36aa60302..954cd1c578 100644
--- a/tests/qemumigparamstest.c
+++ b/tests/qemumigparamstest.c
@@ -201,11 +201,6 @@ mymain(void)
virQEMUDriver driver;
int ret = 0;
-#if !WITH_YAJL
- fputs("libvirt not compiled with JSON support, skipping this test\n", stderr);
- return EXIT_AM_SKIP;
-#endif
-
if (qemuTestDriverInit(&driver) < 0)
return EXIT_FAILURE;
diff --git a/tests/qemumonitorjsontest.c b/tests/qemumonitorjsontest.c
index 4f3bfad1d7..21b029390c 100644
--- a/tests/qemumonitorjsontest.c
+++ b/tests/qemumonitorjsontest.c
@@ -2991,11 +2991,6 @@ mymain(void)
virJSONValuePtr metaschema = NULL;
char *metaschemastr = NULL;
-#if !WITH_YAJL
- fputs("libvirt not compiled with JSON support, skipping this test\n", stderr);
- return EXIT_AM_SKIP;
-#endif
-
if (qemuTestDriverInit(&driver) < 0)
return EXIT_FAILURE;
--
2.19.2
5 years
[libvirt] [jenkins-ci PATCH 0/5] lcitool: Make Dockerfile generation work on openSUSE
by Andrea Bolognani
With this series applied, running
./lcitool dockerfile libvirt-opensuse-151 libvirt
results in a Dockerfile that can be successfully used to build a
container image, and that image in turn can be successfully used
to build libvirt in.
Andrea Bolognani (5):
guests: Add mapping for augeas-lenses
guests: Install augeas-lenses for libvirt
lcitool: Remove redundant update step for openSUSE
guests: Add base container image for openSUSE Leap 15.1
lcitool: Make Dockerfile generation work on openSUSE
guests/host_vars/libvirt-opensuse-151/docker.yml | 2 ++
guests/lcitool | 14 ++++++++++++--
guests/playbooks/update/tasks/base.yml | 7 -------
guests/vars/mappings.yml | 5 +++++
guests/vars/projects/libvirt.yml | 1 +
5 files changed, 20 insertions(+), 9 deletions(-)
create mode 100644 guests/host_vars/libvirt-opensuse-151/docker.yml
--
2.23.0
5 years
[libvirt] [jenkins-ci PATCH v2 0/6] Add support for gtk-vnc builds
by Daniel P. Berrangé
Support gtk-vnc and make virt-viewer depend on it
I sent this months ago & forgot to push it. Re-sending just in
case something has invalidated any patches. I've at least added
the newer distros
Daniel P. Berrangé (6):
mappings: add libgcrypt
mappings: add PulseAudio
projects: add gtk-vnc project
guests: pull in deps for gtk-vnc project
projects: make virt-viewer depend on gtk-vnc jobs
mappings: remove gtk-vnc2
guests/host_vars/libvirt-centos-7/main.yml | 1 +
guests/host_vars/libvirt-centos-8/main.yml | 1 +
guests/host_vars/libvirt-debian-10/main.yml | 1 +
guests/host_vars/libvirt-debian-9/main.yml | 1 +
guests/host_vars/libvirt-debian-sid/main.yml | 1 +
guests/host_vars/libvirt-fedora-30/main.yml | 1 +
guests/host_vars/libvirt-fedora-31/main.yml | 1 +
.../host_vars/libvirt-fedora-rawhide/main.yml | 3 ++
guests/host_vars/libvirt-freebsd-11/main.yml | 1 +
guests/host_vars/libvirt-freebsd-12/main.yml | 1 +
.../libvirt-freebsd-current/main.yml | 1 +
guests/host_vars/libvirt-ubuntu-1604/main.yml | 1 +
guests/host_vars/libvirt-ubuntu-1804/main.yml | 1 +
guests/playbooks/build/jobs/defaults.yml | 3 ++
.../build/projects/gtk-vnc+mingw32.yml | 12 ++++++++
.../build/projects/gtk-vnc+mingw64.yml | 12 ++++++++
guests/playbooks/build/projects/gtk-vnc.yml | 14 +++++++++
guests/vars/mappings.yml | 30 +++++++++++--------
guests/vars/projects/gtk-vnc+mingw32.yml | 6 ++++
guests/vars/projects/gtk-vnc+mingw64.yml | 6 ++++
guests/vars/projects/gtk-vnc.yml | 11 +++++++
guests/vars/projects/virt-viewer+mingw32.yml | 1 -
guests/vars/projects/virt-viewer+mingw64.yml | 1 -
guests/vars/projects/virt-viewer.yml | 1 -
jenkins/jobs/defaults.yaml | 3 ++
jenkins/projects/gtk-vnc+mingw32.yaml | 12 ++++++++
jenkins/projects/gtk-vnc+mingw64.yaml | 12 ++++++++
jenkins/projects/gtk-vnc.yaml | 17 +++++++++++
jenkins/projects/virt-viewer+mingw32.yaml | 4 ++-
jenkins/projects/virt-viewer+mingw64.yaml | 4 ++-
jenkins/projects/virt-viewer.yaml | 4 ++-
31 files changed, 149 insertions(+), 19 deletions(-)
create mode 100644 guests/playbooks/build/projects/gtk-vnc+mingw32.yml
create mode 100644 guests/playbooks/build/projects/gtk-vnc+mingw64.yml
create mode 100644 guests/playbooks/build/projects/gtk-vnc.yml
create mode 100644 guests/vars/projects/gtk-vnc+mingw32.yml
create mode 100644 guests/vars/projects/gtk-vnc+mingw64.yml
create mode 100644 guests/vars/projects/gtk-vnc.yml
create mode 100644 jenkins/projects/gtk-vnc+mingw32.yaml
create mode 100644 jenkins/projects/gtk-vnc+mingw64.yaml
create mode 100644 jenkins/projects/gtk-vnc.yaml
--
2.23.0
5 years
[libvirt] [jenkins-ci PATCH] lcitool: Only install EPEL on CentOS
by Andrea Bolognani
This fixes a bug introduced by commit 0a7993d3ed30 which caused
our machinery to try to install the epel-release on all targets,
including the likes of Debian and even FreeBSD.
Signed-off-by: Andrea Bolognani <abologna(a)redhat.com>
---
Pushed under the build breaker rule.
guests/playbooks/update/tasks/base.yml | 2 ++
1 file changed, 2 insertions(+)
diff --git a/guests/playbooks/update/tasks/base.yml b/guests/playbooks/update/tasks/base.yml
index 8128975..f721e39 100644
--- a/guests/playbooks/update/tasks/base.yml
+++ b/guests/playbooks/update/tasks/base.yml
@@ -21,6 +21,8 @@
package:
name: epel-release
state: latest
+ when:
+ - os_name == 'CentOS'
- name: Create OpenVZ key
template:
--
2.23.0
5 years
[libvirt] [PATCH 0/8] Don't hold both monitor and agent jobs at the same time
by Jonathon Jongsma
We have to assume that the guest agent may be malicious, so we don't want to
allow any agent queries to block any other libvirt API. By holding a monitor
job and an agent job while we're querying the agent, any other threads will be
blocked from using the monitor while the agent is unresponsive. Because libvirt
waits forever for an agent response, this makes us vulnerable to a denial of
service from a malicious (or simply buggy) guest agent.
This series of patches attempts to remove any cases where we were holding both
jobs at the same time, removes a convenience function which allows us to grab
both jobs at once, and updates documentation regarding this issue.
Jonathon Jongsma (8):
qemu: don't take agent and monitor job for shutdown
qemu: don't hold a monitor and agent job for reboot
qemu: don't hold both jobs for suspend
qemu: don't hold monitor and agent job when setting time
qemu: don't hold monitor job for fsinfo
qemu: don't hold monitor job for GetGuestInfo()
qemu: remove use of qemuDomainObjBeginJobWithAgent()
qemu: remove qemuDomainObjBegin/EndJobWithAgent()
src/qemu/THREADS.txt | 58 +-----
src/qemu/qemu_domain.c | 56 +-----
src/qemu/qemu_domain.h | 7 -
src/qemu/qemu_driver.c | 405 +++++++++++++++++++++++++----------------
4 files changed, 258 insertions(+), 268 deletions(-)
--
2.21.0
5 years