]> xenbits.xensource.com Git - libvirt.git/log
libvirt.git
4 years agoci: Add openSUSE Leap 15.2
Erik Skultety [Tue, 19 Jan 2021 07:28:42 +0000 (08:28 +0100)]
ci: Add openSUSE Leap 15.2

Signed-off-by: Erik Skultety <eskultet@redhat.com>
Reviewed-by: Daniel P. Berrangé <berrange@redhat.com>
4 years agoci: Refresh Dockerfiles
Erik Skultety [Tue, 19 Jan 2021 07:21:26 +0000 (08:21 +0100)]
ci: Refresh Dockerfiles

In this refresh CentOS 7 now uses docker.io registry and the PowerTools
repo name regression was fixed for CentOS Stream this time.

Signed-off-by: Erik Skultety <eskultet@redhat.com>
Reviewed-by: Daniel P. Berrangé <berrange@redhat.com>
4 years agomeson: build vstorage only on linux
Nikolay Shirokovskiy [Tue, 19 Jan 2021 13:34:26 +0000 (16:34 +0300)]
meson: build vstorage only on linux

This should fix CI error:

    ../dist-unpack/libvirt-7.1.0/src/storage/storage_backend_vstorage.c:10:10: fatal error: 'mntent.h' file not found
    #include <mntent.h>
    ^~~~~~~~~~

on freebsd and mac.

Signed-off-by: Nikolay Shirokovskiy <nshirokovskiy@virtuozzo.com>
Reviewed-by: Daniel P. Berrangé <berrange@redhat.com>
4 years agomeson: Fix build with -Dtest_coverage=true
Jiri Denemark [Fri, 15 Jan 2021 21:35:09 +0000 (22:35 +0100)]
meson: Fix build with -Dtest_coverage=true

As can be seen in commit 8a62a1592ae00eab4eb153c02661e56b9d8d9032 (from
autoconf era), the coverage flags have to be used also when linking
objects. However, this was not reflected when we switched to meson.

Without this patch linking fails with undefined references to various
__gcov_* symbols.

Signed-off-by: Jiri Denemark <jdenemar@redhat.com>
Reviewed-by: Pavel Hrdina <phrdina@redhat.com>
4 years agodocs: Clarify use of virtio-scsi model for SCSI controllers
Andrea Bolognani [Tue, 19 Jan 2021 14:36:29 +0000 (15:36 +0100)]
docs: Clarify use of virtio-scsi model for SCSI controllers

The current formulation can lead people to believe SCSI
controllers only allow the virtio-scsi model, but really the
only difference is that you have to use model='virtio-scsi'
where you would use model='virtio' for another device.

Signed-off-by: Andrea Bolognani <abologna@redhat.com>
Reviewed-by: Jiri Denemark <jdenemar@redhat.com>
4 years agovstorage: remove build time checks for runtime binaries
Nikolay Shirokovskiy [Tue, 19 Jan 2021 06:22:11 +0000 (09:22 +0300)]
vstorage: remove build time checks for runtime binaries

Accoring to current agreement mentioned in list recently [1]. Now
vstorage driver will be build in default devs environment and also can
be included into CI. This also closes quite old abandoned thread on
alternative checks for binaries in case of this same driver [2].

[1] https://www.redhat.com/archives/libvir-list/2021-January/msg00750.html
[2] https://www.redhat.com/archives/libvir-list/2020-July/msg00697.html

Signed-off-by: Nikolay Shirokovskiy <nshirokovskiy@virtuozzo.com>
Reviewed-by: Michal Privoznik <mprivozn@redhat.com>
4 years agoconf: Move generation of NVDIMM UUID into post parse callback
Michal Privoznik [Mon, 18 Jan 2021 13:21:36 +0000 (14:21 +0100)]
conf: Move generation of NVDIMM UUID into post parse callback

It's better to fill in missing values in post parse callbacks
than during parsing.

Signed-off-by: Michal Privoznik <mprivozn@redhat.com>
Reviewed-by: Peter Krempa <pkrempa@redhat.com>
4 years agoconf: Turn @uuid member of _virDomainMemoryDef struct into a pointer
Michal Privoznik [Mon, 18 Jan 2021 13:10:30 +0000 (14:10 +0100)]
conf: Turn @uuid member of _virDomainMemoryDef struct into a pointer

The _virDomainMemoryDef structure has @uuid member which is
needed for PPC64 guests. No other architectures use it. Since the
member is VIR_UUID_BUFLEN bytes long, the structure is
unnecessary big. If the member is just a pointer then we can also
replace some calls of virUUIDIsValid() with plain test against
NULL and also simplify formatter code which can now also check
the pointer against NULL.

Signed-off-by: Michal Privoznik <mprivozn@redhat.com>
Reviewed-by: Peter Krempa <pkrempa@redhat.com>
4 years agoTranslated using Weblate (Swedish)
Göran Uddeborg [Mon, 18 Jan 2021 12:36:59 +0000 (13:36 +0100)]
Translated using Weblate (Swedish)

Currently translated at 22.8% (2384 of 10451 strings)

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

Co-authored-by: Göran Uddeborg <goeran@uddeborg.se>
Signed-off-by: Göran Uddeborg <goeran@uddeborg.se>
4 years agoqemu: Build command line for virtio-pmem
Michal Privoznik [Sat, 31 Oct 2020 19:50:22 +0000 (20:50 +0100)]
qemu: Build command line for virtio-pmem

Now we have everything prepared for generating the command line.
The device alias prefix was chosen to be 'virtiopmem'.

Since virtio-pmem-pci device goes onto PCI bus generating device
alias must have been changed slightly because
qemuAssignDeviceMemoryAlias() might have used DIMM slot number to
generate the alias. This obviously won't work and thus the "old"
way (which includes qemuDomainDeviceAliasIndex()) must be used.

Resolves: https://bugzilla.redhat.com/show_bug.cgi?id=1735375
Signed-off-by: Michal Privoznik <mprivozn@redhat.com>
Reviewed-by: Daniel Henrique Barboza <danielhb413@gmail.com>
4 years agoqemu: Create virtio-pmem in namespace
Michal Privoznik [Thu, 10 Dec 2020 09:18:19 +0000 (10:18 +0100)]
qemu: Create virtio-pmem in namespace

Some users might want to have virtio-pmem backed by a block device
in which case we have to create the device in the domain private
namespace.

Signed-off-by: Michal Privoznik <mprivozn@redhat.com>
Reviewed-by: Daniel Henrique Barboza <danielhb413@gmail.com>
4 years agoqemu: Allow virtio-pmem in CGroups
Michal Privoznik [Wed, 9 Dec 2020 15:47:15 +0000 (16:47 +0100)]
qemu: Allow virtio-pmem in CGroups

Some users might want to have virtio-pmem backed by a block
device in which case we have to allow the device in CGroups.

Signed-off-by: Michal Privoznik <mprivozn@redhat.com>
Reviewed-by: Daniel Henrique Barboza <danielhb413@gmail.com>
4 years agosecurity: Relabel virtio-pmem
Michal Privoznik [Wed, 9 Dec 2020 15:33:20 +0000 (16:33 +0100)]
security: Relabel virtio-pmem

Just like with NVDIMM model, we have to relabel the path to
virtio-pmem so that QEMU can access it.

Signed-off-by: Michal Privoznik <mprivozn@redhat.com>
Reviewed-by: Daniel Henrique Barboza <danielhb413@gmail.com>
4 years agoconf: Introduce virtio-pmem <memory/> model
Michal Privoznik [Mon, 7 Dec 2020 14:24:17 +0000 (15:24 +0100)]
conf: Introduce virtio-pmem <memory/> model

The virtio-pmem is a virtio variant of NVDIMM and just like
NVDIMM virtio-pmem also allows accessing host pages bypassing
guest page cache. The difference is that if a regular file is
used to back guest's NVDIMM (model='nvdimm') the persistence of
guest writes might not be guaranteed while with virtio-pmem it
is.

To express this new model at domain XML level, I've chosen the
following:

  <memory model='virtio-pmem' access='shared'>
    <source>
      <path>/tmp/virtio_pmem</path>
    </source>
    <target>
      <size unit='KiB'>524288</size>
    </target>
    <address type='pci' domain='0x0000' bus='0x00' slot='0x05' function='0x0'/>
  </memory>

Another difference between NVDIMM and virtio-pmem is that while
the former supports NUMA node locality the latter doesn't. And
also, the latter goes onto PCI bus and not into a DIMM module.

Signed-off-by: Michal Privoznik <mprivozn@redhat.com>
Reviewed-by: Daniel Henrique Barboza <danielhb413@gmail.com>
4 years agoqemu_capabilities: Introduce QEMU_CAPS_DEVICE_VIRTIO_PMEM_PCI
Michal Privoznik [Fri, 15 Jan 2021 12:31:51 +0000 (13:31 +0100)]
qemu_capabilities: Introduce QEMU_CAPS_DEVICE_VIRTIO_PMEM_PCI

This commit introduces a new capability that reflects virtio-pmem-pci
device support in qemu:

  QEMU_CAPS_DEVICE_VIRTIO_PMEM_PCI, /* -device virtio-pmem-pci */

The virtio-pmem-pci device was introduced in QEMU 4.1.

Signed-off-by: Michal Privoznik <mprivozn@redhat.com>
Reviewed-by: Daniel Henrique Barboza <danielhb413@gmail.com>
4 years agodocs: add manpage for virtxend
Daniel P. Berrangé [Thu, 24 Sep 2020 14:08:37 +0000 (15:08 +0100)]
docs: add manpage for virtxend

This is an adaptation of the libvirtd manpage.

Reviewed-by: Jiri Denemark <jdenemar@redhat.com>
Signed-off-by: Daniel P. Berrangé <berrange@redhat.com>
4 years agodocs: add manpage for virtvzd
Daniel P. Berrangé [Thu, 24 Sep 2020 14:08:37 +0000 (15:08 +0100)]
docs: add manpage for virtvzd

This is an adaptation of the libvirtd manpage.

Reviewed-by: Jiri Denemark <jdenemar@redhat.com>
Signed-off-by: Daniel P. Berrangé <berrange@redhat.com>
4 years agodocs: add manpage for virtvboxd
Daniel P. Berrangé [Thu, 24 Sep 2020 14:08:37 +0000 (15:08 +0100)]
docs: add manpage for virtvboxd

This is an adaptation of the libvirtd manpage.

Reviewed-by: Jiri Denemark <jdenemar@redhat.com>
Signed-off-by: Daniel P. Berrangé <berrange@redhat.com>
4 years agodocs: add manpage for virtstoraged
Daniel P. Berrangé [Thu, 24 Sep 2020 14:08:37 +0000 (15:08 +0100)]
docs: add manpage for virtstoraged

This is an adaptation of the libvirtd manpage.

Reviewed-by: Jiri Denemark <jdenemar@redhat.com>
Signed-off-by: Daniel P. Berrangé <berrange@redhat.com>
4 years agodocs: add manpage for virtsecretd
Daniel P. Berrangé [Thu, 24 Sep 2020 14:08:37 +0000 (15:08 +0100)]
docs: add manpage for virtsecretd

This is an adaptation of the libvirtd manpage.

Reviewed-by: Jiri Denemark <jdenemar@redhat.com>
Signed-off-by: Daniel P. Berrangé <berrange@redhat.com>
4 years agodocs: add manpage for virtqemud
Daniel P. Berrangé [Thu, 24 Sep 2020 14:08:37 +0000 (15:08 +0100)]
docs: add manpage for virtqemud

This is an adaptation of the libvirtd manpage.

Reviewed-by: Jiri Denemark <jdenemar@redhat.com>
Signed-off-by: Daniel P. Berrangé <berrange@redhat.com>
4 years agodocs: add manpage for virtnwfilterd
Daniel P. Berrangé [Thu, 24 Sep 2020 14:08:37 +0000 (15:08 +0100)]
docs: add manpage for virtnwfilterd

This is an adaptation of the libvirtd manpage.

Reviewed-by: Jiri Denemark <jdenemar@redhat.com>
Signed-off-by: Daniel P. Berrangé <berrange@redhat.com>
4 years agodocs: add manpage for virtnodedevd
Daniel P. Berrangé [Thu, 24 Sep 2020 14:08:37 +0000 (15:08 +0100)]
docs: add manpage for virtnodedevd

This is an adaptation of the libvirtd manpage.

Reviewed-by: Jiri Denemark <jdenemar@redhat.com>
Signed-off-by: Daniel P. Berrangé <berrange@redhat.com>
4 years agodocs: add manpage for virtnetworkd
Daniel P. Berrangé [Thu, 24 Sep 2020 14:08:37 +0000 (15:08 +0100)]
docs: add manpage for virtnetworkd

This is an adaptation of the libvirtd manpage.

Reviewed-by: Jiri Denemark <jdenemar@redhat.com>
Signed-off-by: Daniel P. Berrangé <berrange@redhat.com>
4 years agodocs: add manpage for virtlxcd
Daniel P. Berrangé [Thu, 24 Sep 2020 14:08:37 +0000 (15:08 +0100)]
docs: add manpage for virtlxcd

This is an adaptation of the libvirtd manpage.

Reviewed-by: Jiri Denemark <jdenemar@redhat.com>
Signed-off-by: Daniel P. Berrangé <berrange@redhat.com>
4 years agodocs: add manpage for virtinterfaced
Daniel P. Berrangé [Thu, 24 Sep 2020 14:08:37 +0000 (15:08 +0100)]
docs: add manpage for virtinterfaced

This is an adaptation of the libvirtd manpage.

Reviewed-by: Jiri Denemark <jdenemar@redhat.com>
Signed-off-by: Daniel P. Berrangé <berrange@redhat.com>
4 years agodocs: add manpage for virtbhyved
Daniel P. Berrangé [Thu, 24 Sep 2020 14:08:37 +0000 (15:08 +0100)]
docs: add manpage for virtbhyved

This is an adaptation of the libvirtd manpage.

Reviewed-by: Jiri Denemark <jdenemar@redhat.com>
Signed-off-by: Daniel P. Berrangé <berrange@redhat.com>
4 years agodocs: add manpage for virtproxyd
Daniel P. Berrangé [Thu, 24 Sep 2020 14:08:37 +0000 (15:08 +0100)]
docs: add manpage for virtproxyd

This is an adaptation of the libvirtd manpage.

Reviewed-by: Jiri Denemark <jdenemar@redhat.com>
Signed-off-by: Daniel P. Berrangé <berrange@redhat.com>
4 years agodocs: tweak heading for daemon manual pages
Daniel P. Berrangé [Tue, 17 Nov 2020 15:12:05 +0000 (15:12 +0000)]
docs: tweak heading for daemon manual pages

This group will be distinct from the per-driver modular daemon mapages.

Reviewed-by: Jiri Denemark <jdenemar@redhat.com>
Signed-off-by: Daniel P. Berrangé <berrange@redhat.com>
4 years agodocs: don't hardcode an ancient version in manpage examples
Daniel P. Berrangé [Tue, 17 Nov 2020 14:44:28 +0000 (14:44 +0000)]
docs: don't hardcode an ancient version in manpage examples

Subsitute in the current version so the example always reflect today's
version of reality.

Reviewed-by: Jiri Denemark <jdenemar@redhat.com>
Signed-off-by: Daniel P. Berrangé <berrange@redhat.com>
4 years agodocs: consistently mark libvirtd as preformatted text
Daniel P. Berrangé [Mon, 5 Oct 2020 16:18:30 +0000 (17:18 +0100)]
docs: consistently mark libvirtd as preformatted text

Reviewed-by: Jiri Denemark <jdenemar@redhat.com>
Signed-off-by: Daniel P. Berrangé <berrange@redhat.com>
4 years agonetwork: explicitly set the MTU of the bridge device.
Laine Stump [Thu, 14 Jan 2021 16:57:45 +0000 (11:57 -0500)]
network: explicitly set the MTU of the bridge device.

In the past, the MTU of libvirt virtual network bridge devices was
implicitly set by setting the MTU of the "dummy tap device" (which was
being added in order to force a particular MAC address from the
bridge). But the dummy tap device was removed in commit ee6c936fbb
(libvirt-6.8.0), and so the mtu setting in the network is ignored.

The solution is, of course, to explicitly set the bridge device MTU
when it is created.

Note that any guest interface with a larger MTU that is attached will
cause the bridge to (temporarily) assume the larger MTU, but it will
revert to the bridge's own MTU when that device is deleted (this is
not due to anything libvirt does; it's just how Linux host bridges
work).

Fixes: ee6c936fbbfb217175326f0201d59cc6727a0678
Resolves: https://bugzilla.redhat.com/1913561
Signed-off-by: Laine Stump <laine@redhat.com>
Reviewed-by: Ján Tomko <jtomko@redhat.com>
4 years agoqemu: don't set interface MTU when managed='no'
Laine Stump [Tue, 12 Jan 2021 19:10:05 +0000 (14:10 -0500)]
qemu: don't set interface MTU when managed='no'

managed='no' on an <interface> allows an unprivileged libvirt to use a
pre-created tap/macvtap device that libvirt has permission to
open/read/write, but no permission to modify (i.e. set the MTU or MAC
address). But when the XML had an <mtu size='blah'/> setting (which
was put there in order to tell the *guest* OS what MTU to set for the
emulated device at the other end of the tap) we were attempting to set
the MTU of the tap device on the host, paying no attention to the
setting of 'managed'. That would of course end in failure.

This patch only sets the MTU if managed='no' is *not* set (so, if it
is 'yes', or just not set at all).

Note that MTU of the tap is also set when connecting the tap to a
bridge device, but managed='no' is only allowed for <interface
type='ethernet'>, which would never attach to a bridge anyway, so we
don't need the check there.

Resolves: https://bugzilla.redhat.com/1905929
Signed-off-by: Laine Stump <laine@redhat.com>
Reviewed-by: Daniel Henrique Barboza <danielhb413@gmail.com>
4 years agoscripts: Actually print filename of offending file
Peter Krempa [Tue, 12 Jan 2021 18:32:00 +0000 (19:32 +0100)]
scripts: Actually print filename of offending file

The error message printed by scripts/group-qemu-caps.py and
scripts/test-wrap-argv.py doesn't actually print the filename of the
offending file:

 Incorrect line wrapping in $file

Signed-off-by: Peter Krempa <pkrempa@redhat.com>
Reviewed-by: Daniel Henrique Barboza <danielhb413@gmail.com>
4 years agonetlink: Introduce a helper function to simplify netlink functions
Shi Lei [Mon, 11 Jan 2021 02:23:37 +0000 (10:23 +0800)]
netlink: Introduce a helper function to simplify netlink functions

Extract common code as helper function virNetlinkTalk, then simplify
the functions virNetlink[DumpLink|NewLink|DelLink|GetNeighbor].

Signed-off-by: Shi Lei <shi_lei@massclouds.com>
Signed-off-by: Michal Privoznik <mprivozn@redhat.com>
Reviewed-by: Michal Privoznik <mprivozn@redhat.com>
4 years agonetlink: Introduce macro NETLINK_MSG_APPEND to wrap nlmsg_append
Shi Lei [Mon, 11 Jan 2021 02:23:36 +0000 (10:23 +0800)]
netlink: Introduce macro NETLINK_MSG_APPEND to wrap nlmsg_append

Introduce a macro NETLINK_MSG_APPEND to wrap nlmsg_append and
simplify code. Remove those labels 'buffer_too_small', since they
are now useless.

Signed-off-by: Shi Lei <shi_lei@massclouds.com>
Reviewed-by: Michal Privoznik <mprivozn@redhat.com>
4 years agonetlink: Minor changes for macros NETLINK_MSG_[NEST_START|NEST_END|PUT]
Shi Lei [Mon, 11 Jan 2021 02:23:35 +0000 (10:23 +0800)]
netlink: Minor changes for macros NETLINK_MSG_[NEST_START|NEST_END|PUT]

Move macros NETLINK_MSG_[NEST_START|NEST_END|PUT] from .h into .c;
within these macros, replace 'goto' with reporting error and returning;
simplify virNetlinkDumpLink and virNetlinkDelLink by using NETLINK_MSG_PUT.

Signed-off-by: Shi Lei <shi_lei@massclouds.com>
Reviewed-by: Michal Privoznik <mprivozn@redhat.com>
4 years agonetlink: Remove invalid flags(NLM_F_CREATE and NLM_F_EXCL) for RTM_DELLINK
Shi Lei [Mon, 11 Jan 2021 02:23:34 +0000 (10:23 +0800)]
netlink: Remove invalid flags(NLM_F_CREATE and NLM_F_EXCL) for RTM_DELLINK

NLM_F_CREATE and NLM_F_EXCL are invalid for RTM_DELLINK,
so remove them.

Signed-off-by: Shi Lei <shi_lei@massclouds.com>
Reviewed-by: Michal Privoznik <mprivozn@redhat.com>
4 years agogitlab-ci.yml: Add an explicit env variable to mark a job as broken
Erik Skultety [Thu, 14 Jan 2021 10:36:54 +0000 (11:36 +0100)]
gitlab-ci.yml: Add an explicit env variable to mark a job as broken

Thanks to the 'rules' syntax, this will translate to
'allow_failure:true' and let the job fail but will not affect the rest
of the pipeline.

Signed-off-by: Erik Skultety <eskultet@redhat.com>
Reviewed-by: Andrea Bolognani <abologna@redhat.com>
4 years agogitlab-ci.yml: Convert only/except to the rules syntax
Erik Skultety [Thu, 14 Jan 2021 10:20:36 +0000 (11:20 +0100)]
gitlab-ci.yml: Convert only/except to the rules syntax

'rules' syntax replaces the only/except syntax with which it is
mutually exclusive. In some cases the 'rules' syntax is more readable
than the 'only/except' equivalent, in some cases it is not.
The idea behind this conversion is to introduce an explicit env variable
controlling the 'allow_failure' attribute which would then be attached
to a broken build job which would in turn result in a soft failure.
Such behaviour is not possible to achieve with the older 'only/except'
syntax.

Signed-off-by: Erik Skultety <eskultet@redhat.com>
Reviewed-by: Andrea Bolognani <abologna@redhat.com>
4 years agogitlab-ci.yml: Replace template anchors with extends
Erik Skultety [Wed, 13 Jan 2021 16:45:06 +0000 (17:45 +0100)]
gitlab-ci.yml: Replace template anchors with extends

'extends' is slightly more readable and definitely more flexible in
terms of allowing includes of templates.
The main reason for this patch though is that the next patch converts
the 'only/except' syntax to the new (preferable) 'rules' syntax.
Variable anchors are still kept intact because the use case there is
different from regular template anchors.

Signed-off-by: Erik Skultety <eskultet@redhat.com>
Reviewed-by: Andrea Bolognani <abologna@redhat.com>
4 years agoPost-release version bump to 7.1.0
Jiri Denemark [Fri, 15 Jan 2021 08:52:51 +0000 (09:52 +0100)]
Post-release version bump to 7.1.0

Signed-off-by: Jiri Denemark <jdenemar@redhat.com>
4 years agoRelease of libvirt-7.0.0
Jiri Denemark [Fri, 15 Jan 2021 08:50:09 +0000 (09:50 +0100)]
Release of libvirt-7.0.0

Signed-off-by: Jiri Denemark <jdenemar@redhat.com>
4 years agoconf: disk: Parse and format <metadata_cache> also for <mirror>
Peter Krempa [Thu, 14 Jan 2021 12:57:52 +0000 (13:57 +0100)]
conf: disk: Parse and format <metadata_cache> also for <mirror>

Commit 154df5840d added support for <metadata_cache> as property of a
<disk>. Since the same parser is used to parse the XML used with
virDomainBlockCopy it starts the copy job with the appropriate cache
configured, but the <mirror> doesn't show this configuration nor it's
preserved if libvirtd is restarted during the mirror.

Add parsing, formatting and tests for <metadata_cache> for a <mirror>.

Signed-off-by: Peter Krempa <pkrempa@redhat.com>
Reviewed-by: Jiri Denemark <jdenemar@redhat.com>
4 years agoqemu: Fix memstat for (non-)transitional memballoon
Andrea Bolognani [Tue, 12 Jan 2021 16:17:44 +0000 (17:17 +0100)]
qemu: Fix memstat for (non-)transitional memballoon

Depending on the memballoon model, the corresponding QOM node
will have a different type and we need to account for this
when searching for it in the QOM tree.

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

Signed-off-by: Andrea Bolognani <abologna@redhat.com>
Reviewed-by: Daniel Henrique Barboza <danielhb413@gmail.com>
Reviewed-by: Michal Privoznik <mprivozn@redhat.com>
4 years agoNEWS: Mention stuff I've dealt with for 7.0.0
Michal Privoznik [Wed, 13 Jan 2021 09:22:14 +0000 (10:22 +0100)]
NEWS: Mention stuff I've dealt with for 7.0.0

Signed-off-by: Michal Privoznik <mprivozn@redhat.com>
Reviewed-by: Ján Tomko <jtomko@redhat.com>
Reviewed-by: Andrea Bolognani <abologna@redhat.com>
4 years agoNEWS: update with pSeries initial memory fix
Daniel Henrique Barboza [Wed, 6 Jan 2021 15:04:58 +0000 (12:04 -0300)]
NEWS: update with pSeries initial memory fix

Commit v6.10.0-103-g198c1eb6b4 fixed this issue.

Signed-off-by: Daniel Henrique Barboza <danielhb413@gmail.com>
Signed-off-by: Andrea Bolognani <abologna@redhat.com>
4 years agoTranslated using Weblate (Finnish)
Jan Kuparinen [Mon, 11 Jan 2021 13:28:07 +0000 (14:28 +0100)]
Translated using Weblate (Finnish)

Currently translated at 10.9% (1145 of 10451 strings)

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

Co-authored-by: Jan Kuparinen <copper_fin@hotmail.com>
Signed-off-by: Jan Kuparinen <copper_fin@hotmail.com>
4 years agoTranslated using Weblate (Ukrainian)
Yuri Chornoivan [Mon, 11 Jan 2021 13:28:06 +0000 (14:28 +0100)]
Translated using Weblate (Ukrainian)

Currently translated at 100.0% (10451 of 10451 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>
4 years agoUpdate translation files
Weblate [Mon, 11 Jan 2021 13:28:04 +0000 (14:28 +0100)]
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>
4 years agoTranslated using Weblate (Swedish)
Göran Uddeborg [Mon, 11 Jan 2021 13:28:01 +0000 (14:28 +0100)]
Translated using Weblate (Swedish)

Currently translated at 21.3% (2233 of 10451 strings)

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

Translated using Weblate (Swedish)

Currently translated at 21.4% (2238 of 10440 strings)

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

Translated using Weblate (Swedish)

Currently translated at 21.1% (2208 of 10440 strings)

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

Translated using Weblate (Swedish)

Currently translated at 20.8% (2179 of 10440 strings)

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

Co-authored-by: Göran Uddeborg <goeran@uddeborg.se>
Signed-off-by: Göran Uddeborg <goeran@uddeborg.se>
4 years agoTranslated using Weblate (Polish)
Piotr Drąg [Mon, 11 Jan 2021 13:28:00 +0000 (14:28 +0100)]
Translated using Weblate (Polish)

Currently translated at 23.4% (2446 of 10440 strings)

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

Co-authored-by: Piotr Drąg <piotrdrag@gmail.com>
Signed-off-by: Piotr Drąg <piotrdrag@gmail.com>
4 years agoqemuBlockJobEventProcess: Always clear 'mirrorState' when a job finishes
Peter Krempa [Mon, 11 Jan 2021 09:42:15 +0000 (10:42 +0100)]
qemuBlockJobEventProcess: Always clear 'mirrorState' when a job finishes

When a block job is terminated we should clear the 'mirrorState' and
'mirrorJob' variables so that stale values are not present prior to a
new job.

Signed-off-by: Peter Krempa <pkrempa@redhat.com>
Reviewed-by: Ján Tomko <jtomko@redhat.com>
4 years agoqemuMigrationSrcNBDStorageCopyReady: Use ready-state of mirror from qemuBlockJobData
Peter Krempa [Mon, 11 Jan 2021 09:40:43 +0000 (10:40 +0100)]
qemuMigrationSrcNBDStorageCopyReady: Use ready-state of mirror from qemuBlockJobData

Use the per-job state to determine when the non-shared-storage mirror is
complete rather than the per-disk definition one. The qemuBlockJobData
is a newer approach and is always cleared after the blockjob is
terminated while the 'mirrorState' variable in the definition of the
disk may be left over. In such case the disk mirror would be considered
complete prematurely.

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

Signed-off-by: Peter Krempa <pkrempa@redhat.com>
Reviewed-by: Ján Tomko <jtomko@redhat.com>
4 years agoci: refresh cirrus vars files
Daniel P. Berrangé [Mon, 11 Jan 2021 14:12:02 +0000 (14:12 +0000)]
ci: refresh cirrus vars files

In this refresh the PIP variable is renamed to PIP3 and the
PYPI_PKGS variable disappears since we (currently) don't have
any need for it.

Reviewed-by: Michal Privoznik <mprivozn@redhat.com>
Signed-off-by: Daniel P. Berrangé <berrange@redhat.com>
4 years agoci: rename the cirrus vars file to remove the "libvirt-" prefix
Daniel P. Berrangé [Mon, 11 Jan 2021 14:01:51 +0000 (14:01 +0000)]
ci: rename the cirrus vars file to remove the "libvirt-" prefix

The "libvirt-" prefix was removed from hostnames in libvirt-ci.

Reviewed-by: Michal Privoznik <mprivozn@redhat.com>
Signed-off-by: Daniel P. Berrangé <berrange@redhat.com>
4 years agodocs: Mention KubeVirt in apps using Libvirt
Michal Privoznik [Mon, 11 Jan 2021 14:38:33 +0000 (15:38 +0100)]
docs: Mention KubeVirt in apps using Libvirt

KubeVirt uses Libvirt to manage virtual machines run in
containers. Mention this in our apps page.

Signed-off-by: Michal Privoznik <mprivozn@redhat.com>
Reviewed-by: Ján Tomko <jtomko@redhat.com>
4 years agoopenvswitch: Check if OVS_VSCTL exists when getting interface name
Michal Privoznik [Sat, 9 Jan 2021 08:16:56 +0000 (09:16 +0100)]
openvswitch: Check if OVS_VSCTL exists when getting interface name

So far we assumed that any vhostuser interface is plugged into an
OVS bridge and thus 'ovs-vsctl' exists. But this is not always
true. In testing scenarios it is possible to create a vhostuser
interface with this tool dpdk-testpmd (part of dpdk RPM) which
creates/connects to UNIX socket needed for vhostuser. Of course,
since there is no OVS then there is no interface name in which
case virNetDevOpenvswitchGetVhostuserIfname() should return 0.

The rest of APIs that assume OVS are not 'fixed' because we still
want them to fail (e.g. getting statistics, plugging interface
into an OVS bridge, unplugging it from an OVS bridge, ...).

The only API that is fixed is
virNetDevOpenvswitchGetVhostuserIfname() because it is called
explicitly when starting a guest (and callers are okay if no name
was found).

The other way to fix this bug seems to be to simply require
'ovs-vsctl' on spec file level, but that is too heavy gun given
that vhostuser is used by a small set of our users (assumption
made on requirements for vhostuser). Also, this way would drag in
yet another dependency for all users (even those who want minimal
libvirt).

Resolves: https://bugzilla.redhat.com/show_bug.cgi?id=1913156
Signed-off-by: Michal Privoznik <mprivozn@redhat.com>
Reviewed-by: Ján Tomko <jtomko@redhat.com>
4 years agodocs: kbase: sev: Adjust the claims that virtio-blk doesn't work
Erik Skultety [Fri, 8 Jan 2021 16:23:32 +0000 (17:23 +0100)]
docs: kbase: sev: Adjust the claims that virtio-blk doesn't work

Using virtio-blk with SEV on host kernels prior to 5.1 didn't work
because of SWIOTLB limitations and the way virtio has to use it over
DMA-API for SEV (see [1] for detailed info). That is no longer true, so
reword the kbase article accordingly.

For reference, these are the upstream kernel commits lifting the
virtio-blk limitation:
abe420bfae528c92bd8cc5ecb62dc95672b1fd6f
492366f7b4237257ef50ca9c431a6a0d50225aca
133d624b1cee16906134e92d5befb843b58bcf31
e6d6dd6c875eb3c9b69bb640419405726e6e0bbe
fd1068e1860e44aaaa337b516df4518d1ce98da1

[1] https://lore.kernel.org/linux-block/20190110134433.15672-1-joro@8bytes.org/

Signed-off-by: Erik Skultety <eskultet@redhat.com>
Reviewed-by: Martin Kletzander <mkletzan@redhat.com>
4 years agoNEWS: Mention stuff I've dealt with for 7.0
Peter Krempa [Mon, 11 Jan 2021 10:39:26 +0000 (11:39 +0100)]
NEWS: Mention stuff I've dealt with for 7.0

Signed-off-by: Peter Krempa <pkrempa@redhat.com>
Reviewed-by: Andrea Bolognani <abologna@redhat.com>
4 years agodocs: downloads: Establish handover of package signing
Peter Krempa [Mon, 11 Jan 2021 10:08:15 +0000 (11:08 +0100)]
docs: downloads: Establish handover of package signing

Starting from libvirt-6.6 the releases are done by Jirka. Add a formal
statement from DV handing over the signature.

Signed-off-by: Peter Krempa <pkrempa@redhat.com>
Reviewed-by: Ján Tomko <jtomko@redhat.com>
4 years agodocs: downloads: Move 'signatures' section to the end of the document
Peter Krempa [Mon, 11 Jan 2021 10:05:37 +0000 (11:05 +0100)]
docs: downloads: Move 'signatures' section to the end of the document

Keep the more important stuff outlining how to get to the sources first
since the 'signatures' section will be extended.

Signed-off-by: Peter Krempa <pkrempa@redhat.com>
Reviewed-by: Ján Tomko <jtomko@redhat.com>
4 years agopo: Refresh potfile for v7.0.0
Jiri Denemark [Sat, 9 Jan 2021 00:14:30 +0000 (01:14 +0100)]
po: Refresh potfile for v7.0.0

Signed-off-by: Jiri Denemark <jdenemar@redhat.com>
4 years agocpu-data: Pretend to always run on logical processor #0
Tim Wiederhake [Fri, 8 Jan 2021 14:43:02 +0000 (15:43 +0100)]
cpu-data: Pretend to always run on logical processor #0

The output of cpuid depends on the logical processor id the process
runs on, as reflected by the "local apic id" present in cpuid leaves
(eax=1,ebx=0), (eax=11,ebx=0), and (eax=11,ebx=1). This produces
arbitrary changes in the output files that complicate comparisons.

This patch masks the occurences of the local apic id with 0x00, so
that two consecutive runs of "./cpu-data.py gather" produce identical
results.

Signed-off-by: Tim Wiederhake <twiederh@redhat.com>
Reviewed-by: Jiri Denemark <jdenemar@redhat.com>
4 years agolibxl: remove a now-unnecessary ret variable and cleanup: label.
Laine Stump [Fri, 8 Jan 2021 15:28:46 +0000 (10:28 -0500)]
libxl: remove a now-unnecessary ret variable and cleanup: label.

Signed-off-by: Laine Stump <laine@redhat.com>
Reviewed-by: Michal Privoznik <mprivozn@redhat.com>
4 years agouse g_autoptr for all virConnectPtrs used with virGetConnectNetwork()
Laine Stump [Fri, 8 Jan 2021 05:31:05 +0000 (00:31 -0500)]
use g_autoptr for all virConnectPtrs used with virGetConnectNetwork()

Signed-off-by: Laine Stump <laine@redhat.com>
Reviewed-by: Michal Privoznik <mprivozn@redhat.com>
Reviewed-by: Ján Tomko <jtomko@redhat.com>
4 years agocall virDomainNetNotifyActualDevice() for all interface types
Laine Stump [Fri, 8 Jan 2021 05:36:31 +0000 (00:36 -0500)]
call virDomainNetNotifyActualDevice() for all interface types

Now that this function can be called regardless of interface type (and
whether or not we have a conn for the network driver), let's actually
call it for all interface types. This will assure that we re-connect
any disconnected bridge devices for <interface type='bridge'> as
mentioned in https://bugzilla.redhat.com/show_bug.cgi?id=1730084#c26
(until now we've only been reconnecting bridge devices for <interface
type='network'>)

Signed-off-by: Laine Stump <laine@redhat.com>
Reviewed-by: Michal Privoznik <mprivozn@redhat.com>
4 years agoconf: make virDomainNetNotifyActualDevice() callable for all interface types
Laine Stump [Tue, 20 Oct 2020 16:35:09 +0000 (12:35 -0400)]
conf: make virDomainNetNotifyActualDevice() callable for all interface types

The bridge reattach functionality in this function should be called
for interface types other than just type='network', so make it
callable for any type - it just becomes a NOP for types where no
action is needed.

In the case of <interface type='network'> we need to create a port in
the network driver, and for both type='network and type='bridge' we
need to reattach the bridge device (note that
virDomainNetGetActualBridgeName() gets the bridge name from the
appropriate (and different!) location for either type of interface).

All other interfaces currently require no action.

modifying callers of this function to actually call it for all
interface types is in the next patch. For now the behavior should be
identical pre and post-patch.

(NB: the conn argument can now legitimately be NULL, so we need to
change the ATTRIBUTE_NONNULL() directive for the function's
declaration - I noticed when making this change that argument 3 (the
NetDefPtr) could never be NULL, so I added ATTRIBUTE_NONNULL(3) while
removing ATTRIBUTE_NONNULL(1) (conn)).

Signed-off-by: Laine Stump <laine@redhat.com>
Reviewed-by: Michal Privoznik <mprivozn@redhat.com>
Reviewed-by: Michal Privoznik <mprivozn@redhat.com>Reviewed-by: Michal Privoznik <mprivozn@redhat.com>#Reviewed-by: Michal Privoznik <mprivozn@redhat.com>
4 years agoutil: Skip over any extra verbiage preceding version in dnsmasq version string
Laine Stump [Fri, 8 Jan 2021 01:03:05 +0000 (20:03 -0500)]
util: Skip over any extra verbiage preceding version in dnsmasq version string

dnsmasq usually prints out a version string like this:

 Dnsmasq version 2.82 [...]

but a user reported that the build of dnsmasq included with pihole has
a version string like this:

 Dnsmasq version pi-hole-2.81 [...]

We parse the dnsmasq version number to figure out if the dnsmasq
binary supports certain features. Since we expect the version number
(and it must be only numbers!) to start on the first non-space after
the string "Dnsmasq version", we fail to parse this format of the
version string.

Rather than spending a bunch of time trying to get pihole to change
that, we can just make our parsing more permissive - after searching
for "Dnsmasq version", we'll skip ahead to the first decimal digit,
rather than just the first non-space.

(NB: The features we're checking for purely by looking at version
number have been in all releases of dnsmasq since at least 2012, so we
could actually just remove the reading of the version number
completely. However it's possible (although *highly* unlikely)
that some new feature would be added to dnsmasq in the future and we
would need to add that code back.)

Resolves: https://gitlab.com/libvirt/libvirt/-/issues/29
Signed-off-by: Laine Stump <laine@redhat.com>
Reviewed-by: Ján Tomko <jtomko@redhat.com>
4 years agoutil: new function virSkipToDigit()
Laine Stump [Fri, 8 Jan 2021 00:55:43 +0000 (19:55 -0500)]
util: new function virSkipToDigit()

This function skips over the beginning of a string until it reaches a
decimal digit (0-9) or the NULL at the end of the string. The original
pointer is modified in place (similar to virSkipSpaces()).

Signed-off-by: Laine Stump <laine@redhat.com>
Reviewed-by: Ján Tomko <jtomko@redhat.com>
4 years agoqemu: Implement '<metadata_cache><max_size>' control for qcow2
Peter Krempa [Wed, 6 Jan 2021 17:20:29 +0000 (18:20 +0100)]
qemu: Implement '<metadata_cache><max_size>' control for qcow2

qemu's qcow2 driver allows control of the metadata cache of qcow2 driver
by the 'cache-size' property. Wire it up to the recently introduced
elements.

Signed-off-by: Peter Krempa <pkrempa@redhat.com>
Reviewed-by: Ján Tomko <jtomko@redhat.com>
4 years agoconf: snapshot: Add support for <metadata_cache>
Peter Krempa [Thu, 7 Jan 2021 14:30:21 +0000 (15:30 +0100)]
conf: snapshot: Add support for <metadata_cache>

Similarly to the domain config code it may be beneficial to control the
cache size of images introduced as snapshots into the backing chain.
Wire up handling of the 'metadata_cache' element.

Signed-off-by: Peter Krempa <pkrempa@redhat.com>
Reviewed-by: Ján Tomko <jtomko@redhat.com>
4 years agoconf: Introduce <metadata_cache> subelement of <disk><driver>
Peter Krempa [Wed, 6 Jan 2021 17:20:22 +0000 (18:20 +0100)]
conf: Introduce <metadata_cache> subelement of <disk><driver>

In certain specific cases it might be beneficial to be able to control
the metadata caching of storage image format drivers of a hypervisor.

Introduce XML machinery to set the maximum size of the metadata cache
which will be used by qemu's qcow2 driver.

Signed-off-by: Peter Krempa <pkrempa@redhat.com>
Reviewed-by: Ján Tomko <jtomko@redhat.com>
4 years agovirDomainSnapshotDiskDefFormat: Use virXMLFormatElement
Peter Krempa [Thu, 7 Jan 2021 14:03:57 +0000 (15:03 +0100)]
virDomainSnapshotDiskDefFormat: Use virXMLFormatElement

Refactor the code to use modern XML formatting approach.

Signed-off-by: Peter Krempa <pkrempa@redhat.com>
Reviewed-by: Ján Tomko <jtomko@redhat.com>
4 years agovirDomainDiskDefFormatDriver: Rename 'driverBuf' to 'attrBuf'
Peter Krempa [Wed, 6 Jan 2021 21:34:57 +0000 (22:34 +0100)]
virDomainDiskDefFormatDriver: Rename 'driverBuf' to 'attrBuf'

Unify the code with other places using virXMLFormatElement.

Signed-off-by: Peter Krempa <pkrempa@redhat.com>
Reviewed-by: Ján Tomko <jtomko@redhat.com>
4 years agotests: Add tests for NFS disk protocol
Ryan Gahagan [Wed, 6 Jan 2021 21:32:32 +0000 (15:32 -0600)]
tests: Add tests for NFS disk protocol

Signed-off-by: Ryan Gahagan <rgahagan@cs.utexas.edu>
Reviewed-by: Peter Krempa <pkrempa@redhat.com>
4 years agoutil: virstoragefile: Add 'json:' pseudo-protocol parser for 'nfs' protocol
Ryan Gahagan [Wed, 6 Jan 2021 21:32:31 +0000 (15:32 -0600)]
util: virstoragefile: Add 'json:' pseudo-protocol parser for 'nfs' protocol

Enable parsing of backing store strings containing the native 'nfs'
protocol specification.

Signed-off-by: Ryan Gahagan <rgahagan@cs.utexas.edu>
Reviewed-by: Peter Krempa <pkrempa@redhat.com>
4 years agoqemu: block: Add support for VIR_STORAGE_NET_PROTOCOL_NFS
Ryan Gahagan [Wed, 6 Jan 2021 21:32:30 +0000 (15:32 -0600)]
qemu: block: Add support for VIR_STORAGE_NET_PROTOCOL_NFS

Implement support for the 'nfs' native protocol driver in the qemu
driver.

QEMU accepts numeric UID/GID for 'nfs' protocol file driver thus libvirt
needs to perform the lookup prior to passing it to qemu.

Signed-off-by: Ryan Gahagan <rgahagan@cs.utexas.edu>
Reviewed-by: Peter Krempa <pkrempa@redhat.com>
4 years agoconf: Add XML format/parse methods for VIR_STORAGE_NET_PROTOCOL_NFS
Ryan Gahagan [Wed, 6 Jan 2021 21:32:29 +0000 (15:32 -0600)]
conf: Add XML format/parse methods for VIR_STORAGE_NET_PROTOCOL_NFS

Signed-off-by: Ryan Gahagan <rgahagan@cs.utexas.edu>
Reviewed-by: Peter Krempa <pkrempa@redhat.com>
4 years agodocs: add rng schema and formatdomain docs for NFS
Ryan Gahagan [Wed, 6 Jan 2021 21:32:28 +0000 (15:32 -0600)]
docs: add rng schema and formatdomain docs for NFS

Add documentation and schema for the new disk transport protocol.

Signed-off-by: Ryan Gahagan <rgahagan@cs.utexas.edu>
Reviewed-by: Peter Krempa <pkrempa@redhat.com>
4 years agoutil: Add fields for VIR_STORAGE_NET_PROTOCOL_NFS to virStorageSource
Ryan Gahagan [Wed, 6 Jan 2021 21:32:27 +0000 (15:32 -0600)]
util: Add fields for VIR_STORAGE_NET_PROTOCOL_NFS to virStorageSource

'nfs_user'/'nfs_group' represents the XML configuration.

'nfs_uid'/'nfs_gid' is internal store when libvirt looks up the user's
uid/gid in the system.

Signed-off-by: Ryan Gahagan <rgahagan@cs.utexas.edu>
Reviewed-by: Peter Krempa <pkrempa@redhat.com>
4 years agoconf: Add VIR_STORAGE_NET_PROTOCOL_NFS disk protocol type
Ryan Gahagan [Wed, 6 Jan 2021 21:32:26 +0000 (15:32 -0600)]
conf: Add VIR_STORAGE_NET_PROTOCOL_NFS disk protocol type

Signed-off-by: Ryan Gahagan <rgahagan@cs.utexas.edu>
Reviewed-by: Peter Krempa <pkrempa@redhat.com>
4 years agostorage: volStorageBackendRBDRefreshVolInfo: refactor
Yi Li [Fri, 8 Jan 2021 06:44:31 +0000 (14:44 +0800)]
storage: volStorageBackendRBDRefreshVolInfo: refactor

use the ret variable for return value

Signed-off-by: Yi Li <yili@winhong.com>
Reviewed-by: Michal Privoznik <mprivozn@redhat.com>
4 years agostorageBackendCreatePloop: Refactor cleanup
Yi Li [Fri, 8 Jan 2021 06:14:22 +0000 (14:14 +0800)]
storageBackendCreatePloop: Refactor cleanup

Get rid of the 'cleanup' label and 'created' variable.

Signed-off-by: Yi Li <yili@winhong.com>
Reviewed-by: Ján Tomko <jtomko@redhat.com>
Signed-off-by: Ján Tomko <jtomko@redhat.com>
4 years agoFix MinGW pipeline after 49cb59778a4e6c2d04bb9383a9d97fbbc83f9fce
Erik Skultety [Fri, 8 Jan 2021 10:33:44 +0000 (11:33 +0100)]
Fix MinGW pipeline after 49cb59778a4e6c2d04bb9383a9d97fbbc83f9fce

Broken build job: https://gitlab.com/libvirt/libvirt/-/jobs/951162206

Signed-off-by: Erik Skultety <eskultet@redhat.com>
4 years agocpu-gather: Rename the script as cpu-data.py
Jiri Denemark [Thu, 7 Jan 2021 17:48:41 +0000 (18:48 +0100)]
cpu-gather: Rename the script as cpu-data.py

It is now doing way more than gathering the CPU data from a host as the
other scripts were merged in it.

Signed-off-by: Jiri Denemark <jdenemar@redhat.com>
Reviewed-by: Peter Krempa <pkrempa@redhat.com>
4 years agocpu_map: Suggest better command for updating test data files
Jiri Denemark [Thu, 7 Jan 2021 18:48:51 +0000 (19:48 +0100)]
cpu_map: Suggest better command for updating test data files

cpu-cpuid.py was merged into cpu-gather.py and the script can handle
multiple files so there's no need for a loop around it.

Signed-off-by: Jiri Denemark <jdenemar@redhat.com>
Reviewed-by: Peter Krempa <pkrempa@redhat.com>
4 years agocpu-gather: Remove redundant "processor" from CPU data file names
Jiri Denemark [Thu, 7 Jan 2021 17:47:27 +0000 (18:47 +0100)]
cpu-gather: Remove redundant "processor" from CPU data file names

Signed-off-by: Jiri Denemark <jdenemar@redhat.com>
Reviewed-by: Peter Krempa <pkrempa@redhat.com>
4 years agoschema: secret: Relax requirements for usage name
Peter Krempa [Wed, 6 Jan 2021 16:19:03 +0000 (17:19 +0100)]
schema: secret: Relax requirements for usage name

There's plenty of existing documentation [1] which shows as example a
name which contains a space and a dot ('client.admin secret') as ceph
usage name.

Use a more relaxed type in the RNG schema since the usage name is
actually just a string used to look up the secret.

[1]:
https://docs.ceph.com/en/latest/rbd/libvirt/#configuring-the-vm
https://documentation.suse.com/ses/6/html/ses-all/cha-ceph-libvirt.html#ceph-libvirt-cfg-vm
Libvirt docs were correct though:
https://libvirt.org/formatsecret.html#CephUsageType

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

Signed-off-by: Peter Krempa <pkrempa@redhat.com>
Reviewed-by: Ján Tomko <jtomko@redhat.com>
4 years agoschema: Add define for object names
Peter Krempa [Wed, 6 Jan 2021 15:51:21 +0000 (16:51 +0100)]
schema: Add define for object names

Objects such as domain, pool, etc re-define the regex for the format.
Add more generic types for objects with/without a slash which we'll be
able to reuse also for other objects.

Signed-off-by: Peter Krempa <pkrempa@redhat.com>
Reviewed-by: Ján Tomko <jtomko@redhat.com>
4 years agoschema: Remove workaround for bug in libxml2 2.7.6
Peter Krempa [Wed, 6 Jan 2021 10:27:50 +0000 (11:27 +0100)]
schema: Remove workaround for bug in libxml2 2.7.6

New libxml2 handles '\n' properly so the literal newline is not
necessary, because 2.9.1 is the minimum version we support.

Signed-off-by: Peter Krempa <pkrempa@redhat.com>
Reviewed-by: Ján Tomko <jtomko@redhat.com>
4 years agoschema: domaincommon: Remove pointless 'choice' from 'inituser'/'initgroup'
Peter Krempa [Wed, 6 Jan 2021 16:12:03 +0000 (17:12 +0100)]
schema: domaincommon: Remove pointless 'choice' from 'inituser'/'initgroup'

'genericName' allows arbitrary numeric strings so using an explicit
'unsignedInt' choice is pointless. The elements take an username or a
uid which is prefixed by '+', both of which are covered by
'genericName'.

Signed-off-by: Peter Krempa <pkrempa@redhat.com>
Reviewed-by: Ján Tomko <jtomko@redhat.com>
4 years agovirSecretLookupParseSecret: Use g_steal_pointer
Peter Krempa [Wed, 6 Jan 2021 14:59:59 +0000 (15:59 +0100)]
virSecretLookupParseSecret: Use g_steal_pointer

Signed-off-by: Peter Krempa <pkrempa@redhat.com>
Reviewed-by: Ján Tomko <jtomko@redhat.com>
4 years agosecretXMLParseNode: Clean up freeing of memory
Peter Krempa [Wed, 6 Jan 2021 14:52:06 +0000 (15:52 +0100)]
secretXMLParseNode: Clean up freeing of memory

Use one variable per extracted property instead of reusing strings and
drop needless VIR_FREE calls.

Signed-off-by: Peter Krempa <pkrempa@redhat.com>
Reviewed-by: Ján Tomko <jtomko@redhat.com>
4 years agovirSecretDefParseUsage: Use g_autofree for type_str
Peter Krempa [Wed, 6 Jan 2021 14:51:26 +0000 (15:51 +0100)]
virSecretDefParseUsage: Use g_autofree for type_str

Signed-off-by: Peter Krempa <pkrempa@redhat.com>
Reviewed-by: Ján Tomko <jtomko@redhat.com>
4 years agoqemuDomainSetBlockIoTune: Skip monitor call for empty cdrom
Peter Krempa [Thu, 7 Jan 2021 09:19:22 +0000 (10:19 +0100)]
qemuDomainSetBlockIoTune: Skip monitor call for empty cdrom

Similarly to startup of the VM qemu doesn't like setting throttling for
an empty drive. Just skip it since we do the correct thing once new
media is inserted.

Resolves: https://gitlab.com/libvirt/libvirt/-/issues/117
Signed-off-by: Peter Krempa <pkrempa@redhat.com>
Reviewed-by: Ján Tomko <jtomko@redhat.com>
Tested-by: Han Han <hhan@redhat.com>
4 years agoqemuDomainSetBlockIoTune: Remove old uninformative comment
Peter Krempa [Thu, 7 Jan 2021 09:15:51 +0000 (10:15 +0100)]
qemuDomainSetBlockIoTune: Remove old uninformative comment

Signed-off-by: Peter Krempa <pkrempa@redhat.com>
Reviewed-by: Ján Tomko <jtomko@redhat.com>
4 years agotestCompareXMLToArgvValidateSchema: Populate autoNodeset
Peter Krempa [Mon, 30 Nov 2020 17:48:53 +0000 (18:48 +0100)]
testCompareXMLToArgvValidateSchema: Populate autoNodeset

We create a new 'vm' so we must also fake the nodeset.

Signed-off-by: Peter Krempa <pkrempa@redhat.com>
Reviewed-by: Michal Privoznik <mprivozn@redhat.com>
4 years agoqemuBuildChrChardevStr: Rename 'flags' to 'cdevflags'
Peter Krempa [Mon, 30 Nov 2020 13:14:22 +0000 (14:14 +0100)]
qemuBuildChrChardevStr: Rename 'flags' to 'cdevflags'

The monitor code uses 'flags' for the flags of the monitor builder,
while in this function it's a different set of flags. All callers pass a
variable named 'cdevflags', so rename the argument to suit.

Signed-off-by: Peter Krempa <pkrempa@redhat.com>
Reviewed-by: Michal Privoznik <mprivozn@redhat.com>
4 years agotests: qemuxml2argv: Don't check whether -netdev was QAPIfied repeatedly
Peter Krempa [Mon, 30 Nov 2020 13:01:05 +0000 (14:01 +0100)]
tests: qemuxml2argv: Don't check whether -netdev was QAPIfied repeatedly

Check once before looping through the args.

Signed-off-by: Peter Krempa <pkrempa@redhat.com>
Reviewed-by: Michal Privoznik <mprivozn@redhat.com>