]>
git.ipfire.org Git - thirdparty/libvirt.git/log
Weblate [Wed, 30 Jul 2025 03:43:51 +0000 (03:43 +0000)]
Translated using Weblate (Portuguese)
Currently translated at 53.6% (5869 of 10939 strings)
Translation: libvirt/libvirt
Translate-URL: https://translate.fedoraproject.org/projects/libvirt/libvirt/pt/
Signed-off-by: Weblate <noreply-mt-weblate@weblate.org>
Américo Monteiro [Wed, 30 Jul 2025 03:43:50 +0000 (03:43 +0000)]
Translated using Weblate (Portuguese)
Currently translated at 53.6% (5868 of 10939 strings)
Translation: libvirt/libvirt
Translate-URL: https://translate.fedoraproject.org/projects/libvirt/libvirt/pt/
Signed-off-by: Américo Monteiro <a_monteiro@gmx.com>
Weblate [Wed, 30 Jul 2025 03:43:50 +0000 (03:43 +0000)]
Translated using Weblate (Portuguese)
Currently translated at 53.6% (5868 of 10939 strings)
Translation: libvirt/libvirt
Translate-URL: https://translate.fedoraproject.org/projects/libvirt/libvirt/pt/
Signed-off-by: Weblate <noreply-mt-weblate@weblate.org>
Translated using Weblate (Portuguese)
Currently translated at 53.6% (5867 of 10939 strings)
Translation: libvirt/libvirt
Translate-URL: https://translate.fedoraproject.org/projects/libvirt/libvirt/pt/
Signed-off-by: Weblate <noreply-mt-weblate@weblate.org>
Américo Monteiro [Wed, 30 Jul 2025 03:43:49 +0000 (03:43 +0000)]
Translated using Weblate (Portuguese)
Currently translated at 53.6% (5867 of 10939 strings)
Translation: libvirt/libvirt
Translate-URL: https://translate.fedoraproject.org/projects/libvirt/libvirt/pt/
Signed-off-by: Américo Monteiro <a_monteiro@gmx.com>
Translated using Weblate (Portuguese)
Currently translated at 53.6% (5866 of 10939 strings)
Translation: libvirt/libvirt
Translate-URL: https://translate.fedoraproject.org/projects/libvirt/libvirt/pt/
Signed-off-by: Américo Monteiro <a_monteiro@gmx.com>
Weblate [Wed, 30 Jul 2025 03:43:48 +0000 (03:43 +0000)]
Translated using Weblate (Portuguese)
Currently translated at 53.6% (5866 of 10939 strings)
Translation: libvirt/libvirt
Translate-URL: https://translate.fedoraproject.org/projects/libvirt/libvirt/pt/
Signed-off-by: Weblate <noreply-mt-weblate@weblate.org>
Américo Monteiro [Wed, 30 Jul 2025 03:43:47 +0000 (03:43 +0000)]
Translated using Weblate (Portuguese)
Currently translated at 53.6% (5865 of 10939 strings)
Translation: libvirt/libvirt
Translate-URL: https://translate.fedoraproject.org/projects/libvirt/libvirt/pt/
Signed-off-by: Américo Monteiro <a_monteiro@gmx.com>
Weblate [Wed, 30 Jul 2025 03:43:46 +0000 (03:43 +0000)]
Translated using Weblate (Portuguese)
Currently translated at 53.6% (5865 of 10939 strings)
Translation: libvirt/libvirt
Translate-URL: https://translate.fedoraproject.org/projects/libvirt/libvirt/pt/
Signed-off-by: Weblate <noreply-mt-weblate@weblate.org>
Translated using Weblate (Portuguese)
Currently translated at 53.6% (5864 of 10939 strings)
Translation: libvirt/libvirt
Translate-URL: https://translate.fedoraproject.org/projects/libvirt/libvirt/pt/
Signed-off-by: Weblate <noreply-mt-weblate@weblate.org>
Américo Monteiro [Wed, 30 Jul 2025 03:43:46 +0000 (03:43 +0000)]
Translated using Weblate (Portuguese)
Currently translated at 53.6% (5864 of 10939 strings)
Translation: libvirt/libvirt
Translate-URL: https://translate.fedoraproject.org/projects/libvirt/libvirt/pt/
Signed-off-by: Américo Monteiro <a_monteiro@gmx.com>
Translated using Weblate (Portuguese)
Currently translated at 53.5% (5862 of 10939 strings)
Translation: libvirt/libvirt
Translate-URL: https://translate.fedoraproject.org/projects/libvirt/libvirt/pt/
Signed-off-by: Américo Monteiro <a_monteiro@gmx.com>
Translated using Weblate (Portuguese)
Currently translated at 53.5% (5861 of 10939 strings)
Translation: libvirt/libvirt
Translate-URL: https://translate.fedoraproject.org/projects/libvirt/libvirt/pt/
Signed-off-by: Américo Monteiro <a_monteiro@gmx.com>
Weblate [Wed, 30 Jul 2025 03:43:45 +0000 (03:43 +0000)]
Translated using Weblate (Portuguese)
Currently translated at 53.5% (5862 of 10939 strings)
Translation: libvirt/libvirt
Translate-URL: https://translate.fedoraproject.org/projects/libvirt/libvirt/pt/
Signed-off-by: Weblate <noreply-mt-weblate@weblate.org>
Translated using Weblate (Portuguese)
Currently translated at 53.5% (5861 of 10939 strings)
Translation: libvirt/libvirt
Translate-URL: https://translate.fedoraproject.org/projects/libvirt/libvirt/pt/
Signed-off-by: Weblate <noreply-mt-weblate@weblate.org>
Translated using Weblate (Portuguese)
Currently translated at 53.5% (5860 of 10939 strings)
Translation: libvirt/libvirt
Translate-URL: https://translate.fedoraproject.org/projects/libvirt/libvirt/pt/
Signed-off-by: Weblate <noreply-mt-weblate@weblate.org>
Américo Monteiro [Wed, 30 Jul 2025 03:43:44 +0000 (03:43 +0000)]
Translated using Weblate (Portuguese)
Currently translated at 53.5% (5860 of 10939 strings)
Translation: libvirt/libvirt
Translate-URL: https://translate.fedoraproject.org/projects/libvirt/libvirt/pt/
Signed-off-by: Américo Monteiro <a_monteiro@gmx.com>
Translated using Weblate (Portuguese)
Currently translated at 53.5% (5859 of 10939 strings)
Translation: libvirt/libvirt
Translate-URL: https://translate.fedoraproject.org/projects/libvirt/libvirt/pt/
Signed-off-by: Américo Monteiro <a_monteiro@gmx.com>
Translated using Weblate (Portuguese)
Currently translated at 53.5% (5858 of 10939 strings)
Translation: libvirt/libvirt
Translate-URL: https://translate.fedoraproject.org/projects/libvirt/libvirt/pt/
Signed-off-by: Américo Monteiro <a_monteiro@gmx.com>
Weblate [Wed, 30 Jul 2025 03:43:43 +0000 (03:43 +0000)]
Translated using Weblate (Portuguese)
Currently translated at 53.5% (5859 of 10939 strings)
Translation: libvirt/libvirt
Translate-URL: https://translate.fedoraproject.org/projects/libvirt/libvirt/pt/
Signed-off-by: Weblate <noreply-mt-weblate@weblate.org>
Translated using Weblate (Portuguese)
Currently translated at 53.5% (5858 of 10939 strings)
Translation: libvirt/libvirt
Translate-URL: https://translate.fedoraproject.org/projects/libvirt/libvirt/pt/
Signed-off-by: Weblate <noreply-mt-weblate@weblate.org>
Américo Monteiro [Wed, 30 Jul 2025 03:43:43 +0000 (03:43 +0000)]
Translated using Weblate (Portuguese)
Currently translated at 53.5% (5858 of 10939 strings)
Translation: libvirt/libvirt
Translate-URL: https://translate.fedoraproject.org/projects/libvirt/libvirt/pt/
Signed-off-by: Américo Monteiro <a_monteiro@gmx.com>
Weblate [Wed, 30 Jul 2025 03:43:42 +0000 (03:43 +0000)]
Translated using Weblate (Portuguese)
Currently translated at 53.5% (5856 of 10939 strings)
Translation: libvirt/libvirt
Translate-URL: https://translate.fedoraproject.org/projects/libvirt/libvirt/pt/
Signed-off-by: Weblate <noreply-mt-weblate@weblate.org>
Américo Monteiro [Wed, 30 Jul 2025 03:43:41 +0000 (03:43 +0000)]
Translated using Weblate (Portuguese)
Currently translated at 53.5% (5855 of 10939 strings)
Translation: libvirt/libvirt
Translate-URL: https://translate.fedoraproject.org/projects/libvirt/libvirt/pt/
Signed-off-by: Américo Monteiro <a_monteiro@gmx.com>
Weblate [Wed, 30 Jul 2025 03:43:40 +0000 (03:43 +0000)]
Translated using Weblate (Portuguese)
Currently translated at 53.5% (5855 of 10939 strings)
Translation: libvirt/libvirt
Translate-URL: https://translate.fedoraproject.org/projects/libvirt/libvirt/pt/
Signed-off-by: Weblate <noreply-mt-weblate@weblate.org>
Américo Monteiro [Wed, 30 Jul 2025 03:43:40 +0000 (03:43 +0000)]
Translated using Weblate (Portuguese)
Currently translated at 53.5% (5855 of 10939 strings)
Translation: libvirt/libvirt
Translate-URL: https://translate.fedoraproject.org/projects/libvirt/libvirt/pt/
Signed-off-by: Américo Monteiro <a_monteiro@gmx.com>
Translated using Weblate (Portuguese)
Currently translated at 53.5% (5854 of 10939 strings)
Translation: libvirt/libvirt
Translate-URL: https://translate.fedoraproject.org/projects/libvirt/libvirt/pt/
Signed-off-by: Américo Monteiro <a_monteiro@gmx.com>
Translated using Weblate (Portuguese)
Currently translated at 53.5% (5853 of 10939 strings)
Translation: libvirt/libvirt
Translate-URL: https://translate.fedoraproject.org/projects/libvirt/libvirt/pt/
Signed-off-by: Américo Monteiro <a_monteiro@gmx.com>
Weblate [Wed, 30 Jul 2025 03:43:39 +0000 (03:43 +0000)]
Translated using Weblate (Portuguese)
Currently translated at 53.5% (5854 of 10939 strings)
Translation: libvirt/libvirt
Translate-URL: https://translate.fedoraproject.org/projects/libvirt/libvirt/pt/
Signed-off-by: Weblate <noreply-mt-weblate@weblate.org>
Translated using Weblate (Portuguese)
Currently translated at 53.5% (5853 of 10939 strings)
Translation: libvirt/libvirt
Translate-URL: https://translate.fedoraproject.org/projects/libvirt/libvirt/pt/
Signed-off-by: Weblate <noreply-mt-weblate@weblate.org>
Américo Monteiro [Wed, 30 Jul 2025 03:43:38 +0000 (03:43 +0000)]
Translated using Weblate (Portuguese)
Currently translated at 53.4% (5851 of 10939 strings)
Translation: libvirt/libvirt
Translate-URL: https://translate.fedoraproject.org/projects/libvirt/libvirt/pt/
Signed-off-by: Américo Monteiro <a_monteiro@gmx.com>
Weblate [Wed, 30 Jul 2025 03:43:38 +0000 (03:43 +0000)]
Translated using Weblate (Portuguese)
Currently translated at 53.4% (5851 of 10939 strings)
Translation: libvirt/libvirt
Translate-URL: https://translate.fedoraproject.org/projects/libvirt/libvirt/pt/
Signed-off-by: Weblate <noreply-mt-weblate@weblate.org>
Translated using Weblate (Portuguese)
Currently translated at 53.4% (5850 of 10939 strings)
Translation: libvirt/libvirt
Translate-URL: https://translate.fedoraproject.org/projects/libvirt/libvirt/pt/
Signed-off-by: Weblate <noreply-mt-weblate@weblate.org>
Américo Monteiro [Wed, 30 Jul 2025 03:43:37 +0000 (03:43 +0000)]
Translated using Weblate (Portuguese)
Currently translated at 53.4% (5850 of 10939 strings)
Translation: libvirt/libvirt
Translate-URL: https://translate.fedoraproject.org/projects/libvirt/libvirt/pt/
Signed-off-by: Américo Monteiro <a_monteiro@gmx.com>
Translated using Weblate (Portuguese)
Currently translated at 53.4% (5849 of 10939 strings)
Translation: libvirt/libvirt
Translate-URL: https://translate.fedoraproject.org/projects/libvirt/libvirt/pt/
Signed-off-by: Américo Monteiro <a_monteiro@gmx.com>
Translated using Weblate (Portuguese)
Currently translated at 53.4% (5848 of 10939 strings)
Translation: libvirt/libvirt
Translate-URL: https://translate.fedoraproject.org/projects/libvirt/libvirt/pt/
Signed-off-by: Américo Monteiro <a_monteiro@gmx.com>
Weblate [Wed, 30 Jul 2025 03:43:36 +0000 (03:43 +0000)]
Translated using Weblate (Portuguese)
Currently translated at 53.4% (5849 of 10939 strings)
Translation: libvirt/libvirt
Translate-URL: https://translate.fedoraproject.org/projects/libvirt/libvirt/pt/
Signed-off-by: Weblate <noreply-mt-weblate@weblate.org>
Translated using Weblate (Portuguese)
Currently translated at 53.4% (5848 of 10939 strings)
Translation: libvirt/libvirt
Translate-URL: https://translate.fedoraproject.org/projects/libvirt/libvirt/pt/
Signed-off-by: Weblate <noreply-mt-weblate@weblate.org>
Translated using Weblate (Portuguese)
Currently translated at 53.4% (5847 of 10939 strings)
Translation: libvirt/libvirt
Translate-URL: https://translate.fedoraproject.org/projects/libvirt/libvirt/pt/
Signed-off-by: Weblate <noreply-mt-weblate@weblate.org>
Américo Monteiro [Wed, 30 Jul 2025 03:43:35 +0000 (03:43 +0000)]
Translated using Weblate (Portuguese)
Currently translated at 53.4% (5846 of 10939 strings)
Translation: libvirt/libvirt
Translate-URL: https://translate.fedoraproject.org/projects/libvirt/libvirt/pt/
Signed-off-by: Américo Monteiro <a_monteiro@gmx.com>
Translated using Weblate (Portuguese)
Currently translated at 53.4% (5844 of 10939 strings)
Translation: libvirt/libvirt
Translate-URL: https://translate.fedoraproject.org/projects/libvirt/libvirt/pt/
Signed-off-by: Américo Monteiro <a_monteiro@gmx.com>
Translated using Weblate (Portuguese)
Currently translated at 53.0% (5805 of 10939 strings)
Translation: libvirt/libvirt
Translate-URL: https://translate.fedoraproject.org/projects/libvirt/libvirt/pt/
Signed-off-by: Américo Monteiro <a_monteiro@gmx.com>
Translated using Weblate (Portuguese)
Currently translated at 52.9% (5797 of 10939 strings)
Translation: libvirt/libvirt
Translate-URL: https://translate.fedoraproject.org/projects/libvirt/libvirt/pt/
Signed-off-by: Américo Monteiro <a_monteiro@gmx.com>
Translated using Weblate (Portuguese)
Currently translated at 52.9% (5788 of 10939 strings)
Translation: libvirt/libvirt
Translate-URL: https://translate.fedoraproject.org/projects/libvirt/libvirt/pt/
Signed-off-by: Américo Monteiro <a_monteiro@gmx.com>
Translated using Weblate (Portuguese)
Currently translated at 52.8% (5778 of 10939 strings)
Translation: libvirt/libvirt
Translate-URL: https://translate.fedoraproject.org/projects/libvirt/libvirt/pt/
Signed-off-by: Américo Monteiro <a_monteiro@gmx.com>
Translated using Weblate (Portuguese)
Currently translated at 52.6% (5763 of 10939 strings)
Translation: libvirt/libvirt
Translate-URL: https://translate.fedoraproject.org/projects/libvirt/libvirt/pt/
Signed-off-by: Américo Monteiro <a_monteiro@gmx.com>
Translated using Weblate (Portuguese)
Currently translated at 52.6% (5759 of 10939 strings)
Translation: libvirt/libvirt
Translate-URL: https://translate.fedoraproject.org/projects/libvirt/libvirt/pt/
Signed-off-by: Américo Monteiro <a_monteiro@gmx.com>
Peter Krempa [Tue, 29 Jul 2025 11:05:09 +0000 (13:05 +0200)]
Revert "qemu: Match firmware with fully resolved and canonicalized paths"
The canonicalization of the paths is not mocked properly and thus the
tests depend on the host system. While the tests do pass on our CI they
break on real deployments at least on Fedora 42.
Since we're in code freeze for the upcoming release, revert the patch
instead of attempts to fix it.
This reverts commit
4efea21ae8709c6741a1800bd26ae6b49c8a77f5 .
Signed-off-by: Peter Krempa <pkrempa@redhat.com>
Reviewed-by: Pavel Hrdina <phrdina@redhat.com>
Peter Krempa [Tue, 29 Jul 2025 11:03:18 +0000 (13:03 +0200)]
Revert "qemuxmlconfdata: Regenerate outputs after last commit"
Turns out the test difference was not caused by forgotten hunks but
rather that the test output depends on the system.
For now both this wrong fix and the commit causing the failure will both
be reverted as we're in code freeze for the upcoming release.
This reverts commit
73345ccc7bca1044d57391a5e676db1e700452e8 .
Signed-off-by: Peter Krempa <pkrempa@redhat.com>
Reviewed-by: Pavel Hrdina <phrdina@redhat.com>
Peter Krempa [Tue, 29 Jul 2025 10:36:41 +0000 (12:36 +0200)]
qemuxmlconfdata: Regenerate outputs after last commit
Commit
4efea21ae8709c6741a1800bd26ae6b49c8a77f5 modified how the EFI
paths are detected but didn't update the outputs.
Fixes: 4efea21ae8709c6741a1800bd26ae6b49c8a77f5
Signed-off-by: Peter Krempa <pkrempa@redhat.com>
James Le Cuirot [Thu, 24 Jul 2025 13:49:38 +0000 (14:49 +0100)]
qemu: Match firmware with fully resolved and canonicalized paths
Distros may provide compatibility symlinks after moving firmware files
around, but they won't work for existing VMs when doing a straight
string comparison.
I tried to compare inodes instead, but even glib doesn't provide a
straightforward cross-platform method to do this.
Resolves: https://bugs.gentoo.org/960591
Signed-off-by: James Le Cuirot <jlecuirot@microsoft.com>
Reviewed-by: Michal Privoznik <mprivozn@redhat.com>
James Le Cuirot [Thu, 24 Jul 2025 13:49:37 +0000 (14:49 +0100)]
util: Fully resolve paths with virFileComparePaths
The description says it "resolve all symlinks", but it was only
resolving the last component.
Signed-off-by: James Le Cuirot <jlecuirot@microsoft.com>
Reviewed-by: Michal Privoznik <mprivozn@redhat.com>
Martin Kletzander [Mon, 28 Jul 2025 11:39:54 +0000 (13:39 +0200)]
NEWS: Mention zero discard_granularity option
Signed-off-by: Martin Kletzander <mkletzan@redhat.com>
Reviewed-by: Pavel Hrdina <phrdina@redhat.com>
Daniel P. Berrangé [Mon, 28 Jul 2025 12:47:14 +0000 (13:47 +0100)]
include: fix version for VIR_CONNECT_BASELINE_CPU_IGNORE_HOST
Reviewed-by: Jiri Denemark <jdenemar@redhat.com>
Signed-off-by: Daniel P. Berrangé <berrange@redhat.com>
Daniel P. Berrangé [Mon, 28 Jul 2025 10:34:24 +0000 (11:34 +0100)]
include: s/RECREATION/RECREATED/ in domain event names
New event reasons were added in
commit
1af740c5012bb45dfe96c77bcd6b20c28b6bb45d
Author: Zhenzhong Duan <zhenzhong.duan@intel.com>
Date: Thu Jul 10 03:21:21 2025 -0400
qemu: Send event VIR_DOMAIN_EVENT_[STOPPED|STARTED] during recreation
but the naming did not match existing reason names, so adapt
to match. The version tags are also updated to reflect when
this was merged.
Reviewed-by: Martin Kletzander <mkletzan@redhat.com>
Signed-off-by: Daniel P. Berrangé <berrange@redhat.com>
Weblate [Mon, 28 Jul 2025 09:13:48 +0000 (09:13 +0000)]
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/
Signed-off-by: Fedora Weblate Translation <i18n@lists.fedoraproject.org>
Jiri Denemark [Mon, 28 Jul 2025 09:09:07 +0000 (11:09 +0200)]
po: Refresh potfile for v11.6.0
Signed-off-by: Jiri Denemark <jdenemar@redhat.com>
Fco. Javier F. Serrador [Sun, 27 Jul 2025 22:57:11 +0000 (22:57 +0000)]
Translated using Weblate (Spanish)
Currently translated at 62.3% (6822 of 10937 strings)
Translation: libvirt/libvirt
Translate-URL: https://translate.fedoraproject.org/projects/libvirt/libvirt/es/
Signed-off-by: "Fco. Javier F. Serrador" <fserrador@gmail.com>
Translated using Weblate (Spanish)
Currently translated at 61.9% (6776 of 10937 strings)
Translation: libvirt/libvirt
Translate-URL: https://translate.fedoraproject.org/projects/libvirt/libvirt/es/
Signed-off-by: "Fco. Javier F. Serrador" <fserrador@gmail.com>
Translated using Weblate (Spanish)
Currently translated at 60.5% (6624 of 10937 strings)
Translation: libvirt/libvirt
Translate-URL: https://translate.fedoraproject.org/projects/libvirt/libvirt/es/
Signed-off-by: "Fco. Javier F. Serrador" <fserrador@gmail.com>
Translated using Weblate (Spanish)
Currently translated at 59.9% (6557 of 10937 strings)
Translation: libvirt/libvirt
Translate-URL: https://translate.fedoraproject.org/projects/libvirt/libvirt/es/
Signed-off-by: "Fco. Javier F. Serrador" <fserrador@gmail.com>
Translated using Weblate (Spanish)
Currently translated at 59.9% (6554 of 10937 strings)
Translation: libvirt/libvirt
Translate-URL: https://translate.fedoraproject.org/projects/libvirt/libvirt/es/
Signed-off-by: "Fco. Javier F. Serrador" <fserrador@gmail.com>
Translated using Weblate (Spanish)
Currently translated at 59.4% (6501 of 10937 strings)
Translation: libvirt/libvirt
Translate-URL: https://translate.fedoraproject.org/projects/libvirt/libvirt/es/
Signed-off-by: "Fco. Javier F. Serrador" <fserrador@gmail.com>
Ricky Tigg [Sun, 27 Jul 2025 22:57:11 +0000 (22:57 +0000)]
Translated using Weblate (Finnish)
Currently translated at 21.7% (2377 of 10937 strings)
Translation: libvirt/libvirt
Translate-URL: https://translate.fedoraproject.org/projects/libvirt/libvirt/fi/
Signed-off-by: Ricky Tigg <ricky.tigg@gmail.com>
Weblate [Sun, 27 Jul 2025 22:57:10 +0000 (22:57 +0000)]
Translated using Weblate (Spanish)
Currently translated at 59.2% (6484 of 10937 strings)
Translation: libvirt/libvirt
Translate-URL: https://translate.fedoraproject.org/projects/libvirt/libvirt/es/
Signed-off-by: Weblate <noreply-mt-weblate@weblate.org>
Fco. Javier F. Serrador [Sun, 27 Jul 2025 22:57:10 +0000 (22:57 +0000)]
Translated using Weblate (Spanish)
Currently translated at 59.2% (6484 of 10937 strings)
Translation: libvirt/libvirt
Translate-URL: https://translate.fedoraproject.org/projects/libvirt/libvirt/es/
Signed-off-by: "Fco. Javier F. Serrador" <fserrador@gmail.com>
Translated using Weblate (Spanish)
Currently translated at 58.1% (6362 of 10937 strings)
Translation: libvirt/libvirt
Translate-URL: https://translate.fedoraproject.org/projects/libvirt/libvirt/es/
Signed-off-by: "Fco. Javier F. Serrador" <fserrador@gmail.com>
Translated using Weblate (Spanish)
Currently translated at 55.7% (6098 of 10937 strings)
Translation: libvirt/libvirt
Translate-URL: https://translate.fedoraproject.org/projects/libvirt/libvirt/es/
Signed-off-by: "Fco. Javier F. Serrador" <fserrador@gmail.com>
Translated using Weblate (Spanish)
Currently translated at 55.6% (6091 of 10937 strings)
Translation: libvirt/libvirt
Translate-URL: https://translate.fedoraproject.org/projects/libvirt/libvirt/es/
Signed-off-by: "Fco. Javier F. Serrador" <fserrador@gmail.com>
Translated using Weblate (Spanish)
Currently translated at 54.7% (5987 of 10937 strings)
Translation: libvirt/libvirt
Translate-URL: https://translate.fedoraproject.org/projects/libvirt/libvirt/es/
Signed-off-by: "Fco. Javier F. Serrador" <fserrador@gmail.com>
Emilio Herrera [Sun, 27 Jul 2025 22:57:09 +0000 (22:57 +0000)]
Translated using Weblate (Spanish)
Currently translated at 53.6% (5871 of 10937 strings)
Translation: libvirt/libvirt
Translate-URL: https://translate.fedoraproject.org/projects/libvirt/libvirt/es/
Signed-off-by: Emilio Herrera <ehespinosa57@gmail.com>
Américo Monteiro [Sun, 27 Jul 2025 22:57:09 +0000 (22:57 +0000)]
Translated using Weblate (Portuguese)
Currently translated at 52.3% (5724 of 10937 strings)
Translation: libvirt/libvirt
Translate-URL: https://translate.fedoraproject.org/projects/libvirt/libvirt/pt/
Signed-off-by: Américo Monteiro <a_monteiro@gmx.com>
Translated using Weblate (Portuguese)
Currently translated at 52.1% (5701 of 10937 strings)
Translation: libvirt/libvirt
Translate-URL: https://translate.fedoraproject.org/projects/libvirt/libvirt/pt/
Signed-off-by: Américo Monteiro <a_monteiro@gmx.com>
Translated using Weblate (Portuguese)
Currently translated at 51.3% (5611 of 10937 strings)
Translation: libvirt/libvirt
Translate-URL: https://translate.fedoraproject.org/projects/libvirt/libvirt/pt/
Signed-off-by: Américo Monteiro <a_monteiro@gmx.com>
Translated using Weblate (Portuguese)
Currently translated at 51.0% (5580 of 10937 strings)
Translation: libvirt/libvirt
Translate-URL: https://translate.fedoraproject.org/projects/libvirt/libvirt/pt/
Signed-off-by: Américo Monteiro <a_monteiro@gmx.com>
Translated using Weblate (Portuguese)
Currently translated at 50.5% (5529 of 10937 strings)
Translation: libvirt/libvirt
Translate-URL: https://translate.fedoraproject.org/projects/libvirt/libvirt/pt/
Signed-off-by: Américo Monteiro <a_monteiro@gmx.com>
Translated using Weblate (Portuguese)
Currently translated at 49.0% (5367 of 10937 strings)
Translation: libvirt/libvirt
Translate-URL: https://translate.fedoraproject.org/projects/libvirt/libvirt/pt/
Signed-off-by: Américo Monteiro <a_monteiro@gmx.com>
Translated using Weblate (Portuguese)
Currently translated at 48.6% (5326 of 10937 strings)
Translation: libvirt/libvirt
Translate-URL: https://translate.fedoraproject.org/projects/libvirt/libvirt/pt/
Signed-off-by: Américo Monteiro <a_monteiro@gmx.com>
Translated using Weblate (Portuguese)
Currently translated at 48.1% (5263 of 10937 strings)
Translation: libvirt/libvirt
Translate-URL: https://translate.fedoraproject.org/projects/libvirt/libvirt/pt/
Signed-off-by: Américo Monteiro <a_monteiro@gmx.com>
Translated using Weblate (Portuguese)
Currently translated at 47.7% (5221 of 10937 strings)
Translation: libvirt/libvirt
Translate-URL: https://translate.fedoraproject.org/projects/libvirt/libvirt/pt/
Signed-off-by: Américo Monteiro <a_monteiro@gmx.com>
Translated using Weblate (Portuguese)
Currently translated at 47.5% (5204 of 10937 strings)
Translation: libvirt/libvirt
Translate-URL: https://translate.fedoraproject.org/projects/libvirt/libvirt/pt/
Signed-off-by: Américo Monteiro <a_monteiro@gmx.com>
Translated using Weblate (Portuguese)
Currently translated at 47.1% (5159 of 10937 strings)
Translation: libvirt/libvirt
Translate-URL: https://translate.fedoraproject.org/projects/libvirt/libvirt/pt/
Signed-off-by: Américo Monteiro <a_monteiro@gmx.com>
Translated using Weblate (Portuguese)
Currently translated at 46.7% (5118 of 10937 strings)
Translation: libvirt/libvirt
Translate-URL: https://translate.fedoraproject.org/projects/libvirt/libvirt/pt/
Signed-off-by: Américo Monteiro <a_monteiro@gmx.com>
Translated using Weblate (Portuguese)
Currently translated at 46.4% (5075 of 10937 strings)
Translation: libvirt/libvirt
Translate-URL: https://translate.fedoraproject.org/projects/libvirt/libvirt/pt/
Signed-off-by: Américo Monteiro <a_monteiro@gmx.com>
Translated using Weblate (Portuguese)
Currently translated at 45.7% (5003 of 10937 strings)
Translation: libvirt/libvirt
Translate-URL: https://translate.fedoraproject.org/projects/libvirt/libvirt/pt/
Signed-off-by: Américo Monteiro <a_monteiro@gmx.com>
Translated using Weblate (Portuguese)
Currently translated at 45.6% (4988 of 10937 strings)
Translation: libvirt/libvirt
Translate-URL: https://translate.fedoraproject.org/projects/libvirt/libvirt/pt/
Signed-off-by: Américo Monteiro <a_monteiro@gmx.com>
Translated using Weblate (Portuguese)
Currently translated at 45.2% (4946 of 10937 strings)
Translation: libvirt/libvirt
Translate-URL: https://translate.fedoraproject.org/projects/libvirt/libvirt/pt/
Signed-off-by: Américo Monteiro <a_monteiro@gmx.com>
Translated using Weblate (Portuguese)
Currently translated at 44.3% (4854 of 10937 strings)
Translation: libvirt/libvirt
Translate-URL: https://translate.fedoraproject.org/projects/libvirt/libvirt/pt/
Signed-off-by: Américo Monteiro <a_monteiro@gmx.com>
Translated using Weblate (Portuguese)
Currently translated at 44.1% (4830 of 10937 strings)
Translation: libvirt/libvirt
Translate-URL: https://translate.fedoraproject.org/projects/libvirt/libvirt/pt/
Signed-off-by: Américo Monteiro <a_monteiro@gmx.com>
Translated using Weblate (Portuguese)
Currently translated at 42.2% (4616 of 10937 strings)
Translation: libvirt/libvirt
Translate-URL: https://translate.fedoraproject.org/projects/libvirt/libvirt/pt/
Signed-off-by: Américo Monteiro <a_monteiro@gmx.com>
Translated using Weblate (Portuguese)
Currently translated at 41.8% (4577 of 10937 strings)
Translation: libvirt/libvirt
Translate-URL: https://translate.fedoraproject.org/projects/libvirt/libvirt/pt/
Signed-off-by: Américo Monteiro <a_monteiro@gmx.com>
Translated using Weblate (Portuguese)
Currently translated at 40.5% (4435 of 10937 strings)
Translation: libvirt/libvirt
Translate-URL: https://translate.fedoraproject.org/projects/libvirt/libvirt/pt/
Signed-off-by: Américo Monteiro <a_monteiro@gmx.com>
Translated using Weblate (Portuguese)
Currently translated at 37.1% (4066 of 10937 strings)
Translation: libvirt/libvirt
Translate-URL: https://translate.fedoraproject.org/projects/libvirt/libvirt/pt/
Signed-off-by: Américo Monteiro <a_monteiro@gmx.com>
Translated using Weblate (Portuguese)
Currently translated at 34.8% (3814 of 10937 strings)
Translation: libvirt/libvirt
Translate-URL: https://translate.fedoraproject.org/projects/libvirt/libvirt/pt/
Signed-off-by: Américo Monteiro <a_monteiro@gmx.com>
Translated using Weblate (Portuguese)
Currently translated at 32.6% (3571 of 10937 strings)
Translation: libvirt/libvirt
Translate-URL: https://translate.fedoraproject.org/projects/libvirt/libvirt/pt/
Signed-off-by: Américo Monteiro <a_monteiro@gmx.com>
Translated using Weblate (Portuguese)
Currently translated at 32.5% (3564 of 10937 strings)
Translation: libvirt/libvirt
Translate-URL: https://translate.fedoraproject.org/projects/libvirt/libvirt/pt/
Signed-off-by: Américo Monteiro <a_monteiro@gmx.com>
Translated using Weblate (Portuguese)
Currently translated at 31.5% (3452 of 10937 strings)
Translation: libvirt/libvirt
Translate-URL: https://translate.fedoraproject.org/projects/libvirt/libvirt/pt/
Signed-off-by: Américo Monteiro <a_monteiro@gmx.com>
Translated using Weblate (Portuguese)
Currently translated at 31.3% (3426 of 10937 strings)
Translation: libvirt/libvirt
Translate-URL: https://translate.fedoraproject.org/projects/libvirt/libvirt/pt/
Signed-off-by: Américo Monteiro <a_monteiro@gmx.com>
Translated using Weblate (Portuguese)
Currently translated at 28.8% (3155 of 10937 strings)
Translation: libvirt/libvirt
Translate-URL: https://translate.fedoraproject.org/projects/libvirt/libvirt/pt/
Signed-off-by: Américo Monteiro <a_monteiro@gmx.com>
Translated using Weblate (Portuguese)
Currently translated at 28.1% (3084 of 10937 strings)
Translation: libvirt/libvirt
Translate-URL: https://translate.fedoraproject.org/projects/libvirt/libvirt/pt/
Signed-off-by: Américo Monteiro <a_monteiro@gmx.com>
Translated using Weblate (Portuguese)
Currently translated at 27.2% (2980 of 10937 strings)
Translation: libvirt/libvirt
Translate-URL: https://translate.fedoraproject.org/projects/libvirt/libvirt/pt/
Signed-off-by: Américo Monteiro <a_monteiro@gmx.com>
Translated using Weblate (Portuguese)
Currently translated at 26.1% (2862 of 10937 strings)
Translation: libvirt/libvirt
Translate-URL: https://translate.fedoraproject.org/projects/libvirt/libvirt/pt/
Signed-off-by: Américo Monteiro <a_monteiro@gmx.com>
Translated using Weblate (Portuguese)
Currently translated at 22.5% (2471 of 10937 strings)
Translation: libvirt/libvirt
Translate-URL: https://translate.fedoraproject.org/projects/libvirt/libvirt/pt/
Signed-off-by: Américo Monteiro <a_monteiro@gmx.com>
Translated using Weblate (Portuguese)
Currently translated at 22.3% (2445 of 10937 strings)
Translation: libvirt/libvirt
Translate-URL: https://translate.fedoraproject.org/projects/libvirt/libvirt/pt/
Signed-off-by: Américo Monteiro <a_monteiro@gmx.com>
Translated using Weblate (Portuguese)
Currently translated at 19.6% (2146 of 10937 strings)
Translation: libvirt/libvirt
Translate-URL: https://translate.fedoraproject.org/projects/libvirt/libvirt/pt/
Signed-off-by: Américo Monteiro <a_monteiro@gmx.com>
Translated using Weblate (Portuguese)
Currently translated at 19.5% (2135 of 10937 strings)
Translation: libvirt/libvirt
Translate-URL: https://translate.fedoraproject.org/projects/libvirt/libvirt/pt/
Signed-off-by: Américo Monteiro <a_monteiro@gmx.com>
Translated using Weblate (Portuguese)
Currently translated at 19.5% (2133 of 10937 strings)
Translation: libvirt/libvirt
Translate-URL: https://translate.fedoraproject.org/projects/libvirt/libvirt/pt/
Signed-off-by: Américo Monteiro <a_monteiro@gmx.com>
Translated using Weblate (Portuguese)
Currently translated at 19.3% (2116 of 10937 strings)
Translation: libvirt/libvirt
Translate-URL: https://translate.fedoraproject.org/projects/libvirt/libvirt/pt/
Signed-off-by: Américo Monteiro <a_monteiro@gmx.com>
Translated using Weblate (Portuguese)
Currently translated at 18.6% (2036 of 10937 strings)
Translation: libvirt/libvirt
Translate-URL: https://translate.fedoraproject.org/projects/libvirt/libvirt/pt/
Signed-off-by: Américo Monteiro <a_monteiro@gmx.com>
Translated using Weblate (Portuguese)
Currently translated at 18.4% (2023 of 10937 strings)
Translation: libvirt/libvirt
Translate-URL: https://translate.fedoraproject.org/projects/libvirt/libvirt/pt/
Signed-off-by: Américo Monteiro <a_monteiro@gmx.com>
Translated using Weblate (Portuguese)
Currently translated at 18.0% (1971 of 10937 strings)
Translation: libvirt/libvirt
Translate-URL: https://translate.fedoraproject.org/projects/libvirt/libvirt/pt/
Signed-off-by: Américo Monteiro <a_monteiro@gmx.com>
Translated using Weblate (Portuguese)
Currently translated at 17.1% (1877 of 10937 strings)
Translation: libvirt/libvirt
Translate-URL: https://translate.fedoraproject.org/projects/libvirt/libvirt/pt/
Signed-off-by: Américo Monteiro <a_monteiro@gmx.com>
Translated using Weblate (Portuguese)
Currently translated at 17.0% (1868 of 10937 strings)
Translation: libvirt/libvirt
Translate-URL: https://translate.fedoraproject.org/projects/libvirt/libvirt/pt/
Signed-off-by: Américo Monteiro <a_monteiro@gmx.com>
Translated using Weblate (Portuguese)
Currently translated at 17.0% (1865 of 10937 strings)
Translation: libvirt/libvirt
Translate-URL: https://translate.fedoraproject.org/projects/libvirt/libvirt/pt/
Signed-off-by: Américo Monteiro <a_monteiro@gmx.com>
Translated using Weblate (Portuguese)
Currently translated at 16.9% (1855 of 10937 strings)
Translation: libvirt/libvirt
Translate-URL: https://translate.fedoraproject.org/projects/libvirt/libvirt/pt/
Signed-off-by: Américo Monteiro <a_monteiro@gmx.com>
Translated using Weblate (Portuguese)
Currently translated at 16.7% (1830 of 10937 strings)
Translation: libvirt/libvirt
Translate-URL: https://translate.fedoraproject.org/projects/libvirt/libvirt/pt/
Signed-off-by: Américo Monteiro <a_monteiro@gmx.com>
Translated using Weblate (Portuguese)
Currently translated at 16.0% (1759 of 10937 strings)
Translation: libvirt/libvirt
Translate-URL: https://translate.fedoraproject.org/projects/libvirt/libvirt/pt/
Signed-off-by: Américo Monteiro <a_monteiro@gmx.com>
Translated using Weblate (Portuguese)
Currently translated at 16.0% (1755 of 10937 strings)
Translation: libvirt/libvirt
Translate-URL: https://translate.fedoraproject.org/projects/libvirt/libvirt/pt/
Signed-off-by: Américo Monteiro <a_monteiro@gmx.com>
Translated using Weblate (Portuguese)
Currently translated at 15.7% (1723 of 10937 strings)
Translation: libvirt/libvirt
Translate-URL: https://translate.fedoraproject.org/projects/libvirt/libvirt/pt/
Signed-off-by: Américo Monteiro <a_monteiro@gmx.com>
Translated using Weblate (Portuguese)
Currently translated at 15.6% (1711 of 10937 strings)
Translation: libvirt/libvirt
Translate-URL: https://translate.fedoraproject.org/projects/libvirt/libvirt/pt/
Signed-off-by: Américo Monteiro <a_monteiro@gmx.com>
Translated using Weblate (Portuguese)
Currently translated at 15.2% (1672 of 10937 strings)
Translation: libvirt/libvirt
Translate-URL: https://translate.fedoraproject.org/projects/libvirt/libvirt/pt/
Signed-off-by: Américo Monteiro <a_monteiro@gmx.com>
Translated using Weblate (Portuguese)
Currently translated at 15.2% (1668 of 10937 strings)
Translation: libvirt/libvirt
Translate-URL: https://translate.fedoraproject.org/projects/libvirt/libvirt/pt/
Signed-off-by: Américo Monteiro <a_monteiro@gmx.com>
Translated using Weblate (Portuguese)
Currently translated at 15.1% (1653 of 10937 strings)
Translation: libvirt/libvirt
Translate-URL: https://translate.fedoraproject.org/projects/libvirt/libvirt/pt/
Signed-off-by: Américo Monteiro <a_monteiro@gmx.com>
Translated using Weblate (Portuguese)
Currently translated at 14.9% (1632 of 10937 strings)
Translation: libvirt/libvirt
Translate-URL: https://translate.fedoraproject.org/projects/libvirt/libvirt/pt/
Signed-off-by: Américo Monteiro <a_monteiro@gmx.com>
Translated using Weblate (Portuguese)
Currently translated at 14.4% (1583 of 10937 strings)
Translation: libvirt/libvirt
Translate-URL: https://translate.fedoraproject.org/projects/libvirt/libvirt/pt/
Signed-off-by: Américo Monteiro <a_monteiro@gmx.com>
Translated using Weblate (Portuguese)
Currently translated at 14.4% (1579 of 10937 strings)
Translation: libvirt/libvirt
Translate-URL: https://translate.fedoraproject.org/projects/libvirt/libvirt/pt/
Signed-off-by: Américo Monteiro <a_monteiro@gmx.com>
Translated using Weblate (Portuguese)
Currently translated at 13.8% (1520 of 10937 strings)
Translation: libvirt/libvirt
Translate-URL: https://translate.fedoraproject.org/projects/libvirt/libvirt/pt/
Signed-off-by: Américo Monteiro <a_monteiro@gmx.com>
Translated using Weblate (Portuguese)
Currently translated at 13.8% (1519 of 10937 strings)
Translation: libvirt/libvirt
Translate-URL: https://translate.fedoraproject.org/projects/libvirt/libvirt/pt/
Signed-off-by: Américo Monteiro <a_monteiro@gmx.com>
Translated using Weblate (Portuguese)
Currently translated at 12.9% (1414 of 10937 strings)
Translation: libvirt/libvirt
Translate-URL: https://translate.fedoraproject.org/projects/libvirt/libvirt/pt/
Signed-off-by: Américo Monteiro <a_monteiro@gmx.com>
Translated using Weblate (Portuguese)
Currently translated at 12.6% (1388 of 10937 strings)
Translation: libvirt/libvirt
Translate-URL: https://translate.fedoraproject.org/projects/libvirt/libvirt/pt/
Signed-off-by: Américo Monteiro <a_monteiro@gmx.com>
Translated using Weblate (Portuguese)
Currently translated at 12.2% (1339 of 10937 strings)
Translation: libvirt/libvirt
Translate-URL: https://translate.fedoraproject.org/projects/libvirt/libvirt/pt/
Signed-off-by: Américo Monteiro <a_monteiro@gmx.com>
Translated using Weblate (Portuguese)
Currently translated at 12.1% (1331 of 10937 strings)
Translation: libvirt/libvirt
Translate-URL: https://translate.fedoraproject.org/projects/libvirt/libvirt/pt/
Signed-off-by: Américo Monteiro <a_monteiro@gmx.com>
Translated using Weblate (Portuguese)
Currently translated at 11.8% (1292 of 10937 strings)
Translation: libvirt/libvirt
Translate-URL: https://translate.fedoraproject.org/projects/libvirt/libvirt/pt/
Signed-off-by: Américo Monteiro <a_monteiro@gmx.com>
Translated using Weblate (Portuguese)
Currently translated at 11.5% (1263 of 10937 strings)
Translation: libvirt/libvirt
Translate-URL: https://translate.fedoraproject.org/projects/libvirt/libvirt/pt/
Signed-off-by: Américo Monteiro <a_monteiro@gmx.com>
Translated using Weblate (Portuguese)
Currently translated at 10.2% (1116 of 10937 strings)
Translation: libvirt/libvirt
Translate-URL: https://translate.fedoraproject.org/projects/libvirt/libvirt/pt/
Signed-off-by: Américo Monteiro <a_monteiro@gmx.com>
Translated using Weblate (Portuguese)
Currently translated at 9.6% (1058 of 10937 strings)
Translation: libvirt/libvirt
Translate-URL: https://translate.fedoraproject.org/projects/libvirt/libvirt/pt/
Signed-off-by: Américo Monteiro <a_monteiro@gmx.com>
Translated using Weblate (Portuguese)
Currently translated at 9.4% (1035 of 10937 strings)
Translation: libvirt/libvirt
Translate-URL: https://translate.fedoraproject.org/projects/libvirt/libvirt/pt/
Signed-off-by: Américo Monteiro <a_monteiro@gmx.com>
Translated using Weblate (Portuguese)
Currently translated at 9.3% (1020 of 10937 strings)
Translation: libvirt/libvirt
Translate-URL: https://translate.fedoraproject.org/projects/libvirt/libvirt/pt/
Signed-off-by: Américo Monteiro <a_monteiro@gmx.com>
Translated using Weblate (Portuguese)
Currently translated at 9.1% (1004 of 10937 strings)
Translation: libvirt/libvirt
Translate-URL: https://translate.fedoraproject.org/projects/libvirt/libvirt/pt/
Signed-off-by: Américo Monteiro <a_monteiro@gmx.com>
Translated using Weblate (Portuguese)
Currently translated at 8.7% (952 of 10937 strings)
Translation: libvirt/libvirt
Translate-URL: https://translate.fedoraproject.org/projects/libvirt/libvirt/pt/
Signed-off-by: Américo Monteiro <a_monteiro@gmx.com>
Translated using Weblate (Portuguese)
Currently translated at 7.8% (858 of 10937 strings)
Translation: libvirt/libvirt
Translate-URL: https://translate.fedoraproject.org/projects/libvirt/libvirt/pt/
Signed-off-by: Américo Monteiro <a_monteiro@gmx.com>
Translated using Weblate (Portuguese)
Currently translated at 7.6% (841 of 10937 strings)
Translation: libvirt/libvirt
Translate-URL: https://translate.fedoraproject.org/projects/libvirt/libvirt/pt/
Signed-off-by: Américo Monteiro <a_monteiro@gmx.com>
Collin Walling [Thu, 24 Jul 2025 18:36:23 +0000 (14:36 -0400)]
NEWS: mention disabling deprecated features by default on s390 CPU models
Signed-off-by: Collin Walling <walling@linux.ibm.com>
Reviewed-by: Jiri Denemark <jdenemar@redhat.com>
Boris Fiuczynski [Mon, 30 Jun 2025 03:19:30 +0000 (23:19 -0400)]
qemu: add default_cpu_deprecated_features configuration option
Allow to define the default for deprecated_features when the attribute
is not set in the cpu defintion of a domain XML. If these features are
still desired, they may be reenabled via the deprecated_features='on'
attribute.
Some existing tests utilize this updated behavior, so update the CPU
features on the corresponding args files.
Signed-off-by: Boris Fiuczynski <fiuczy@linux.ibm.com>
Signed-off-by: Collin Walling <walling@linux.ibm.com>
Acked-by: Thomas Huth <thuth@redhat.com>
Boris Fiuczynski [Mon, 30 Jun 2025 03:19:29 +0000 (23:19 -0400)]
tests: new qemuxmlactive tests for s390x
Add tests for active/inactive XML with deprecated_features attribute.
Note that for the qemuxmlactivetest, it is not possible to test an
inactive guest XML with the absence of "deprecated_features" attribute
and expect the active XML to have the attribute present. This is due to
the fact that the tests never touch the code path in qemu_process that
trigger this change in the domain definition.
Signed-off-by: Boris Fiuczynski <fiuczy@linux.ibm.com>
Reviewed-by: Collin Walling <walling@linux.ibm.com>
Acked-by: Thomas Huth <thuth@redhat.com>
Collin Walling [Mon, 30 Jun 2025 03:19:28 +0000 (23:19 -0400)]
qemu: process: refactor deprecated features code
Group up the deprecated features code into a single block to keep things
clean; only check if the deprecated_features attribute is present
once and then do relevent work.
Signed-off-by: Collin Walling <walling@linux.ibm.com>
Reviewed-by: Boris Fiuczynski <fiuczy@linux.ibm.com>
Acked-by: Thomas Huth <thuth@redhat.com>
Collin Walling [Mon, 30 Jun 2025 03:19:27 +0000 (23:19 -0400)]
qemu: caps: add virCPUFeaturePolicy param to virQEMUCapsUpdateCPUDeprecatedFeatures
Currently, virQEMUCapsUpdateCPUDeprecatedFeatures only allows for
disabling deprecated features. This locks the deprecated_features
attribute to only do something if set to 'off'.
Let's add a virCPUFeaturePolicy to the function's parameters which will
allow the caller to decide what happens to these features.
Add a test with guest XML using deprecated_features='on' to ensure the
API is working properly.
Signed-off-by: Collin Walling <walling@linux.ibm.com>
Reviewed-by: Boris Fiuczynski <fiuczy@linux.ibm.com>
Acked-by: Thomas Huth <thuth@redhat.com>
Collin Walling [Mon, 30 Jun 2025 03:19:26 +0000 (23:19 -0400)]
docs: domain: document deprecated_features attribute
Provide documentation for the deprecated_features XML attribute.
Available since 11.0.0, and supported for S390.
Signed-off-by: Collin Walling <walling@linux.ibm.com>
Reviewed-by: Boris Fiuczynski <fiuczy@linux.ibm.com>
Acked-by: Thomas Huth <thuth@redhat.com>
Zhenzhong Duan [Thu, 10 Jul 2025 07:21:25 +0000 (03:21 -0400)]
docs: domain: Add documentation for Intel TDX guest
Reviewed-by: Daniel P. Berrangé <berrange@redhat.com>
Signed-off-by: Zhenzhong Duan <zhenzhong.duan@intel.com>
Zhenzhong Duan [Thu, 10 Jul 2025 07:21:24 +0000 (03:21 -0400)]
qemuxmlconftest: Add latest version of 'launch-security-tdx*' test data
We now have the '+inteltdx' variant dumped from a modern qemu with tdx support,
add qemuxmlconftest data for that variant.
Reviewed-by: Daniel P. Berrangé <berrange@redhat.com>
Signed-off-by: Zhenzhong Duan <zhenzhong.duan@intel.com>
Zhenzhong Duan [Thu, 10 Jul 2025 07:21:23 +0000 (03:21 -0400)]
qemu: Support domain reset command for TDX guest
TDX guest doesn't support system_reset, so have to kill the old QEMU and
start a new one to simulate the reset. This can be achieved by calling
qemuProcessFakeRebootViaRecreate().
Simiar as FakeReboot, QEMU sends SHUTDOWN event with "host-signal" reason
which can trigger another FakeReset. Check if a FakeReset is ongoing and
bypass "host-signal" processing which originally comes from FakeReset.
Domain lock is already hold in qemuDomainReset() before calling
qemuProcessFakeRebootViaRecreate(), so bypass locking in it.
Signed-off-by: Zhenzhong Duan <zhenzhong.duan@intel.com>
Reviewed-by: Daniel P. Berrangé <berrange@redhat.com>
Zhenzhong Duan [Thu, 10 Jul 2025 07:21:21 +0000 (03:21 -0400)]
qemu: Send event VIR_DOMAIN_EVENT_[STOPPED|STARTED] during recreation
For secure guest, FakeReboot kills original QEMU instance and
create new one which is quite different from normal guest.
To reflect this fact, VIR_DOMAIN_EVENT_[STOPPED|STARTED]
are sent to control plane with new introduced reasons
VIR_DOMAIN_EVENT_[STOPPED|STARTED]_RECREATION.
That would let control plane software understand that these
events are from a fake reboot.
Suggested-by: Daniel P. Berrangé <berrange@redhat.com>
Reviewed-by: Daniel P. Berrangé <berrange@redhat.com>
Signed-off-by: Zhenzhong Duan <zhenzhong.duan@intel.com>
Zhenzhong Duan [Thu, 10 Jul 2025 07:21:20 +0000 (03:21 -0400)]
qemu: Avoid duplicate FakeReboot for secure guest
For secure guest, FakeReboot kills original QEMU instance and
create new one. During this process, QEMU send SHUTDOWN event
with "host-signal" reason which can trigger another FakeReboot.
Check if a FakeReboot is ongoing and bypass "host-signal"
processing which originally comes from FakeReboot.
Signed-off-by: Zhenzhong Duan <zhenzhong.duan@intel.com>
Reviewed-by: Daniel P. Berrangé <berrange@redhat.com>
Zhenzhong Duan [Thu, 10 Jul 2025 07:21:19 +0000 (03:21 -0400)]
qemu: Support reboot command in guest
We can reboot a TDX guest with 'virsh reboot' or 'virsh shutdown' if action
for onPoweroff is 'restart'. But running reboot command in guest shell will
always lead to shutdown.
This behavior is not consistent with normal guest, fix it by checking
shutdown reason and action configuration to trigger FakeReboot.
Signed-off-by: Zhenzhong Duan <zhenzhong.duan@intel.com>
Reviewed-by: Daniel P. Berrangé <berrange@redhat.com>
Zhenzhong Duan [Thu, 10 Jul 2025 07:21:18 +0000 (03:21 -0400)]
qemu: Add FakeReboot support for TDX guest
Utilize the existing fake reboot mechanism to do reboot for TDX guest.
Different from normal guest, TDX guest doesn't support system_reset,
so have to kill the old guest and start a new one to simulate the reboot.
Co-developed-by: Chenyi Qiang <chenyi.qiang@intel.com>
Signed-off-by: Zhenzhong Duan <zhenzhong.duan@intel.com>
Reviewed-by: Daniel P. Berrangé <berrange@redhat.com>
Zhenzhong Duan [Thu, 10 Jul 2025 07:21:17 +0000 (03:21 -0400)]
qemu: Add command line for TDX Quote Generation Service(QGS)
'tdx-guest' object supports a "quote-generation-socket" property for
attestation purpose. When "quote-generation-socket" is configured in
guest xml, libvirt generates unix socket format cmdline for QEMU.
'Path' element can be omitted, default path "/var/run/tdx-qgs/qgs.socket"
is used in this case.
QEMU command line example:
qemu-system-x86_64 \
-object '{"qom-type":"tdx-guest","id":"lsec0","mrconfigid":"xxx","mrowner":"xxx","mrownerconfig":"xxx","quote-generation-socket":{"type":"unix","path":"/var/run/tdx-qgs/qgs.socket"},"attributes":
268435457 }' \
-machine pc-q35-6.0,confidential-guest-support=lsec0
Signed-off-by: Zhenzhong Duan <zhenzhong.duan@intel.com>
Reviewed-by: Daniel P. Berrangé <berrange@redhat.com>
Zhenzhong Duan [Thu, 10 Jul 2025 07:21:16 +0000 (03:21 -0400)]
conf: Add Intel TDX Quote Generation Service(QGS) support
Add element "quoteGenerationService" to tdx launch security type.
It contains only an optional unix socket address attribute,
when omitted, libvirt will use default QGS server address
"/var/run/tdx-qgs/qgs.socket".
UNIX sockets offer the required functionality with greater
security than vsock, so libvirt only provides support for unix
socket.
XML example:
<launchSecurity type='tdx'>
<policy>0x10000001</policy>
<mrConfigId>xxx</mrConfigId>
<mrOwner>xxx</mrOwner>
<mrOwnerConfig>xxx</mrOwnerConfig>
<quoteGenerationService path='/var/run/tdx-qgs/qgs.socket'/>
</launchSecurity>
Reviewed-by: Daniel P. Berrangé <berrange@redhat.com>
Signed-off-by: Zhenzhong Duan <zhenzhong.duan@intel.com>
Zhenzhong Duan [Thu, 10 Jul 2025 07:21:15 +0000 (03:21 -0400)]
qemu_firmware: Pick the right firmware for TDX guests
The firmware descriptors have 'intel-tdx' feature which
describes whether firmware is suitable for TDX guests.
Provide necessary implementation to detect the feature and pick
the right firmware if guest is TDX enabled.
Suggested-by: Daniel P. Berrangé <berrange@redhat.com>
Reviewed-by: Daniel P. Berrangé <berrange@redhat.com>
Signed-off-by: Zhenzhong Duan <zhenzhong.duan@intel.com>
Zhenzhong Duan [Thu, 10 Jul 2025 07:21:14 +0000 (03:21 -0400)]
qemu: log the crash information for TDX
Since QEMU 10.1.0 commit id '
6e250463b08b ' guest crash information for
TDX is available in the QEMU monitor, e.g.:
{
"timestamp": {
"seconds":
1752118704 ,
"microseconds": 27480
},
"event": "GUEST_PANICKED",
"data": {
"action": "pause",
"info": {
"error-code": 0,
"message": "TD misconfiguration: SEPT #VE has to be disabled",
"type": "tdx"
}
}
}
Let's log this information into the domain log file, e.g.:
2025-07-10 03:39:18.243+0000: panic tdx: error_code='0x0' message='TD misconfiguration: SEPT #VE has to be disabled'
Suggested-by: Daniel P. Berrangé <berrange@redhat.com>
Reviewed-by: Daniel P. Berrangé <berrange@redhat.com>
Signed-off-by: Zhenzhong Duan <zhenzhong.duan@intel.com>
Zhenzhong Duan [Thu, 10 Jul 2025 07:21:13 +0000 (03:21 -0400)]
qemu: Force special parameters enabled for TDX guest
TDX guest requires some special parameters to boot, currently:
"kernel_irqchip=split"
"pmu!=on"
"smm!=on"
"-bios"
If not specified explicitly, QEMU should configure this option implicitly
when start a TDX guest.
Signed-off-by: Zhenzhong Duan <zhenzhong.duan@intel.com>
Reviewed-by: Daniel P. Berrangé <berrange@redhat.com>
Zhenzhong Duan [Thu, 10 Jul 2025 07:21:12 +0000 (03:21 -0400)]
conf: Expose TDX type in domain launch security capability
As the tdx launch security type support is added, expose it in domain
capabilities so that domain definition validation check can take
effect.
Signed-off-by: Zhenzhong Duan <zhenzhong.duan@intel.com>
Reviewed-by: Daniel P. Berrangé <berrange@redhat.com>
Zhenzhong Duan [Thu, 10 Jul 2025 07:21:11 +0000 (03:21 -0400)]
qemu: Add command line and validation for TDX type
QEMU will provides 'tdx-guest' object which is used to launch encrypted
VMs on Intel platform using TDX feature.
Command line looks like:
$QEMU ... \
-object '{"qom-type":"tdx-guest","id":"lsec0","mrconfigid":"xxx","mrowner":"xxx","mrownerconfig":"xxx","attributes":
268435457 }' \
-machine pc-q35-6.0,confidential-guest-support=lsec0
Signed-off-by: Zhenzhong Duan <zhenzhong.duan@intel.com>
Reviewed-by: Daniel P. Berrangé <berrange@redhat.com>
Zhenzhong Duan [Thu, 10 Jul 2025 07:21:10 +0000 (03:21 -0400)]
conf: Validate TDX launchSecurity element mrConfigId/mrOwner/mrOwnerConfig
mrConfigId/mrOwner/mrOwnerConfig are base64 encoded SHA384 digest,
can be provided for TDX attestation.
Check their decoded lengths to ensure they are 48 bytes.
Signed-off-by: Zhenzhong Duan <zhenzhong.duan@intel.com>
Reviewed-by: Daniel P. Berrangé <berrange@redhat.com>
Zhenzhong Duan [Thu, 10 Jul 2025 07:21:09 +0000 (03:21 -0400)]
conf: Add tdx as launch security type
When 'tdx' is used, the VM will be launched with Intel TDX feature enabled.
TDX feature supports running encrypted VM (Trust Domain, TD) under the
control of KVM. A TD runs in a CPU model which protects the confidentiality
of its memory and its CPU state from other software.
There are four optional child elements. Element policy is 64bit hex, bit 0
is set to enable TDX debug, bit 28 is set to enable sept-ve-disable, other
bits are reserved currently. When policy isn't specified, QEMU will use its
own default value 0x10000000. mrConfigId, mrOwner and mrOwnerConfig are
base64 encoded SHA384 digest string.
For example:
<launchSecurity type='tdx'>
<policy>0x10000001</policy>
<mrConfigId>xxx</mrConfigId>
<mrOwner>xxx</mrOwner>
<mrOwnerConfig>xxx</mrOwnerConfig>
</launchSecurity>
Signed-off-by: Zhenzhong Duan <zhenzhong.duan@intel.com>
Reviewed-by: Daniel P. Berrangé <berrange@redhat.com>
Zhenzhong Duan [Thu, 10 Jul 2025 07:21:08 +0000 (03:21 -0400)]
conf: Expose TDX feature in domain capabilities
Extend qemu TDX capability to domain capabilities.
Signed-off-by: Chenyi Qiang <chenyi.qiang@intel.com>
Signed-off-by: Zhenzhong Duan <zhenzhong.duan@intel.com>
Reviewed-by: Daniel P. Berrangé <berrange@redhat.com>
Zhenzhong Duan [Thu, 10 Jul 2025 07:21:07 +0000 (03:21 -0400)]
qemu: Add QEMU_CAPS_TDX_GUEST capability
QEMU_CAPS_TDX_GUEST set means TDX supported with this QEMU.
Signed-off-by: Chenyi Qiang <chenyi.qiang@intel.com>
Signed-off-by: Zhenzhong Duan <zhenzhong.duan@intel.com>
Reviewed-by: Daniel P. Berrangé <berrange@redhat.com>
Reviewed-by: Peter Krempa <pkrempa@redhat.com>
Zhenzhong Duan [Thu, 10 Jul 2025 07:21:06 +0000 (03:21 -0400)]
qemucapabilitiestest: Add data for the qemu-10.1.0 dev cycle on x86_64 for the '+inteltdx' variant
Add data based on '
v10.0.0-1724-gf9a3def17b '.
Signed-off-by: Zhenzhong Duan <zhenzhong.duan@intel.com>
Reviewed-by: Peter Krempa <pkrempa@redhat.com>
Zhenzhong Duan [Thu, 10 Jul 2025 07:21:05 +0000 (03:21 -0400)]
qemucapabilitiesdata: Document '+inteltdx' variant
Upcoming patch will introduce test data from an TDX-enabled host.
Document the new variant.
Signed-off-by: Zhenzhong Duan <zhenzhong.duan@intel.com>
Reviewed-by: Peter Krempa <pkrempa@redhat.com>
Zhenzhong Duan [Thu, 10 Jul 2025 07:21:04 +0000 (03:21 -0400)]
qemu: Check if INTEL Trust Domain Extention support is enabled
Implement TDX check in order to generate domain feature capability
correctly in case the availability of the feature changed.
For INTEL TDX the verification is:
- checking if "/sys/module/kvm_intel/parameters/tdx" contains the
value 'Y': meaning TDX is enabled in the host kernel.
Signed-off-by: Zhenzhong Duan <zhenzhong.duan@intel.com>
Reviewed-by: Daniel P. Berrangé <berrange@redhat.com>
Reviewed-by: Xiaoyao Li <xiaoyao.li@intel.com>
Zhenzhong Duan [Thu, 10 Jul 2025 07:21:03 +0000 (03:21 -0400)]
tools: Secure guest check for Intel in virt-host-validate
Add check in virt-host-validate for secure guest support
on x86 for Intel Trust Domain Extentions.
Suggested-by: Daniel P. Berrangé <berrange@redhat.com>
Signed-off-by: Zhenzhong Duan <zhenzhong.duan@intel.com>
Reviewed-by: Daniel P. Berrangé <berrange@redhat.com>
Reviewed-by: Xiaoyao Li <xiaoyao.li@intel.com>
Michal Privoznik [Thu, 23 Mar 2023 08:15:53 +0000 (09:15 +0100)]
meson: Report library versions in the summary
The summary() directive accepts dependency() too [1] in which
case it also prints version of the dependency found. This may
come handy when reading build process transcripts.
1: https://mesonbuild.com/Reference-manual_functions.html#summary
Signed-off-by: Michal Privoznik <mprivozn@redhat.com>
Reviewed-by: Pavel Hrdina <phrdina@redhat.com>
Michal Privoznik [Tue, 4 Mar 2025 08:23:51 +0000 (09:23 +0100)]
meson: Convert attr_dep to dependency()
Currently, libattr is detected using cc.find_library() because at
historically, the library was lacking pkg-config file. But that
changed with libattr-2.4.48 (released 7+ years ago) and even
prehistoric distros have it now. Switch to dependency().
Signed-off-by: Michal Privoznik <mprivozn@redhat.com>
Reviewed-by: Pavel Hrdina <phrdina@redhat.com>
Han Han [Wed, 26 May 2021 13:35:11 +0000 (21:35 +0800)]
qemu: Add support for RBD namespace.
Since Nautilus ceph supports separate image namespaces within a pool for
tenant isolation and QEMU adds it as a rbd blockdev options from 5.0.0.
The source name with format "<pool>/<namespace>/<image>" could be used to
access a rbd image with namespace.
Add unit tests for this attribute.
https://bugzilla.redhat.com/show_bug.cgi?id=
1816909
Closes: https://gitlab.com/libvirt/libvirt/-/issues/405
Signed-off-by: Han Han <hhan@redhat.com>
Signed-off-by: Peter Krempa <pkrempa@redhat.com>
Reviewed-by: Michal Privoznik <mprivozn@redhat.com>
Peter Krempa [Fri, 11 Nov 2022 14:42:52 +0000 (15:42 +0100)]
virStorageSource: Eliminate 'volume' field
While historically we've stored the 'pool' and 'image' properties of RBD
and gluster images in separate fields but they are presented in a single
field in the XML. This creates multiple points where they need to be
separated and combined.
Introduce helper 'virStorageSourceNetworkProtocolPathSplit' which will
do that at the point of use rather than everywhere in the code.
Signed-off-by: Peter Krempa <pkrempa@redhat.com>
Reviewed-by: Michal Privoznik <mprivozn@redhat.com>
Peter Krempa [Wed, 25 Jun 2025 07:51:56 +0000 (09:51 +0200)]
virStorageFileBackendGlusterInit: Refactor cleanup
Automatically free 'priv' and call 'glfs_fini()' directly from the two
error paths.
Signed-off-by: Peter Krempa <pkrempa@redhat.com>
Reviewed-by: Michal Privoznik <mprivozn@redhat.com>
Peter Krempa [Fri, 11 Nov 2022 12:05:33 +0000 (13:05 +0100)]
conf: Turn 'protocol' field of virStorageSource into proper enum type
Convert the member to the appropriate type, fix few offending parse
calls and remove explicit typecasts in switch().
Signed-off-by: Peter Krempa <pkrempa@redhat.com>
Reviewed-by: Michal Privoznik <mprivozn@redhat.com>
Kirill Shchetiniuk [Tue, 22 Jul 2025 15:12:05 +0000 (17:12 +0200)]
qemu: qemuDomainObjPrivateXMLParseVcpu refactor
Refactored the qemuDomainObjPrivateXMLParseVcpu function to use the
appropriate virXMLPropUInt function to parse unsigned integers,
avoiding unccessery string parsing operations.
Signed-off-by: Kirill Shchetiniuk <kshcheti@redhat.com>
Reviewed-by: Michal Privoznik <mprivozn@redhat.com>
Kirill Shchetiniuk [Tue, 22 Jul 2025 15:12:04 +0000 (17:12 +0200)]
conf: virDomainChrDefParseTargetXML refactor
Refactored the default case port option parsing logic to use the
appropriate virXMLPropInt function.
Signed-off-by: Kirill Shchetiniuk <kshcheti@redhat.com>
Signed-off-by: Michal Privoznik <mprivozn@redhat.com>
Reviewed-by: Michal Privoznik <mprivozn@redhat.com>
Kirill Shchetiniuk [Tue, 22 Jul 2025 15:12:03 +0000 (17:12 +0200)]
util: virSecretLookupParseSecret refactor
Refactored the virSecretLookupParseSecret fucntion to use the
virXMLPropUUID fucntion, avoid getting the string and parsing it
later. Previously two separate error states merged into one by using
boolean NXOR operation.
Signed-off-by: Kirill Shchetiniuk <kshcheti@redhat.com>
Signed-off-by: Michal Privoznik <mprivozn@redhat.com>
Reviewed-by: Michal Privoznik <mprivozn@redhat.com>
Kirill Shchetiniuk [Tue, 22 Jul 2025 15:12:02 +0000 (17:12 +0200)]
conf: virNetDevVPortProfileParse refactor
Refactored the virNetDevVPortProfileParse function to use the appropriate
virXMLProp* functions to parse input configuration XML.
Signed-off-by: Kirill Shchetiniuk <kshcheti@redhat.com>
Signed-off-by: Michal Privoznik <mprivozn@redhat.com>
Reviewed-by: Michal Privoznik <mprivozn@redhat.com>
Aaron M. Brown [Tue, 22 Jul 2025 17:59:49 +0000 (13:59 -0400)]
virBitmapNextClearBit: Correct virBitmapNextClearBit function header comment
This patch corrects the header comment for virBitmapNextClearBIt.
Currently, the header comment reads:
`@pos can be -1 to search for the first set bit.`
However, this statement is false.
We can prove this by referencing the virbitmaptest functions, i.e
virbitmaptest.c:223, in which i = 0
if (virBitmapNextClearBIt(bitmap, -1) != 0)
return -1
Because this is a zero set, this case would fail if the header statement was true as is.
Signed-off-by: Aaron M. Brown <aaronmbr@linux.ibm.com>
Reviewed-by: Michal Privoznik <mprivozn@redhat.com>
Peter Krempa [Tue, 1 Jul 2025 16:00:56 +0000 (18:00 +0200)]
qemu: driver: Reformat function headers for block job APIs
Signed-off-by: Peter Krempa <pkrempa@redhat.com>
Reviewed-by: Ján Tomko <jtomko@redhat.com>
Peter Krempa [Fri, 18 Jul 2025 14:49:11 +0000 (16:49 +0200)]
virSecuritySELinuxGetSecurityMountOptions: refactor printing
Fix linebreaks and remove the use of ternary operator.
Signed-off-by: Peter Krempa <pkrempa@redhat.com>
Reviewed-by: Ján Tomko <jtomko@redhat.com>
Peter Krempa [Fri, 18 Jul 2025 14:41:10 +0000 (16:41 +0200)]
virSecuritySELinuxGenImageLabel: Refactor cleanup
Automatically free temporary variables in order to remove 'cleanup'
section.
Signed-off-by: Peter Krempa <pkrempa@redhat.com>
Reviewed-by: Ján Tomko <jtomko@redhat.com>
Peter Krempa [Fri, 18 Jul 2025 14:21:32 +0000 (16:21 +0200)]
virSecuritySELinuxRestoreInputLabel: Return values directly
Skip the use of temporary variable.
Signed-off-by: Peter Krempa <pkrempa@redhat.com>
Reviewed-by: Ján Tomko <jtomko@redhat.com>
Peter Krempa [Fri, 18 Jul 2025 14:20:21 +0000 (16:20 +0200)]
virSecuritySELinuxSetFilecon: Automatically free 'econ' temp variable
Signed-off-by: Peter Krempa <pkrempa@redhat.com>
Reviewed-by: Ján Tomko <jtomko@redhat.com>
Peter Krempa [Fri, 18 Jul 2025 14:19:26 +0000 (16:19 +0200)]
virSecuritySELinuxGetProcessLabel: Automatically free 'ctx' temp variable
Signed-off-by: Peter Krempa <pkrempa@redhat.com>
Reviewed-by: Ján Tomko <jtomko@redhat.com>
Peter Krempa [Fri, 18 Jul 2025 14:17:59 +0000 (16:17 +0200)]
virSecuritySELinuxReserveLabel: Refactor cleanup
Automatically free temporary variables in order to remove 'cleanup'
section.
Signed-off-by: Peter Krempa <pkrempa@redhat.com>
Reviewed-by: Ján Tomko <jtomko@redhat.com>
Peter Krempa [Fri, 18 Jul 2025 14:11:33 +0000 (16:11 +0200)]
virSecuritySELinuxGenNewContext: Refactor cleanup
Use automatic freeing of temporary variables and remove cleanup section.
Signed-off-by: Peter Krempa <pkrempa@redhat.com>
Reviewed-by: Ján Tomko <jtomko@redhat.com>
Peter Krempa [Fri, 18 Jul 2025 14:08:40 +0000 (16:08 +0200)]
virSecuritySELinuxContextAddRange: Refactor cleanup of 'context_t'
Use the new autoptr helper to free the temporary variables and refactor
cleanup.
Signed-off-by: Peter Krempa <pkrempa@redhat.com>
Reviewed-by: Ján Tomko <jtomko@redhat.com>
Peter Krempa [Fri, 18 Jul 2025 14:07:11 +0000 (16:07 +0200)]
security_selinux: Declare internal autoptr cleanup helper for 'context_t'
The selinux headers have a 'typedef context_s_t *context_t;' definition
in the header so we declare autoptr cleanup function for 'context_s_t'
and use it instead of 'context_t' definitions.
Signed-off-by: Peter Krempa <pkrempa@redhat.com>
Reviewed-by: Ján Tomko <jtomko@redhat.com>
Peter Krempa [Tue, 27 May 2025 14:27:43 +0000 (16:27 +0200)]
virSecuritySELinuxSetTapFDLabel: Refactor cleanup
Automatically free temporary variables and remove the need for 'cleanup'
section.
Signed-off-by: Peter Krempa <pkrempa@redhat.com>
Reviewed-by: Ján Tomko <jtomko@redhat.com>
Peter Krempa [Tue, 27 May 2025 14:23:26 +0000 (16:23 +0200)]
virSecuritySELinuxSet(Daemon)SocketLabel: Refactor cleanup
Automatically free temporary variables and change 'cleanup' label to
'error'.
Signed-off-by: Peter Krempa <pkrempa@redhat.com>
Reviewed-by: Ján Tomko <jtomko@redhat.com>
Peter Krempa [Tue, 27 May 2025 14:17:12 +0000 (16:17 +0200)]
virSecuritySELinux(Set|Restore)ChardevLabel: Refactor cleanup
Declare 'in'/'out' only in the bocks which use them and automatically
free them. Since cleanup section was removed we don't need a 'ret'
variable any more.
Signed-off-by: Peter Krempa <pkrempa@redhat.com>
Reviewed-by: Ján Tomko <jtomko@redhat.com>
Peter Krempa [Tue, 27 May 2025 14:17:00 +0000 (16:17 +0200)]
virSecuritySELinux(Set|Restore)HostdevCapsLabel: Refactor cleanup
Declare 'path' only in blocks where it's used and autofree it.
Signed-off-by: Peter Krempa <pkrempa@redhat.com>
Reviewed-by: Ján Tomko <jtomko@redhat.com>
Peter Krempa [Mon, 19 May 2025 13:31:21 +0000 (15:31 +0200)]
virSecuritySELinuxRestoreFileLabels: Refactor variable freeing
Declare 'filename' inside the loop that is using it and use automatic
freeing.
Signed-off-by: Peter Krempa <pkrempa@redhat.com>
Reviewed-by: Ján Tomko <jtomko@redhat.com>
Peter Krempa [Mon, 19 May 2025 13:29:24 +0000 (15:29 +0200)]
virSecuritySELinux(Set|Restore)TPMFileLabel: Automatically free 'cancel_path'
Signed-off-by: Peter Krempa <pkrempa@redhat.com>
Reviewed-by: Ján Tomko <jtomko@redhat.com>
Peter Krempa [Mon, 19 May 2025 13:27:44 +0000 (15:27 +0200)]
virSecuritySELinuxRestoreFileLabel: Refactor cleanup
Automatically free 'fcon' and 'newpath' and remove the 'cleanup' label
and 'ret' variable.
Signed-off-by: Peter Krempa <pkrempa@redhat.com>
Reviewed-by: Ján Tomko <jtomko@redhat.com>
Peter Krempa [Mon, 19 May 2025 13:24:34 +0000 (15:24 +0200)]
virSecuritySELinuxMCSFind: Refactor variable clearing
Use automatic freeing for 'mcs' and adjust the code.
Signed-off-by: Peter Krempa <pkrempa@redhat.com>
Reviewed-by: Ján Tomko <jtomko@redhat.com>
Peter Krempa [Mon, 19 May 2025 13:20:33 +0000 (15:20 +0200)]
virSecuritySELinuxTransactionRun: Refactor cleanup
Automatically free 'paths' and remove temporary variable.
Signed-off-by: Peter Krempa <pkrempa@redhat.com>
Reviewed-by: Ján Tomko <jtomko@redhat.com>
Peter Krempa [Mon, 19 May 2025 11:52:05 +0000 (13:52 +0200)]
security/security_driver.c/h: Fix function header formatting
Fix the misaligned arguments by switching over to modern style.
Signed-off-by: Peter Krempa <pkrempa@redhat.com>
Reviewed-by: Ján Tomko <jtomko@redhat.com>
Daniel P. Berrangé [Tue, 22 Jul 2025 10:35:36 +0000 (11:35 +0100)]
news: document new crypto TLS priority string settings
Reviewed-by: Ján Tomko <jtomko@redhat.com>
Signed-off-by: Daniel P. Berrangé <berrange@redhat.com>
Dion Bosschieter [Wed, 16 Jul 2025 10:08:58 +0000 (12:08 +0200)]
nwfilter: Check before removing and reinserting iptable base chains
Upon VM bootstrapping (start,restore,incoming migration)
iptablesCreateBaseChainsFW is called and unconditionally deletes and
reinserts top-level firewall chain jumps (e.g. INPUT, FORWARD rules).
This briefly allows packets to continue, allowing packets through
until the base chain iptables -I commands run.
This commit ensures that the base chains are only created once per layer
(IPV4/IPV6) and checks whether the expected rules already exist using
`iptables -L`. If they do, no delete/insert operations are performed.
By checking for the existence of rules we can prevent more rules from
being created if they already exist. Possibly speeding up nwfilter by
reducing the amount of iptable commands it executes. This however is not
part of this patch.
Closes: https://gitlab.com/libvirt/libvirt/-/issues/784
Reviewed-by: Daniel P. Berrangé <berrange@redhat.com>
Signed-off-by: Dion Bosschieter <dionbosschieter@gmail.com>
Daniel P. Berrangé [Wed, 16 Jul 2025 15:40:01 +0000 (16:40 +0100)]
qemu: add ability to set TLS priority string with QEMU
QEMU will either use the GNUTLS default priority string of "NORMAL",
or on Fedora/RHEL related distros, "@QEMU,SYSTEM", which resolves to
a configuration in /etc/crypto-policies/back-ends/gnutls.config.
The latter gives the sysadmin the ability to change the priority
string used for GNUTLS at deployment time, either system side, or
exclusively for QEMU, avoiding the hardcoded GNUTLS defaults.
There are still some limitations to this:
* Priorities cannot be set for different areas of QEMU
functionality (migration, vnc, nbd, etc)
* Priorities are fixed at the time when QEMU first
triggers GNUTLS to load its config file, often
immediately at startup.
We recently uncovered a QEMU bug that causes crashes in live
migration with TLS-1.3, where the easiest workaround is to
change the TLS priorities. We can't change this on the running
QEMU, but fortunately it is possible to change it on the target
QEMU and the TLS handshake will make it take effect on both
src and dst.
The problem is, while fixing the immediate incoming and outgoing
live migration problems, the workaround will apply to everything
else that QEMU does for the rest of the time that process exists.
We want to make it possible to set the TLS priorities only for
the current migrations, such that if the target QEMU has a fixed
GNUTLS, it will not have its TLS priorities hobbled for the next
live migration.
To achieve this we need libvirt to be able to (optionally) set
the TLS priority string with QEMU. While live migration is the
most pressing need, the new qemu.conf parameters are wired up
for every subsystem for greater selectivity in future.
With this we can activate the GNUTLS workaround for running
QEMU processes by editting qemu.conf and restarting virtqemud,
and later undo this the same way.
Reviewed-by: Peter Krempa <pkrempa@redhat.com>
Signed-off-by: Daniel P. Berrangé <berrange@redhat.com>