This test is intended to simulate the use of an OVMF firmware
image installed under a non-standard path. In order to make
such a configuration work, the user would have to provide
additional information.
Right now it doesn't matter, because the configuration is
rejected anyway, but the behavior
The combination of explicit firmware paths, which we now
produce in all cases, and firmware autoselection knobs is
explicitly rejected by libvirt 8.6.0 and newer.
Right now we produce inherently migratable XML in all cases,
since we always strip those bits, but that's going to change
soon. To
Now that we no longer reject configurations that include both
this information and explicit firmware details, as long of
course as everything is internally consistent, and that we've
ensured that we produce maximally compatible XML on migration,
we can stop stripping this information at the end of
Suggested-by: Michal Privoznik
Signed-off-by: Andrea Bolognani
---
src/qemu/qemu_domain.c | 6 --
src/qemu/qemu_validate.c | 6 ++
2 files changed, 6 insertions(+), 6 deletions(-)
diff --git a/src/qemu/qemu_domain.c b/src/qemu/qemu_domain.c
index 0a7b30fa65..6c29c8f09f 100644
---
The reason why it was in postparse in the first place was so
that we could could automatically enable the secure-boot feature
in some cases, but that no longer happens so we can finally move
it to the proper location.
Signed-off-by: Andrea Bolognani
---
src/conf/domain_postparse.c | 10
Even when the user is not taking advantage of firmware
autoselection and instead manually providing all the necessary
information, in most cases they're still going to use firmware
builds that are provided by the OS vendor, are installed in
standard paths and come with a corresponding firmware
Now that we're adding information obtained from the firmware
descriptor to the domain XML, this will happen automatically
whenever a firmware that has the enrolled-keys feature ends up
being selected.
Signed-off-by: Andrea Bolognani
---
src/conf/domain_postparse.c | 6 --
1 file changed, 6
Right now there are a few scenarios in which we skip ahead, and
removing these exceptions will make for more consistent and
predictable behavior.
Signed-off-by: Andrea Bolognani
---
src/qemu/qemu_firmware.c | 28
1 file changed, 28 deletions(-)
diff --git
libvirt 8.6.0 introduced these checks and very clearly delineated
two possible firmware selection scenarios: manual firmware
selection, where the user is responsible for providing all
information, and firmware autoselection, where a list of desired
features is provided and everything else is
This is identical to the existing
firmware-auto-efi-loader-path-nonstandard test case, but uses
a standard firmware path.
Right now the two test cases behave identically, but that's
going to change in the future.
Signed-off-by: Andrea Bolognani
---
The requires-smm feature being present in a firmware descriptor
causes loader.secure=yes to be automatically chosen for the
domain, so we have to avoid this situation or the user's choice
will be silently subverted.
Note that we can't actually encounter loader.secure=no in this
function at the
Right now we have checks in place that ensure that explicit
paths are not provided when firmware autoselection has been
enabled, but that's going to change soon.
To prepare for that, take into account user-provided paths
during firmware autoselection if present, and discard all
firmware
Right now we're checking that firmware descriptor masking works
as intended by creating an empty file matching 60-ovmf-sb.json
in name.
However, that firmware descriptors contains the details for a
perfectly valid and quite common situation: Secure Boot being
supported by the firmware build, but
These cover the same scenarios as the matching test cases for
autoselection.
Signed-off-by: Andrea Bolognani
---
...al-efi-no-enrolled-keys.x86_64-latest.args | 38 +++
.../firmware-manual-efi-no-enrolled-keys.xml | 20 ++
...e-manual-efi-no-secboot.x86_64-latest.args |
This unifies the naming between the manual and automatic
selection cases, clarifies the contents of the tests and makes
room for more tests being added in the future.
Signed-off-by: Andrea Bolognani
---
...ware-auto-efi-loader-path-nonstandard.x86_64-latest.err} | 0
...th.xml =>
More information in the commit message for 11/15.
Ideally this would make it into 9.2.0 along with the other
changes to firmware selection I've made in this cycle[1].
[1] https://listman.redhat.com/archives/libvir-list/2023-February/237806.html
Andrea Bolognani (15):
tests: Rename a few
We are getting close to the next release of libvirt. To aim for the
release on Mar 31 (in the evening since Apr 1 is Saturday) I suggest
entering the freeze on Monday Mar 27 and tagging RC2 on Wednesday Mar 29
in the afternoon.
I hope this works for everyone.
Jirka
Set enccount to 1, so the cleanup function knows
there is something to be cleaned up.
Fixes: 1992ae40fac90c315d0d8d1a9c6f880bd0a39b57
Signed-off-by: Ján Tomko
---
Pushed as a trivial build fix.
tests/qemublocktest.c | 1 +
1 file changed, 1 insertion(+)
diff --git a/tests/qemublocktest.c
Otherwise the build on armv7l breaks:
error: format ‘%lu’ expects argument of type
‘long unsigned int’, but argument 4 has type
‘size_t’ {aka ‘unsigned int’} [-Werror=format=]
Fixes: 1992ae40fac90c315d0d8d1a9c6f880bd0a39b57
Fixes: e239f7d0a86ebddf9aab3f8c8e6b6e66351485b2
Signed-off-by: Ján Tomko
On a Thursday in 2023, Daniel P. Berrangé wrote:
The virNumaNodeIsAvailable function is stubbed out when building
without libnuma, such that it just returns a constant value. When
CLang is optimizing, it does inter-procedural analysis across
function calls. When it sees that the call to
On a Thursday in 2023, Daniel P. Berrangé wrote:
The --disk-password argument was present in early impls of the patch but
replaced by the more generic --inject-secret argument.
Signed-off-by: Daniel P. Berrangé
---
docs/manpages/virt-qemu-sev-validate.rst | 6 +++---
1 file changed, 3
On Thu, Mar 16, 2023 at 08:58:07 +, Daniel P. Berrangé wrote:
> The --disk-password argument was present in early impls of the patch but
> replaced by the more generic --inject-secret argument.
>
> Signed-off-by: Daniel P. Berrangé
> ---
> docs/manpages/virt-qemu-sev-validate.rst | 6 +++---
On Thu, Mar 16, 2023 at 13:05:43 +, Daniel P. Berrangé wrote:
> The virNumaNodeIsAvailable function is stubbed out when building
> without libnuma, such that it just returns a constant value. When
> CLang is optimizing, it does inter-procedural analysis across
> function calls. When it sees
On Thu, Mar 16, 2023 at 14:21:27 +0100, Ján Tomko wrote:
> If we don't have dnsmasq, it's pointless to try to find
> its pidfile.
>
> Also, dnsmasqCapsGetBinaryPath would access a NULL pointer.
>
> Fixes: 4b68c982e283471575bacbf87302495864da46fe
> Foxes:
On Thu, Mar 16, 2023 at 13:20:16 +0100, Ján Tomko wrote:
> An extra '&' introduced a crash.
>
> https://bugzilla.redhat.com/show_bug.cgi?id=2178866
>
> Fixes: 778c3004609ede0a9df4cf3e01c031047530efb7
> Signed-off-by: Ján Tomko
> ---
> src/rpc/gendispatch.pl | 2 +-
> 1 file changed, 1
On 3/16/23 11:56, Jim Fehlig wrote:
On 3/15/23 08:40, Ján Tomko wrote:
On a Monday in 2023, Jim Fehlig wrote:
If an explicit machine type is not specified in the VM config, the qemu
driver will select the first machine type in the list of machine types for
the specified accelerator. See
On 3/15/23 08:40, Ján Tomko wrote:
On a Monday in 2023, Jim Fehlig wrote:
If an explicit machine type is not specified in the VM config, the qemu driver
will select the first machine type in the list of machine types for the
specified accelerator. See virQEMUCapsGetPreferredMachine
Parsing a version where components are separated by dots, while other
components are also separated by dots is a bit insane. Separate the
version by an underscore.
To achieve this we rename all the caps files and adjust the appropriate
places formatting the path.
Signed-off-by: Peter Krempa
---
Explain what the purpose of these files is as well as how they are
named, captured, used and modified.
Signed-off-by: Peter Krempa
---
tests/qemucapabilitiesdata/README.rst | 94 +++
tests/qemucapabilitiestest.c | 18 +
2 files changed, 95 insertions(+), 17
The logic in 'virQEMUCapsInitQMP' invokes a second probe of qemu in case
when acceleration is used and TCG is supported to specifically probe the
CPU and features of non-accelerated guests.
The same logic must then be used in 'qemucapabilitiestest' when
replaying the data for testing otherwise
Add the possibility to control the variant of the test data for real
caps testing in qemuxml2argvtest and qemuxml2xmltest.
Signed-off-by: Peter Krempa
---
tests/testutilsqemu.c | 15 ---
tests/testutilsqemu.h | 2 ++
2 files changed, 14 insertions(+), 3 deletions(-)
diff --git
We need to signal to the capabilities code that HVF variant is used so
that it can behave as if it were running on OSX.
Signed-off-by: Peter Krempa
---
tests/qemucapabilitiestest.c | 5 -
1 file changed, 4 insertions(+), 1 deletion(-)
diff --git a/tests/qemucapabilitiestest.c
'qemucapabilitiestest' and other users of the capability data can
benefit from adding a discriminator string to have multiple instances
for the same version+architecture tuple.
This will in the future allow us to have specific capability versions
for test cases which require a specific host
Phase out 'unsigned long'
Signed-off-by: Peter Krempa
---
src/bhyve/bhyve_driver.c | 5 -
src/ch/ch_conf.c | 2 +-
src/esx/esx_vi.h | 4 ++--
src/lxc/lxc_driver.c | 5 -
src/network/bridge_driver_linux.c | 2 +-
The last tests using it were refactored to use real capabilities and no
new tests should ever use it.
Signed-off-by: Peter Krempa
---
tests/qemuxml2argvtest.c | 25 +
1 file changed, 1 insertion(+), 24 deletions(-)
diff --git a/tests/qemuxml2argvtest.c
Fetch the full hash of 'latest' files and just return the correct one.
Signed-off-by: Peter Krempa
---
tests/testutilsqemu.c | 50 ---
1 file changed, 9 insertions(+), 41 deletions(-)
diff --git a/tests/testutilsqemu.c b/tests/testutilsqemu.c
index
Allow testing of capabilities of OSX systems with the hvf accelerator.
'domaincapstest' requires special handling as we need to set
VIR_DOMAIN_VIRT_HVF virt type in such case.
Signed-off-by: Peter Krempa
---
tests/domaincapstest.c| 74 +++
Rather than finding the newest caps file iteratively for specific
architectures in multiple passes over the directory we can simply load
the latest for everything in one pass by storing the version in the hash
table and filling it progressively.
Signed-off-by: Peter Krempa
---
Use it to format test file name as in other cases. Currently
domaincapstest will not run for any unknown variant. This patch is meant
to simplify the review of patches doing actual functional changes.
Signed-off-by: Peter Krempa
---
tests/domaincapstest.c | 21 +++--
1 file
It needs to be mocked only for 'qemucapabilitiestest'. Additionally
moving it here will allow to control the return value based on the test
data which will be required for testing dumps from HVF accelerated qemu.
Signed-off-by: Peter Krempa
---
tests/domaincapsmock.c | 6 --
The capabilities generated on OSX hosts with 'hvf' accelerator will not
pass schema testing as the 'hvf' type was not allowed.
Signed-off-by: Peter Krempa
---
src/conf/schemas/capability.rng | 1 +
1 file changed, 1 insertion(+)
diff --git a/src/conf/schemas/capability.rng
All tests using this were refactored to use real capabilities.
Signed-off-by: Peter Krempa
---
tests/testutilsqemu.c | 144 +-
tests/testutilsqemu.h | 10 ---
2 files changed, 31 insertions(+), 123 deletions(-)
diff --git a/tests/testutilsqemu.c
Construct the capsName/emulator strings as initialization of variable
definition and move definition of 'struct testData' above the code.
This means that 'name' field will be initialized later.
Signed-off-by: Peter Krempa
---
tests/domaincapstest.c | 32 +---
1 file
Rather than trying to cram everything into one printf statement format
the type with prefix and machine with prefix separately and then
concatenate everything into the filename.
Signed-off-by: Peter Krempa
---
tests/domaincapstest.c | 28 +++-
1 file changed, 23
Rather than using fake data and faking the host use the newly introduced
support for test variants to test the OSX HVF qemu version with real
data.
Signed-off-by: Peter Krempa
---
.../hvf-x86_64-q35-headless.args | 50 -
...hvf-x86_64-q35-headless.x86_64-latest.args
Signed-off-by: Peter Krempa
---
tests/qemumigrationcookiexmltest.c | 5 -
1 file changed, 5 deletions(-)
diff --git a/tests/qemumigrationcookiexmltest.c
b/tests/qemumigrationcookiexmltest.c
index 2f0d84148b..74302dc55f 100644
--- a/tests/qemumigrationcookiexmltest.c
+++
The last tests using it were refactored to use real capabilities and no
new tests should ever use it.
Signed-off-by: Peter Krempa
---
tests/qemuxml2xmltest.c | 27 +--
1 file changed, 1 insertion(+), 26 deletions(-)
diff --git a/tests/qemuxml2xmltest.c
Separate the architecture specific code to probe the support for HVF
from the actual setting of the capability.
In upcoming patches 'virQEMUCapsProbeHVF' will be mocked in the
testsuite to provide testing for the HVF hypervisor.
Signed-off-by: Peter Krempa
---
src/qemu/qemu_capabilities.c | 19
Rather than using fake data and faking the host use the newly introduced
support for test variants to test the OSX HVF qemu version with real
data.
Signed-off-by: Peter Krempa
---
...-aarch64-virt-headless.aarch64-latest.args | 53 +++
.../hvf-aarch64-virt-headless.args
On Wed, Mar 15, 2023 at 08:10:26PM +0100, Michal Privoznik wrote:
> We ran into so many clang bugs recently, that I'm strongly in favor of
> making it optional and aim on gcc only. Debugging these issues burns our
> time needlessly.
>
[...]
>
> After these patches, there is still one
This part focuses on getting rid of the fake-caps infrastructure for
testing qemu accelerated via HVF on OSX.
Note: The test data that I'm using are based on the linux test data we
have in the repository.
It'll be great to get a real dump of qemu running on OSX but I don't
have such system.
On Wed, Mar 01, 2023 at 13:34:33 +0100, Ján Tomko wrote:
> Translate to:
> host-phys-bits-limit=39
>
> https://gitlab.com/libvirt/libvirt/-/issues/450
> https://bugzilla.redhat.com/show_bug.cgi?id=2171860
>
> Signed-off-by: Ján Tomko
> ---
> src/qemu/qemu_command.c | 3
On Mon, Mar 13, 2023 at 04:50:16 -0500, Or Ozeri wrote:
> v2:
> - add luks-any commits (including nit fixes)
> - removed qemu 8.0.0 replies commit
> - remove tautological if condition in qemuBlockStorageSourceAttachData
> initialization
> - add comments on validation of a single secret in
If we don't have dnsmasq, it's pointless to try to find
its pidfile.
Also, dnsmasqCapsGetBinaryPath would access a NULL pointer.
Fixes: 4b68c982e283471575bacbf87302495864da46fe
Foxes: https://gitlab.com/libvirt/libvirt/-/issues/456
Signed-off-by: Ján Tomko
---
src/network/bridge_driver.c | 2
On Wed, Mar 01, 2023 at 13:34:35 +0100, Ján Tomko wrote:
> Treat:
>
> as a request not to take the maximum address size from the host.
> This is useful if QEMU changes the default.
>
> Signed-off-by: Ján Tomko
> ---
> src/qemu/qemu_command.c | 5 -
> tests/qemuxml2argvtest.c | 1 +
> 2
On Thu, Mar 09, 2023 at 16:58:07 +0800, Zhenguo Yao wrote:
> qemu support server mode when using vhost-user-blk disk.
> Let libvirt to support this.
Could you please elaborate how you expect to use this?
I'm asking because server mode comes with a integrated set of race
conditions:
> diff --git
On Wed, Mar 01, 2023 at 13:34:32 +0100, Ján Tomko wrote:
> Add a limit attribute to restrict the maximum physical address bits
> that would be used for the guest CPU:
>
>
>
>
>
> https://gitlab.com/libvirt/libvirt/-/issues/450
> https://bugzilla.redhat.com/show_bug.cgi?id=2171860
>
The virNumaNodeIsAvailable function is stubbed out when building
without libnuma, such that it just returns a constant value. When
CLang is optimizing, it does inter-procedural analysis across
function calls. When it sees that the call to virNumaNodeIsAvailable
returns a fixed constant, it elides
On Wed, Mar 01, 2023 at 13:34:34 +0100, Ján Tomko wrote:
> Make the bits attribute optional.
>
> Signed-off-by: Ján Tomko
> ---
> docs/formatdomain.rst | 3 +-
> src/qemu/qemu_validate.c | 7 -
> .../cpu-phys-bits-emulate-bare.xml|
An extra '&' introduced a crash.
https://bugzilla.redhat.com/show_bug.cgi?id=2178866
Fixes: 778c3004609ede0a9df4cf3e01c031047530efb7
Signed-off-by: Ján Tomko
---
src/rpc/gendispatch.pl | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/src/rpc/gendispatch.pl
On Tue, 14 Mar 2023 at 16:26, Daniel P. Berrangé wrote:
>
> The following changes since commit 5cfda4ce79dd455f1726874a555260a70f84b2ec:
>
> Merge tag 'pull-request-2023-03-13' of https://gitlab.com/thuth/qemu into
> staging (2023-03-13 17:09:33 +)
>
> are available in the Git repository
On Wed, Mar 15, 2023 at 08:10:26PM +0100, Michal Privoznik wrote:
> We ran into so many clang bugs recently, that I'm strongly in favor of
> making it optional and aim on gcc only. Debugging these issues burns our
> time needlessly. Just consider what's happening here.
>
> I've pushed patches
The --disk-password argument was present in early impls of the patch but
replaced by the more generic --inject-secret argument.
Signed-off-by: Daniel P. Berrangé
---
docs/manpages/virt-qemu-sev-validate.rst | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git
63 matches
Mail list logo