[libvirt PATCH v3 00/12] gitlab: expand the CI job coverage
by Daniel P. Berrangé
The main goals with this series are:
- Introduce a minimal job building the website and publishing
an artifact which can be deployed onto libvirt.org
- Introduce a minimal job building the libvirt.pot for import
into Weblate (only runs on git master branch)
- Introduce a signed-off-by check. We can add a rule to block
direct pushes without a SoB, but this will be needed to
block merge requests without a SoB.
- Expanding CI jobs to get coverage closer to Travis/Jenkins
- Reducing cross-build jobs to just interesting variants,
since the full set hasn't shown value in detecting failures
The Linux native job coverage is now a superset of that achieved
by Travis/Jenkins.
For post-merge testing the full set of jobs are run on git
master. This measured approx 50 minutes total duration.
For pre-merge testing the job count is reduced for quicker
turnaround time for developers Measured ~35 minutes total
duration for a cold cache, vs ~20 minutes for warm cache.
Changed in v3:
- Add job for validating Signed-off-by
- Add job for validating code style
- Use ccache for native/cross build jobs
- Eliminated the extra build stage and put all
native jobs in the same place, but with filters
- Keep all cross build jobs, but filter them based
on branch
Changed in v2:
- Add more native test jobs to run on git master
- Restrict git clone depth
- User variable for "make" command name
- Add test job to build the master pot file
- Remove extra configure args for website job
- Re-ordered patches to reduce repeated changes
Daniel P. Berrangé (12):
gitlab: add variable for make command name
gitlab: restrict git history to 100 commits
gitlab: create an explicit stage for cross build jobs
gitlab: use CI for building website contents
gitlab: reduce number of cross build jobs run by default
gitlab: rename the cross build jobs
gitlab: add mingw cross build CI jobs
gitlab: add x86_64 native CI jobs
gitlab: add job for building latest potfile
gitlab: introduce use of ccache for speeding up rebuilds
gitlab: introduce a check for validate DCO sign-off
gitlab: add explicit early job for syntax-check
.gitlab-ci.yml | 234 +++++++++++++++++++++++++++++++++++++----
scripts/require-dco.py | 96 +++++++++++++++++
2 files changed, 307 insertions(+), 23 deletions(-)
create mode 100755 scripts/require-dco.py
--
2.24.1
4 years, 7 months
[libvirt PATCH] tools: explain that '^' means 'Ctrl' for console escape sequence
by Daniel P. Berrangé
Signed-off-by: Daniel P. Berrangé <berrange(a)redhat.com>
---
tools/virsh-domain.c | 6 +++++-
1 file changed, 5 insertions(+), 1 deletion(-)
diff --git a/tools/virsh-domain.c b/tools/virsh-domain.c
index 8591e483a5..ada0189685 100644
--- a/tools/virsh-domain.c
+++ b/tools/virsh-domain.c
@@ -3002,7 +3002,11 @@ cmdRunConsole(vshControl *ctl, virDomainPtr dom,
}
vshPrintExtra(ctl, _("Connected to domain %s\n"), virDomainGetName(dom));
- vshPrintExtra(ctl, _("Escape character is %s\n"), priv->escapeChar);
+ vshPrintExtra(ctl, _("Escape character is %s"), priv->escapeChar);
+ if (priv->escapeChar[0] == '^') {
+ vshPrintExtra(ctl, " (Ctrl + %c)", priv->escapeChar[1]);
+ }
+ vshPrintExtra(ctl, "\n");
fflush(stdout);
if (virshRunConsole(ctl, dom, name, flags) == 0)
return true;
--
2.24.1
4 years, 7 months
[libvirt PATCH] docs: Clarify semantics of model/@usable attribute in dom caps
by Jiri Denemark
The documentation could confuse people to expect that CPU models with
usable='no' attribute are not usable at all on the current host. But
they cannot be only used without explicitly disabling some features.
Signed-off-by: Jiri Denemark <jdenemar(a)redhat.com>
---
docs/formatdomaincaps.html.in | 8 +++++---
1 file changed, 5 insertions(+), 3 deletions(-)
diff --git a/docs/formatdomaincaps.html.in b/docs/formatdomaincaps.html.in
index 66e758501b..4056e0bd31 100644
--- a/docs/formatdomaincaps.html.in
+++ b/docs/formatdomaincaps.html.in
@@ -249,9 +249,11 @@
The <code>mode</code> element contains a list of supported CPU
models, each described by a dedicated <code>model</code> element.
The <code>usable</code> attribute specifies whether the model can
- be used on the host. A special value <code>unknown</code> indicates
- libvirt does not have enough information to provide the usability
- data.
+ be used directly on the host. When usable='no' the corresponding model
+ cannot be used without disabling some features that the CPU of such
+ model is expected to have. A special value <code>unknown</code>
+ indicates libvirt does not have enough information to provide the
+ usability data.
</dd>
</dl>
--
2.26.0
4 years, 7 months
[PATCH] util: virdaemon: fix compilation on mingw
by Rafael Fonseca
The daemons are not supported on Win32 and therefore were not compiled
in that platform. However, with the daemon code sharing, all the code in
utils *is* compiled and it failed because `waitpid`, `fork`, and
`setsid` are not available. So, as before, let's not build them on
Win32 and make the code more portable by using existing vir* wrappers.
Signed-off-by: Rafael Fonseca <r4f4rfs(a)gmail.com>
---
src/util/virdaemon.c | 46 +++++++++++++++++++++++++++++++++++++++-----
1 file changed, 41 insertions(+), 5 deletions(-)
diff --git a/src/util/virdaemon.c b/src/util/virdaemon.c
index 789adc6c50..5d92c7def7 100644
--- a/src/util/virdaemon.c
+++ b/src/util/virdaemon.c
@@ -20,9 +20,7 @@
#include <config.h>
-#include <sys/types.h>
#include <sys/stat.h>
-#include <sys/wait.h>
#include <fcntl.h>
#include <unistd.h>
#include <stdbool.h>
@@ -32,9 +30,13 @@
#include "virfile.h"
#include "virlog.h"
#include "viralloc.h"
+#include "virprocess.h"
+#include "vircommand.h"
#include "configmake.h"
+#ifndef WIN32
+
int
virDaemonForkIntoBackground(const char *argv0)
{
@@ -42,7 +44,7 @@ virDaemonForkIntoBackground(const char *argv0)
if (virPipeQuiet(statuspipe) < 0)
return -1;
- pid_t pid = fork();
+ pid_t pid = virFork();
switch (pid) {
case 0:
{
@@ -71,7 +73,7 @@ virDaemonForkIntoBackground(const char *argv0)
if (setsid() < 0)
goto cleanup;
- nextpid = fork();
+ nextpid = virFork();
switch (nextpid) {
case 0: /* grandchild */
return statuspipe[1];
@@ -102,7 +104,7 @@ virDaemonForkIntoBackground(const char *argv0)
VIR_FORCE_CLOSE(statuspipe[1]);
/* We wait to make sure the first child forked successfully */
- if ((got = waitpid(pid, &exitstatus, 0)) < 0 ||
+ if ((got = virProcessWait(pid, &exitstatus, 0)) < 0 ||
got != pid ||
exitstatus != 0) {
goto error;
@@ -250,3 +252,37 @@ virDaemonUnixSocketPaths(const char *sock_prefix,
VIR_FREE(rundir);
return ret;
}
+
+#else /* WIN32 */
+
+int virDaemonForkIntoBackground(const char *argv0 G_GNUC_UNUSED)
+{
+ errno = ENOTSUP;
+ return -1;
+}
+
+void virDaemonSetupLogging(const char *daemon_name G_GNUC_UNUSED,
+ unsigned int log_level G_GNUC_UNUSED,
+ char *log_filters G_GNUC_UNUSED,
+ char *log_outputs G_GNUC_UNUSED,
+ bool privileged G_GNUC_UNUSED,
+ bool verbose G_GNUC_UNUSED,
+ bool godaemon G_GNUC_UNUSED)
+{
+ /* NOOP */
+ errno = ENOTSUP;
+ return;
+}
+
+int virDaemonUnixSocketPaths(const char *sock_prefix G_GNUC_UNUSED,
+ bool privileged G_GNUC_UNUSED,
+ char *unix_sock_dir G_GNUC_UNUSED,
+ char **sockfile G_GNUC_UNUSED,
+ char **rosockfile G_GNUC_UNUSED,
+ char **adminSockfile G_GNUC_UNUSED)
+{
+ errno = ENOTSUP;
+ return -1;
+}
+
+#endif /* WIN32 */
--
2.25.1
4 years, 7 months
[libvirt PATCH v2 0/5] QEMU: support QEMU built without TCG
by Tobin Feldman-Fitzthum
Edit: left out one line from v1.
Since version 2.10, QEMU can be built without TCG. This patch
adds capabillity QEMU_CAPS_TCG_DISABLED that allows libvirt
to use a QEMU built without TCG.
Rather than create a capability that is set whenever TCG is
enabled (almost always), QEMU_CAPS_TCG_DISABLED is set only
when the TCG is not available. This avoids some issues
with backwards compatability.
For a domain that was created using QEMU >= 2.10 with KVM,
there is no information in the cached XML file that says
whether or not TCG was enabled. Versions of QEMU older
than 2.10 do not have a QMP interface for determining
whether QEMU is available. Since QEMU_CAPS_TCG_DISABLED
is set only when TCG is disabled, we do not have to do any
extra work to infer an appropriate value in either of these
cases.
QEMU_CAPS_TCG_DISABLED is set via QMP command qom-list-types.
Tobin Feldman-Fitzthum (5):
add QEMU_CAPS_TCG_DISABLED and probe conditionally
add virQEMUCapsGetVirtType convenience function
add virQEMUCapsProbeQMPTCGState function to set QEMU_CAPS_TCG_DISABLED
use new functions when probing
Add second qom-list-types call to test data.
src/qemu/qemu_capabilities.c | 81 +-
src/qemu/qemu_capabilities.h | 3 +
.../caps_2.10.0.aarch64.replies | 2695 ++-
.../caps_2.10.0.ppc64.replies | 2799 ++-
.../caps_2.10.0.s390x.replies | 1027 +-
.../caps_2.10.0.x86_64.replies | 1702 +-
.../caps_2.11.0.s390x.replies | 1063 +-
.../caps_2.11.0.x86_64.replies | 1688 +-
.../caps_2.12.0.aarch64.replies | 2960 +++-
.../caps_2.12.0.ppc64.replies | 2947 +++-
.../caps_2.12.0.s390x.replies | 1087 +-
.../caps_2.12.0.x86_64.replies | 1827 +-
.../caps_3.0.0.ppc64.replies | 2979 +++-
.../caps_3.0.0.s390x.replies | 1117 +-
.../caps_3.0.0.x86_64.replies | 1843 +-
.../caps_3.1.0.ppc64.replies | 2999 +++-
.../caps_3.1.0.x86_64.replies | 1863 +-
.../caps_4.0.0.aarch64.replies | 3223 +++-
.../caps_4.0.0.ppc64.replies | 3211 +++-
.../caps_4.0.0.s390x.replies | 1259 +-
.../caps_4.0.0.x86_64.replies | 1975 ++-
.../caps_4.1.0.x86_64.replies | 2207 ++-
.../caps_4.2.0.aarch64.replies | 3409 +++-
.../caps_4.2.0.ppc64.replies | 3248 +++-
.../caps_4.2.0.s390x.replies | 1259 +-
.../caps_4.2.0.x86_64.replies | 2296 ++-
.../caps_5.0.0.aarch64.replies | 3445 +++-
.../caps_5.0.0.ppc64.replies | 14002 +++++++++-------
.../qemucapabilitiesdata/caps_5.0.0.ppc64.xml | 1220 +-
.../caps_5.0.0.x86_64.replies | 2319 ++-
30 files changed, 65236 insertions(+), 8517 deletions(-)
--
2.20.1 (Apple Git-117)
4 years, 8 months
Entering freeze for libvirt-6.2.0
by Daniel Veillard
I forgot to announce plans, sorry about this, entering freeze now
I hope there isn't too many pending patchestargetting this release.
The plan would be to push the RC2 on Tuesday with a release on April 2nd
if everything goes fine.
You can find the signed tarball and source rpm at the usual place:
https://libvirt.org/sources/
the rc1 is also tagged in git.
Please give it a try, so we can have a normal release,
in those time of pandemy, take care, stay safe,
thanks !
Daniel
--
Daniel Veillard | Red Hat Developers Tools http://developer.redhat.com/
veillard(a)redhat.com | libxml Gnome XML XSLT toolkit http://xmlsoft.org/
http://veillard.com/ | virtualization library http://libvirt.org/
4 years, 8 months
[libvirt PATCH 0/5] QEMU: support QEMU built without TCG
by Tobin Feldman-Fitzthum
Since version 2.10, QEMU can be built without TCG. This patch
adds capabillity QEMU_CAPS_TCG_DISABLED that allows libvirt
to use a QEMU built without TCG.
Rather than create a capability that is set whenever TCG is
enabled (almost always), QEMU_CAPS_TCG_DISABLED is set only
when the TCG is not available. This avoids some issues
with backwards compatability.
For a domain that was created using QEMU >= 2.10 with KVM,
there is no information in the cached XML file that says
whether or not TCG was enabled. Versions of QEMU older
than 2.10 do not have a QMP interface for determining
whether QEMU is available. Since QEMU_CAPS_TCG_DISABLED
is set only when TCG is disabled, we do not have to do any
extra work to infer an appropriate value in either of these
cases.
QEMU_CAPS_TCG_DISABLED is set via QMP command qom-list-types.
Tobin Feldman-Fitzthum (5):
add QEMU_CAPS_TCG_DISABLED and probe conditionally
add virQEMUCapsGetVirtType convenience function
add virQEMUCapsProbeQMPTCGState function to set QEMU_CAPS_TCG_DISABLED
use new functions when probing
Add second qom-list-types call to test data.
src/qemu/qemu_capabilities.c | 80 +-
src/qemu/qemu_capabilities.h | 3 +
.../caps_2.10.0.aarch64.replies | 2695 ++-
.../caps_2.10.0.ppc64.replies | 2799 ++-
.../caps_2.10.0.s390x.replies | 1027 +-
.../caps_2.10.0.x86_64.replies | 1702 +-
.../caps_2.11.0.s390x.replies | 1063 +-
.../caps_2.11.0.x86_64.replies | 1688 +-
.../caps_2.12.0.aarch64.replies | 2960 +++-
.../caps_2.12.0.ppc64.replies | 2947 +++-
.../caps_2.12.0.s390x.replies | 1087 +-
.../caps_2.12.0.x86_64.replies | 1827 +-
.../caps_3.0.0.ppc64.replies | 2979 +++-
.../caps_3.0.0.s390x.replies | 1117 +-
.../caps_3.0.0.x86_64.replies | 1843 +-
.../caps_3.1.0.ppc64.replies | 2999 +++-
.../caps_3.1.0.x86_64.replies | 1863 +-
.../caps_4.0.0.aarch64.replies | 3223 +++-
.../caps_4.0.0.ppc64.replies | 3211 +++-
.../caps_4.0.0.s390x.replies | 1259 +-
.../caps_4.0.0.x86_64.replies | 1975 ++-
.../caps_4.1.0.x86_64.replies | 2207 ++-
.../caps_4.2.0.aarch64.replies | 3409 +++-
.../caps_4.2.0.ppc64.replies | 3248 +++-
.../caps_4.2.0.s390x.replies | 1259 +-
.../caps_4.2.0.x86_64.replies | 2296 ++-
.../caps_5.0.0.aarch64.replies | 3445 +++-
.../caps_5.0.0.ppc64.replies | 14002 +++++++++-------
.../qemucapabilitiesdata/caps_5.0.0.ppc64.xml | 1220 +-
.../caps_5.0.0.x86_64.replies | 2319 ++-
30 files changed, 65235 insertions(+), 8517 deletions(-)
--
2.20.1 (Apple Git-117)
4 years, 8 months
[libvirt PATCH 0/2] gitlab: Improve make handling
by Andrea Bolognani
Andrea Bolognani (2):
gitlab: Add and use 'environment' template
gitlab: Define $MAKEFLAGS in environment
.gitlab-ci.yml | 28 ++++++++++++++++++++--------
1 file changed, 20 insertions(+), 8 deletions(-)
--
2.25.1
4 years, 8 months
[PATCH 0/4] Introduce shared daemon startup code
by Rafael Fonseca
Libvirt ships several daemons (libvirtd, virtlogd, virtlockd) that all
have similar code around general daemon startup. Right now the code is
duplicated for each daemon, but it could be shared, like in a new file
src/util/virdaemon.c.
Rafael Fonseca (4):
util: introduce shared daemon startup code
locking: use shared daemon startup code
logging: use shared daemon startup code
remote: use shared daemon startup code
src/libvirt_private.syms | 6 +
src/locking/lock_daemon.c | 251 ++++-------------------------------
src/logging/log_daemon.c | 239 ++++-----------------------------
src/remote/remote_daemon.c | 263 +++----------------------------------
src/util/Makefile.inc.am | 2 +
src/util/virdaemon.c | 255 +++++++++++++++++++++++++++++++++++
src/util/virdaemon.h | 74 +++++++++++
7 files changed, 410 insertions(+), 680 deletions(-)
create mode 100644 src/util/virdaemon.c
create mode 100644 src/util/virdaemon.h
--
2.25.1
4 years, 8 months