Commit Graph

1973 Commits

Author SHA1 Message Date
scarf
ba3a098c3b virtinst: disk: strip away file:// protocol 2024-06-10 17:43:35 +02:00
Pavel Hrdina
5fcf506e08 tests: skip mdev tests for libvirt older than 10.4.0
The test driver was broken for some time and our mdev tests were failing
on most libvirt versions. Recently this was fixed in libvirt 10.4.0 so
skip these tests unless we have new enough libvirt.

This requires extracting some mdev devices from many-devices test case.

Signed-off-by: Pavel Hrdina <phrdina@redhat.com>
2024-06-06 14:11:34 +02:00
Andrea Bolognani
a91e23c858 install: Use virtio-scsi for unattended installations
This won't make any difference on x86, where either SATA or IDE
is used depending on the machine type, but on other architectures
we want virtio-scsi for a reasonable chance that the guest OS
will recognize the disk.

Signed-off-by: Andrea Bolognani <abologna@redhat.com>
2024-05-30 22:10:05 +02:00
Andrea Bolognani
7f8230a158 guest: Prefer UEFI for riscv64
Most existing disk images expect UEFI; those that don't, require
either using direct kernel boot or manually providing a firmware
image, both of which imply user intervention.

Using UEFI by default means that at least images belonging to
the first group, of which more are going to pop up as the
ecosystem matures further, can work out of the box.

Signed-off-by: Andrea Bolognani <abologna@redhat.com>
2024-05-30 22:10:05 +02:00
Andrea Bolognani
6fca91f286 tests: Add more riscv64 tests
Cover additional scenarios: direct kernel boot, use of cloud-init,
installation from CDROM and unattended installation.

Signed-off-by: Andrea Bolognani <abologna@redhat.com>
2024-05-30 22:10:05 +02:00
Andrea Bolognani
3b09701f6b tests: Use SPICE graphics on riscv64
Provides more coverage, specifically the sound part.

Signed-off-by: Andrea Bolognani <abologna@redhat.com>
2024-05-30 22:10:05 +02:00
Andrea Bolognani
9ec5852591 tests: Switch to --osinfo for riscv64
It's the preferred name, and it's shorter to boot.

Signed-off-by: Andrea Bolognani <abologna@redhat.com>
2024-05-30 22:10:05 +02:00
Andrea Bolognani
0612dca8ee tests: Drop precompare_check from riscv64
We're using data from a much newer version of libvirt now.

Signed-off-by: Andrea Bolognani <abologna@redhat.com>
2024-05-30 22:10:05 +02:00
Andrea Bolognani
094a81201a tests: Update riscv64 capabilities
The new capabilities reflect the status of riscv64
virtualization as of Fedora 40, which comes with libvirt
10.1.0 and QEMU 8.2.

Signed-off-by: Andrea Bolognani <abologna@redhat.com>
2024-05-30 22:10:05 +02:00
Cole Robinson
8b6db203f7 tests: Fix host-copy XML with libvirt 10.1.0
New `clusters` changes XML output

Signed-off-by: Cole Robinson <crobinso@redhat.com>
2024-04-06 15:48:46 -04:00
Pavel Hrdina
d8565ac533 virtinst: snapshot: add memory file attribute
Signed-off-by: Pavel Hrdina <phrdina@redhat.com>
2024-03-25 13:21:50 +01:00
Pavel Hrdina
3cde1acbb6 virtinst: add external snapshot capability
Signed-off-by: Pavel Hrdina <phrdina@redhat.com>
2024-03-25 13:21:50 +01:00
Cole Robinson
a6b62a20b6 systray: Cleanups and improvements for --show-systray
- Add UI coverage
- Drop redundant systray_instance caching
- Tweaks help test and docs
- Show an error if the systray doesn't embed

Signed-off-by: Cole Robinson <crobinso@redhat.com>
2024-03-03 14:18:04 -05:00
Cole Robinson
2043847ade uitests: More handling for slow startup on f39
Signed-off-by: Cole Robinson <crobinso@redhat.com>
2024-03-03 14:18:04 -05:00
Cole Robinson
014d1ef99b console: Cleanup and improve console menu handling
- Rework the ConsolePages abstraction to carry the Gtk.Menu. makes
  it all less messy

- Make the console menu the single source of truth for console
  embeddability, and error message reporting

- Small misc cleanups here and there

Signed-off-by: Cole Robinson <crobinso@redhat.com>
2024-03-03 12:52:37 -05:00
Cole Robinson
0c899a7ccd uitests: Handle slow app launch on fedora 39
Not quite sure what's going on here, I think it has something to
do with slowness when the accessibility bus is being polled.

Add some infrastructure to increase the timeout while we wait for
the app to pop up

Signed-off-by: Cole Robinson <crobinso@redhat.com>
2024-03-03 10:43:30 -05:00
Cole Robinson
a05ab5cdb4 uitests: Fix walkUI flakyness
Signed-off-by: Cole Robinson <crobinso@redhat.com>
2024-03-03 10:43:30 -05:00
Cole Robinson
cf172c8e57 testdriver: Add portgroups example to test-many-devices
This helps hit some uitests code coverage

Signed-off-by: Cole Robinson <crobinso@redhat.com>
2024-03-02 13:22:40 -05:00
Cole Robinson
82f1c4495e domain: rename: handle firmware ending with .qcow2
Newer libvirt + edk2 will default to nvram in qcow2 format, but
our domain rename code had some .fd assumptions baked in.

Adjust uitests to handle it too

Signed-off-by: Cole Robinson <crobinso@redhat.com>
2024-03-02 13:22:37 -05:00
Cole Robinson
135cf17072 tests: Add unittest coverage for qemu hvf VMs
I have no idea if the generated config is optimal, but this
at least provides a base for us to confirm when defaults change.

Signed-off-by: Cole Robinson <crobinso@redhat.com>
2024-02-05 14:42:49 -05:00
Cole Robinson
4e2bec5b14 tests: ui: make creatnet test start less flakey
Signed-off-by: Cole Robinson <crobinso@redhat.com>
2024-01-23 13:28:07 -05:00
Cole Robinson
acf3cedbbf tests: ui: make newvm test start less flakey
Signed-off-by: Cole Robinson <crobinso@redhat.com>
2024-01-23 09:07:29 -05:00
Cole Robinson
83fcc5b2e8 tests: cli: Adjust hotplug test for latest libvirt
The libvirt test driver now has implementations for hotplug routines,
which broke string matching for one case.

Loosen it up to work for old and new libvirt versions.

Signed-off-by: Cole Robinson <crobinso@redhat.com>
2024-01-22 17:10:41 -05:00
Jonathon Jongsma
40b73fec1b Fix filesystem socket.source
When specifying the socket.source option for filesystem devices, like
this:
  --filesystem type=mount,driver.type=virtiofs,source.socket=/xyz.sock,target.dir=tag1

virt-install is writing the xml as:

    <filesystem type="mount">
      <source>
        <socket>/xyz.sock</socket>
      </source>
      <target dir="tag1"/>
      <driver type="virtiofs"/>
    </filesystem>

This produces an error such as:

  ERROR missing source information for device mount_tag1

But the socket should be an attribute of source rather than a child
element. After this patch, the same command results in the following XML
and no error is produced:

    <filesystem type="mount">
      <source socket="/xyz.sock"/>
      <target dir="tag1"/>
      <driver type="virtiofs"/>
    </filesystem>

Resolves: RHEL-1126

Signed-off-by: Jonathon Jongsma <jjongsma@redhat.com>
2023-10-24 10:30:37 +02:00
Cole Robinson
775edfd5dc connectauth: Drop sanity checking for libvirtd
Nowadays with libvirt split daemons, libvirtd isn't required to
be installed for a first run local connection to succeed, so we
are needlessly blocking the app from 'just working' in many cases.
Especially considering that many distros often have libvirt running
out of the box due to gnome-boxes pulling it in.

Drop the daemon checking entirely.

Signed-off-by: Cole Robinson <crobinso@redhat.com>
2023-09-24 16:31:58 -04:00
Cole Robinson
ec434948a8 installer: drop default TPM for --cloud-init install phase
When shim in the guest sees unpopulated EFI NVRAM, like when
we create a new UEFI VM, it invokes fallback.efi to populate
initial NVRAM boot entries. When the guest also has a TPM device,
shim will do a one time VM reset. This reset throws off the
reboot detection that is central to virt-install's install
process.

The main install case that this will usually be relevant is
the combo of UEFI and --cloud-init. The latter usually implies
use of a distro cloud image, which will be using shim, and the
--cloud-init process requires a multi stage install compared
to just a plain import install.

For that case, we disable the default TPM device for the first
boot.

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

Signed-off-by: Cole Robinson <crobinso@redhat.com>
2023-09-12 12:04:49 -04:00
Cole Robinson
fca6de3950 tests: Add more cloud-init and TPM test cases
Signed-off-by: Cole Robinson <crobinso@redhat.com>
2023-09-12 12:03:40 -04:00
Cole Robinson
0f706cf874 Fix some pylint
Signed-off-by: Cole Robinson <crobinso@redhat.com>
2023-09-12 11:54:04 -04:00
Cole Robinson
19b0f3f446 tests: Add unit test coverage for #539
Signed-off-by: Cole Robinson <crobinso@redhat.com>
2023-08-29 12:27:40 -04:00
Laszlo Ersek
6e5c1db6b4 tests/data: refresh Fedora tree URLs in virt-install-osinfo* expected XMLs
Libosinfo seems to generate Fedora tree URLs using the "https", not
"http", scheme now; which breaks CI. Update the expected outputs
accordingly.

Signed-off-by: Laszlo Ersek <lersek@redhat.com>
2023-08-29 13:24:52 +02:00
Cole Robinson
7cd6151a21 uitests: Drop hotplug work around, f38 libvirt is fixed now
Signed-off-by: Cole Robinson <crobinso@redhat.com>
2023-05-24 12:49:02 -04:00
Cole Robinson
64bd6ba53e tests: uitests: make menu operations more robust
Signed-off-by: Cole Robinson <crobinso@redhat.com>
2023-05-06 19:43:24 -04:00
Cole Robinson
509c95ddb9 uitests: More attempts at making manager reposition test reliable
Signed-off-by: Cole Robinson <crobinso@redhat.com>
2023-05-06 19:43:24 -04:00
Cole Robinson
75422ec75e uitests: Make hotplug test pass on both f37 and f38
Signed-off-by: Cole Robinson <crobinso@redhat.com>
2023-05-06 19:43:24 -04:00
Cole Robinson
a9cf4945b1 tests: Default --uitests to --verbosity=2
Signed-off-by: Cole Robinson <crobinso@redhat.com>
2023-05-06 16:50:20 -04:00
Cole Robinson
6030049cd7 tests: uitests: Fix manager window repositioning test
Signed-off-by: Cole Robinson <crobinso@redhat.com>
2023-05-05 15:48:24 -04:00
Cole Robinson
7f83d23f4f tests: livetests: work around qemu media change regression
Signed-off-by: Cole Robinson <crobinso@redhat.com>
2023-05-05 15:47:25 -04:00
Cole Robinson
909c8aa880 tests: uitests: Fix window reposition on f38
Signed-off-by: Cole Robinson <crobinso@redhat.com>
2023-05-05 14:54:31 -04:00
Oleg Vasilev
7769548411 tests: cli: test serial file clone
Previous commit added serial file clone, now we test it.

Signed-off-by: Oleg Vasilev <oleg.vasilev@virtuozzo.com>
2023-03-22 17:44:06 -04:00
Cole Robinson
5c49151df9 tests: test win11 XML generation
And drop the futureproofing workaround now that it's no longer
required

Signed-off-by: Cole Robinson <crobinso@redhat.com>
2023-01-19 11:54:03 -05:00
Toshiki Sonoda
6ec00474a6 virtinstall: Hide total_size in the progress bar if it doesn't need
virt-install prints the total_size value to the progress bar even if it
is meaningless.
This value can be confusing to user, so for execute prosess that doesn't
copy files (total_size = 0B), we hide the total_size value.
For example, 'Creating domain...' doesn't need to print the total_size
value.

Signed-off-by: Toshiki Sonoda <sonoda.toshiki@fujitsu.com>
Signed-off-by: Haruka Ohata <ohata.haruka@fujitsu.com>
2022-12-14 13:18:36 -05:00
Cole Robinson
4114fa1aa8 progress: Fix showing correct final total
Reproducer:
Reproducer:
./virt-install --connect test:///default \
               --location tests/data/fakemedia/fake-f26-netinst.iso

Before:
Starting install...
Retrieving 'vmlinuz'                            |    0 B  00:00:00 ...
Retrieving 'initrd.img'                         |    0 B  00:00:00 ...

After:
Starting install...
Retrieving 'vmlinuz'                            |    9 B  00:00:00 ...
Retrieving 'initrd.img'                         |    9 B  00:00:00 ...

progress.end() currently only reports the total amount of bytes
that were last written to the UI. It should report the total amount
that's been passed to update().

Reported-by: Toshiki Sonoda <sonoda.toshiki@fujitsu.com>
Signed-off-by: Cole Robinson <crobinso@redhat.com>
2022-12-14 13:01:48 -05:00
Cole Robinson
b5d6dfaa0d tests: Update to latest kvm domcaps
And add some test coverage exclusions, needed for previous patches

Signed-off-by: Cole Robinson <crobinso@redhat.com>
2022-12-14 12:45:05 -05:00
Lin Ma
c313209455 tests: Add domcaps coverage for usb-redir/spicevmc channel checks
Signed-off-by: Lin Ma <lma@suse.com>
2022-12-14 12:44:54 -05:00
Cole Robinson
bb1afaba29 Fix pylint/pycodestyle warnings with latest versions
Signed-off-by: Cole Robinson <crobinso@redhat.com>
2022-12-13 11:23:45 -05:00
Lin Ma
4a2df06483 diskbackend: Drop support for sheepdog
The sheepdog project is no longer actively developed, Libvirt removed
the support for sheepdog storage backend since v8.8.0, Let's drop it.

Signed-off-by: Lin Ma <lma@suse.com>
2022-11-07 10:10:00 -05:00
Cole Robinson
15ddeae6cb cli: support --boot loader.stateless=
Signed-off-by: Cole Robinson <crobinso@redhat.com>
2022-10-17 11:54:37 -04:00
Cole Robinson
1d64a678d3 virt-install: Reuse cli.fail_conflicting
For the --unattended + --cloud-init conflict

Signed-off-by: Cole Robinson <crobinso@redhat.com>
2022-08-22 10:16:19 -04:00
Cole Robinson
999ccb85e3 virt-install: --unattended and --cloud-init conflict
Make it an explicit error, otherwise unattended is preferred and
cloud-init is ignored

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

Signed-off-by: Cole Robinson <crobinso@redhat.com>
2022-08-21 16:47:26 -04:00
Cole Robinson
b0d0516736 cloner: Sync <uuid> and <sysinfo> system uuid
Otherwise libvirt errors like:

ERROR    UUID mismatch between <uuid> and <sysinfo>

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

Signed-off-by: Cole Robinson <crobinso@redhat.com>
2022-08-21 16:21:10 -04:00