]> xenbits.xensource.com Git - libvirt.git/log
libvirt.git
3 years agonews: Document virtio-iommu
Andrea Bolognani [Fri, 8 Oct 2021 14:30:16 +0000 (16:30 +0200)]
news: Document virtio-iommu

Signed-off-by: Andrea Bolognani <abologna@redhat.com>
Reviewed-by: Ján Tomko <jtomko@redhat.com>
3 years agodocs: Document virtio-iommu
Andrea Bolognani [Fri, 8 Oct 2021 14:28:48 +0000 (16:28 +0200)]
docs: Document virtio-iommu

Signed-off-by: Andrea Bolognani <abologna@redhat.com>
Reviewed-by: Ján Tomko <jtomko@redhat.com>
3 years agoqemu: Generate command line for virtio-iommu
Andrea Bolognani [Fri, 24 Sep 2021 17:29:37 +0000 (19:29 +0200)]
qemu: Generate command line for virtio-iommu

https://bugzilla.redhat.com/show_bug.cgi?id=1653327

Signed-off-by: Andrea Bolognani <abologna@redhat.com>
Reviewed-by: Ján Tomko <jtomko@redhat.com>
3 years agotests: Add test for virtio-iommu address
Andrea Bolognani [Thu, 7 Oct 2021 17:44:26 +0000 (19:44 +0200)]
tests: Add test for virtio-iommu address

virtio-iommu needs to be an integrated device, and our address
assignment code will make sure that is the case. If the user has
provided an explicit address, however, we should make sure any
addresses pointing to a different bus are rejected.

Signed-off-by: Andrea Bolognani <abologna@redhat.com>
Reviewed-by: Ján Tomko <jtomko@redhat.com>
3 years agoqemu: Validate address type for virtio-iommu
Andrea Bolognani [Thu, 7 Oct 2021 17:53:45 +0000 (19:53 +0200)]
qemu: Validate address type for virtio-iommu

virtio-iommu is a PCI device and attempts to use a different
address type should be rejected.

Signed-off-by: Andrea Bolognani <abologna@redhat.com>
Reviewed-by: Ján Tomko <jtomko@redhat.com>
3 years agoqemu: Assign PCI address to virtio-iommu
Andrea Bolognani [Thu, 23 Sep 2021 17:29:07 +0000 (19:29 +0200)]
qemu: Assign PCI address to virtio-iommu

The device is configured to be an integrated endpoint, as is
necessary for it to function correctly.

Signed-off-by: Andrea Bolognani <abologna@redhat.com>
Reviewed-by: Ján Tomko <jtomko@redhat.com>
3 years agoconf: Add virDomainDeviceInfo to virDomainIOMMUDef
Andrea Bolognani [Thu, 23 Sep 2021 14:28:15 +0000 (16:28 +0200)]
conf: Add virDomainDeviceInfo to virDomainIOMMUDef

This is needed so that IOMMU devices can have addresses.

Existing IOMMU devices (intel-iommu and SMMUv3) are system
devices and as such don't have an address associated to them, but
virtio-iommu is a PCI device and needs one.

Signed-off-by: Andrea Bolognani <abologna@redhat.com>
Reviewed-by: Ján Tomko <jtomko@redhat.com>
3 years agoqemu: Validate use of ACPI with virtio-iommu
Andrea Bolognani [Thu, 7 Oct 2021 16:47:20 +0000 (18:47 +0200)]
qemu: Validate use of ACPI with virtio-iommu

virtio-iommu doesn't work without ACPI, so we need to make sure
the latter is enabled.

Signed-off-by: Andrea Bolognani <abologna@redhat.com>
Reviewed-by: Ján Tomko <jtomko@redhat.com>
3 years agoqemu: Validate capabilities for virtio-iommu
Andrea Bolognani [Thu, 7 Oct 2021 17:35:45 +0000 (19:35 +0200)]
qemu: Validate capabilities for virtio-iommu

Signed-off-by: Andrea Bolognani <abologna@redhat.com>
Reviewed-by: Ján Tomko <jtomko@redhat.com>
3 years agoqemu: Validate machine type used with virtio-iommu
Andrea Bolognani [Wed, 22 Sep 2021 17:02:17 +0000 (19:02 +0200)]
qemu: Validate machine type used with virtio-iommu

Signed-off-by: Andrea Bolognani <abologna@redhat.com>
Reviewed-by: Ján Tomko <jtomko@redhat.com>
3 years agotests: Add test cases for virtio-iommu
Andrea Bolognani [Thu, 23 Sep 2021 12:46:23 +0000 (14:46 +0200)]
tests: Add test cases for virtio-iommu

These represent valid uses of the device.

Signed-off-by: Andrea Bolognani <abologna@redhat.com>
Reviewed-by: Ján Tomko <jtomko@redhat.com>
3 years agoconf: Introduce virtio model for <iommu>
Andrea Bolognani [Thu, 23 Sep 2021 17:40:55 +0000 (19:40 +0200)]
conf: Introduce virtio model for <iommu>

Signed-off-by: Andrea Bolognani <abologna@redhat.com>
Reviewed-by: Ján Tomko <jtomko@redhat.com>
3 years agoqemu: Introduce QEMU_CAPS_VIRTIO_IOMMU_BOOT_BYPASS
Andrea Bolognani [Wed, 6 Oct 2021 16:35:39 +0000 (18:35 +0200)]
qemu: Introduce QEMU_CAPS_VIRTIO_IOMMU_BOOT_BYPASS

This capability detects the availability of the boot-bypass
property of the virtio-iommu-pci device.

This property was only introduced in QEMU 7.0 but, since the
device has been around for much longer, we end up querying its
properties for several more releases. As I don't have convenient
access to the 10+ binaries necessary to regenerate the replies,
I just put some fake data in there.

Signed-off-by: Andrea Bolognani <abologna@redhat.com>
Reviewed-by: Ján Tomko <jtomko@redhat.com>
3 years agoqemu: Introduce QEMU_CAPS_DEVICE_VIRTIO_IOMMU_PCI
Andrea Bolognani [Wed, 22 Sep 2021 17:15:01 +0000 (19:15 +0200)]
qemu: Introduce QEMU_CAPS_DEVICE_VIRTIO_IOMMU_PCI

This capability detects the availability of the virtio-iommu-pci
device.

Note that, while this device is present even in somewhat old
versions of QEMU, it's only some recent changes that made it
actually usable for our purposes.

Signed-off-by: Andrea Bolognani <abologna@redhat.com>
Reviewed-by: Ján Tomko <jtomko@redhat.com>
3 years agoqemu: Tweak some code
Andrea Bolognani [Thu, 23 Sep 2021 14:44:42 +0000 (16:44 +0200)]
qemu: Tweak some code

The altered code is functionally equivalent to the previous one,
but it's already laid down in a way that will make further
changes easier and less messy.

Signed-off-by: Andrea Bolognani <abologna@redhat.com>
Reviewed-by: Ján Tomko <jtomko@redhat.com>
3 years agoconf: Introduce VIR_PCI_CONNECT_INTEGRATED
Andrea Bolognani [Mon, 27 Sep 2021 13:49:23 +0000 (15:49 +0200)]
conf: Introduce VIR_PCI_CONNECT_INTEGRATED

This new flag can be used to convince the PCI address assignment
algorithm to place a device directly on the root bus. It will be
used to implement support for virtio-iommu, which needs to be an
integrated device in order to work correctly.

Signed-off-by: Andrea Bolognani <abologna@redhat.com>
Reviewed-by: Ján Tomko <jtomko@redhat.com>
3 years agotests: Add capabilities for QEMU 7.0.0 on aarch64
Andrea Bolognani [Fri, 18 Mar 2022 14:10:56 +0000 (15:10 +0100)]
tests: Add capabilities for QEMU 7.0.0 on aarch64

The QEMU binary is built from the v7.0.0-rc2 tag.

This causes the argument to -device to be generated in JSON
format, same as what 1a691fe1c840 has done for x86_64.

Signed-off-by: Andrea Bolognani <abologna@redhat.com>
3 years agotests: Update capabilities for QEMU 7.0.0 on ppc64
Andrea Bolognani [Tue, 29 Mar 2022 15:36:31 +0000 (17:36 +0200)]
tests: Update capabilities for QEMU 7.0.0 on ppc64

The QEMU binary is built from the v7.0.0-rc2 tag.

Some of the additional capabilities that show up are a
consequence of more features being enabled in this build than
in the one used to generate the replies initially.

Signed-off-by: Andrea Bolognani <abologna@redhat.com>
3 years agotests: Update capabilities for QEMU 7.0.0 on x86_64
Andrea Bolognani [Tue, 29 Mar 2022 13:13:02 +0000 (15:13 +0200)]
tests: Update capabilities for QEMU 7.0.0 on x86_64

The QEMU binary is built from the v7.0.0-rc2 tag.

Signed-off-by: Andrea Bolognani <abologna@redhat.com>
3 years agoqemu: Dissolve virQEMUCapsFindBinaryForArch()
Andrea Bolognani [Thu, 31 Mar 2022 09:01:24 +0000 (11:01 +0200)]
qemu: Dissolve virQEMUCapsFindBinaryForArch()

With the recent changes, virQEMUCapsGetDefaultEmulator() has
become a trivial wrapper around this function, as well as its
only caller. Clean up the situation by merging the two.

Signed-off-by: Andrea Bolognani <abologna@redhat.com>
Reviewed-by: Daniel P. Berrangé <berrange@redhat.com>
Tested-by: Jim Fehlig <jfehlig@suse.com>
3 years agoqemu: Don't assume that /usr/libexec/qemu-kvm exists
Andrea Bolognani [Thu, 31 Mar 2022 09:00:38 +0000 (11:00 +0200)]
qemu: Don't assume that /usr/libexec/qemu-kvm exists

On a machine where no QEMU binary is installed, we end up logging

  libvirtd: Cannot check QEMU binary /usr/libexec/qemu-kvm:
  No such file or directory

which is not very useful in general, and downright misleading in
the case of operating systems that are not derived from RHEL.

This is a consequence of treating that specific path in a different
way from all other possible QEMU binary paths, and specifically of
not checking whether the file actually exists but sort of assuming
that it must do if we haven't found another QEMU binary earlier.

Address the issue by trying this path out in
virQEMUCapsFindBinaryForArch(), along with all the other possible
ones, and making sure it exists before returning it.

Reported-by: Jim Fehlig <jfehlig@suse.com>
Signed-off-by: Andrea Bolognani <abologna@redhat.com>
Reviewed-by: Daniel P. Berrangé <berrange@redhat.com>
Tested-by: Jim Fehlig <jfehlig@suse.com>
3 years agoqemu: Clean up virQEMUCapsFindBinaryForArch()
Andrea Bolognani [Thu, 31 Mar 2022 08:56:55 +0000 (10:56 +0200)]
qemu: Clean up virQEMUCapsFindBinaryForArch()

If we get to the bottom of the function we know that none of the
attempts to locate a QEMU binary has been successful, so we can
simply return NULL directly.

This makes it unnecessary variable used to store the path, for
which we can use a more descriptive name.

Lastly, comparing with NULL explicitly is somewhat uncommon in
libvirt and more verbose than the equivalent implicit comparison,
so get rid of it.

Signed-off-by: Andrea Bolognani <abologna@redhat.com>
Reviewed-by: Daniel P. Berrangé <berrange@redhat.com>
Tested-by: Jim Fehlig <jfehlig@suse.com>
3 years agodocs: Convert 'php' page to rST
Peter Krempa [Thu, 10 Mar 2022 16:57:54 +0000 (17:57 +0100)]
docs: Convert 'php' page to rST

Signed-off-by: Peter Krempa <pkrempa@redhat.com>
Reviewed-by: Erik Skultety <eskultet@redhat.com>
3 years agodocs: logging: Replace example by link to kbase/debuglogs.html
Peter Krempa [Tue, 15 Mar 2022 13:56:56 +0000 (14:56 +0100)]
docs: logging: Replace example by link to kbase/debuglogs.html

The 'debuglogs' knowledge base page has way more info and examples on
how to set logging use it instead of the ad-hoc examples.

Signed-off-by: Peter Krempa <pkrempa@redhat.com>
Reviewed-by: Erik Skultety <eskultet@redhat.com>
3 years agodocs: Convert 'logging' page to rST
Peter Krempa [Thu, 10 Mar 2022 16:57:54 +0000 (17:57 +0100)]
docs: Convert 'logging' page to rST

Signed-off-by: Peter Krempa <pkrempa@redhat.com>
Reviewed-by: Erik Skultety <eskultet@redhat.com>
3 years agodocs: Convert 'java' page to rST
Peter Krempa [Thu, 10 Mar 2022 16:57:54 +0000 (17:57 +0100)]
docs: Convert 'java' page to rST

Signed-off-by: Peter Krempa <pkrempa@redhat.com>
Reviewed-by: Erik Skultety <eskultet@redhat.com>
3 years agodocs: Convert 'hooks' page to rST
Peter Krempa [Thu, 10 Mar 2022 16:57:54 +0000 (17:57 +0100)]
docs: Convert 'hooks' page to rST

Signed-off-by: Peter Krempa <pkrempa@redhat.com>
Reviewed-by: Erik Skultety <eskultet@redhat.com>
3 years agodocs: formatstorageencryption: Re-style encryption type headers
Peter Krempa [Tue, 15 Mar 2022 13:09:24 +0000 (14:09 +0100)]
docs: formatstorageencryption: Re-style encryption type headers

Use backticks to force monospace font instead of double quotes.

Signed-off-by: Peter Krempa <pkrempa@redhat.com>
Reviewed-by: Erik Skultety <eskultet@redhat.com>
3 years agodocs: formatstorageencryption: Drop empty 'default' paragraph
Peter Krempa [Tue, 15 Mar 2022 13:07:59 +0000 (14:07 +0100)]
docs: formatstorageencryption: Drop empty 'default' paragraph

Signed-off-by: Peter Krempa <pkrempa@redhat.com>
Reviewed-by: Erik Skultety <eskultet@redhat.com>
3 years agodocs: Convert 'formatstorageencryption' page to rST
Peter Krempa [Thu, 10 Mar 2022 16:57:54 +0000 (17:57 +0100)]
docs: Convert 'formatstorageencryption' page to rST

Signed-off-by: Peter Krempa <pkrempa@redhat.com>
Reviewed-by: Erik Skultety <eskultet@redhat.com>
3 years agodocs: Fix heading of 'formatnetworkport' page
Peter Krempa [Tue, 15 Mar 2022 12:47:22 +0000 (13:47 +0100)]
docs: Fix heading of 'formatnetworkport' page

The top level heading didn't contain the word 'port'.

Signed-off-by: Peter Krempa <pkrempa@redhat.com>
Reviewed-by: Erik Skultety <eskultet@redhat.com>
3 years agodocs: Convert 'formatnetworkport' to rST
Peter Krempa [Thu, 10 Mar 2022 16:57:53 +0000 (17:57 +0100)]
docs: Convert 'formatnetworkport' to rST

Signed-off-by: Peter Krempa <pkrempa@redhat.com>
Reviewed-by: Erik Skultety <eskultet@redhat.com>
3 years agodocs: Convert 'format' page to rST
Peter Krempa [Thu, 10 Mar 2022 16:57:53 +0000 (17:57 +0100)]
docs: Convert 'format' page to rST

Signed-off-by: Peter Krempa <pkrempa@redhat.com>
Reviewed-by: Erik Skultety <eskultet@redhat.com>
3 years agodocs: Convert 'firewall' page to rST
Peter Krempa [Thu, 10 Mar 2022 16:57:53 +0000 (17:57 +0100)]
docs: Convert 'firewall' page to rST

Signed-off-by: Peter Krempa <pkrempa@redhat.com>
Reviewed-by: Erik Skultety <eskultet@redhat.com>
3 years agodocs: Convert 'drvxen' page to rST
Peter Krempa [Thu, 10 Mar 2022 16:57:53 +0000 (17:57 +0100)]
docs: Convert 'drvxen' page to rST

Fix the referenced anchor in 'formatdomain.rst' right away.

Signed-off-by: Peter Krempa <pkrempa@redhat.com>
Reviewed-by: Erik Skultety <eskultet@redhat.com>
3 years agodocs: Convert 'drvvmware' page to rST
Peter Krempa [Thu, 10 Mar 2022 16:57:53 +0000 (17:57 +0100)]
docs: Convert 'drvvmware' page to rST

Signed-off-by: Peter Krempa <pkrempa@redhat.com>
Reviewed-by: Erik Skultety <eskultet@redhat.com>
3 years agodocs: Convert 'drvvirtuozzo' page to rST
Peter Krempa [Thu, 10 Mar 2022 16:57:53 +0000 (17:57 +0100)]
docs: Convert 'drvvirtuozzo' page to rST

Signed-off-by: Peter Krempa <pkrempa@redhat.com>
Reviewed-by: Erik Skultety <eskultet@redhat.com>
3 years agodocs: Convert 'drvvbox' page to rST
Peter Krempa [Thu, 10 Mar 2022 16:57:53 +0000 (17:57 +0100)]
docs: Convert 'drvvbox' page to rST

Signed-off-by: Peter Krempa <pkrempa@redhat.com>
Reviewed-by: Erik Skultety <eskultet@redhat.com>
3 years agodocs: Convert 'drvtest' page to rST
Peter Krempa [Thu, 10 Mar 2022 16:57:53 +0000 (17:57 +0100)]
docs: Convert 'drvtest' page to rST

The first sentence was moved up a paragraph to stop treating the first
sub-heading as a page subtitle.

Signed-off-by: Peter Krempa <pkrempa@redhat.com>
Reviewed-by: Erik Skultety <eskultet@redhat.com>
3 years agodocs: Convert 'drvsecret' page to rST
Peter Krempa [Thu, 10 Mar 2022 16:57:53 +0000 (17:57 +0100)]
docs: Convert 'drvsecret' page to rST

Signed-off-by: Peter Krempa <pkrempa@redhat.com>
Reviewed-by: Erik Skultety <eskultet@redhat.com>
3 years agodocs: Convert 'drvopenvz' page to rST
Peter Krempa [Thu, 10 Mar 2022 16:57:53 +0000 (17:57 +0100)]
docs: Convert 'drvopenvz' page to rST

Signed-off-by: Peter Krempa <pkrempa@redhat.com>
Reviewed-by: Erik Skultety <eskultet@redhat.com>
3 years agodocs: Convert 'drvnodedev' page to rST
Peter Krempa [Thu, 10 Mar 2022 16:57:53 +0000 (17:57 +0100)]
docs: Convert 'drvnodedev' page to rST

Fix one cross link anchor along with the conversion.

Signed-off-by: Peter Krempa <pkrempa@redhat.com>
Reviewed-by: Erik Skultety <eskultet@redhat.com>
3 years agodocs: Convert 'drvlxc' page to rST
Peter Krempa [Thu, 10 Mar 2022 16:57:53 +0000 (17:57 +0100)]
docs: Convert 'drvlxc' page to rST

Signed-off-by: Peter Krempa <pkrempa@redhat.com>
Reviewed-by: Erik Skultety <eskultet@redhat.com>
3 years agodocs: Convert 'drvhyperv' page to rST
Peter Krempa [Thu, 10 Mar 2022 16:57:53 +0000 (17:57 +0100)]
docs: Convert 'drvhyperv' page to rST

Signed-off-by: Peter Krempa <pkrempa@redhat.com>
Reviewed-by: Erik Skultety <eskultet@redhat.com>
3 years agodocs: Convert 'drvesx' page to rST
Peter Krempa [Thu, 10 Mar 2022 16:57:53 +0000 (17:57 +0100)]
docs: Convert 'drvesx' page to rST

Signed-off-by: Peter Krempa <pkrempa@redhat.com>
Reviewed-by: Erik Skultety <eskultet@redhat.com>
3 years agodocs: Convert 'drvbhyve' page to rST
Peter Krempa [Thu, 10 Mar 2022 16:57:53 +0000 (17:57 +0100)]
docs: Convert 'drvbhyve' page to rST

Signed-off-by: Peter Krempa <pkrempa@redhat.com>
Reviewed-by: Erik Skultety <eskultet@redhat.com>
3 years agodocs: Convert 'cgroups' page to rST
Peter Krempa [Thu, 10 Mar 2022 16:57:53 +0000 (17:57 +0100)]
docs: Convert 'cgroups' page to rST

Signed-off-by: Peter Krempa <pkrempa@redhat.com>
Reviewed-by: Erik Skultety <eskultet@redhat.com>
3 years agodocs: Remove empty unreferenced 'drvremote' page
Peter Krempa [Thu, 10 Mar 2022 16:57:53 +0000 (17:57 +0100)]
docs: Remove empty unreferenced 'drvremote' page

Signed-off-by: Peter Krempa <pkrempa@redhat.com>
Reviewed-by: Erik Skultety <eskultet@redhat.com>
3 years agomeson: Use dicts to initialize cfg_data objects
Andrea Bolognani [Tue, 29 Mar 2022 09:43:36 +0000 (11:43 +0200)]
meson: Use dicts to initialize cfg_data objects

Instead of creating an empty object and then setting keys one
at a time, it is possible to pass a dict object to
configuration_data(). This is nicer because it doesn't require
repeating the name of the cfg_data object over and over.

There is one exception: the 'conf' object, where we store values
that are used directly by C code. In that case, using a dict
object is not feasible for two reasons: first of all, replacing
the set_quoted() calls would result in awkward code with a lot
of calls to format(); moreover, since code that modifies it is
sprinkled all over the place, refactoring it would probably
make things more complicated rather than simpler.

Signed-off-by: Andrea Bolognani <abologna@redhat.com>
Reviewed-by: Martin Kletzander <mkletzan@redhat.com>
3 years agoqemu: Use real defaults for user and group in qemu.conf
Andrea Bolognani [Mon, 28 Mar 2022 13:26:11 +0000 (15:26 +0200)]
qemu: Use real defaults for user and group in qemu.conf

The default values used by the library are determined at configure
time based on a number of factors, and we should reflect them in
the installed configuration file to make the comments it contains
more useful.

Resolves: https://gitlab.com/libvirt/libvirt/-/issues/263
Signed-off-by: Andrea Bolognani <abologna@redhat.com>
Reviewed-by: Michal Privoznik <mprivozn@redhat.com>
3 years agoutil: Improve macOS workaround
Andrea Bolognani [Mon, 28 Mar 2022 15:24:47 +0000 (17:24 +0200)]
util: Improve macOS workaround

Since the workaround is specific to macOS, only disable compiler
warnings when building on that platform.

While at it, update the comment to reflect the fact that the
workaround is needed for all versions of the OS, including the
modern ones that we currently target.

Signed-off-by: Andrea Bolognani <abologna@redhat.com>
Reviewed-by: Michal Privoznik <mprivozn@redhat.com>
3 years agoqemu: Rename virDomainAsyncJobPhase{From,To}String
Jiri Denemark [Wed, 30 Mar 2022 07:39:12 +0000 (09:39 +0200)]
qemu: Rename virDomainAsyncJobPhase{From,To}String

Recent refactor (v8.1.0-217-ga193f4bef6) generalized job related enums
and functions by changing "qemu" prefix to "vir" and moving them to
src/hypervisor/domain_job.[ch]. This was in most cases a good thing, but
async job phases are driver specific and the corresponding functions
remained in src/qemu/qemu_domainjob.[ch], but still their prefix was
changed to "vir". Let's change it back to "qemu".

Signed-off-by: Jiri Denemark <jdenemar@redhat.com>
Reviewed-by: Ján Tomko <jtomko@redhat.com>
3 years agoPost-release version bump to 8.3.0
Jiri Denemark [Fri, 1 Apr 2022 10:29:50 +0000 (12:29 +0200)]
Post-release version bump to 8.3.0

Signed-off-by: Jiri Denemark <jdenemar@redhat.com>
3 years agoRelease of libvirt-8.2.0
Jiri Denemark [Fri, 1 Apr 2022 10:23:38 +0000 (12:23 +0200)]
Release of libvirt-8.2.0

Signed-off-by: Jiri Denemark <jdenemar@redhat.com>
3 years agoNEWS: Document some contributions
Michal Privoznik [Fri, 1 Apr 2022 09:02:40 +0000 (11:02 +0200)]
NEWS: Document some contributions

Document either my contributions or commits I helped review for
the upcoming release.

Signed-off-by: Michal Privoznik <mprivozn@redhat.com>
Reviewed-by: Jiri Denemark <jdenemar@redhat.com>
3 years agoNEWS: Mention 'manual' snapshots and FD passing for 'virsh qemu-monitor-command'
Peter Krempa [Fri, 1 Apr 2022 08:44:22 +0000 (10:44 +0200)]
NEWS: Mention 'manual' snapshots and FD passing for 'virsh qemu-monitor-command'

Signed-off-by: Peter Krempa <pkrempa@redhat.com>
Reviewed-by: Jiri Denemark <jdenemar@redhat.com>
3 years agocheckpoint: Fix a typo of comments
Han Han [Fri, 1 Apr 2022 03:03:26 +0000 (11:03 +0800)]
checkpoint: Fix a typo of comments

Signed-off-by: Han Han <hhan@redhat.com>
Reviewed-by: Ján Tomko <jtomko@redhat.com>
Signed-off-by: Ján Tomko <jtomko@redhat.com>
3 years agovirsh: Fix integer overflow in allocpages
Michal Privoznik [Wed, 30 Mar 2022 11:54:50 +0000 (13:54 +0200)]
virsh: Fix integer overflow in allocpages

I've came across an aarch64 system which supports hugepages up to
16GiB of size. However, I was unable to allocate them using
virsh allocpages. This is because cmdAllocpages() uses
vshCommandOptScaledInt(), which scales passed value into bytes,
but since the virNodeAllocPages() expects size in KiB the
variable holding bytes is then divided by 1024. However, the
limit for the biggest value passed to vshCommandOptScaledInt() is
UINT_MAX which is now obviously wrong, as it needs to be UINT_MAX
* 1024.

The same bug is in completer. But here, let's use ULLONG_MAX so
that we don't have to care about it anymore.

Signed-off-by: Michal Privoznik <mprivozn@redhat.com>
Reviewed-by: Ján Tomko <jtomko@redhat.com>
3 years agoFix spelling
Tim Wiederhake [Wed, 30 Mar 2022 14:45:04 +0000 (16:45 +0200)]
Fix spelling

Signed-off-by: Tim Wiederhake <twiederh@redhat.com>
Reviewed-by: Andrea Bolognani <abologna@redhat.com>
3 years agoqemu: fix hotplug for multiqueue vdpa net device
Jonathon Jongsma [Tue, 29 Mar 2022 19:24:36 +0000 (14:24 -0500)]
qemu: fix hotplug for multiqueue vdpa net device

While commit a5e659f0 removed the restriction against multiple queues
for the vdpa net device, there were some missing pieces. Configuring a
device statically and then starting the domain worked as expected, but
hotplugging a device didn't have the expected multiqueue support
enabled. Add the missing bits.

Consider the following device xml:
    <interface type="vdpa">
      <mac address="00:11:22:33:44:03" />
      <source dev="/dev/vhost-vdpa-0" />
      <model type="virtio" />
      <driver queues='2' />
    </interface>

Without this patch, hotplugging the above XML description resulted in
the following:
    {"execute":"netdev_add","arguments":{"type":"vhost-vdpa","vhostdev":"/dev/fdset/0","id":"hostnet1"},"id":"libvirt-392"}
    {"execute":"device_add","arguments":{"driver":"virtio-net-pci","netdev":"hostnet1","id":"net1","mac":"00:11:22:33:44:03","bus":"pci.5","addr":"0x0"},"id":"libvirt-393"}

With the patch, hotplugging results in the following:
    {"execute":"netdev_add","arguments":{"type":"vhost-vdpa","vhostdev":"/dev/fdset/0","queues":2,"id":"hostnet1"},"id":"libvirt-392"}
    {"execute":"device_add","arguments":{"driver":"virtio-net-pci","mq":true,"vectors":6,"netdev":"hostnet1","id":"net1","mac":"00:11:22:33:44:03","bus":"pci.5","addr":"0x0"},"id":"libvirt-393"}

Resolves: https://bugzilla.redhat.com/show_bug.cgi?id=2024406

Signed-off-by: Jonathon Jongsma <jjongsma@redhat.com>
Reviewed-by: Ján Tomko <jtomko@redhat.com>
3 years agofix documentation for sockets topology
John Levon [Tue, 29 Mar 2022 17:38:11 +0000 (18:38 +0100)]
fix documentation for sockets topology

In 0895a0e, it was noted that the "sockets" value in the topology
section of capabilities reflects not the number of sockets per NUMA
node, not the total number.

Unfortunately, the fix was applied to the wrong place: the domain XML
format documentation, not that for the capabilities output. And, in
fact, the domain XML interprets "sockets" as the total number, not a
per-node value.

Back out this change in favour of a note in the capabilities
documentation instead.

Fixes: 0895a0e75d13874254218e16dc66dcad673671d3
Suggested-by: Daniel P. Berrangé <berrange@redhat.com>
Reviewed-by: Daniel P. Berrangé <berrange@redhat.com>
Signed-off-by: John Levon <john.levon@nutanix.com>
3 years agoTranslated using Weblate (Korean)
김인수 [Wed, 30 Mar 2022 08:23:44 +0000 (10:23 +0200)]
Translated using Weblate (Korean)

Currently translated at 100.0% (10411 of 10411 strings)

Translation: libvirt/libvirt
Translate-URL: https://translate.fedoraproject.org/projects/libvirt/libvirt/ko/

Co-authored-by: 김인수 <simmon@nplob.com>
Signed-off-by: 김인수 <simmon@nplob.com>
3 years agoTranslated using Weblate (Ukrainian)
Yuri Chornoivan [Wed, 30 Mar 2022 08:23:44 +0000 (10:23 +0200)]
Translated using Weblate (Ukrainian)

Currently translated at 100.0% (10411 of 10411 strings)

Translation: libvirt/libvirt
Translate-URL: https://translate.fedoraproject.org/projects/libvirt/libvirt/uk/

Co-authored-by: Yuri Chornoivan <yurchor@ukr.net>
Signed-off-by: Yuri Chornoivan <yurchor@ukr.net>
3 years agoUpdate translation files
Weblate [Wed, 30 Mar 2022 08:23:42 +0000 (10:23 +0200)]
Update translation files

Updated by "Update PO files to match POT (msgmerge)" hook in Weblate.

Translation: libvirt/libvirt
Translate-URL: https://translate.fedoraproject.org/projects/libvirt/libvirt/

Co-authored-by: Weblate <noreply@weblate.org>
Signed-off-by: Fedora Weblate Translation <i18n@lists.fedoraproject.org>
3 years agovirConnectDomainEventRegisterAny: correct docs
John Levon [Fri, 25 Mar 2022 16:03:35 +0000 (16:03 +0000)]
virConnectDomainEventRegisterAny: correct docs

The callback ID can be zero, not necessarily positive; correct the
comment to reflect this.

Signed-off-by: John Levon <levon@movementarian.org>
Reviewed-by: Michal Privoznik <mprivozn@redhat.com>
3 years agovirfile: Report error when changing pipe size fails
Michal Privoznik [Mon, 28 Mar 2022 11:29:19 +0000 (13:29 +0200)]
virfile: Report error when changing pipe size fails

When changing the size of pipe that virFileWrapperFdNew() creates
we start at 1MiB and if that fails because it's above the system
wide limit we get EPERM and continue with half of the size.

However, we might get another error in which case we should
report proper system error and return failure from
virFileWrapperFdNew().

Signed-off-by: Michal Privoznik <mprivozn@redhat.com>
Reviewed-by: Daniel P. Berrangé <berrange@redhat.com>
3 years agopo: Refresh potfile for v8.2.0
Jiri Denemark [Mon, 28 Mar 2022 11:53:45 +0000 (13:53 +0200)]
po: Refresh potfile for v8.2.0

Signed-off-by: Jiri Denemark <jdenemar@redhat.com>
3 years agoNEWS: Mention the qemu device property override feature
Peter Krempa [Mon, 21 Mar 2022 15:08:45 +0000 (16:08 +0100)]
NEWS: Mention the qemu device property override feature

Signed-off-by: Peter Krempa <pkrempa@redhat.com>
Reviewed-by: Michal Privoznik <mprivozn@redhat.com>
3 years agoqemu: command: Override device definition according to the namespace config
Peter Krempa [Mon, 21 Mar 2022 14:17:47 +0000 (15:17 +0100)]
qemu: command: Override device definition according to the namespace config

Apply the user-requested changes to the device definition as requested
by the <qemu:deviceOverride> element from the custom qemu XML namespace.

Closes: https://gitlab.com/libvirt/libvirt/-/issues/287
Signed-off-by: Peter Krempa <pkrempa@redhat.com>
Reviewed-by: Michal Privoznik <mprivozn@redhat.com>
3 years agoqemuBuildDeviceCommandlineFromJSON: Pass 'virDomainDef' into the function
Peter Krempa [Mon, 21 Mar 2022 13:33:08 +0000 (14:33 +0100)]
qemuBuildDeviceCommandlineFromJSON: Pass 'virDomainDef' into the function

The definition object will be later used to access the qemu namespace
definition used to override device properties.

Signed-off-by: Peter Krempa <pkrempa@redhat.com>
Reviewed-by: Michal Privoznik <mprivozn@redhat.com>
3 years agoconf: Introduce VIR_DOMAIN_TAINT_CUSTOM_DEVICE and use it in qemu
Peter Krempa [Mon, 21 Mar 2022 14:48:17 +0000 (15:48 +0100)]
conf: Introduce VIR_DOMAIN_TAINT_CUSTOM_DEVICE and use it in qemu

Taint the domain object when the user requests custom device properties.

Signed-off-by: Peter Krempa <pkrempa@redhat.com>
Reviewed-by: Michal Privoznik <mprivozn@redhat.com>
3 years agoqemu: domain: Add XML namespace code for overriding device config
Peter Krempa [Wed, 16 Mar 2022 10:27:48 +0000 (11:27 +0100)]
qemu: domain: Add XML namespace code for overriding device config

Implement the XML parser and formatter for overriding of device
properties such as:

  <qemu:override>
    <qemu:device alias='ua-disk'>
      <qemu:frontend>
        <qemu:property name='prop1' type='string' value='propval1'/>
        <qemu:property name='prop2' type='signed' value='-321'/>
        <qemu:property name='prop3' type='unsigned' value='123'/>
        <qemu:property name='prop4' type='bool' value='true'/>
        <qemu:property name='prop5' type='bool' value='false'/>
        <qemu:property name='prop6' type='bool' value='false'/>
        <qemu:property name='prop6' type='remove'/>
      </qemu:frontend>
    </qemu:device>
  </qemu:override>

Signed-off-by: Peter Krempa <pkrempa@redhat.com>
Reviewed-by: Michal Privoznik <mprivozn@redhat.com>
3 years agodocs: drvqemu: Document overriding of device properties
Peter Krempa [Mon, 21 Mar 2022 11:02:53 +0000 (12:02 +0100)]
docs: drvqemu: Document overriding of device properties

Upcoming patches will add possibility to override configuration of a
device with custom properties as a more versatile replacement to using
QEMU's '-set' parameter, which doesn't work when we use JSON to
instantiate devices.

Describe the XML used for the override as well as expectations of
upstream support in case something breaks.

Signed-off-by: Peter Krempa <pkrempa@redhat.com>
Reviewed-by: Michal Privoznik <mprivozn@redhat.com>
3 years agoutil: virfile: Fix indentation of preprocessor directives
Peter Krempa [Mon, 28 Mar 2022 11:13:20 +0000 (13:13 +0200)]
util: virfile: Fix indentation of preprocessor directives

stderr:
cppi: /home/pipo/libvirt/src/util/virfile.c: line 205: not properly indented
cppi: /home/pipo/libvirt/src/util/virfile.c: line 243: not properly indented
cppi: /home/pipo/libvirt/src/util/virfile.c: line 249: not properly indented
build-aux/syntax-check.mk: incorrect preprocessor indentation
make: *** [/home/pipo/libvirt/build-aux/syntax-check.mk:565: sc_preprocessor_indentation] Error 1

Fixes: c61d1e9ba0a0bec18fdb0bdd485060dc27a4e5cc
Signed-off-by: Peter Krempa <pkrempa@redhat.com>
3 years agovirfile: set pipe size in virFileWrapperFdNew to improve throughput
Claudio Fontana [Fri, 25 Mar 2022 15:10:19 +0000 (16:10 +0100)]
virfile: set pipe size in virFileWrapperFdNew to improve throughput

currently the only user of virFileWrapperFdNew is the qemu driver;
virsh save is very slow with a default pipe size.
This change improves throughput by ~400% on fast nvme or ramdisk.

Best value currently measured is 1MB, which happens to be also
the kernel default for the pipe-max-size.

Signed-off-by: Claudio Fontana <cfontana@suse.de>
Signed-off-by: Michal Privoznik <mprivozn@redhat.com>
Reviewed-by: Michal Privoznik <mprivozn@redhat.com>
3 years agoqemu_tpm: Do async IO when starting swtpm emulator
Michal Privoznik [Mon, 21 Mar 2022 12:33:06 +0000 (13:33 +0100)]
qemu_tpm: Do async IO when starting swtpm emulator

When vTPM is secured via virSecret libvirt passes the secret
value via an FD when swtpm is started (arguments --key and
--migration-key). The writing of the secret into the FDs is
handled via virCommand, specifically qemu_tpm calls
virCommandSetSendBuffer()) and then virCommandRunAsync() spawns a
thread to handle writing into the FD via
virCommandDoAsyncIOHelper. But the thread is not created unless
VIR_EXEC_ASYNC_IO flag is set, which it isn't. In order to fix
it, virCommandDoAsyncIO() must be called.

The credit goes to Marc-André Lureau
<marcandre.lureau@redhat.com> who has done all the debugging and
proposed fix in the bugzilla.

Resolves: https://bugzilla.redhat.com/show_bug.cgi?id=2064115
Fixes: a9c500d2b50c5c041a1bb6ae9724402cf1cec8fe
Signed-off-by: Michal Privoznik <mprivozn@redhat.com>
Reviewed-by: Jiri Denemark <jdenemar@redhat.com>
3 years agoRevert "qemu: add support for tsc.on_reboot element"
Michal Privoznik [Mon, 28 Mar 2022 07:26:42 +0000 (09:26 +0200)]
Revert "qemu: add support for tsc.on_reboot element"

This reverts commit 06c960e477de4561c7ba956f82994fa120226397.

Turns out, this feature is not needed and QEMU will fix TSC
without any intervention from outside.

Signed-off-by: Michal Privoznik <mprivozn@redhat.com>
Reviewed-by: Jiri Denemark <jdenemar@redhat.com>P
3 years agoRevert "domain: add tsc.on_reboot element"
Michal Privoznik [Mon, 28 Mar 2022 07:25:31 +0000 (09:25 +0200)]
Revert "domain: add tsc.on_reboot element"

This reverts commit 150540394ddaa515f6857616a2bcf792748f162c.

Turns out, this feature is not needed and QEMU will fix TSC
without any intervention from outside.

Signed-off-by: Michal Privoznik <mprivozn@redhat.com>
Reviewed-by: Jiri Denemark <jdenemar@redhat.com>P
3 years agoqemu: add support for tsc.on_reboot element
Paolo Bonzini [Thu, 24 Mar 2022 09:48:39 +0000 (10:48 +0100)]
qemu: add support for tsc.on_reboot element

QEMU 7.0.0 adds a new property tsc-clear-on-reset to x86 CPU, corresponding
to Libvirt's <tsc on_reboot="clear"/> element.  Plumb it in the validation,
command line handling and tests.

Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
Signed-off-by: Michal Privoznik <mprivozn@redhat.com>
Reviewed-by: Michal Privoznik <mprivozn@redhat.com>
3 years agodomain: add tsc.on_reboot element
Paolo Bonzini [Thu, 24 Mar 2022 09:48:38 +0000 (10:48 +0100)]
domain: add tsc.on_reboot element

Some versions of Windows hang on reboot if their TSC value is greater
than 2^54.  The workaround is to reset the TSC to a small value.  Add
to the domain configuration an attribute for this.  It can be used
by QEMU and in principle also by ESXi, which has a property called
monitor_control.enable_softResetClearTSC as well.

Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
Signed-off-by: Michal Privoznik <mprivozn@redhat.com>
Reviewed-by: Michal Privoznik <mprivozn@redhat.com>
3 years agotests: add dependencies to meson declaration
Paolo Bonzini [Thu, 24 Mar 2022 09:36:56 +0000 (10:36 +0100)]
tests: add dependencies to meson declaration

Make sure that all tests are run after the helpers and mocks are
(re)built.  This enables for example using "meson test" as the
command line passed to "git bisect run".

Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
Reviewed-by: Michal Privoznik <mprivozn@redhat.com>
3 years agomeson: do not look for libparted if not requested
Paolo Bonzini [Thu, 24 Mar 2022 10:53:04 +0000 (11:53 +0100)]
meson: do not look for libparted if not requested

libparted_dep is not used if -Dstorage_disk=disabled. Do not
bother looking for this library if the disk storage backend was
not requested.

Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
Reviewed-by: Michal Privoznik <mprivozn@redhat.com>
Signed-off-by: Michal Privoznik <mprivozn@redhat.com>
3 years agomeson: do not look for librbd/librados if not requested
Paolo Bonzini [Thu, 24 Mar 2022 10:53:03 +0000 (11:53 +0100)]
meson: do not look for librbd/librados if not requested

rbd_dep is not used if -Dstorage_rbd=disabled.  Do not bother looking for
the libraries that compose it if the rbd storage backend was not requested.

Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
Reviewed-by: Michal Privoznik <mprivozn@redhat.com>
3 years agoch: use virDomainJob enum instead of virCHDomainJob
Kristina Hanicova [Thu, 24 Mar 2022 15:32:46 +0000 (16:32 +0100)]
ch: use virDomainJob enum instead of virCHDomainJob

Signed-off-by: Kristina Hanicova <khanicov@redhat.com>
Reviewed-by: Michal Privoznik <mprivozn@redhat.com>
3 years agolibxl: use virDomainJob enum instead of libxlDomainJob
Kristina Hanicova [Thu, 24 Mar 2022 15:32:45 +0000 (16:32 +0100)]
libxl: use virDomainJob enum instead of libxlDomainJob

Signed-off-by: Kristina Hanicova <khanicov@redhat.com>
Reviewed-by: Michal Privoznik <mprivozn@redhat.com>
3 years agolxc: use virDomainJob enum instead of virLXCDomainJob
Kristina Hanicova [Thu, 24 Mar 2022 15:32:44 +0000 (16:32 +0100)]
lxc: use virDomainJob enum instead of virLXCDomainJob

Signed-off-by: Kristina Hanicova <khanicov@redhat.com>
Reviewed-by: Michal Privoznik <mprivozn@redhat.com>
3 years agoqemu: move macros QEMU_X into hypervisor as VIR_X
Kristina Hanicova [Thu, 24 Mar 2022 15:32:43 +0000 (16:32 +0100)]
qemu: move macros QEMU_X into hypervisor as VIR_X

It makes sense to have these in the same file as the definitions
of enums.

Signed-off-by: Kristina Hanicova <khanicov@redhat.com>
Reviewed-by: Michal Privoznik <mprivozn@redhat.com>
3 years agomove jobs enums QEMU_X into hypervisor as VIR_X
Kristina Hanicova [Thu, 24 Mar 2022 15:32:42 +0000 (16:32 +0100)]
move jobs enums QEMU_X into hypervisor as VIR_X

These enums are essentially the same and always sorted in the
same order in every hypervisor with jobs. They can be generalized
by using the qemu enums as the main ones as they are the most
extensive.

Signed-off-by: Kristina Hanicova <khanicov@redhat.com>
Reviewed-by: Michal Privoznik <mprivozn@redhat.com>
3 years agoTranslated using Weblate (German)
Tom Wieczorek [Sat, 19 Mar 2022 09:16:55 +0000 (10:16 +0100)]
Translated using Weblate (German)

Currently translated at 48.4% (5045 of 10404 strings)

Translation: libvirt/libvirt
Translate-URL: https://translate.fedoraproject.org/projects/libvirt/libvirt/de/

Co-authored-by: Tom Wieczorek <tom@bibbu.net>
Signed-off-by: Tom Wieczorek <tom@bibbu.net>
3 years agoqemu: remove else branches after return in qemuMigrationSrcPerform()
Kristina Hanicova [Thu, 24 Mar 2022 14:34:08 +0000 (15:34 +0100)]
qemu: remove else branches after return in qemuMigrationSrcPerform()

Signed-off-by: Kristina Hanicova <khanicov@redhat.com>
Signed-off-by: Ján Tomko <jtomko@redhat.com>
Reviewed-by: Ján Tomko <jtomko@redhat.com>
3 years agoqemu: remove unnecessary else branches after return / goto
Kristina Hanicova [Thu, 24 Mar 2022 14:34:07 +0000 (15:34 +0100)]
qemu: remove unnecessary else branches after return / goto

I think the code looks cleaner without else branches.

Signed-off-by: Kristina Hanicova <khanicov@redhat.com>
Signed-off-by: Ján Tomko <jtomko@redhat.com>
Reviewed-by: Ján Tomko <jtomko@redhat.com>
3 years agokbase: Fix the syntax of the snapshot link in index.rst
Han Han [Fri, 25 Mar 2022 06:48:36 +0000 (14:48 +0800)]
kbase: Fix the syntax of the snapshot link in index.rst

Signed-off-by: Han Han <hhan@redhat.com>
Reviewed-by: Ján Tomko <jtomko@redhat.com>
Signed-off-by: Ján Tomko <jtomko@redhat.com>
3 years agoqemu_command: Generate prealloc-threads property
Michal Privoznik [Mon, 21 Mar 2022 16:10:15 +0000 (17:10 +0100)]
qemu_command: Generate prealloc-threads property

Let's generate prealloc-threads property onto the cmd line if
domain configuration requests so.

Signed-off-by: Michal Privoznik <mprivozn@redhat.com>
Reviewed-by: Martin Kletzander <mkletzan@redhat.com>
3 years agoqemu_validate: Validate prealloc threads against qemuCpas
Michal Privoznik [Mon, 21 Mar 2022 16:09:40 +0000 (17:09 +0100)]
qemu_validate: Validate prealloc threads against qemuCpas

Only fairly new QEMUs are capable of user provided number of
preallocation threads. Validate this assumption.

Signed-off-by: Michal Privoznik <mprivozn@redhat.com>
Reviewed-by: Martin Kletzander <mkletzan@redhat.com>
3 years agoqemu_capabilities: Detect memory-backend-*.prealloc-threads property
Michal Privoznik [Mon, 21 Mar 2022 15:55:05 +0000 (16:55 +0100)]
qemu_capabilities: Detect memory-backend-*.prealloc-threads property

The prealloc-threads is property of memory-backend class which is
parent to the other three classes memory-backend-{ram,file,memfd}.
Therefore the property is present for all, or none if QEMU is
older than v5.0.0-rc0~75^2~1^2~3 which introduced the property.

Anyway, the .reserve property is the same story, and we chose
memory-backend-file to detect it, so stick with our earlier
decision and use the same backend to detect this new property.

Signed-off-by: Michal Privoznik <mprivozn@redhat.com>
Reviewed-by: Martin Kletzander <mkletzan@redhat.com>
3 years agoconf: Introduce memory allocation threads
Michal Privoznik [Mon, 21 Mar 2022 15:49:25 +0000 (16:49 +0100)]
conf: Introduce memory allocation threads

Since its v5.0.0 release QEMU is capable of specifying number of
threads used to allocate memory. It defaults to 1, which may be
too low for humongous guests with gigantic pages.

In general, on QEMU cmd line level it is possible to use
different number of threads per each memory-backend-* object, in
practical terms it's not useful. Therefore, use <memoryBacking/>
to set guest wide value and let all memory devices 'inherit' it,
silently. IOW, don't introduce per device knob because that would
only complicate things for a little or no benefit.

Signed-off-by: Michal Privoznik <mprivozn@redhat.com>
Reviewed-by: Martin Kletzander <mkletzan@redhat.com>
3 years agokeycodemapdb: Update git submodule
Andrea Bolognani [Tue, 22 Mar 2022 13:12:16 +0000 (14:12 +0100)]
keycodemapdb: Update git submodule

This brings in all the fixes made since April 2020.

Signed-off-by: Andrea Bolognani <abologna@redhat.com>
Reviewed-by: Michal Privoznik <mprivozn@redhat.com>
3 years agoci: integration: Rename all Avocado standard stream log files to *.log
Erik Skultety [Tue, 22 Mar 2022 11:31:49 +0000 (12:31 +0100)]
ci: integration: Rename all Avocado standard stream log files to *.log

By default, stdout/stderr Avocado test log files do not have any file
extension which confuses GitLab's web UI to mangle the MIME type for
these and so the browser will never offer the option to open such file
from in a text editor rather than dowloading it.
Since GitLab sets a proper MIME for .txt and .log file extensions,
rename all Avocado log files without an extension to *.log . This pairs
nicely with the coredumpctl info file which we already name as
'coredumpctl.txt' because of this.

Signed-off-by: Erik Skultety <eskultet@redhat.com>
Reviewed-by: Daniel P. Berrangé <berrange@redhat.com>
3 years agoci: integration: Collect stack traces with coredumpctl
Erik Skultety [Mon, 21 Mar 2022 17:05:16 +0000 (18:05 +0100)]
ci: integration: Collect stack traces with coredumpctl

Some Red Hat-like distros have cores limited with a soft limit of 0
which means that neither a stack trace nor a core file will be
available. Since we want the stack trace we need to set the core limit
with systemd globally to unlimited/infinity.

Signed-off-by: Erik Skultety <eskultet@redhat.com>
Reviewed-by: Michal Privoznik <mprivozn@redhat.com>
3 years agoci: Define the integration job tag dynamically via a variable
Erik Skultety [Mon, 21 Mar 2022 12:51:53 +0000 (13:51 +0100)]
ci: Define the integration job tag dynamically via a variable

Custom runners are private to a project, so naturally forks cannot run
any workloads on these. The integration test suite which requires
access to our custom runner is naturally disabled on forks and can be
enabled by setting LIBVIRT_CI_INTEGRATION=1.
The problem is that the current integration jobs definitions have tags
statically defined as 'redhat-vm-host'. If users are going to supply
their own private runners for their forks, they can define whatever
tags they want with it and so unless they add 'redhat-vm-host' to their
own runner's tags, the pipeline won't run.
To solve this, define the integration job tag using a variable. The
repo config will use the value defined in the job for the variable
while users can override the value easily on a project/pipeline level
thanks to GitLab's CI variable precedence [1].

[1] https://docs.gitlab.com/ee/ci/variables/#cicd-variable-precedence

Signed-off-by: Erik Skultety <eskultet@redhat.com>
Reviewed-by: Michal Privoznik <mprivozn@redhat.com>