[libvirt] [PATCH] jenkins: skip gtk-vnc RPM build on centos 8
by Daniel P. Berrangé
We don't have a centos 8 host deployed in CI at this time
Signed-off-by: Daniel P. Berrangé <berrange(a)redhat.com>
---
jenkins/projects/gtk-vnc.yaml | 1 -
1 file changed, 1 deletion(-)
diff --git a/jenkins/projects/gtk-vnc.yaml b/jenkins/projects/gtk-vnc.yaml
index 95ff14b..4887000 100644
--- a/jenkins/projects/gtk-vnc.yaml
+++ b/jenkins/projects/gtk-vnc.yaml
@@ -15,7 +15,6 @@
# RPM build is still not possible on CentOS7 as it does not
# have the needed RPM macros for meson.
machines:
- - libvirt-centos-8
- libvirt-fedora-30
- libvirt-fedora-31
- libvirt-fedora-rawhide
--
2.24.1
4 years, 11 months
[libvirt] [jenkins-ci PATCH] jenkins: recursively update submodules on checkout
by Daniel P. Berrangé
The ansible playback runs 'git submodule update --init', so we
should have jenkins do the equivalent to ensure consistent
build environment setup.
In particular this works arounda bug with Meson when using
GIT on CentOS 7, causing it to fail to automatically update
the submodules.
Signed-off-by: Daniel P. Berrangé <berrange(a)redhat.com>
---
jenkins/jobs/autotools.yaml | 2 ++
jenkins/jobs/generic.yaml | 2 ++
jenkins/jobs/go.yaml | 2 ++
jenkins/jobs/meson.yaml | 2 ++
jenkins/jobs/perl-modulebuild.yaml | 2 ++
jenkins/jobs/python-distutils.yaml | 2 ++
6 files changed, 12 insertions(+)
diff --git a/jenkins/jobs/autotools.yaml b/jenkins/jobs/autotools.yaml
index 413af73..6b4d3f8 100644
--- a/jenkins/jobs/autotools.yaml
+++ b/jenkins/jobs/autotools.yaml
@@ -27,6 +27,8 @@
after: true
skip-tag: true
wipe-workspace: false
+ submodule:
+ recursive: true
triggers:
- reverse:
jobs: '{obj:parent_jobs}'
diff --git a/jenkins/jobs/generic.yaml b/jenkins/jobs/generic.yaml
index ca69513..46425ec 100644
--- a/jenkins/jobs/generic.yaml
+++ b/jenkins/jobs/generic.yaml
@@ -27,6 +27,8 @@
after: true
skip-tag: true
wipe-workspace: false
+ submodule:
+ recursive: true
triggers:
- reverse:
jobs: '{obj:parent_jobs}'
diff --git a/jenkins/jobs/go.yaml b/jenkins/jobs/go.yaml
index 1bdcb5f..3d25493 100644
--- a/jenkins/jobs/go.yaml
+++ b/jenkins/jobs/go.yaml
@@ -27,6 +27,8 @@
after: true
skip-tag: true
wipe-workspace: false
+ submodule:
+ recursive: true
triggers:
- reverse:
jobs: '{obj:parent_jobs}'
diff --git a/jenkins/jobs/meson.yaml b/jenkins/jobs/meson.yaml
index 4d84978..bf7e8ef 100644
--- a/jenkins/jobs/meson.yaml
+++ b/jenkins/jobs/meson.yaml
@@ -27,6 +27,8 @@
after: true
skip-tag: true
wipe-workspace: false
+ submodule:
+ recursive: true
triggers:
- reverse:
jobs: '{obj:parent_jobs}'
diff --git a/jenkins/jobs/perl-modulebuild.yaml b/jenkins/jobs/perl-modulebuild.yaml
index 7173493..cea0597 100644
--- a/jenkins/jobs/perl-modulebuild.yaml
+++ b/jenkins/jobs/perl-modulebuild.yaml
@@ -27,6 +27,8 @@
after: true
skip-tag: true
wipe-workspace: false
+ submodule:
+ recursive: true
triggers:
- reverse:
jobs: '{obj:parent_jobs}'
diff --git a/jenkins/jobs/python-distutils.yaml b/jenkins/jobs/python-distutils.yaml
index f56794c..4921aa7 100644
--- a/jenkins/jobs/python-distutils.yaml
+++ b/jenkins/jobs/python-distutils.yaml
@@ -27,6 +27,8 @@
after: true
skip-tag: true
wipe-workspace: false
+ submodule:
+ recursive: true
triggers:
- reverse:
jobs: '{obj:parent_jobs}'
--
2.23.0
4 years, 11 months
[libvirt] [perl PATCH] make Time::HiRes optional in test suite
by Daniel P. Berrangé
Signed-off-by: Daniel P. Berrangé <berrange(a)redhat.com>
---
t/800-events.t | 14 +++++++++-----
1 file changed, 9 insertions(+), 5 deletions(-)
diff --git a/t/800-events.t b/t/800-events.t
index dfbba8f..b7e767f 100644
--- a/t/800-events.t
+++ b/t/800-events.t
@@ -3,20 +3,24 @@
use strict;
use warnings;
-use Test::More tests => 23;
+use Test::More;
my $URI = "test:///default";
my $DOM = "test";
BEGIN {
- use_ok('Sys::Virt');
+ eval 'use Time::HiRes qw(gettimeofday)';
+ if ($@) {
+ plan skip_all => "Time::HiRes is not available";
+ return;
+ }
+ plan tests => 23;
+ use_ok('Sys::Virt');
}
package Sys::Virt::Event::Simple;
-use Time::HiRes qw(gettimeofday);
-
use base qw(Sys::Virt::Event);
sub new {
@@ -38,7 +42,7 @@ sub new {
sub _now {
my $self;
- my @now = gettimeofday;
+ my @now = &Time::HiRes::gettimeofday();
return $now[0] * 1000 + (($now[1] - ($now[1] % 1000)) / 1000);
}
--
2.23.0
4 years, 11 months
[libvirt] [jenkins-ci PATCH] jobs: Fix autotools-check-job
by Andrea Bolognani
find expects {} to be used as placeholder for filenames, but that
confuses Jenkins Job Builder which uses {foo} for variables. Use
xargs in a pipe instead.
Signed-off-by: Andrea Bolognani <abologna(a)redhat.com>
---
Pushed under the build breaker rule.
guests/playbooks/build/jobs/autotools-check-job.yml | 2 +-
jenkins/jobs/autotools.yaml | 2 +-
2 files changed, 2 insertions(+), 2 deletions(-)
diff --git a/guests/playbooks/build/jobs/autotools-check-job.yml b/guests/playbooks/build/jobs/autotools-check-job.yml
index a306902..7aa2a04 100644
--- a/guests/playbooks/build/jobs/autotools-check-job.yml
+++ b/guests/playbooks/build/jobs/autotools-check-job.yml
@@ -9,7 +9,7 @@
cd build
if ! $MAKE check
then
- find -name test-suite.log -exec cat {} \;
+ find -name test-suite.log | xargs cat
exit 1
fi
when:
diff --git a/jenkins/jobs/autotools.yaml b/jenkins/jobs/autotools.yaml
index 72dd72e..413af73 100644
--- a/jenkins/jobs/autotools.yaml
+++ b/jenkins/jobs/autotools.yaml
@@ -126,7 +126,7 @@
cd build
if ! $MAKE check
then
- find -name test-suite.log -exec cat {} \;
+ find -name test-suite.log | xargs cat
exit 1
fi
publishers:
--
2.24.1
4 years, 11 months
[libvirt] [jenkins-ci PATCH] guests: optionally wait for installation completion
by Daniel P. Berrangé
The install command is hardcoded to put the virt-install command into
the background. It is useful to be able to wait for completion, so you
know when you can go onto the package update step of setup, without
having to check back to see if the guest has finished installing.
Using --noautoconsole is preferred syntax for virt-install, avoiding
a warning about use of "--wait 0".
Signed-off-by: Daniel P. Berrangé <berrange(a)redhat.com>
---
guests/lcitool | 13 ++++++++++++-
1 file changed, 12 insertions(+), 1 deletion(-)
diff --git a/guests/lcitool b/guests/lcitool
index d24ac0d..8a681e4 100755
--- a/guests/lcitool
+++ b/guests/lcitool
@@ -394,11 +394,20 @@ class Application:
help="target architecture for cross compiler",
)
+ def add_wait_arg(parser):
+ parser.add_argument(
+ "-w", "--wait",
+ help="wait for installation to complete",
+ default=False,
+ action="store_true",
+ )
+
installparser = subparsers.add_parser(
"install", help="perform unattended host installation")
installparser.set_defaults(func=self._action_install)
add_hosts_arg(installparser)
+ add_wait_arg(installparser)
updateparser = subparsers.add_parser(
"update", help="prepare hosts and keep them updated")
@@ -597,9 +606,11 @@ class Application:
"--rng", "device=/dev/urandom,model=virtio",
"--initrd-inject", initrd_inject,
"--extra-args", extra_arg,
- "--wait", "0",
]
+ if not args.wait:
+ cmd.append("--noautoconsole")
+
# Only configure autostart for the guest for the jenkins flavor
if flavor == "jenkins":
cmd += ["--autostart"]
--
2.23.0
4 years, 11 months
[libvirt] [jenkins-ci PATCH v4 0/7] Add support for gtk-vnc builds
by Daniel P. Berrangé
Support gtk-vnc and make virt-viewer depend on it
v3: https://www.redhat.com/archives/libvir-list/2019-December/msg00957.html
Daniel P. Berrangé (7):
mappings: add libgcrypt
mappings: add PulseAudio
mappings: add gdk-pixbuf
guests: pull in deps for gtk-vnc project
projects: add 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 | 3 ++
guests/host_vars/libvirt-fedora-31/main.yml | 1 +
.../host_vars/libvirt-fedora-rawhide/main.yml | 1 +
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 | 19 +++++++++
guests/vars/mappings.yml | 42 +++++++++++++------
guests/vars/projects/gtk-vnc+mingw32.yml | 7 ++++
guests/vars/projects/gtk-vnc+mingw64.yml | 7 ++++
guests/vars/projects/gtk-vnc.yml | 12 ++++++
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 | 22 ++++++++++
jenkins/projects/virt-viewer+mingw32.yaml | 4 +-
jenkins/projects/virt-viewer+mingw64.yaml | 4 +-
jenkins/projects/virt-viewer.yaml | 4 +-
31 files changed, 174 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
4 years, 11 months
[libvirt] [PATCH v3 00/11] esx: various improvements
by Pino Toscano
- fix a bug in the esx VI generator
- implement connectListAllStoragePools, so
virConnectListAllStoragePools() works
- implement connectListAllNetworks, so virConnectListAllNetworks()
works
- implement storagePoolListAllVolumes, so virStoragePoolListAllVolumes()
works
- implement domainGetHostname, so virDomainGetHostname() works
- implement domainInterfaceAddresses only for
VIR_DOMAIN_INTERFACE_ADDRESSES_SRC_AGENT, so
virDomainInterfaceAddresses() partially works
- improve virErrorNumber for some virReportError() calls
TODO:
- handle the comments in v2 about esxStoragePoolListAllVolumes()
Changes from v2:
- pushed patches reviewed with no changes required
- integrated the Reviewed-By in patches that required very minor
changes, will push them on request
- fixed bool/size_t error/count handling
- bumped API version numbers to 6.0.0
- fixed a bug in the esx VI generator
- implemented domainGetHostname
- implemented domainInterfaceAddresses
Pino Toscano (11):
esx: implement connectListAllStoragePools
esx: implement connectListAllNetworks
esx: split datastorePathToStorageVol helper
esx: split scsilunToStorageVol helper
esx: implement storagePoolListAllVolumes
esx: improve some of the virErrorNumber used
esx: implement domainGetHostname
esx: generator: fix free of elements in lists
esx: generator: add GuestNicInfo object
esx: implement domainInterfaceAddresses
docs: document implemented APIs in esx
docs/drvesx.html.in | 7 +
docs/news.xml | 14 ++
scripts/esx_vi_generator.py | 27 +++-
src/esx/esx_driver.c | 220 ++++++++++++++++++++++++++++
src/esx/esx_network_driver.c | 68 ++++++++-
src/esx/esx_storage_backend_iscsi.c | 202 +++++++++++++++++++++----
src/esx/esx_storage_backend_vmfs.c | 220 ++++++++++++++++++++++++++--
src/esx/esx_storage_driver.c | 84 +++++++++++
src/esx/esx_util.c | 4 +-
src/esx/esx_vi.c | 36 ++---
src/esx/esx_vi_generator.input | 54 +++++++
11 files changed, 862 insertions(+), 74 deletions(-)
--
2.24.1
4 years, 11 months
[libvirt] [PATCH 0/2] Fix freebsd build
by Michal Privoznik
Pushed under trivial and build breaker rules.
Michal Prívozník (2):
bhyve_parse_command.c: Don't jump onto non-existent label in
CONSUME_ARG()
bhyve_parse_command: Undefine CONSUME_ARG macro when no longer needed
src/bhyve/bhyve_parse_command.c | 4 +++-
1 file changed, 3 insertions(+), 1 deletion(-)
--
2.24.1
4 years, 11 months
Re: [libvirt] discuss about pvpanic
by Paolo Bonzini
On 08/01/20 09:25, zhenwei pi wrote:
> Hey, Paolo
>
> Currently, pvpapic only supports bit 0(PVPANIC_PANICKED).
> We usually expect that guest writes ioport (typical 0x505) in panic_notifier_list callback
> during handling panic, then we can handle pvpapic event PVPANIC_PANICKED in QEMU.
>
> On the other hand, guest wants to handle the crash by kdump-tools, and reboots without any
> panic_notifier_list callback. So QEMU only knows that guest has rebooted (because guest
> write 0xcf9 ioport for RCR request), but QEMU can't identify why guest resets.
>
> In production environment, we hit about 100+ guest reboot event everyday, sadly we
> can't separate the abnormal reboot from normal operation.
>
> We want to add a new bit for pvpanic event(maybe PVPANIC_CRASHLOADED) to represent the guest has crashed,
> and the panic is handled by the guest kernel. (here is the previous patch https://lkml.org/lkml/2019/12/14/265)
>
> What do you think about this solution? Or do you have any other suggestions?
Hi Zhenwei,
the kernel-side patch certainly makes sense. I assume that you want the
event to propagate up from QEMU to Libvirt and so on? The QEMU patch
would need to declare a new event (qapi/misc.json) and send it in
handle_event (hw/misc/pvpanic.c). For Libvirt I'm not familiar, so I'm
adding the respective list.
Another possibility is to simply not write to pvpanic if
kexec_crash_loaded() returns true; this would match what xen_panic_event
does for example. The kexec kernel would then log the panic normally,
without the need for MMIO at all. However, I have no problem with
adding a new bit to the pvpanic I/O port so once you post the QEMU patch
I will certainly ack the kernel side.
Thanks,
Paolo
4 years, 11 months