[PATCH 00/10] Fix NSS plugin and net-dhcp-get-leases wrt to infinite leases
by Michal Privoznik
Some things are broken when using leases that don't expire. We don't
store "expiry-time" in corresponding $brname.status file which sets off
a spiral and we get errors from other places which expect it to be there
always. These patches make sure that the attribute is always there. I've
also implemented another approach, which puts "expiry-time" into the
file only if not infinite and fixed the other places which expect it:
https://gitlab.com/MichalPrivoznik/libvirt/-/commits/leases_docs/
but I like this version more.
Michal Prívozník (10):
docs: Document ability to configure lease time
leaseshelper: Report errors on failure
virlease: Rework virLeaseReadCustomLeaseFile()
virlease: Use virTrimSpaces() instead of open coded alternative
virlease: Allow infinite lease expiry time
network: Drop @custom_lease_file_len variable from
networkGetDHCPLeases()
networkGetDHCPLeases: Use VIR_APPEND_ELEMENT() instead of
VIR_INSERT_ELEMENT()
network: Rework networkGetDHCPLeases()
networkGetDHCPLeases: Handle leases with infinite expiry time
nss: handle leases with infinite expiry time
docs/formatnetwork.html.in | 21 ++++++++-
src/network/bridge_driver.c | 79 +++++++++++++++++-----------------
src/network/leaseshelper.c | 2 +
src/util/virlease.c | 33 +++++++-------
tests/nssdata/virbr0.status | 7 +++
tests/nsstest.c | 2 +-
tools/nss/libvirt_nss_leases.c | 4 +-
7 files changed, 87 insertions(+), 61 deletions(-)
--
2.26.2
3 years, 10 months
[libvirt PATCH v2 0/5] vmx: Don't error out on missing filename for cdrom
by Martin Kletzander
This is perfectly valid in VMWare and the VM just boots with an empty drive. We
used to just skip the whole drive before, but since we changed how we parse
empty cdrom drives this now results in an error and the user not being able to
even dump the XML. Instead of erroring out, just keep the drive empty.
Resolves: https://bugzilla.redhat.com/show_bug.cgi?id=1903953
v2:
- Do not report and reset an error, but handle it more nicely.
v1:
- https://www.redhat.com/archives/libvir-list/2020-December/msg00840.html
Martin Kletzander (5):
esx: Unindent unnecessary conditional branch
tests: Use g_autofree in testParseVMXFileName
vmx: Make virVMXParseFileName return an integer
vmx: Allow missing cdrom image file in virVMXParseFileName
vmx: Treat missing cdrom-image as empty drive
src/esx/esx_driver.c | 160 ++++++++++--------
src/vmware/vmware_conf.c | 10 +-
src/vmx/vmx.c | 25 +--
src/vmx/vmx.h | 5 +-
.../vmx2xmldata/vmx2xml-cdrom-ide-missing.vmx | 6 +
tests/vmx2xmltest.c | 36 ++--
6 files changed, 136 insertions(+), 106 deletions(-)
create mode 100644 tests/vmx2xmldata/vmx2xml-cdrom-ide-missing.vmx
--
2.29.2
3 years, 10 months
[libvirt PATCH] docs: Fix dead link
by Tim Wiederhake
Signed-off-by: Tim Wiederhake <twiederh(a)redhat.com>
---
docs/coding-style.rst | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/docs/coding-style.rst b/docs/coding-style.rst
index b3ac070fac..55dfa196a2 100644
--- a/docs/coding-style.rst
+++ b/docs/coding-style.rst
@@ -939,7 +939,7 @@ ok:
Although libvirt does not encourage the Linux kernel wind/unwind
style of multiple labels, there's a good general discussion of the
issue archived at
-`KernelTrap <http://kerneltrap.org/node/553/2131>`__
+`KernelTrap <https://web.archive.org/web/20130521051957/http://kerneltrap.org/node/553...>`__
When using goto, please use one of these standard labels if it
makes sense:
--
2.26.2
3 years, 10 months
[PATCH] update ci dockerfile from Leap 15.1 to 15.2
by Cho, Yu-Chen
Signed-off-by: Cho, Yu-Chen <acho(a)suse.com>
---
.gitlab-ci.yml | 14 +++++++-------
...e-151.Dockerfile => ci-opensuse-152.Dockerfile} | 2 +-
2 files changed, 8 insertions(+), 8 deletions(-)
rename ci/containers/{ci-opensuse-151.Dockerfile => ci-opensuse-152.Dockerfile} (98%)
diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index e2d5545f0f..30a0b23381 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -160,10 +160,10 @@ x64-fedora-rawhide-container:
variables:
NAME: fedora-rawhide
-x64-opensuse-151-container:
+x64-opensuse-152-container:
<<: *container_job_definition
variables:
- NAME: opensuse-151
+ NAME: opensuse-152
x64-ubuntu-1804-container:
<<: *container_job_definition
@@ -365,12 +365,12 @@ x64-fedora-rawhide-clang:
CC: clang
RPM: skip
-x64-opensuse-151:
+x64-opensuse-152:
<<: *native_build_job_definition
needs:
- - x64-opensuse-151-container
+ - x64-opensuse-152-container
variables:
- NAME: opensuse-151
+ NAME: opensuse-152
RPM: skip
x64-ubuntu-1804:
@@ -533,9 +533,9 @@ website:
codestyle:
stage: builds
- image: $CI_REGISTRY_IMAGE/ci-opensuse-151:latest
+ image: $CI_REGISTRY_IMAGE/ci-opensuse-152:latest
needs:
- - x64-opensuse-151-container
+ - x64-opensuse-152-container
before_script:
- *script_variables
script:
diff --git a/ci/containers/ci-opensuse-151.Dockerfile b/ci/containers/ci-opensuse-152.Dockerfile
similarity index 98%
rename from ci/containers/ci-opensuse-151.Dockerfile
rename to ci/containers/ci-opensuse-152.Dockerfile
index 9458d2de0c..def45cbe3f 100644
--- a/ci/containers/ci-opensuse-151.Dockerfile
+++ b/ci/containers/ci-opensuse-152.Dockerfile
@@ -3,7 +3,7 @@
# $ lcitool dockerfile opensuse-151 libvirt
#
# https://gitlab.com/libvirt/libvirt-ci/-/commit/b098ec6631a85880f818f2dd25...
-FROM registry.opensuse.org/opensuse/leap:15.1
+FROM registry.opensuse.org/opensuse/leap:15.2
RUN zypper update -y && \
zypper install -y \
--
2.29.2
3 years, 10 months
[PATCH] Enable VMware driver by default
by Michal Privoznik
During rewrite to meson it was mistakenly disabled. Originally,
we had:
LIBVIRT_ARG_WITH_FEATURE([VMWARE], [VMware], [yes])
which enabled the driver by default. But in meson we are checking
whether the 'driver_vmware' option is enabled without anything
enabling it automagically.
Signed-off-by: Michal Privoznik <mprivozn(a)redhat.com>
---
meson.build | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/meson.build b/meson.build
index 3f3412975b..b5164f68ed 100644
--- a/meson.build
+++ b/meson.build
@@ -1790,7 +1790,7 @@ if not get_option('driver_vbox').disabled() and conf.has('WITH_LIBVIRTD')
conf.set_quoted('VBOX_XPCOMC_DIR', get_option('vbox_xpcomc_dir'))
endif
-if get_option('driver_vmware').enabled()
+if not get_option('driver_vmware').disabled()
conf.set('WITH_VMWARE', 1)
conf.set('WITH_VMX', 1)
endif
--
2.26.2
3 years, 10 months
[PATCH] Fix wrong use of path variable
by liyalei
From: liyalei <liyl43(a)chinatelecom.cn>
---
src/util/virnetdevopenvswitch.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/src/util/virnetdevopenvswitch.c b/src/util/virnetdevopenvswitch.c
index d380b0cf22..7eabaa763d 100644
--- a/src/util/virnetdevopenvswitch.c
+++ b/src/util/virnetdevopenvswitch.c
@@ -494,7 +494,7 @@ virNetDevOpenvswitchGetVhostuserIfname(const char *path,
if (server) {
virCommandAddArgList(cmd, "--no-headings", "--columns=name", "find",
"Interface", NULL);
- virCommandAddArgPair(cmd, "options:vhost-server-path", "path");
+ virCommandAddArgPair(cmd, "options:vhost-server-path", path);
} else {
const char *tmpIfname = NULL;
--
2.27.0
3 years, 10 months
[PATCH 0/5] Fix qemuNodeGetSecurityModel() and some related cleanups
by Michal Privoznik
While I'd love to give more context, I can't - I've found these on a
stale branch. However, they are still valid and worth of merging.
Michal Prívozník (5):
qemu: Use virStrcpy in qemuNodeGetSecurityModel()
qemu: Obtain @caps only after ACL check in qemuNodeGetSecurityModel
qemu: Fix retval if ACL check fails in qemuNodeGetSecurityModel
domain_conf: Parse full length of some <seclabel/> attributes
use more virStrcpy() and virStrcpyStatic()
src/conf/domain_conf.c | 6 ++----
src/libvirt-lxc.c | 5 ++---
src/qemu/qemu_driver.c | 23 +++++++++--------------
src/remote/remote_driver.c | 12 ++++--------
src/security/security_selinux.c | 3 +--
5 files changed, 18 insertions(+), 31 deletions(-)
--
2.26.2
3 years, 10 months
Release of libvirt-6.5.0
by Daniel Veillard
Half a day late, but I pushed the 6.5.0 release out, it is as usual
available as a signed tarball and source rpms from the server:
https://libvirt.org/sources/
I also tagged and pushed the 6.5.0 python bindings that one can find at
https://libvirt.org/sources/python/
This release includes a number of new features and some improvement,
as well as a crash which had made its way in 6.4.0.
It will also be my last release of libvirt after close to 15 years,
so expect new releases to be signed by Jiri Denemark from now on.
* New Features:
- Allow firmware blobs configuration
QEMU offers a way to tweak how firmware configures itself
and/or provide new configuration blobs. New ``<sysinfo/>``
type is introduced that will hold these new blobs.
It's possible to either specify new value as a string or
provide a filename which contents then serve as the value.
- nodedev: Add ability to create mediated devices
Mediated devices can now be created with ``virNodeDeviceCreateXML()``. This
functionality requires the ``mdevctl`` utility to be installed. The XML
schema for node devices was expanded to support attributes for mediated
devices.
- QEMU: add TPM Proxy device support
libvirt can now create guests using a new device type called
"TPM Proxy". The TPM Proxy connects to a TPM Resource Manager
present in the host, enabling the guest to run in secure virtual
machine mode with the help of an Ultravisor. Adding a TPM Proxy to
a pSeries guest brings no security benefits unless the guest is
running on a PPC64 host that has Ultravisor and TPM Resource Manager
support. Only one TPM Proxy is allowed per guest. A guest using
a TPM Proxy device can instantiate another TPM device at the same
time. This device is supported only for pSeries guests via the new
'spapr-tpm-proxy' model of the TPM 'passthrough' backend.
- virhook: Support hooks placed in several files
Running all scripts from directory /etc/libvirt/hooks/<driver>.d in
alphabetical order. Hook script in old place will be executed
as first for backward compatibility.
- qemu: Add support for migratable host-passthrough CPU
QEMU 2.12 made it possible for guests to use a migration-friendly
version of the host-passthrough CPU. This feature is now exposed by
libvirt.
* Improvements:
- network: Support NAT with IPv6
It's now possible to use ``<nat ipv6="yes"/>`` in a libvirt network.
- qemu: Auto-fill NUMA information for incomplete topologies
If the NUMA topology is not fully described in the guest XML, libvirt
will complete it by putting all unspecified CPUs in the first NUMA node.
This is only done in the QEMU binary itself supports disjointed CPU
ranges for NUMA nodes.
- qemu: Assign hostdev-backed interfaces to PCIe slots
All SR-IOV capable devices are PCIe, so when their VFs are assigned to
guests they should end up in PCIe slots rather than conventional PCI ones.
* Bug fixes:
- qemu: fixed crash in ``qemuDomainBlockCommit``
This release fixes a regression which was introduced in libvirt v6.4.0
where libvirtd always crashes when a block commit of a disk is requested.
- qemu: fixed zPCI address auto generation on s390
Removes the correlation between the zPCI address attributes uid and fid.
Fixes the validation and autogeneration of zPCI address attributes.
- qemu: Skip pre-creation of NVMe disks during migration
libvirt has no way to create NVMe devices on the target host, so it now
just makes sure they exist and let the migration proceed in that case.
Thanks everybody for the help on putting this release out, and
the gazillion ones before :-)
Enjoy and stay safe !
Daniel
--
Daniel Veillard | Red Hat Developers Tools http://developer.redhat.com/
veillard(a)redhat.com | libxml Gnome XML XSLT toolkit http://xmlsoft.org/
http://veillard.com/ | virtualization library http://libvirt.org/
3 years, 10 months
[PATCH] kbase: debuglogs: Fix typo in unprivileged libvirtd config path
by Tomáš Janoušek
Signed-off-by: Tomáš Janoušek <tomi(a)nomi.cz>
---
docs/kbase/debuglogs.rst | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/docs/kbase/debuglogs.rst b/docs/kbase/debuglogs.rst
index f3937bc337..3fb06bedc3 100644
--- a/docs/kbase/debuglogs.rst
+++ b/docs/kbase/debuglogs.rst
@@ -68,7 +68,7 @@ variable:
However, when you are using the session mode ``qemu:///session`` or you run the
``libvirtd`` as unprivileged user you will find configuration file under
-``$XDG_CONFIG_HOME/libvirt/libvirt.conf``.
+``$XDG_CONFIG_HOME/libvirt/libvirtd.conf``.
Runtime setting
^^^^^^^^^^^^^^^
--
Tomáš Janoušek, a.k.a. Pivník, a.k.a. Liskni_si, https://work.lisk.in/
3 years, 10 months