Compare commits

...

722 Commits
v4.0.0 ... main

Author SHA1 Message Date
Nicolás Gal
4e51b595ac Translated using Weblate (Spanish)
Currently translated at 100.0% (1459 of 1459 strings)

Translation: virt-manager/virt-manager
Translate-URL: https://translate.fedoraproject.org/projects/virt-manager/virt-manager/es/
2025-04-22 12:22:19 +02:00
hsu zangmen
e7cbaab554 Translated using Weblate (Chinese (Traditional) (zh_TW))
Currently translated at 100.0% (1459 of 1459 strings)

Translation: virt-manager/virt-manager
Translate-URL: https://translate.fedoraproject.org/projects/virt-manager/virt-manager/zh_TW/
2025-04-22 12:22:19 +02:00
ano n
af9baaceb5 Translated using Weblate (German)
Currently translated at 95.9% (1400 of 1459 strings)

Translation: virt-manager/virt-manager
Translate-URL: https://translate.fedoraproject.org/projects/virt-manager/virt-manager/de/
2025-04-22 12:22:19 +02:00
ano n
e17c3ef3a0 Translated using Weblate (German)
Currently translated at 93.8% (1369 of 1459 strings)

Translation: virt-manager/virt-manager
Translate-URL: https://translate.fedoraproject.org/projects/virt-manager/virt-manager/de/
2025-04-22 12:22:19 +02:00
AbhinavTiruvee
237896029d Validation: allow spaces, disallow slashes
Libvirt permits spaces in object names but rejects the ‘/’ character.
This change aligns our validator with libvirt’s behavior (and QEMU’s),
preventing names with '/' while still allowing human‑friendly
names with spaces.

Fixes: #740
2025-04-22 12:11:00 +02:00
Pavel Hrdina
443123ece6 virtinst: urldetect: detect Debian version for ISO images
Signed-off-by: Pavel Hrdina <phrdina@redhat.com>
2025-04-16 12:06:57 -04:00
Pavel Hrdina
66aa81ae6d test_urldetect: arch is detected from the ISO media
Signed-off-by: Pavel Hrdina <phrdina@redhat.com>
2025-04-16 12:06:57 -04:00
Pavel Hrdina
fbf7f060be virtinst: urldetect: figure out Debian arch from the ISO media
We should not use guest.os.arch, it doesn't work correctly if the ISO is
i386 and the VM arch is x86_64.

Signed-off-by: Pavel Hrdina <phrdina@redhat.com>
2025-04-16 12:06:57 -04:00
Pavel Hrdina
4257e19748 virtinst: urldetect: move default Debian arch to _set_url_paths
The function _find_treearch will be used for ISO files as well where we
don't want to have default arch.

Signed-off-by: Pavel Hrdina <phrdina@redhat.com>
2025-04-16 12:06:57 -04:00
Pavel Hrdina
c8a5b81867 virtinst: urldetect: don't check x86_64 for Debian/Ubuntu
They are using amd64 instead.

Signed-off-by: Pavel Hrdina <phrdina@redhat.com>
2025-04-16 12:06:57 -04:00
Pavel Hrdina
3b3eac28a6 test_urldetect: use fake badarch Debian
Instead of using existing arch use badarch in order to test parts of the
code when we don't know the architecture.

Signed-off-by: Pavel Hrdina <phrdina@redhat.com>
2025-04-16 12:06:57 -04:00
Cole Robinson
fb71f02fa2 uitests: Add coverage for mixed internal and external snapshots
Signed-off-by: Cole Robinson <crobinso@redhat.com>
2025-04-16 11:58:33 -04:00
Cole Robinson
09574977da uitests: fix testManagerDefaultStartup race
"Checking for virtualization" is only there for about a second

Signed-off-by: Cole Robinson <crobinso@redhat.com>
2025-04-16 11:58:33 -04:00
Cole Robinson
6458f09b72 uitests: fix testNewVMSession after networking changes
Keep this test as covering the default `Usermode` case

Signed-off-by: Cole Robinson <crobinso@redhat.com>
2025-04-16 11:58:33 -04:00
Cole Robinson
f312872496 uitests: fix push button usage on fedora 41
somewhere in the stack this was renamed to just `button`

Signed-off-by: Cole Robinson <crobinso@redhat.com>
2025-04-16 11:58:33 -04:00
Pavel Hrdina
4f9618289f virt-install: detect wayland in order to start virt-viewer
When running virt-install using waypipe the DISPLAY variable is not
defined and virt-install will complain that it cannot start virt-viewer.

Check for WAYLAND_DISPLAY as well, DISPLAY is defined only when xwayland
is used. In case of waypipe it configures only WAYLAND_DISPLAY.

Move the check before we check for virt-viewer as without display there
is no point to check if virt-viewer is installed or not.

Fixes: https://github.com/virt-manager/virt-manager/issues/884
Signed-off-by: Pavel Hrdina <phrdina@redhat.com>
2025-03-24 15:32:28 +01:00
Joren
297d1cd282 Separate virtio sound device testing into an individual test 2025-03-22 14:14:46 +01:00
Pavel Hrdina
e39e0ad5f0 virt-manager: add support for vDPA network device
Signed-off-by: Pavel Hrdina <phrdina@redhat.com>
2025-03-18 20:34:22 +01:00
Joren
e5142f28fe virt-install: add support for vDPA network device 2025-03-18 20:34:22 +01:00
Pavel Hrdina
714d5f1afd virt-manager: list virtual networks when creating new QEMU Session VM
Using qemu-bridge-helper QEMU Session VMs are now able to use host
bridge interfaces. Currently only interface named virbr0 is allowed by
default but it is possible to change it in `/etc/qemu/bridge.conf`.

We will still keep the usermode network as default.

Resolves: https://github.com/virt-manager/virt-manager/issues/863
Signed-off-by: Pavel Hrdina <phrdina@redhat.com>
2025-03-18 20:33:33 +01:00
Pavel Hrdina
0273621b43 Update issue templates
The old issue template stopped working as GitHub updated how the
template should look like. While at it create two issue templates, one
for bugs and the other for feature requests.

Signed-off-by: Pavel Hrdina <phrdina@redhat.com>
2025-03-14 08:27:44 +01:00
dependabot[bot]
afc55ac0b9 ci: bump actions/setup-python from 3 to 5
Bumps [actions/setup-python](https://github.com/actions/setup-python) from 3 to 5.
- [Release notes](https://github.com/actions/setup-python/releases)
- [Commits](https://github.com/actions/setup-python/compare/v3...v5)

---
updated-dependencies:
- dependency-name: actions/setup-python
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-03-10 16:59:30 +01:00
dependabot[bot]
1709dc8294 ci: bump actions/checkout from 3 to 4
Bumps [actions/checkout](https://github.com/actions/checkout) from 3 to 4.
- [Release notes](https://github.com/actions/checkout/releases)
- [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md)
- [Commits](https://github.com/actions/checkout/compare/v3...v4)

---
updated-dependencies:
- dependency-name: actions/checkout
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-03-10 16:47:45 +01:00
Heinrich Schuchardt
ccfe4a0abc urlfetcher: add riscv64 architecture for Debian
Add riscv64 to the list of Debian architectures.

Signed-off-by: Heinrich Schuchardt <heinrich.schuchardt@canonical.com>
2025-03-08 12:59:18 +01:00
Marius Vollmer
92e90e6e27 xmlapi: Don't escape property values
libxml2 does that already.

Fixes #838
2025-03-05 19:20:15 +01:00
Cole Robinson
9137fd26ef Use pre-commit to run black in CI
Signed-off-by: Cole Robinson <crobinso@redhat.com>
2025-03-05 17:16:22 +01:00
Cole Robinson
8d18bdc1e5 Add pre-commit as a runner for black
`pre-commit` provides an easy way for devs to never miss committing
code without running black, and an easy way to to invoke black from
CI. In the future we can use it to run codespell, and new-to-us
tools like flake8

Signed-off-by: Cole Robinson <crobinso@redhat.com>
2025-03-05 17:16:22 +01:00
Cole Robinson
f4c57a4d3b Remove pycodestyle usage
`black` is incharge of style now

Signed-off-by: Cole Robinson <crobinso@redhat.com>
2025-03-05 17:16:22 +01:00
Pavel Hrdina
9558daafd9 Translated using Weblate (Japanese)
Currently translated at 94.3% (1377 of 1459 strings)

Translation: virt-manager/virt-manager
Translate-URL: https://translate.fedoraproject.org/projects/virt-manager/virt-manager/ja/
2025-03-05 17:02:35 +01:00
Remus-Gabriel Chelu
354c1eeb7e Translated using Weblate (Romanian)
Currently translated at 100.0% (1459 of 1459 strings)

Translation: virt-manager/virt-manager
Translate-URL: https://translate.fedoraproject.org/projects/virt-manager/virt-manager/ro/
2025-03-05 17:02:35 +01:00
Nicolás Gal
5c39b38167 Translated using Weblate (Spanish)
Currently translated at 100.0% (1459 of 1459 strings)

Translation: virt-manager/virt-manager
Translate-URL: https://translate.fedoraproject.org/projects/virt-manager/virt-manager/es/

Translated using Weblate (Spanish)

Currently translated at 100.0% (1459 of 1459 strings)

Translation: virt-manager/virt-manager
Translate-URL: https://translate.fedoraproject.org/projects/virt-manager/virt-manager/es/
2025-03-05 17:02:35 +01:00
Temuri Doghonadze
451b8cf920 Translated using Weblate (Georgian)
Currently translated at 100.0% (1459 of 1459 strings)

Translation: virt-manager/virt-manager
Translate-URL: https://translate.fedoraproject.org/projects/virt-manager/virt-manager/ka/
2025-03-05 17:02:35 +01:00
Cole Robinson
ef41638f5e tests: test_urls: fix dead URL
Signed-off-by: Cole Robinson <crobinso@redhat.com>
2025-03-03 12:40:36 -05:00
Akihiko Odaki
fb54f37b60 tests: Increase virtio-mem block size
virtio-mem block size must be equal to or greater than the transparent
huge page size; otherwise, libvirt raises an error and a test will
fail. For example, on Asahi Linux, the transparent huge page size is 32
MiB, which is greater than 2 MiB, the specified virtio-mem block size.

On Linux 6.13, the configuration with the maximum transparent huge page
size is Arm64 with 64 KiB, and it has 512 MiB transparent huge pages.
Increase the block size to 512 MiB so that the test passes on every
Linux configuration.

Signed-off-by: Akihiko Odaki <akihiko.odaki@daynix.com>
2025-03-03 12:19:33 -05:00
Lin Ma
a0e390b1b6 man/virt-install: Document pstore device
Signed-off-by: Lin Ma <lma@suse.de>
2025-03-03 12:01:09 -05:00
Lin Ma
6c43ab3863 tests: add pstore test
Signed-off-by: Lin Ma <lma@suse.de>
2025-03-03 12:01:09 -05:00
Lin Ma
b5f6569bc0 virtinst: add --pstore backend=acpi-erst,path=XX,size=YY support
Libvirt since v10.6.0 introduces pstore pci device for storing oops/panic
logs in nvram storage.

Let's add it into virt-install, It has 3 suboptions:
* backend: The desired backend, by far only 'acpi-erst' is accepted.
* path:    Represents a path in the host that backs the pstore device in
           the guest. It is optional, If not specified the libvirt will
           auto generates one.
* size:    Configures the size of the persistent storage available to the
           guest. It is mandatory, unit is kilobytes.

Eg:
virt-install --pstore backend=acpi-erst,path=/tmp/guest_acpi_esrt,size=8

Signed-off-by: Lin Ma <lma@suse.de>
2025-03-03 12:01:09 -05:00
Pino Toscano
af07c39b13 chore: format the code with black
(crobinso: compress to one commit, and adjust string concat issues)

Signed-off-by: Pino Toscano <ptoscano@redhat.com>
2025-03-03 11:40:37 -05:00
Pino Toscano
768390e505 chore: add configuration for black
Add a pyproject.toml file with the configuration for the "black" tool,
to prepare reformatting the whole codebase with it:
- extend the line length from the default 88 characters to 100, more
  suitable for the virt-manager codebase
- set a custom regexp for the files to format, so also the wrapper
  scripts are handled

Signed-off-by: Pino Toscano <ptoscano@redhat.com>
2025-03-03 11:40:07 -05:00
Cole Robinson
6f188482b2 tests: uitests: handle linux2020 going EOL
Signed-off-by: Cole Robinson <crobinso@redhat.com>
2025-03-03 10:39:12 -05:00
Heinrich Schuchardt
6c6c39be2f createvm: prioritize riscv64
As all major distros support the riscv64 architecture, add it to the
list of prioritized architectures. This will move it up in the
architecture drop-down menu and thereby easier to find when creating
a new VM.

Signed-off-by: Heinrich Schuchardt <heinrich.schuchardt@canonical.com>
2025-03-03 10:13:14 -05:00
Pavel Hrdina
5ddd3456a0 virtManager: domain: fix indentation
Signed-off-by: Pavel Hrdina <phrdina@redhat.com>
2025-01-29 10:50:03 +01:00
Lin Ma
9ef77c1892 tests: skip some hyperv feature tests for libvirt older than 10.7.0/11.0.0
Signed-off-by: Lin Ma <lma@suse.de>
2025-01-29 10:48:57 +01:00
Lin Ma
81c873ba36 cli: Add --features hyperv.tlbflush.extended.state=on/off
Signed-off-by: Lin Ma <lma@suse.de>
2025-01-29 10:48:57 +01:00
Lin Ma
5f2a2dbd0a cli: Add --features hyperv.tlbflush.direct.state=on/off
Signed-off-by: Lin Ma <lma@suse.de>
2025-01-29 10:48:57 +01:00
Lin Ma
1f43c0d1d9 cli: Add --features hyperv.emsr_bitmap.state=on/off
Signed-off-by: Lin Ma <lma@suse.de>
2025-01-29 10:48:57 +01:00
Lin Ma
5617330513 cli: Add --features hyperv.xmm_input.state=on/off
Signed-off-by: Lin Ma <lma@suse.de>
2025-01-29 10:48:57 +01:00
Lin Ma
dc89a02c75 cli: Add nvram.templateFormat to indicate template format
Signed-off-by: Lin Ma <lma@suse.de>
2025-01-29 10:48:57 +01:00
Lin Ma
f278c89b49 cli: Add --tpm backend.profile.{source,removeDisabled} support
Swtpm since v0.10 supports to configure a TPM2 with a profile from file.
eg:

root@localhost:~ # cat /etc/swtpm/profiles/mytest.json
{
      "Name": "custom:test",
      "Algorithms":"rsa,rsa-min-size=1024,......"
}

root@localhost:~ # swtpm_setup --tpm2 --print-profiles | jq
{
  "local": [
    {
      "Name": "mytest",
      "Algorithms": "rsa,rsa-min-size=1024,......"
    }
  ],
  "builtin": [
    {
      "Name": "default-v1",
      "StateFormatLevel": 7,
      "Commands": "......",
      "Algorithms": "rsa,rsa-min-size=1024,......",
      "Description": "......"
    },
    {
      "Name": "null",
      "StateFormatLevel": 1,
      "Commands": "......",
      "Algorithms": "rsa,rsa-min-size=1024,......",
      "Description": "......"
    },
    {
      "Name": "custom",
      "StateFormatLevel": 2,
      "Commands": "......",
      "Algorithms": "rsa,rsa-min-size=1024,......",
      "Description": "......"
    }
  ]
}

Libvirt supports it since v10.10.0

Let's add this feature into virt-install, eg:

root@localhost:~ # virt-install \
......\
--tpm model=tpm-tis,backend.version=2.0,\
backend.profile.source=local:mytest,backend.profile.removeDisabled=check

Signed-off-by: Lin Ma <lma@suse.de>
2025-01-29 10:48:57 +01:00
Lin Ma
9263859944 .gitignore: Ignore coverage.xml
Signed-off-by: Lin Ma <lma@suse.de>
2025-01-29 10:48:57 +01:00
Lin Ma
006ce41576 test_cli: Fix a pycodestyle E261 issue
root@localhost:~ # meson test -C build

==================================== 1/3 =========================
test:         pycodestyle
start time:   14:08:14
duration:     5.80s
result:       exit status 1
command:      MSAN_OPTIONS=halt_on_error=1:abort_on_error=1:...... \
/usr/bin/pycodestyle \
--config setup.cfg --format pylint tests virtinst virtManager
----------------------------------- stdout -----------------------------------
tests/test_cli.py:1157: [E261] at least two spaces before inline comment
......

Signed-off-by: Lin Ma <lma@suse.de>
2025-01-29 10:48:57 +01:00
Lin Ma
a7c455f460 cli: Add 'poll' settings for iothread
Since libvirt v9.4.0, It introduces 'poll' settings in domain XML to
override the hypervisor-default interval of polling for iothread.

Let's add it into virt-install.
Eg:
virt-install \
...... \
--iothreads iothreads=2,\
iothreadids.iothread0.id=1,\
iothreadids.iothread1.id=2,\
iothreadids.iothread1.poll.max=123,\
iothreadids.iothread1.poll.grow=456,\
iothreadids.iothread1.poll.shrink=789

It results in the following domain XML snippet:
  <iothreads>2</iothreads>
  <iothreadids>
    <iothread id='1'/>
    <iothread id='2'>
      <poll max='123' grow='456' shrink='789'/>
    </iothread>
  </iothreadids>

Signed-off-by: Lin Ma <lma@suse.de>
2025-01-29 10:25:37 +01:00
Lin Ma
36d00e0e79 cli: Add --disk driver.queue_size support
Eg:
virt-install \
......
--disk /tmp/disk0.qcow2,size=10,driver.type=qcow2,\
driver.queues=4,driver.queue_size=256 \
......

It results in the following domain XML snippet:
    <disk type='file' device='disk'>
      <driver name='qemu' type='qcow2' queues='4' queue_size='256'/>
      <source file='/tmp/disk0.qcow2' index='2'/>
      <backingStore/>
      <target dev='vda' bus='virtio'/>
      <address type='pci' domain='0x0000' bus='0x05' slot='0x00' function='0x0'/>
    </disk>

Signed-off-by: Lin Ma <lma@suse.de>
2025-01-29 10:25:37 +01:00
Lin Ma
79c333e364 cli: add target.memReserve for pci-bridge and pcie-root-port controllers
Libvirt(since v10.3.0) supports setting memReserve attribute to pci-bridge
and pcie-root-port, Let's add it into virt-install. Eg:

virt-install \
......
--controller pci,index=0,model=pcie-root \
--controller pci,index=1,model=pcie-root-port,target.memReserve=8196 \
--controller pci,index=2,model=dmi-to-pci-bridge \
--controller pci,index=3,model=pci-bridge,target.memReserve=8196 \
......

It results in the following domain XML snippet:
    <controller type='pci' index='0' model='pcie-root'>
      <alias name='pcie.0'/>
    </controller>
    <controller type='pci' index='1' model='pcie-root-port'>
      <model name='pcie-root-port'/>
      <target chassis='1' port='0x10' memReserve='8196'/>
      <alias name='pci.1'/>
      <address type='pci' ....../>
    </controller>
    <controller type='pci' index='2' model='dmi-to-pci-bridge'>
      <model name='i82801b11-bridge'/>
      <alias name='pci.2'/>
      <address type='pci' ....../>
    </controller>
    <controller type='pci' index='3' model='pci-bridge'>
      <model name='pci-bridge'/>
      <target chassisNr='3' memReserve='8196'/>
      <alias name='pci.3'/>
      <address type='pci' ....../>
    </controller>

Signed-off-by: Lin Ma <lma@suse.de>
2025-01-29 10:25:37 +01:00
Lin Ma
8564ace73a cli: Add --memdev target.dynamicMemslots support for virtio-mem
Libvirt supports setting dynamicMemslots attribute for virtio-mem since
v10.1.0, Let's add it into virt-install. Eg:

virt-install \
......
--vcpu 2 \
--cpu cell0.cpus=0,cell0.memory=4194304,\
cell1.cpus=1,cell1.memory=4194304 \
--memory maxMemory=65536,maxMemory.slots=8 \
--memdev model=virtio-mem,\
target.node=0,\
target.block=2048,\
target.size=8192,\
target.dynamicMemslots=yes \
......

It results in the following domain XML snippet:
    <memory model='virtio-mem'>
      <target dynamicMemslots='yes'>
        ......
    </memory>

Signed-off-by: Lin Ma <lma@suse.de>
2025-01-29 10:25:37 +01:00
Pavel Hrdina
54dc858f79 snapshots: warn users to not mix snapshot modes
Signed-off-by: Pavel Hrdina <phrdina@redhat.com>
2025-01-27 22:59:56 +01:00
Pavel Hrdina
40d86086b6 snapshots: default to same snapshot mode as currently used snapshot
Using internal and external snapshot mode for the same VM has some
limitations. When creating new snapshot default to the same mode as
already existing currently used snapshot. If there is no existing
snapshot default to external snapshot.

Signed-off-by: Pavel Hrdina <phrdina@redhat.com>
2025-01-27 22:59:56 +01:00
Pino Toscano
83f391961a chore: stop excluding NEWS.md in codespell configuration
There are no issues now.

Signed-off-by: Pino Toscano <ptoscano@redhat.com>
2025-01-27 09:59:51 +01:00
Pino Toscano
1af0ec1b4c chore: typo fixes in NEWS.md
- "graphcis" -> "graphics"
- "improvments" -> "improvements"
- "swtich" -> "switch"

Found using codespell.

Signed-off-by: Pino Toscano <ptoscano@redhat.com>
2025-01-27 09:59:51 +01:00
Temuri Doghonadze
2dc9c7b770 Translated using Weblate (Georgian)
Currently translated at 98.4% (1437 of 1459 strings)

Translation: virt-manager/virt-manager
Translate-URL: https://translate.fedoraproject.org/projects/virt-manager/virt-manager/ka/
2025-01-24 21:09:17 +01:00
Temuri Doghonadze
b7879cc19e Translated using Weblate (Georgian)
Currently translated at 97.9% (1429 of 1459 strings)

Translation: virt-manager/virt-manager
Translate-URL: https://translate.fedoraproject.org/projects/virt-manager/virt-manager/ka/
2025-01-24 21:09:17 +01:00
Temuri Doghonadze
f359fc72e5 Translated using Weblate (Georgian)
Currently translated at 97.5% (1423 of 1459 strings)

Translation: virt-manager/virt-manager
Translate-URL: https://translate.fedoraproject.org/projects/virt-manager/virt-manager/ka/
2025-01-24 21:09:17 +01:00
Temuri Doghonadze
ccaa7a5ac5 Translated using Weblate (Georgian)
Currently translated at 97.2% (1419 of 1459 strings)

Translation: virt-manager/virt-manager
Translate-URL: https://translate.fedoraproject.org/projects/virt-manager/virt-manager/ka/
2025-01-24 21:09:17 +01:00
Temuri Doghonadze
63798e18d9 Translated using Weblate (Georgian)
Currently translated at 96.5% (1409 of 1459 strings)

Translation: virt-manager/virt-manager
Translate-URL: https://translate.fedoraproject.org/projects/virt-manager/virt-manager/ka/
2025-01-24 21:09:17 +01:00
Temuri Doghonadze
8a69419baf Translated using Weblate (Georgian)
Currently translated at 94.5% (1379 of 1459 strings)

Translation: virt-manager/virt-manager
Translate-URL: https://translate.fedoraproject.org/projects/virt-manager/virt-manager/ka/
2025-01-24 21:09:17 +01:00
Temuri Doghonadze
6b69c652e1 Translated using Weblate (Georgian)
Currently translated at 94.3% (1377 of 1459 strings)

Translation: virt-manager/virt-manager
Translate-URL: https://translate.fedoraproject.org/projects/virt-manager/virt-manager/ka/
2025-01-24 21:09:17 +01:00
Temuri Doghonadze
bc4dd1e900 Translated using Weblate (Georgian)
Currently translated at 94.2% (1375 of 1459 strings)

Translation: virt-manager/virt-manager
Translate-URL: https://translate.fedoraproject.org/projects/virt-manager/virt-manager/ka/
2025-01-24 21:09:17 +01:00
Nicolas Gal
b5ca83c4a9 Translated using Weblate (Spanish)
Currently translated at 100.0% (1459 of 1459 strings)

Translation: virt-manager/virt-manager
Translate-URL: https://translate.fedoraproject.org/projects/virt-manager/virt-manager/es/
2025-01-24 21:09:17 +01:00
Ricky Tigg
270e8f136b Translated using Weblate (Finnish)
Currently translated at 100.0% (1459 of 1459 strings)

Translation: virt-manager/virt-manager
Translate-URL: https://translate.fedoraproject.org/projects/virt-manager/virt-manager/fi/
2025-01-24 21:09:17 +01:00
Nicolas Gal
9447b51a01 Translated using Weblate (Spanish)
Currently translated at 100.0% (1459 of 1459 strings)

Translation: virt-manager/virt-manager
Translate-URL: https://translate.fedoraproject.org/projects/virt-manager/virt-manager/es/
2025-01-24 21:09:17 +01:00
Nicolas Gal
5f94cb86aa Translated using Weblate (Spanish)
Currently translated at 100.0% (1459 of 1459 strings)

Translation: virt-manager/virt-manager
Translate-URL: https://translate.fedoraproject.org/projects/virt-manager/virt-manager/es/
2025-01-24 21:09:17 +01:00
Nicolas Gal
a6b97cf089 Translated using Weblate (Spanish)
Currently translated at 100.0% (1459 of 1459 strings)

Translation: virt-manager/virt-manager
Translate-URL: https://translate.fedoraproject.org/projects/virt-manager/virt-manager/es/
2025-01-24 21:09:17 +01:00
Nicolas Gal
fd3c7febdb Translated using Weblate (Spanish)
Currently translated at 100.0% (1459 of 1459 strings)

Translation: virt-manager/virt-manager
Translate-URL: https://translate.fedoraproject.org/projects/virt-manager/virt-manager/es/
2025-01-24 21:09:17 +01:00
Nicolas Gal
dd06b6081c Translated using Weblate (Spanish)
Currently translated at 100.0% (1459 of 1459 strings)

Translation: virt-manager/virt-manager
Translate-URL: https://translate.fedoraproject.org/projects/virt-manager/virt-manager/es/
2025-01-24 21:09:17 +01:00
Temuri Doghonadze
e5312173c2 Translated using Weblate (Georgian)
Currently translated at 93.5% (1365 of 1459 strings)

Translation: virt-manager/virt-manager
Translate-URL: https://translate.fedoraproject.org/projects/virt-manager/virt-manager/ka/
2025-01-24 21:09:17 +01:00
Moises Tamaalit
c8fa4bf1ea Translated using Weblate (Spanish)
Currently translated at 99.9% (1458 of 1459 strings)

Translation: virt-manager/virt-manager
Translate-URL: https://translate.fedoraproject.org/projects/virt-manager/virt-manager/es/
2025-01-24 21:09:17 +01:00
Nicolas Gal
3b43498bfd Translated using Weblate (Spanish)
Currently translated at 99.9% (1458 of 1459 strings)

Translation: virt-manager/virt-manager
Translate-URL: https://translate.fedoraproject.org/projects/virt-manager/virt-manager/es/

Translated using Weblate (Spanish)

Currently translated at 99.9% (1458 of 1459 strings)

Translation: virt-manager/virt-manager
Translate-URL: https://translate.fedoraproject.org/projects/virt-manager/virt-manager/es/

Translated using Weblate (Spanish)

Currently translated at 99.9% (1458 of 1459 strings)

Translation: virt-manager/virt-manager
Translate-URL: https://translate.fedoraproject.org/projects/virt-manager/virt-manager/es/

Translated using Weblate (Spanish)

Currently translated at 99.9% (1458 of 1459 strings)

Translation: virt-manager/virt-manager
Translate-URL: https://translate.fedoraproject.org/projects/virt-manager/virt-manager/es/
2025-01-24 21:09:17 +01:00
Ettore Atalan
fdcbfeaa10 Translated using Weblate (German)
Currently translated at 89.5% (1307 of 1459 strings)

Translation: virt-manager/virt-manager
Translate-URL: https://translate.fedoraproject.org/projects/virt-manager/virt-manager/de/
2025-01-24 21:09:17 +01:00
Nicolas Gal
5a08f96f01 Translated using Weblate (Spanish)
Currently translated at 100.0% (1459 of 1459 strings)

Translation: virt-manager/virt-manager
Translate-URL: https://translate.fedoraproject.org/projects/virt-manager/virt-manager/es/

Translated using Weblate (Spanish)

Currently translated at 100.0% (1459 of 1459 strings)

Translation: virt-manager/virt-manager
Translate-URL: https://translate.fedoraproject.org/projects/virt-manager/virt-manager/es/

Translated using Weblate (Spanish)

Currently translated at 93.5% (1365 of 1459 strings)

Translation: virt-manager/virt-manager
Translate-URL: https://translate.fedoraproject.org/projects/virt-manager/virt-manager/es/

Translated using Weblate (Spanish)

Currently translated at 93.0% (1358 of 1459 strings)

Translation: virt-manager/virt-manager
Translate-URL: https://translate.fedoraproject.org/projects/virt-manager/virt-manager/es/
2025-01-24 21:09:17 +01:00
christian hartmann
514ff85b42 Translated using Weblate (German)
Currently translated at 88.8% (1297 of 1459 strings)

Translation: virt-manager/virt-manager
Translate-URL: https://translate.fedoraproject.org/projects/virt-manager/virt-manager/de/
2025-01-24 21:09:17 +01:00
Salvatore Cocuzza
6f06d0fead Translated using Weblate (Italian)
Currently translated at 100.0% (1459 of 1459 strings)

Translation: virt-manager/virt-manager
Translate-URL: https://translate.fedoraproject.org/projects/virt-manager/virt-manager/it/
2025-01-24 21:09:17 +01:00
Ricky Tigg
adb04c31f2 Translated using Weblate (Finnish)
Currently translated at 100.0% (1459 of 1459 strings)

Translation: virt-manager/virt-manager
Translate-URL: https://translate.fedoraproject.org/projects/virt-manager/virt-manager/fi/
2025-01-24 21:09:17 +01:00
ButterflyOfFire
113320c19a Translated using Weblate (Kabyle)
Currently translated at 4.5% (67 of 1459 strings)

Translation: virt-manager/virt-manager
Translate-URL: https://translate.fedoraproject.org/projects/virt-manager/virt-manager/kab/
2025-01-24 21:09:17 +01:00
Andi Chandler
22dce0d244 Translated using Weblate (English (United Kingdom))
Currently translated at 100.0% (1459 of 1459 strings)

Translation: virt-manager/virt-manager
Translate-URL: https://translate.fedoraproject.org/projects/virt-manager/virt-manager/en_GB/
2025-01-24 21:09:17 +01:00
Jarne Förster
b1c912117e Translated using Weblate (German)
Currently translated at 88.5% (1292 of 1459 strings)

Translation: virt-manager/virt-manager
Translate-URL: https://translate.fedoraproject.org/projects/virt-manager/virt-manager/de/
2025-01-24 21:09:17 +01:00
Geraldo S. Simião Kutz
ca62c09324 Translated using Weblate (Portuguese (Brazil))
Currently translated at 100.0% (1459 of 1459 strings)

Translation: virt-manager/virt-manager
Translate-URL: https://translate.fedoraproject.org/projects/virt-manager/virt-manager/pt_BR/
2025-01-24 21:09:17 +01:00
Moises Tamaalit
9d4961bd36 Translated using Weblate (Spanish)
Currently translated at 92.8% (1355 of 1459 strings)

Translation: virt-manager/virt-manager
Translate-URL: https://translate.fedoraproject.org/projects/virt-manager/virt-manager/es/
2025-01-24 21:09:17 +01:00
Andika Triwidada
183525243a Translated using Weblate (Indonesian)
Currently translated at 97.2% (1419 of 1459 strings)

Translation: virt-manager/virt-manager
Translate-URL: https://translate.fedoraproject.org/projects/virt-manager/virt-manager/id/

Translated using Weblate (Indonesian)

Currently translated at 93.6% (1367 of 1459 strings)

Translation: virt-manager/virt-manager
Translate-URL: https://translate.fedoraproject.org/projects/virt-manager/virt-manager/id/
2025-01-24 21:09:17 +01:00
Pino Toscano
da2f65f926 ci: add a simple codespell job
Add a simple workflow that runs codespell on the sources.

Signed-off-by: Pino Toscano <ptoscano@redhat.com>
2025-01-09 16:17:28 +01:00
Pino Toscano
3cfd2e2dab chore: drop codespell excluded word
'matchs' does not appear anywhere in the sources, so stop excluding it.

Signed-off-by: Pino Toscano <ptoscano@redhat.com>
2025-01-09 16:17:28 +01:00
Pino Toscano
e1340f73cb chore: tell codespell to ignore the whole 'po' subdirectory
The 'po' subdirectory contains mostly the translation template, the
translations, and other metadata related to translations, and all of
them are not to be fixed directly.

Signed-off-by: Pino Toscano <ptoscano@redhat.com>
2025-01-09 16:17:28 +01:00
Pino Toscano
2724194c87 chore: move codespell configuration in its own file
Rather than passing the various bits for codespell when running it via
meson, create a configuration file for them. This way it will be
possible to run codespell manually getting the same results.

There is no change to the actual codespell configuration.

Signed-off-by: Pino Toscano <ptoscano@redhat.com>
2025-01-09 16:17:28 +01:00
tinyboxvk
412c5d1ad3 Fix typos
Signed-off-by: tinyboxvk <13696594+tinyboxvk@users.noreply.github.com>
2025-01-09 15:45:48 +01:00
Andrea Bolognani
c3debb4eda cli, man: Always list --osinfo before --os-variant
The former is the preferred spelling and it should always be
presented first to the user.

Signed-off-by: Andrea Bolognani <abologna@redhat.com>
2024-12-10 14:06:12 +01:00
Lin Ma
f92c25749b addhardware: panic: Fill in model combo with advertised values by libvirt
The commit c5a46646 asks libvirt to fill in a default panic model for us.
Now libvirt domcaps can advertise panic models, Let's fill in the panic
model combo with the advertised values.

Signed-off-by: Lin Ma <lma@suse.de>
2024-12-10 14:05:20 +01:00
Lin Ma
f9ceec2b14 tests: Update capabilities for advertisting panic device models
Signed-off-by: Lin Ma <lma@suse.de>
2024-12-10 14:05:20 +01:00
Lin Ma
c859c7acec domcaps: get list of supported panic device models
libvirt commit a52cd504 added support for advertisting panic device models.
Let's use it in domcapabilities.

Signed-off-by: Lin Ma <lma@suse.de>
2024-12-10 14:05:20 +01:00
Andrea Bolognani
8af438dd58 cpu: Prefer maximum mode for many emulated guests
The actual default CPU at the QEMU level is often a relatively
poor choice, which is stuck with just baseline functionality
and can sometimes not run modern guests at all.

Whenever possible, prefer maximum mode for a much nicer out of
the box experience.

Signed-off-by: Andrea Bolognani <abologna@redhat.com>
2024-12-10 14:01:32 +01:00
Andrea Bolognani
11b70218d3 gui: Support maximum CPU mode
Allow the user to set it and recognize it correctly when the
domain is already using it.

Signed-off-by: Andrea Bolognani <abologna@redhat.com>
2024-12-10 14:01:32 +01:00
Andrea Bolognani
fca41cfaa9 cli: Support --cpu maximum
This mode has been introduced in libvirt 7.1.0 (March 2021) and
can be already used today with

  --cpu mode=maximum

This is however slightly inconvenient to type and is not
consistent with the special treatment that the other modes
(host-passthrough, host-model) get.

Introduce a proper special mode for it.

Signed-off-by: Andrea Bolognani <abologna@redhat.com>
2024-12-10 14:01:32 +01:00
Cole Robinson
ebf5d5f491 spec: rhel: drop spice dep, default to VNC
Signed-off-by: Cole Robinson <crobinso@redhat.com>
2024-12-09 13:53:55 +01:00
Cole Robinson
ffc7d2bb1b spec: Remove unused with_guestfs
Signed-off-by: Cole Robinson <crobinso@redhat.com>
2024-12-09 13:53:55 +01:00
Cole Robinson
94271b429e spec: Skip dconf dep if building for flatpak
Host dconf is apparently used in this case, and installing dconf
inside the flatpak is not necessary

https://src.fedoraproject.org/rpms/virt-manager/pull-request/4

Signed-off-by: Cole Robinson <crobinso@redhat.com>
2024-12-09 13:53:55 +01:00
Cole Robinson
a4c84aa1bb spec: Add /usr/share/virt-manager/ui/ to RPM database (bz 2283244)
Using *.ui wildcard isn't necessary, just include the dir and all
its subfiles

Signed-off-by: Cole Robinson <crobinso@redhat.com>
2024-12-09 13:53:55 +01:00
Pavel Hrdina
b74730ebb6 spec: update link to virt-manager sources
Signed-off-by: Pavel Hrdina <phrdina@redhat.com>
2024-12-02 13:52:47 +01:00
dependabot[bot]
40d5804cdd ci: bump codecov/codecov-action from 4 to 5
Bumps [codecov/codecov-action](https://github.com/codecov/codecov-action) from 4 to 5.
- [Release notes](https://github.com/codecov/codecov-action/releases)
- [Changelog](https://github.com/codecov/codecov-action/blob/main/CHANGELOG.md)
- [Commits](https://github.com/codecov/codecov-action/compare/v4...v5)

---
updated-dependencies:
- dependency-name: codecov/codecov-action
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-11-29 18:36:38 +01:00
Pavel Hrdina
d17731aea1 Release of virt-manager 5.0.0
Signed-off-by: Pavel Hrdina <phrdina@redhat.com>
2024-11-26 20:53:59 +01:00
Pavel Hrdina
cb2e5aa782 tests: urls: update old and obsolete OS versions
Signed-off-by: Pavel Hrdina <phrdina@redhat.com>
2024-11-26 15:57:05 +01:00
Pavel Hrdina
06265f8013 tests: urls: replace Scientific Linux with AlmaLinux
Scientific Linux is no longer supported as it ended with version 7 so
change it to AlmaLinux that is mentioned to be used instead.

Signed-off-by: Pavel Hrdina <phrdina@redhat.com>
2024-11-26 15:54:45 +01:00
Weblate
4aa80f4c20 Update translation files
Updated by "Update PO files to match POT (msgmerge)" hook in Weblate.

Translation: virt-manager/virt-manager
Translate-URL: https://translate.fedoraproject.org/projects/virt-manager/virt-manager/
2024-11-26 14:17:35 +01:00
Ettore Atalan
9efd05753d Translated using Weblate (German)
Currently translated at 88.0% (1300 of 1476 strings)

Translation: virt-manager/virt-manager
Translate-URL: https://translate.fedoraproject.org/projects/virt-manager/virt-manager/de/
2024-11-26 14:17:35 +01:00
Jiri Grönroos
1ba412f362 Translated using Weblate (Finnish)
Currently translated at 98.7% (1457 of 1476 strings)

Translation: virt-manager/virt-manager
Translate-URL: https://translate.fedoraproject.org/projects/virt-manager/virt-manager/fi/
2024-11-26 14:17:35 +01:00
Piotr Drąg
ff0b17e0b8 Translated using Weblate (Polish)
Currently translated at 100.0% (1476 of 1476 strings)

Translation: virt-manager/virt-manager
Translate-URL: https://translate.fedoraproject.org/projects/virt-manager/virt-manager/pl/
2024-11-26 14:17:35 +01:00
김인수
cc6ddf4f43 Translated using Weblate (Korean)
Currently translated at 100.0% (1476 of 1476 strings)

Translation: virt-manager/virt-manager
Translate-URL: https://translate.fedoraproject.org/projects/virt-manager/virt-manager/ko/
2024-11-26 14:17:35 +01:00
Yuri Chornoivan
160b8be21e Translated using Weblate (Ukrainian)
Currently translated at 100.0% (1476 of 1476 strings)

Translation: virt-manager/virt-manager
Translate-URL: https://translate.fedoraproject.org/projects/virt-manager/virt-manager/uk/
2024-11-26 14:17:35 +01:00
Oğuz Ersen
34f990e32f Translated using Weblate (Turkish)
Currently translated at 100.0% (1476 of 1476 strings)

Translation: virt-manager/virt-manager
Translate-URL: https://translate.fedoraproject.org/projects/virt-manager/virt-manager/tr/
2024-11-26 14:17:35 +01:00
Temuri Doghonadze
a6b6558cdb Translated using Weblate (Georgian)
Currently translated at 93.2% (1376 of 1476 strings)

Translation: virt-manager/virt-manager
Translate-URL: https://translate.fedoraproject.org/projects/virt-manager/virt-manager/ka/
2024-11-26 14:17:35 +01:00
aa75b492a2 Translated using Weblate (Russian)
Currently translated at 100.0% (1476 of 1476 strings)

Translation: virt-manager/virt-manager
Translate-URL: https://translate.fedoraproject.org/projects/virt-manager/virt-manager/ru/
2024-11-26 14:17:35 +01:00
Remus-Gabriel Chelu
89c98cdb97 Translated using Weblate (Romanian)
Currently translated at 100.0% (1476 of 1476 strings)

Translation: virt-manager/virt-manager
Translate-URL: https://translate.fedoraproject.org/projects/virt-manager/virt-manager/ro/
2024-11-26 14:17:35 +01:00
Andika Triwidada
03e5e5369a Translated using Weblate (Indonesian)
Currently translated at 93.2% (1376 of 1476 strings)

Translation: virt-manager/virt-manager
Translate-URL: https://translate.fedoraproject.org/projects/virt-manager/virt-manager/id/

Translated using Weblate (Indonesian)

Currently translated at 89.8% (1326 of 1476 strings)

Translation: virt-manager/virt-manager
Translate-URL: https://translate.fedoraproject.org/projects/virt-manager/virt-manager/id/

Translated using Weblate (Indonesian)

Currently translated at 86.4% (1276 of 1476 strings)

Translation: virt-manager/virt-manager
Translate-URL: https://translate.fedoraproject.org/projects/virt-manager/virt-manager/id/

Translated using Weblate (Indonesian)

Currently translated at 84.7% (1251 of 1476 strings)

Translation: virt-manager/virt-manager
Translate-URL: https://translate.fedoraproject.org/projects/virt-manager/virt-manager/id/

Translated using Weblate (Indonesian)

Currently translated at 83.0% (1226 of 1476 strings)

Translation: virt-manager/virt-manager
Translate-URL: https://translate.fedoraproject.org/projects/virt-manager/virt-manager/id/

Translated using Weblate (Indonesian)

Currently translated at 79.6% (1176 of 1476 strings)

Translation: virt-manager/virt-manager
Translate-URL: https://translate.fedoraproject.org/projects/virt-manager/virt-manager/id/

Translated using Weblate (Indonesian)

Currently translated at 76.2% (1126 of 1476 strings)

Translation: virt-manager/virt-manager
Translate-URL: https://translate.fedoraproject.org/projects/virt-manager/virt-manager/id/

Translated using Weblate (Indonesian)

Currently translated at 72.7% (1074 of 1476 strings)

Translation: virt-manager/virt-manager
Translate-URL: https://translate.fedoraproject.org/projects/virt-manager/virt-manager/id/
2024-11-26 14:17:35 +01:00
Pavel Borecki
0a6cb73e90 Translated using Weblate (Czech)
Currently translated at 100.0% (1476 of 1476 strings)

Translation: virt-manager/virt-manager
Translate-URL: https://translate.fedoraproject.org/projects/virt-manager/virt-manager/cs/
2024-11-26 14:17:35 +01:00
Luna Jernberg
d9b3b4dfd0 Translated using Weblate (Swedish)
Currently translated at 100.0% (1476 of 1476 strings)

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

Translated using Weblate (Swedish)

Currently translated at 99.7% (1472 of 1476 strings)

Translation: virt-manager/virt-manager
Translate-URL: https://translate.fedoraproject.org/projects/virt-manager/virt-manager/sv/
2024-11-26 14:17:35 +01:00
Pino Toscano
c70d8d6c06 Translated using Weblate (Italian)
Currently translated at 99.7% (1472 of 1476 strings)

Translation: virt-manager/virt-manager
Translate-URL: https://translate.fedoraproject.org/projects/virt-manager/virt-manager/it/
2024-11-26 14:17:35 +01:00
Weblate
e9ee09d8d1 Update translation files
Updated by "Update PO files to match POT (msgmerge)" hook in Weblate.

Translation: virt-manager/virt-manager
Translate-URL: https://translate.fedoraproject.org/projects/virt-manager/virt-manager/
2024-11-26 14:17:35 +01:00
Pavel Hrdina
58c93f0e54 po: Refresh translation template
Signed-off-by: Pavel Hrdina <phrdina@redhat.com>
2024-11-26 14:03:34 +01:00
Pavel Hrdina
14a6bd64ed po: meson: drop --join-existing from gettext arguments
With setup.py we cleared po/virt-manager.pot file and created a new
fresh content using gettext.

I missed that fact when converting to meson and with the --join-existing
argument the comments for each msgid were growing with references to
their location in source files.

There is no need to clear the file and generate it again because
removing the --join-existing will end up with the same result.

Signed-off-by: Pavel Hrdina <phrdina@redhat.com>
2024-11-26 14:03:26 +01:00
Cole Robinson
17f171cdb7 cli: add --network passt,portForward=8080:80 convenience syntax
Roughly mirroring `podman run -p` syntax. Examples:

--network passt,portForward=8080:80
--network passt,portForward0=7000-8000/udp,portForward1=127.0.0.1:2222:22

Resolves: https://github.com/virt-manager/virt-manager/issues/751

Signed-off-by: Cole Robinson <crobinso@redhat.com>
2024-11-21 21:59:44 +01:00
Cole Robinson
2f8f0e8151 virt-xml: implement --edit --boot uefi=off
Disable all UEFI config bits for an existing VM

Signed-off-by: Cole Robinson <crobinso@redhat.com>
2024-11-21 21:51:24 +01:00
Cole Robinson
cfcd63b74e virt-install: implement --boot uefi=off
Tells virt-install to not use UEFI, if it would normally default
to it.

This likely isn't too useful in practice, since all occasions we
default to UEFI require it. But it future proofs opt out in case
we ever start defaulting to UEFI in cases where BIOS still works.

Resolves: https://github.com/virt-manager/virt-manager/issues/692

Signed-off-by: Cole Robinson <crobinso@redhat.com>
2024-11-21 21:51:24 +01:00
Cole Robinson
f082087348 cli: Add stub support for --boot uefi=on|off
The way `--boot uefi` is implemented allows a value to be passed,
but the value is completely ignored. So `--boot uefi=off` or
`--boot uefi=FOOBAR` is treated the same as `--boot uefi`

Lets fix this by making `--boot uefi` and `--boot uefi=on` the same,
`--boot uefi=off` will be implemented later, but any other value
throws an error. This is technically an CLI break but I don't
think it's anything to worry about

Signed-off-by: Cole Robinson <crobinso@redhat.com>
2024-11-21 21:51:24 +01:00
Cole Robinson
f3aa24bd5d virt-install: use default --cpu mode more often
Currently we will only apply the default `--cpu mode=host-passthrough`
config when _no_ `--cpu` config is passed. But this means if a user
configures ex. cpu `<topology>`, we don't set `host-passthrough` and
they get the libvirt/qemu default baseline CPU.

Instead, only skip the default config if the user manually
specified a `mode` or `model` value directly

https://issues.redhat.com/browse/RHEL-65371

Signed-off-by: Cole Robinson <crobinso@redhat.com>
2024-11-19 21:21:25 +01:00
Cole Robinson
8fb78739e7 virt-clone: try harder to allow nonexisting images with --preserve
Input XML can have non-existent disk images as long as `--preserve`
is used, or those disks are skipped for any reason. We already
handle that correctly in some cases, but others we fail. This
covers another one.

Resolves: https://github.com/virt-manager/virt-manager/issues/563

Signed-off-by: Cole Robinson <crobinso@redhat.com>
2024-11-19 21:19:25 +01:00
Cole Robinson
058d8b4ccd storage: Add testsuite way to trigger StoragePool.install error
With the libvirt testdriver, we can create+start a directory
pool that points to any arbitrary host path. But this doesn't
match the behavior of the real storage driver, where pool start
will fail if the source directory doesn't exist.

Let's mock this by raising an exception if we are inside the
test suite and we see a special string in the pool XML

Signed-off-by: Cole Robinson <crobinso@redhat.com>
2024-11-19 21:19:25 +01:00
Cole Robinson
3e47db67de virt-clone: document limits of --replace
`--replace` will attempt to remove any existing VM with the new
clone name before performing the clone operation. There's a report
that it will fail for an existing VM with nvram, since we need
aren't doing the equivalent of `virsh undefine --nvram`

https://issues.redhat.com/browse/RHEL-65105

Making `--replace` remove nvram is easy, but it kinda breaks some
Cloner assumptions about determining ahead of time whether we
need to clone nvram or not. It's fixable but it's messy.

Also, making changes here raises the question about how we should be
handling all the other `virsh undefine` flags that have appeared over
the years.

I think it's better to leave `--replace` as is, and just document
that it's doing the simplest equivalent of
`virsh destroy` + `virsh undefine`. Anything more complicated
than that will cause the clone operation to fail, the user needs
to handle VM removal themselves.

Signed-off-by: Cole Robinson <crobinso@redhat.com>
2024-11-19 21:19:25 +01:00
Cole Robinson
8eb87af411 cloner: Handle .qcow2 nvram extension
We were hardcoding .fd extension, but it can be different nowadays

Signed-off-by: Cole Robinson <crobinso@redhat.com>
2024-11-19 21:19:25 +01:00
Cole Robinson
276aa4a72e virt-clone: only attempt --reflink for raw images
--reflink only works with raw images, since copying anything else
will hit the qemu-img code path in libvirt storage driver.
This can pop up more nowadays since UEFI support is using qcow2 as
well.

Let's only attempt --reflink for raw disk images. It's basically
an optimization anyways

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

Signed-off-by: Cole Robinson <crobinso@redhat.com>
2024-11-19 21:19:25 +01:00
Cole Robinson
a22ac0932e man: virt-clone: Fix typo
Signed-off-by: Cole Robinson <crobinso@redhat.com>
2024-11-19 21:19:25 +01:00
Cole Robinson
625c99fbf4 guest: refactor _add_default_input_device
Default to adding tablet+keyboard if graphics and usb are configured.
This saves us from having to duplicate the arch list.

Signed-off-by: Cole Robinson <crobinso@redhat.com>
2024-11-19 19:41:19 +01:00
Cole Robinson
2835c250c7 virt-install: support --input none
Disables adding any default input devices

Signed-off-by: Cole Robinson <crobinso@redhat.com>
2024-11-19 19:41:19 +01:00
Cole Robinson
c78ec96933 virt-install: let libvirt handle --input bus=default
Our logic here is poorly duplicating libvirt's postparse logic.
Notably it will try to add bus=ps2 on non-x86, and misses obscure
cases like parallels.

https://issues.redhat.com/browse/RHEL-66768

Signed-off-by: Cole Robinson <crobinso@redhat.com>
2024-11-19 19:41:19 +01:00
Tomas Dabašinskas
fa927c7836 add a note that tpm can be effectively disabled by passing none 2024-11-19 10:24:33 -05:00
Emmanuel Ferdman
f211e1a566 update virt-manager.spec.in reference
Signed-off-by: Emmanuel Ferdman <emmanuelferdman@gmail.com>
2024-11-14 17:17:39 +01:00
Cole Robinson
d93e3cb8d4 ci: fix libvirt upstream job after meson
Was erroring with 'Dist currently only works with Git or Mercurial
repos'. Seems like something about the libvirt checkout ordering
caused problems

Signed-off-by: Cole Robinson <crobinso@redhat.com>
2024-11-13 10:49:38 -05:00
Lin Ma
301423b83a virt-install: Fix the active_pcr_banks issue for TPM emulator
The commit 6baa327d added active_pcr_banks support, but put it under the child
element <tpm>, which is wrong, It should be under sub child element <backend>.

Before:
  --tpm model=tpm-tis,backend.type=emulator,backend.version=2.0,\
      active_pcr_banks.sha1=on,\
	  active_pcr_banks.sha256=yes,\
	  active_pcr_banks.sha384=yes,\
	  active_pcr_banks.sha512=yes

  It results in the following domain xml:
    <tpm model='tpm-tis'>
      <backend type='emulator' version='2.0'/>
      <alias name='tpm0'/>
    </tpm>

After:
  --tpm model=tpm-tis,backend.type=emulator,backend.version=2.0,\
      backend.active_pcr_banks.sha1=on,\
	  backend.active_pcr_banks.sha256=yes,\
	  backend.active_pcr_banks.sha384=yes,\
	  backend.active_pcr_banks.sha512=yes

  It results in the following domain xml:
    <tpm model='tpm-tis'>
      <backend type='emulator' version='2.0'>
        <active_pcr_banks>
          <sha1/>
          <sha256/>
          <sha384/>
          <sha512/>
        </active_pcr_banks>
      </backend>
      <alias name='tpm0'/>
    </tpm>

Signed-off-by: Lin Ma <lma@suse.de>
2024-11-13 11:29:09 +01:00
Lin Ma
fd48e0be57 virt-install: Add --tpm backend.source support
E.g.
    virt-install \
    ... \
    --tpm model=tpm-tis,backend.type=emulator,backend.version=2.0,\
          backend.source.type=dir,backend.source.path=/some/dir

  It results in the following domain xml:
  <backend type="emulator" version="2.0">
    <source type="dir" path="/some/dir"/>
  </backend>

Signed-off-by: Lin Ma <lma@suse.de>
2024-11-13 11:29:09 +01:00
Lin Ma
7e4f7ae3d8 virt-install: Add support for 'debug' parameter on TPM emulator
E.g.
    virt-install \
    ... \
    --tpm model=tpm-tis,backend.type=emulator,backend.version=2.0,backend.debug=3

  It results in the following domain xml:
  <tpm model="tpm-tis">
    <backend type="emulator" version="2.0" debug="3"/>
  </tpm>

Signed-off-by: Lin Ma <lma@suse.de>
2024-11-13 11:29:09 +01:00
Lin Ma
1219030319 virt-install: Add support for streams attribute for 'virtio' sound card
E.g.
    virt-install \
    ... \
    --sound model=virtio,streams=4

  It results in the following domain xml:
  <sound model="virtio" streams="4"/>

Signed-off-by: Lin Ma <lma@suse.de>
2024-11-13 11:29:09 +01:00
Lin Ma
e883e7d525 virt-install: Add support for multi-channel mode for 'usb' sound card
E.g.
    virt-install \
    ... \
    --sound model=usb,multichannel=yes

  It results in the following domain xml:
  <sound model="usb" multichannel="yes"/>

Signed-off-by: Lin Ma <lma@suse.de>
2024-11-13 11:29:09 +01:00
Lin Ma
1c0f7f62e8 virt-install: Add support for blockio.discard_granularity
E.g.
    virt-install \
    ... \
    --disk /tmp/disk0.qcow2,size=16,driver.type=qcow2,blockio.discard_granularity=4096

  It results in the following domain xml:
  <disk type='file' device='disk'>
    <driver name='qemu' type='qcow2' discard='unmap'/>
    <source file='/tmp/disk0.qcow2'/>
    <target dev='vda' bus='virtio'/>
    <blockio discard_granularity="4096"/>
  </disk>

Signed-off-by: Lin Ma <lma@suse.de>
2024-11-13 11:29:09 +01:00
Lin Ma
0054b71dd7 virt-install: Fix a typo
Signed-off-by: Lin Ma <lma@suse.de>
2024-11-13 11:29:09 +01:00
Pino Toscano
50b6a90a88 po: Refresh translation template
Signed-off-by: Pino Toscano <ptoscano@redhat.com>
2024-11-13 08:12:10 +01:00
Ettore Atalan
819b746ddd Translated using Weblate (German)
Currently translated at 88.4% (1292 of 1460 strings)

Translation: virt-manager/virt-manager
Translate-URL: https://translate.fedoraproject.org/projects/virt-manager/virt-manager/de/
2024-11-13 08:09:13 +01:00
Léane GRASSER
991355efcc Translated using Weblate (French)
Currently translated at 92.1% (1346 of 1460 strings)

Translation: virt-manager/virt-manager
Translate-URL: https://translate.fedoraproject.org/projects/virt-manager/virt-manager/fr/
2024-11-13 08:09:13 +01:00
Jiri Grönroos
d1fce2ff2d Translated using Weblate (Finnish)
Currently translated at 99.7% (1456 of 1460 strings)

Translation: virt-manager/virt-manager
Translate-URL: https://translate.fedoraproject.org/projects/virt-manager/virt-manager/fi/
2024-11-13 08:09:13 +01:00
ButterflyOfFire
ea7306b0ca Translated using Weblate (Kabyle)
Currently translated at 4.5% (66 of 1460 strings)

Translation: virt-manager/virt-manager
Translate-URL: https://translate.fedoraproject.org/projects/virt-manager/virt-manager/kab/

Translated using Weblate (Kabyle)

Currently translated at 4.5% (66 of 1460 strings)

Translation: virt-manager/virt-manager
Translate-URL: https://translate.fedoraproject.org/projects/virt-manager/virt-manager/kab/

Translated using Weblate (Kabyle)

Currently translated at 4.4% (65 of 1460 strings)

Translation: virt-manager/virt-manager
Translate-URL: https://translate.fedoraproject.org/projects/virt-manager/virt-manager/kab/
2024-11-13 08:09:13 +01:00
Rachida SA
a05298f920 Translated using Weblate (Kabyle)
Currently translated at 2.2% (33 of 1460 strings)

Translation: virt-manager/virt-manager
Translate-URL: https://translate.fedoraproject.org/projects/virt-manager/virt-manager/kab/
2024-11-13 08:09:13 +01:00
Adolfo Jayme Barrientos
123978ce6f Translated using Weblate (Spanish)
Currently translated at 93.7% (1369 of 1460 strings)

Translation: virt-manager/virt-manager
Translate-URL: https://translate.fedoraproject.org/projects/virt-manager/virt-manager/es/

Translated using Weblate (Spanish)

Currently translated at 93.7% (1369 of 1460 strings)

Translation: virt-manager/virt-manager
Translate-URL: https://translate.fedoraproject.org/projects/virt-manager/virt-manager/es/

Translated using Weblate (Spanish)

Currently translated at 92.1% (1346 of 1460 strings)

Translation: virt-manager/virt-manager
Translate-URL: https://translate.fedoraproject.org/projects/virt-manager/virt-manager/es/

Translated using Weblate (Spanish)

Currently translated at 92.1% (1345 of 1460 strings)

Translation: virt-manager/virt-manager
Translate-URL: https://translate.fedoraproject.org/projects/virt-manager/virt-manager/es/
2024-11-13 08:09:13 +01:00
Remus-Gabriel Chelu
8b787b9486 Translated using Weblate (Romanian)
Currently translated at 100.0% (1460 of 1460 strings)

Translation: virt-manager/virt-manager
Translate-URL: https://translate.fedoraproject.org/projects/virt-manager/virt-manager/ro/

Translated using Weblate (Romanian)

Currently translated at 84.7% (1237 of 1460 strings)

Translation: virt-manager/virt-manager
Translate-URL: https://translate.fedoraproject.org/projects/virt-manager/virt-manager/ro/
2024-11-13 08:09:13 +01:00
Lucas Fernandes
3f9398e362 Translated using Weblate (Portuguese (Brazil))
Currently translated at 99.3% (1451 of 1460 strings)

Translation: virt-manager/virt-manager
Translate-URL: https://translate.fedoraproject.org/projects/virt-manager/virt-manager/pt_BR/
2024-11-13 08:09:13 +01:00
Moises Tamaalit
69a91e86d5 Translated using Weblate (Spanish)
Currently translated at 93.7% (1369 of 1460 strings)

Translation: virt-manager/virt-manager
Translate-URL: https://translate.fedoraproject.org/projects/virt-manager/virt-manager/es/

Translated using Weblate (Spanish)

Currently translated at 89.7% (1311 of 1460 strings)

Translation: virt-manager/virt-manager
Translate-URL: https://translate.fedoraproject.org/projects/virt-manager/virt-manager/es/

Translated using Weblate (Spanish)

Currently translated at 89.7% (1311 of 1460 strings)

Translation: virt-manager/virt-manager
Translate-URL: https://translate.fedoraproject.org/projects/virt-manager/virt-manager/es/

Translated using Weblate (Spanish)

Currently translated at 89.7% (1310 of 1460 strings)

Translation: virt-manager/virt-manager
Translate-URL: https://translate.fedoraproject.org/projects/virt-manager/virt-manager/es/

Translated using Weblate (Spanish)

Currently translated at 89.0% (1300 of 1460 strings)

Translation: virt-manager/virt-manager
Translate-URL: https://translate.fedoraproject.org/projects/virt-manager/virt-manager/es/
2024-11-13 08:09:13 +01:00
Omar TS
dfbc705b39 Translated using Weblate (Arabic)
Currently translated at 4.0% (59 of 1460 strings)

Translation: virt-manager/virt-manager
Translate-URL: https://translate.fedoraproject.org/projects/virt-manager/virt-manager/ar/

Translated using Weblate (Arabic)

Currently translated at 2.4% (36 of 1460 strings)

Translation: virt-manager/virt-manager
Translate-URL: https://translate.fedoraproject.org/projects/virt-manager/virt-manager/ar/
2024-11-13 08:09:13 +01:00
Pino Toscano
42074a0f19 Translated using Weblate (Italian)
Currently translated at 100.0% (1460 of 1460 strings)

Translation: virt-manager/virt-manager
Translate-URL: https://translate.fedoraproject.org/projects/virt-manager/virt-manager/it/
2024-11-13 08:09:13 +01:00
Pavel Borecki
2c12dd385f Translated using Weblate (Czech)
Currently translated at 100.0% (1460 of 1460 strings)

Translation: virt-manager/virt-manager
Translate-URL: https://translate.fedoraproject.org/projects/virt-manager/virt-manager/cs/
2024-11-13 08:09:13 +01:00
Andika Triwidada
1b9df22a87 Translated using Weblate (Indonesian)
Currently translated at 72.6% (1060 of 1460 strings)

Translation: virt-manager/virt-manager
Translate-URL: https://translate.fedoraproject.org/projects/virt-manager/virt-manager/id/

Translated using Weblate (Indonesian)

Currently translated at 71.2% (1040 of 1460 strings)

Translation: virt-manager/virt-manager
Translate-URL: https://translate.fedoraproject.org/projects/virt-manager/virt-manager/id/

Translated using Weblate (Indonesian)

Currently translated at 69.1% (1010 of 1460 strings)

Translation: virt-manager/virt-manager
Translate-URL: https://translate.fedoraproject.org/projects/virt-manager/virt-manager/id/

Translated using Weblate (Indonesian)

Currently translated at 65.7% (960 of 1460 strings)

Translation: virt-manager/virt-manager
Translate-URL: https://translate.fedoraproject.org/projects/virt-manager/virt-manager/id/

Translated using Weblate (Indonesian)

Currently translated at 62.3% (910 of 1460 strings)

Translation: virt-manager/virt-manager
Translate-URL: https://translate.fedoraproject.org/projects/virt-manager/virt-manager/id/

Translated using Weblate (Indonesian)

Currently translated at 58.9% (860 of 1460 strings)

Translation: virt-manager/virt-manager
Translate-URL: https://translate.fedoraproject.org/projects/virt-manager/virt-manager/id/

Translated using Weblate (Indonesian)

Currently translated at 53.1% (776 of 1460 strings)

Translation: virt-manager/virt-manager
Translate-URL: https://translate.fedoraproject.org/projects/virt-manager/virt-manager/id/

Translated using Weblate (Indonesian)

Currently translated at 50.0% (730 of 1460 strings)

Translation: virt-manager/virt-manager
Translate-URL: https://translate.fedoraproject.org/projects/virt-manager/virt-manager/id/

Translated using Weblate (Indonesian)

Currently translated at 41.2% (602 of 1460 strings)

Translation: virt-manager/virt-manager
Translate-URL: https://translate.fedoraproject.org/projects/virt-manager/virt-manager/id/
2024-11-13 08:09:13 +01:00
Göran Uddeborg
a774a5354e Translated using Weblate (Swedish)
Currently translated at 100.0% (1460 of 1460 strings)

Translation: virt-manager/virt-manager
Translate-URL: https://translate.fedoraproject.org/projects/virt-manager/virt-manager/sv/
2024-11-13 08:09:13 +01:00
Piotr Drąg
712fc0d481 Translated using Weblate (Polish)
Currently translated at 100.0% (1460 of 1460 strings)

Translation: virt-manager/virt-manager
Translate-URL: https://translate.fedoraproject.org/projects/virt-manager/virt-manager/pl/
2024-11-13 08:09:13 +01:00
jianqing yan
11f91c63ae Translated using Weblate (Chinese (Simplified) (zh_CN))
Currently translated at 99.4% (1452 of 1460 strings)

Translation: virt-manager/virt-manager
Translate-URL: https://translate.fedoraproject.org/projects/virt-manager/virt-manager/zh_CN/
2024-11-13 08:09:13 +01:00
Hoppár Zoltán
8a7b0de5b8 Translated using Weblate (Hungarian)
Currently translated at 55.9% (817 of 1460 strings)

Translation: virt-manager/virt-manager
Translate-URL: https://translate.fedoraproject.org/projects/virt-manager/virt-manager/hu/
2024-11-13 08:09:13 +01:00
96e37d2b77 Translated using Weblate (Russian)
Currently translated at 100.0% (1460 of 1460 strings)

Translation: virt-manager/virt-manager
Translate-URL: https://translate.fedoraproject.org/projects/virt-manager/virt-manager/ru/

Translated using Weblate (Italian)

Currently translated at 99.5% (1453 of 1460 strings)

Translation: virt-manager/virt-manager
Translate-URL: https://translate.fedoraproject.org/projects/virt-manager/virt-manager/it/
2024-11-13 08:09:13 +01:00
Temuri Doghonadze
8c61113f96 Translated using Weblate (Georgian)
Currently translated at 93.1% (1360 of 1460 strings)

Translation: virt-manager/virt-manager
Translate-URL: https://translate.fedoraproject.org/projects/virt-manager/virt-manager/ka/
2024-11-13 08:09:13 +01:00
Yuri Chornoivan
e3a4c1506e Translated using Weblate (Ukrainian)
Currently translated at 100.0% (1460 of 1460 strings)

Translation: virt-manager/virt-manager
Translate-URL: https://translate.fedoraproject.org/projects/virt-manager/virt-manager/uk/
2024-11-13 08:09:13 +01:00
Oğuz Ersen
bdeb440421 Translated using Weblate (Turkish)
Currently translated at 100.0% (1460 of 1460 strings)

Translation: virt-manager/virt-manager
Translate-URL: https://translate.fedoraproject.org/projects/virt-manager/virt-manager/tr/
2024-11-13 08:09:13 +01:00
Luna Jernberg
d728725281 Translated using Weblate (Swedish)
Currently translated at 100.0% (1460 of 1460 strings)

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

Translated using Weblate (Swedish)

Currently translated at 99.9% (1459 of 1460 strings)

Translation: virt-manager/virt-manager
Translate-URL: https://translate.fedoraproject.org/projects/virt-manager/virt-manager/sv/
2024-11-13 08:09:13 +01:00
김인수
db5ccb0585 Translated using Weblate (Korean)
Currently translated at 100.0% (1460 of 1460 strings)

Translation: virt-manager/virt-manager
Translate-URL: https://translate.fedoraproject.org/projects/virt-manager/virt-manager/ko/
2024-11-13 08:09:13 +01:00
Andi Chandler
47518b136a Translated using Weblate (English (United Kingdom))
Currently translated at 100.0% (1460 of 1460 strings)

Translation: virt-manager/virt-manager
Translate-URL: https://translate.fedoraproject.org/projects/virt-manager/virt-manager/en_GB/
2024-11-13 08:09:13 +01:00
Weblate
145a476df2 Update translation files
Updated by "Update PO files to match POT (msgmerge)" hook in Weblate.

Translation: virt-manager/virt-manager
Translate-URL: https://translate.fedoraproject.org/projects/virt-manager/virt-manager/
2024-11-13 08:09:13 +01:00
Pavel Hrdina
1f8c61cddc ci: update .packit.yaml to use meson
Signed-off-by: Pavel Hrdina <phrdina@redhat.com>
2024-11-12 23:18:32 +01:00
Pavel Hrdina
c385cd4eb7 ci: update github workflows to use meson
Running `meson dist` requires working git but that doesn't seem to be the
default in github actions when running jobs inside container. Any git
invocation fails with the following error:

fatal: detected dubious ownership in repository at '/__w/virt-manager/virt-manager'
To add an exception for this directory, call:

	git config --global --add safe.directory /__w/virt-manager/virt-manager

So that's what this patch does to make `meson dist` work correctly.

Signed-off-by: Pavel Hrdina <phrdina@redhat.com>
2024-11-12 23:18:32 +01:00
Pavel Hrdina
cbd2a7ef92 update setup.py usage and docs to meson
Signed-off-by: Pavel Hrdina <phrdina@redhat.com>
2024-11-12 23:18:32 +01:00
Pavel Hrdina
31cb321909 remove remaining setuptools files
We will no longer have `rpm` target with meson. That should not be an
issue as users can run `meson dist -C build` and
`rpmbuild -tb build/meson-dist/virt-manager-{version}.tar.xz`.

Signed-off-by: Pavel Hrdina <phrdina@redhat.com>
2024-11-12 23:18:32 +01:00
Pavel Hrdina
5f34dea0ed meson: add tests
Signed-off-by: Pavel Hrdina <phrdina@redhat.com>
2024-11-12 23:18:32 +01:00
Pavel Hrdina
f41deedd52 meson: add build config and its options
Signed-off-by: Pavel Hrdina <phrdina@redhat.com>
2024-11-12 23:18:32 +01:00
Pavel Hrdina
54aadf0169 meson: add icons and schemas options
Signed-off-by: Pavel Hrdina <phrdina@redhat.com>
2024-11-12 23:18:32 +01:00
Pavel Hrdina
0f9d89e069 meson: build and install bin wrappers
Signed-off-by: Pavel Hrdina <phrdina@redhat.com>
2024-11-12 23:18:32 +01:00
Pavel Hrdina
01acaa3836 meson: add po files
Signed-off-by: Pavel Hrdina <phrdina@redhat.com>
2024-11-12 23:18:32 +01:00
Pavel Hrdina
3247dab74c meson: add virtManager files
Signed-off-by: Pavel Hrdina <phrdina@redhat.com>
2024-11-12 23:18:32 +01:00
Pavel Hrdina
03e35a7c29 meson: add virtinst files
Signed-off-by: Pavel Hrdina <phrdina@redhat.com>
2024-11-12 23:18:32 +01:00
Pavel Hrdina
ff1fa4cc38 meson: add ui files
Signed-off-by: Pavel Hrdina <phrdina@redhat.com>
2024-11-12 23:18:32 +01:00
Pavel Hrdina
2abd3e7565 meson: add icons
Signed-off-by: Pavel Hrdina <phrdina@redhat.com>
2024-11-12 23:18:32 +01:00
Pavel Hrdina
dd909f20bc meson: add data files
Signed-off-by: Pavel Hrdina <phrdina@redhat.com>
2024-11-12 23:18:32 +01:00
Pavel Hrdina
6a462a3f60 meson: add man pages
Signed-off-by: Pavel Hrdina <phrdina@redhat.com>
2024-11-12 23:18:32 +01:00
Pavel Hrdina
1f80a62239 meson: rename and modify spec file
We will create the final spec file by meson to have virt-manager version
in single place.

Signed-off-by: Pavel Hrdina <phrdina@redhat.com>
2024-11-12 23:18:32 +01:00
Pavel Hrdina
d803491c47 introduce meson.build file
Signed-off-by: Pavel Hrdina <phrdina@redhat.com>
2024-11-12 23:18:32 +01:00
Cole Robinson
0755711372 tests: uitests: cover cli changes
Signed-off-by: Cole Robinson <crobinso@redhat.com>
2024-11-12 23:12:36 +01:00
Cole Robinson
408a39a777 virt-manager: Switch to --no-fork by default
The reason we fork by default, is to force ssh to invoke
ssh-askpass when a password is required, rather than prompt on
 a terminal no one is looking at. There's a more thorough
explanation here:
https://github.com/virt-manager/virt-manager/issues/731

With SSH_ASKPASS_REQUIRE=force, we now have a way to force ssh
to use askpass in the above scenario, when ssh and libvirt are new
enough.

The default forking behavior has caused maintenance pain in the
past, and is currently causing issues on macos:
https://github.com/virt-manager/virt-manager/issues/620

Let's flip the default to `--no-fork`. The VIRT_MANAGER_DEFAULT_FORK
env variable is there as an escape hatch incase I really miscalculated.

I don't expect many people are depending on use of askpass either
way, or if they are, they are launching virt-manager from their
desktop and not a terminal, which already gives us the correct
behavior AFAICT>

My suspicion is barely anyone will notice, which is why
I'm ok with changing this now, despite the libvirt support being
brand new.

If this doesn't raise any issues, then we can eventually drop
the forking behavior all together.

Signed-off-by: Cole Robinson <crobinso@redhat.com>
2024-11-12 23:12:36 +01:00
Cole Robinson
028fdf2c35 man: virt-manager: document fork behavior and VIRT_MANAGER_DEFAULT_FORK
Signed-off-by: Cole Robinson <crobinso@redhat.com>
2024-11-12 23:12:36 +01:00
Cole Robinson
5de632700f virt-manager: add VIRT_MANAGER_DEFAULT_FORK=yes|no env variable
Allows users to choose default fork behavior via an environment
variable.

Signed-off-by: Cole Robinson <crobinso@redhat.com>
2024-11-12 23:12:36 +01:00
Cole Robinson
7ff899b85e virt-manager: Add --fork option
This is a no-op for now, since this is already the default behavior

Signed-off-by: Cole Robinson <crobinso@redhat.com>
2024-11-12 23:12:36 +01:00
Cole Robinson
17e39de021 virt-manager: Set SSH_ASKPASS_REQUIRE=force
openssh 8.4p1 released in Sep 2020 finally added a feature
to force using SSH_ASKPASS instead of prompting on the commandline
for password, if a password would be required.

https://man.openbsd.org/ssh.1#SSH_ASKPASS_REQUIRE

Getting this behavior is basically what our whole fork dance is
about. Now we can do it with an environment variable

Let the user override it from the environment though, so there's
an escape hatch incase this causes unforseen problems

Signed-off-by: Cole Robinson <crobinso@redhat.com>
2024-11-12 23:12:36 +01:00
Pino Toscano
6c9842a158 ci: tweak Packit configuration
- drop all the architectures (and thus building only on x86_64):
  virt-manager has no architecture-specific installation bits, and thus
  it builds in the same way on every architecture; hence no need to
  explicitly test on various architectures
- test on all the supported Fedora versions (Rawhide included): this way
  it is possible to check that older versions are still supported, at
  least when building

Signed-off-by: Pino Toscano <ptoscano@redhat.com>
2024-11-12 22:37:39 +01:00
Pino Toscano
d46674b822 fix: improve translatable message
- use a single translatable message, instead of splitting the text in
  two; it helps translators to have the full context/text
- improve the language a bit

Signed-off-by: Pino Toscano <ptoscano@redhat.com>
2024-11-12 22:36:00 +01:00
Pavel Hrdina
5126c007ec tests: update tests to reflect the latest panic device changes
Signed-off-by: Pavel Hrdina <phrdina@redhat.com>
2024-11-12 19:15:04 +01:00
Pavel Hrdina
2ce04b7cf6 virtinst.cli: replace DevicePanic.MODEL_ISA with "isa"
Signed-off-by: Pavel Hrdina <phrdina@redhat.com>
2024-11-12 19:14:51 +01:00
Cole Robinson
48ec63cce2 tests: uitests: tweak for panic dev changes
Signed-off-by: Cole Robinson <crobinso@redhat.com>
2024-11-12 09:57:47 -05:00
Cole Robinson
c5a4664676 addhardware: panic: default to asking libvirt for default model
Drop our hardcoded model lists, and just ask libvirt to fill in
a model for us. Add an entry to the combo box so users can type
in a non-default value if they want one.

Long term libvirt should be providing all this info to us via
domcapabilities

Signed-off-by: Cole Robinson <crobinso@redhat.com>
2024-11-12 09:55:20 -05:00
Cole Robinson
ebeb80073e devices: panic: let libvirt fill in model default
Currently `--panic default` for aarch64 doesn't even request
a `<panic/>` device due to quirky xmlbuilder behavior. Fix that,
but more generally just leave model empty and let libvirt fill it
in for us.

Signed-off-by: Cole Robinson <crobinso@redhat.com>
2024-11-12 09:44:37 -05:00
Cole Robinson
afa8231525 virt-install: add --network hostdev=HOSTDEV
This is a special convenience option for filling in `type=hostdev`
config using the same format of lookup string that can be
passed to `--hostdev`

Fixes: https://github.com/virt-manager/virt-manager/issues/500

Signed-off-by: Cole Robinson <crobinso@redhat.com>
2024-11-11 15:30:25 -05:00
Cole Robinson
300f934cae virt-install: add --network type=hostdev,source.address.X= pci options
This just covers the common PCI case with these new options

source.address.type=
source.address.domain=
source.address.bus=
source.address.slot=
source.address.function=

Signed-off-by: Cole Robinson <crobinso@redhat.com>
2024-11-11 14:26:47 -05:00
Cole Robinson
315b340fc4 virt-install: add --features msrs.unknown=ignore
Fixes: https://github.com/virt-manager/virt-manager/issues/570

Signed-off-by: Cole Robinson <crobinso@redhat.com>
2024-11-11 14:13:59 -05:00
Cole Robinson
7dd7383bcb tests: uitests: cover serial autoconnect bug fix
Signed-off-by: Cole Robinson <crobinso@redhat.com>
2024-11-11 14:06:42 -05:00
Cole Robinson
dc1c998265 console: Handle autoconnect=off for serial console too
Fixes: https://github.com/virt-manager/virt-manager/issues/584

Signed-off-by: Cole Robinson <crobinso@redhat.com>
2024-11-11 14:06:42 -05:00
Cole Robinson
97ab16a73d uitests: fix coverage with scaling default change
Signed-off-by: Cole Robinson <crobinso@redhat.com>
2024-11-11 14:55:26 +01:00
Cole Robinson
715acbf541 console: Default to scaling=Always
I think this is a better default than the current `Only when
Fullscreen`, which is the same as `Never` for VM windowed mode.

I wrote my reasoning here:
https://github.com/virt-manager/virt-manager/issues/747

Signed-off-by: Cole Robinson <crobinso@redhat.com>
2024-11-11 14:55:26 +01:00
Jose
5875019b2d Update installertreemedia.py
Removing duplicated verb "be"
2024-11-11 14:27:22 +01:00
Grzegorz Szymaszek
c99b64725c man: update libvirt.org links
Fix no longer valid URL fragments, wrap at 80th column, remove dots that
follow only a few links.

Signed-off-by: Grzegorz Szymaszek <gszymaszek@short.pl>
2024-10-29 07:57:56 +01:00
Cole Robinson
8f75ac4e6e virt-install: implement --osinfo require=no as fallback name=generic
This is essentially what it has always behaved as, but making it
explicit in the code will now trigger the extra warnings when
detect=on is also used.

Signed-off-by: Cole Robinson <crobinso@redhat.com>
2024-10-14 15:21:15 +02:00
Cole Robinson
e02607766c virt-install: Warn if --osinfo detect=on,name=OSNAME detection fails
Using `detect=on,name=OSNAME` is good for CI safety, incase
a new distro tree has a regression with detection, or if testing
against a new distro that osinfo-db doesn't know about.

But virt-install should still try to inform the user that detection
failed, and suggest filing a bug if the user expected it to work.

Signed-off-by: Cole Robinson <crobinso@redhat.com>
2024-10-14 15:21:15 +02:00
Cole Robinson
e3da4337f6 cli: --osinfo detect=on shouldn't default to require=off
The require= behavior should be AUTO for this case, but the
way we were previously initializing variables made this OFF.
I don't think this was intentional. We should have changed
this when we started defaulting to `detect=on`

Signed-off-by: Cole Robinson <crobinso@redhat.com>
2024-10-14 15:21:15 +02:00
Cole Robinson
1487dbd200 cli: --osinfo: clean up require= handling
It's kinda hard to follow the logic here. cli require= can only be
on|off or unset, but we use an internal 'auto' value which seems
like it can come from the cli.

Try to clean it up with enum like values.

Signed-off-by: Cole Robinson <crobinso@redhat.com>
2024-10-14 15:21:15 +02:00
Cole Robinson
a28401cb12 tests: Test that --osinfo detect=on implies require=off
This is current behavior, but it was unintentional and we will
change it.

Signed-off-by: Cole Robinson <crobinso@redhat.com>
2024-10-14 15:21:15 +02:00
Pavel Hrdina
3006c5a1d5 virtManager: drop libappindicator usage
Latest upstream release was back in 2012 and the new
libayatana-appindicator project is present in all distribution supported
by libvirt.

Signed-off-by: Pavel Hrdina <phrdina@redhat.com>
2024-10-14 08:51:07 +02:00
Pavel Hrdina
31eab9b46a pylint: fix false positive errors
Signed-off-by: Pavel Hrdina <phrdina@redhat.com>
2024-10-13 17:11:06 +02:00
Pavel Hrdina
d4194c134b misc: codespell fixes
Signed-off-by: Pavel Hrdina <phrdina@redhat.com>
2024-10-13 15:26:08 +02:00
Cole Robinson
a9a78f45cf installer: rename has_install_phase to requires_postboot_xml_changes
has_install_phase is an ambiguous name for its intended purpose.
Really this is so API users have a way of knowing if the VM `install`
process requires 2 XML phases or not. Make that naming explicit

Signed-off-by: Cole Robinson <crobinso@redhat.com>
2024-10-11 14:40:03 +02:00
Cole Robinson
1c8e6f8428 virt-install: Make --cloud-init reboot by default (again)
This basically reverts this commit from virt-manager 4.0.0

```
commit 825ec644b859b99d6f9f155b04ef3ac07eca1fc2
Author: Cole Robinson <crobinso@redhat.com>
Date:   Tue Mar 1 10:32:01 2022 -0500

    installer: Do not force reboot with --cloud-init

    Resolves: https://github.com/virt-manager/virt-manager/issues/189
```

After that commit, using `--cloud-init` or `--unattended` would
basically imply `--noreboot`

For some usage of `--cloud-init`, like in the initial report, this
makes sense to do. virt-install will drop you into the cloud image,
you mess without, run `poweroff`, and are surprised when virt-install
reboots the VM. I agreed, and made the change

But changing this was a bad idea.

cloud-init and unattended VMs have 2 XML phases. First XML is booting
off temporary media (the generated cloudinit iso), second XML is the
permanent boot config (booting off disk). We need to force the VM
to fully poweroff, so that the second XML config takes effect. We
make that happen with `<on_reboot>destroy</on_reboot>`, which tells
libvirt/qemu to poweroff the VM when it receives a guest reboot
notification. virt-install then defaults to restarting the VM when
it detects shutdown, to manually replicate the VM requested reboot,
but still get the second XML config to take effect.

The perennial problem with this is that, from outside the VM, we
don't know if the user inside the VM requested `poweroff` or `reboot`.
virt-install emulates the reboot behavior, and provides `--noreboot`
to override it. It's still confusing if a user puts a `poweroff`
command at the end of an anaconda kickstart file, and sees the VM
reboot, but it's been that way forever.

Except with that commit above, we flipped it for --cloud-init and
--unattended. Now, users who do `poweroff` are getting expected
behavior, but users who request `reboot` are not.

We could go further and add a `--yesreboot` option or similar. But
for consistency sake I think we should just revert that behavior,
and tell users to use --noreboot like usual.

Resolves: https://github.com/virt-manager/virt-manager/issues/497

Signed-off-by: Cole Robinson <crobinso@redhat.com>
2024-10-11 14:40:03 +02:00
Cole Robinson
351233f8ec vmwindow: Default new window viewer size to 1280x800
This is qemu's default nowadays for modern video configs

Signed-off-by: Cole Robinson <crobinso@redhat.com>
2024-10-10 11:21:56 -04:00
Cole Robinson
d231e66a96 console: Fix resize_to_vm with host fractional scaling
Trying to size the window based on VM desktop resolution does
not do the correct thing when host fractional scaling is enabled
and using spice.

The best we can do here is ask the viewer widget for its
preferred size

Signed-off-by: Cole Robinson <crobinso@redhat.com>
2024-10-10 11:15:35 -04:00
Cole Robinson
2ee224193d console: drop manual size request, let widgets do it for us
_adjust_viewer_size has one remaining function: when scaling and
resizeguest is disabled, do
viewer.set_size_request(*desktop_resolution), so the viewer fills
out the scrolled window and scrollbars show up.

After playing with this all a bunch, I discovered two things

* spice already behaves the way we want, so we don't need to
  manually intervene. so all that is unnecessary
* vnc has an option to behave the way we want, via the
  set_force_size knob

So instead lets rip it all out, and implement the VNC piece by
toggling set_force_size based on whether scaling+resizeguest is
enabled.

Signed-off-by: Cole Robinson <crobinso@redhat.com>
2024-10-10 11:15:35 -04:00
Cole Robinson
1d7fcac3df viewers: simplify shared self._display handling
* Move shared init to `_set_display`
* Move per class init to `_init_display`
* Move per class signal setup to `_connect_display_signals`
* Make base class call cleanup of child class via `_close`
* Drop unnecessary spice `_display_channel` handle

Signed-off-by: Cole Robinson <crobinso@redhat.com>
2024-10-10 11:15:35 -04:00
Cole Robinson
7e79023b09 viewers: Share most of _refresh_grab_keys implementation
Signed-off-by: Cole Robinson <crobinso@redhat.com>
2024-10-10 11:15:35 -04:00
Cole Robinson
51c3f1c687 virt-xml: Add --edit --convert-to-vnc
This wires up the guest.convert_to_vnc function to command line,
and documents it.

There's one suboption `qemu-vdagent=on|off`, defaulting to `off`

Signed-off-by: Cole Robinson <crobinso@redhat.com>
2024-10-09 11:03:43 +02:00
Cole Robinson
f7988a94e6 guest: convert_to_vnc: optionally add qemu-vdagent
Disabled by default, but maybe we turn it on in the future
when qemu-vdagent supports migration.

Signed-off-by: Cole Robinson <crobinso@redhat.com>
2024-10-09 11:03:43 +02:00
Cole Robinson
d58299ee6b guest: convert_to_vnc: convert video device
This is mostly about stripping out spice references. All qxl devices
are converted to app defaults

Signed-off-by: Cole Robinson <crobinso@redhat.com>
2024-10-09 11:03:43 +02:00
Cole Robinson
f0078a179d guest: remove spiceport devices when spice is removed
serial/console type='spiceport' is another spice specific device,
so remove that too

Signed-off-by: Cole Robinson <crobinso@redhat.com>
2024-10-09 11:03:43 +02:00
Cole Robinson
229b905053 guest: add convert_to_vnc()
This is the beginnings of support for a `virt-xml --convert-to-vnc`
option. Take an existing VM, strip out most of the previous graphics
config, and add VNC graphics.

We try to convert over some of the shared graphic bits, like listen
and port settings, if they were previously specified.

If spice GL was enabled, we convert to egl-headless config

Signed-off-by: Cole Robinson <crobinso@redhat.com>
2024-10-09 11:03:43 +02:00
Cole Robinson
c498c519ed virt-install: Exit gracefully when VM is undefined behind our back
We still error, but don't throw a traceback.

Resolves: #455

Signed-off-by: Cole Robinson <crobinso@redhat.com>
2024-10-08 13:40:30 -04:00
Cole Robinson
dd354e8b72 virt-xml: add --edit --convert-to-q35
Wire up guest.convert_to_q35 to the CLI. We add one suboptions,
`num_pcie_root_ports=X`, matching the pre-existing
`--controller num_pcie_root_ports=X` option

Nothing fancy here. See man page docs for details

Signed-off-by: Cole Robinson <crobinso@redhat.com>
2024-10-03 14:20:12 -04:00
Cole Robinson
454aad78a4 guest: add convert_to_q35
This function converts a PC/i400FX XML config to Q35. Mostly
this is deleting any plain PCI addresses and controllers, adding
pcie-root-ports, convert IDE -> SATA, and let libvirt fill in
the rest.

This the implementation piece. CLI additions come later

Signed-off-by: Cole Robinson <crobinso@redhat.com>
2024-10-03 14:20:12 -04:00
Cole Robinson
fe09e8f47e viewers: add explicit signal for desktop resize
this doesn't change any behavior, but it makes things cleaner
by not overloading the size-allocate signal

Signed-off-by: Cole Robinson <crobinso@redhat.com>
2024-10-02 13:34:47 -04:00
Cole Robinson
f140ff1836 console: drop the scroll size-allocate callback
This does not seem to be required anymore. We get notified on
viewer size-allocate already, which seems like enough.

Rename the function to _adjust_viewer_size which is more accurate
to what it does, and adjust the callers

Signed-off-by: Cole Robinson <crobinso@redhat.com>
2024-10-02 13:34:47 -04:00
Cole Robinson
e5208adc32 console: drop the console_size_allocate call
This mattered when we were doing widget adjustments to maintain
scaling ratio. But nowadays it seems totally redundant: we are
basically trying to set an allocation that already happened via
the normal chain of widget events, so it's a no-op.

Signed-off-by: Cole Robinson <crobinso@redhat.com>
2024-10-02 13:34:47 -04:00
Cole Robinson
24324bb6f5 console: Leave scroll policy as AUTOMATIC
We shouldn't need to forcibly set it to NEVER. It doesn't seem to
be required in my testing

Signed-off-by: Cole Robinson <crobinso@redhat.com>
2024-10-02 13:34:47 -04:00
Cole Robinson
95006f42ba console: Clean up get_desktop_resolution usage
Checking for resolution = None is a roundabout way to check if
the console was already opened. Make that more clear

Signed-off-by: Cole Robinson <crobinso@redhat.com>
2024-10-02 13:34:47 -04:00
Cole Robinson
371cd1ad60 console: Simplify usbredir menu handling
+ Don't check for redirdev devices, let the spice widget tell
  us if things aren't configured correctly.

+ Remove some duplication

Signed-off-by: Cole Robinson <crobinso@redhat.com>
2024-10-02 13:34:47 -04:00
Cole Robinson
4cc52de8bb console: Fix widget size with scaling=never and host fractional scaling
We can not reliably use VM desktop resolution for host widget
sizes when the host is using desktop scaling, so don't even try.

This fixes the black bars around the VM console when scaling=never
and autoresize is disabled

Signed-off-by: Cole Robinson <crobinso@redhat.com>
2024-10-02 13:34:47 -04:00
Cole Robinson
6b944ef6b8 console: Add a comment about _set_size_to_vm and fractional scaling
Signed-off-by: Cole Robinson <crobinso@redhat.com>
2024-10-02 13:34:47 -04:00
Cole Robinson
bd0d0920ec console: Add logging to _set_size_to_vm
Signed-off-by: Cole Robinson <crobinso@redhat.com>
2024-10-02 13:34:47 -04:00
Cole Robinson
dfb1f33040 connection: handle disappearing obj in agent handler
Signed-off-by: Cole Robinson <crobinso@redhat.com>
2024-10-02 12:35:05 -04:00
Cole Robinson
2ee2dda124 virt-xml: Fix cli_arg_name vs cli_flag_name() usage
Most of the time these strings are the same, but not when
a command line argument has a dash in it

Signed-off-by: Cole Robinson <crobinso@redhat.com>
2024-10-01 12:30:34 -04:00
Cole Robinson
f66cca92a9 cli: Make --xml option parsing less special
We can make `--xml` fit the common xml cli option paradigm, which
less us drop a whole bunch of special handling in virt-xml

Signed-off-by: Cole Robinson <crobinso@redhat.com>
2024-10-01 12:30:34 -04:00
Cole Robinson
76f4599460 virtxml: Don't require options at XML action time
Adjust cli.py `run_parser` and similar functions to take the
parservalue directly, rather than passing in the whole `options`
structure.

This makes it easier to reason about what the virt-xml action
functions are actually working with.

Signed-off-by: Cole Robinson <crobinso@redhat.com>
2024-10-01 12:30:34 -04:00
Cole Robinson
455b38f724 virtxml: Add Action class to track action + option pairs
This adds an Action class which is a container for (most) of the
data we need to perform a virt-xml operation. Basically an instance
of the class represents a pairing like

    --edit 1 --disk path=/foo    or
    --add-device --network wibble,model=virtio
    etc

This is a functional no-op, but it moves the code closer to
an architecture that will allow us to perform multiple actions
with a single virt-xml command.

While doing this, we centralize most of the cli validation that is
scattered around, since it's now easier to do it in one place.

Signed-off-by: Cole Robinson <crobinso@redhat.com>
2024-10-01 12:30:34 -04:00
Cole Robinson
b7c72af73d virtxml: move some functions
Move the validation functions out from amongst the functional XML
editing code, and into their own section. We will be adding more
code alongside in future patches.

Signed-off-by: Cole Robinson <crobinso@redhat.com>
2024-10-01 12:30:34 -04:00
Cole Robinson
4941bb922f testmock: Remove some console mocking that's no longer required
Signed-off-by: Cole Robinson <crobinso@redhat.com>
2024-09-26 09:19:57 -04:00
Cole Robinson
2c9f219450 console: Remove needless console scale comparison
This doesn't seem to serve any purpose

Signed-off-by: Cole Robinson <crobinso@redhat.com>
2024-09-26 09:19:57 -04:00
Cole Robinson
babeb1516f console: Cleanup _scroll_size_allocate
Remove some duplication and make the remaining functionality
more clear. This should be a no-op

Signed-off-by: Cole Robinson <crobinso@redhat.com>
2024-09-25 16:39:20 -04:00
Cole Robinson
8e551f514a console: Remove our custom aspect ratio handling
Spice has maintained aspect ratio for us forever.
GtkVnc was added in previous commit, provided since May 2021.

If user is running on an old GtkVnc, they just get potentially
stretched out viewing when scaling is enabled, so the fallback
scenario is no big deal IMO

Signed-off-by: Cole Robinson <crobinso@redhat.com>
2024-09-25 16:39:20 -04:00
Cole Robinson
9929f2d676 vmwindow: Disable 'Resize to VM' menu when VM is offline
Signed-off-by: Cole Robinson <crobinso@redhat.com>
2024-09-25 16:39:20 -04:00
Cole Robinson
20000fb313 vmwindow: Don't desensitive Auto resize
Right now you can select the option for an offline VM, but once
it starts up, and no spice agent is detected, the option is
set insensitive. This is a pain.

Keep the tooltip, but keep the option always selectable

Signed-off-by: Cole Robinson <crobinso@redhat.com>
2024-09-25 16:39:20 -04:00
Cole Robinson
289a993af4 viewers: spice: hook into display-primary-create
We can use this signal to be notified when VM resolution changes.

Log when we actually detect a resolution change

Signed-off-by: Cole Robinson <crobinso@redhat.com>
2024-09-25 16:39:20 -04:00
Cole Robinson
70861c507e viewers: vnc: use set_keep_aspect_ratio(True)
Maintains aspect ratio when scaling.

Added by v1.2.0 in March 2021

Signed-off-by: Cole Robinson <crobinso@redhat.com>
2024-09-25 11:07:16 -04:00
Cole Robinson
3ee677c2de viewers: Log once when checking vnc set_allow_resize support
For debugging purposes. But we will use this pattern in upcoming
patches too

Signed-off-by: Cole Robinson <crobinso@redhat.com>
2024-09-25 11:03:29 -04:00
Cole Robinson
d79d4633c8 snapshots: Don't save outdated screenshot data
Current code will take a screenshot when the 'New Snapshot'
dialog is initially launched, and then use that cached content
as the screenshot for the snapshot... which may be totally out
of date by the time the user enters all the snapshot info.

Instead, drop the snapshot preview UI in the 'New Snapshot' wizard
entirely, and use a screenshot that is fetched after the user actually
clicks 'Finish'

Signed-off-by: Cole Robinson <crobinso@redhat.com>
2024-09-25 10:18:38 +02:00
Cole Robinson
1f448a1953 virt-manager: Stop blocking SIGHUP
This is from when we used to support directly connecting to
serial console /dev/pty devices. Nowadays all serial connections
are mediated through libvirt stream APIs and we don't need to
care about SIGHUP

Signed-off-by: Cole Robinson <crobinso@redhat.com>
2024-09-24 12:42:42 -04:00
Cole Robinson
683b486c46 ui: snapshots: Fix button placement when resizing 'New' dialog
Signed-off-by: Cole Robinson <crobinso@redhat.com>
2024-09-23 19:31:36 -04:00
Cole Robinson
de00ff7661 virt-xml: Fix --define with stdin XML
And rework the `refresh-machine-type` testcase to trigger it

Signed-off-by: Cole Robinson <crobinso@redhat.com>
2024-09-23 10:37:16 -04:00
Cole Robinson
b83a1b0d0f domain: Use KEEP_TPM flag for domain rename
If the VM has implicit TPM state, use the VIR_DOMAIN_UNDEFINE_KEEP_TPM
flag to preserve that state when renaming the VM (if libvirt is new
enough).

The state is stored based on VM UUID and nothing else, and the UUID
is preserved during rename, so we don't need to do any of the same
trickery that's required for nvram duplication.

Signed-off-by: Cole Robinson <crobinso@redhat.com>
2024-09-19 05:48:01 +02:00
Cole Robinson
c6bc3a8667 tests: uitests: test localhost tcp graphics
Signed-off-by: Cole Robinson <crobinso@redhat.com>
2024-09-11 12:17:06 -04:00
Sami Loone
380af310e7 console: allow localhost connections over TCP
Fix console config validation for an edge case where both libvirt and
Spice/VNC TCP connection are on localhost. Transport over TCP does not
necessarily mean that libvirt connection is to a remote host.

Compare libvirt and graphics device addresses to localhost individually.
Raise an error only when guest device is bound to localhost but libvirt
connection is non-local (remote).

Validation that prevents fully local TCP seems to go back all the way to
bc13c302de4 ("console: Warn if qemu+tcp URI and listen == 127.0.0.1").

Signed-off-by: Sami Loone <sloone@forcepoint.com>
2024-09-11 12:16:33 -04:00
Cole Robinson
258df88eab domain: tweak q35 <-> pc editing
* add_q35_pcie_controllers already skips adding controllers if
  any type=pci already exist, so delete the extra checking
* be more paranoid and only run the live edits when the machine
  type actually changed from an expected config

Signed-off-by: Cole Robinson <crobinso@redhat.com>
2024-09-10 16:35:03 -04:00
Lin Ma
78064728e6 domain: Remove the pcie-root and ports for i440fx in customized dialog
The commit db8305ad explicitly adds pcie-root and pcie root ports for q35.
If the user selects i440FX chipset instead of Q35(default) from customize
dialog, The pre-defined pcie-root and ports cause failure when starting
i440fx VM installation because they're not applicable to i440fx.

It fails with below error message:

summary=Unable to complete install: 'XML error: The PCI controller with index='0'
must be model='pci-root' for this machine type, but model='pcie-root' was found instead'
details=Traceback (most recent call last):
  File "/usr/share/virt-manager/virtManager/asyncjob.py", line 72, in cb_wrapper
    callback(asyncjob, *args, **kwargs)
  File "/usr/share/virt-manager/virtManager/createvm.py", line 2088, in _do_async_install
    installer.start_install(guest, meter=meter)
  File "/usr/share/virt-manager/virtinst/install/installer.py", line 737, in start_install
    domain = self._create_guest(
  File "/usr/share/virt-manager/virtinst/install/installer.py", line 679, in _create_guest
    domain = self.conn.createXML(initial_xml or final_xml, 0)
  File "/usr/lib64/python3.10/site-packages/libvirt.py", line 4442, in createXML
    raise libvirtError('virDomainCreateXML() failed')
libvirt.libvirtError: XML error: The PCI controller with index='0' must be
model='pci-root' for this machine type, but model='pcie-root' was found instead

This patch fixes it by removing the pcie-root and ports for i440fx in
apply_overview.

Resolves: https://github.com/virt-manager/virt-manager/issues/444

Signed-off-by: Lin Ma <lma@suse.com>
2024-09-10 13:27:08 -04:00
Lin Ma
2d94e92d80 guest: Drop the '_' prefix for _add_q35_pcie_controllers
We will use it in domain.py as well.

Signed-off-by: Lin Ma <lma@suse.com>
2024-09-10 13:27:08 -04:00
Cole Robinson
9813dc3b4f capabilities: Exclude a line from code coverage
updated test suite capabilities XML doesn't hit this line anymore.
Just exclude it

Signed-off-by: Cole Robinson <crobinso@redhat.com>
2024-09-10 13:13:46 -04:00
Andrea Bolognani
e1468c04aa tests: Add testDomainCapabilitiesLoongArch64()
Inspired by the x86_64 counterpart.

Signed-off-by: Andrea Bolognani <abologna@redhat.com>
2024-09-10 12:56:38 -04:00
Andrea Bolognani
2a52d77096 domcapabilities: Add firmware patterns for loongarch64
Signed-off-by: Andrea Bolognani <abologna@redhat.com>
2024-09-10 12:56:38 -04:00
Andrea Bolognani
5419524f7b tests: Add testDomainCapabilitiesRISCV64()
Inspired by the x86_64 counterpart.

We're using TCG in this case, so things like host-passthrough
are not available.

Signed-off-by: Andrea Bolognani <abologna@redhat.com>
2024-09-10 12:56:38 -04:00
Andrea Bolognani
dc603792bf domcapabilities: Add firmware patterns for riscv64
Signed-off-by: Andrea Bolognani <abologna@redhat.com>
2024-09-10 12:54:35 -04:00
Andrea Bolognani
cf0b6cd78f tests: Add testDomainCapabilitiesPPC64le()
Inspired by the x86_64 counterpart.

Signed-off-by: Andrea Bolognani <abologna@redhat.com>
2024-09-10 12:53:36 -04:00
Andrea Bolognani
01a451e7d9 tests: Update ppc64le capabilities
The old capabilities are extremely outdated. The new ones were
captured on an IBM POWER8 machine running Fedora 40.

A few new features are advertised, and the details of the
machine are significantly different, but not much of this is
reflected in the output XML files.

Signed-off-by: Andrea Bolognani <abologna@redhat.com>
2024-09-10 12:53:36 -04:00
Andrea Bolognani
5d5da5ff6e domcapabilities: Update comment
Fedora uses the same paths as Gerd's packages these days.

Signed-off-by: Andrea Bolognani <abologna@redhat.com>
2024-09-10 10:54:53 +02:00
Andrea Bolognani
579eb3e91e tests: Extend testDomainCapabilitiesAArch64()
Bring it closer to the x86_64 counterpart.

Signed-off-by: Andrea Bolognani <abologna@redhat.com>
2024-09-10 10:54:53 +02:00
Andrea Bolognani
38906948c6 tests: Update aarch64 capabilities
The old capabilities are extremely outdated. The new ones were
captured on an Ampere Mt. Jade machine running Fedora 40.

Notable differences that are reflected in the output XML files
include the availability of SPICE, as well as EFI firmware and
ACPI support being advertised.

The test script had to be updated too, since both virtiofs and
memfd are now available.

Closes: #714

Signed-off-by: Andrea Bolognani <abologna@redhat.com>
2024-09-10 10:54:53 +02:00
Cole Robinson
07ae6da38a domain: don't attempt to predict if VM supports snapshots
internal snapshots largely only work if the VM is backed by a single
qcow2 disk. But newly supported external snapshots support other
disk formats, and multiple disks.

Drop the old validation checking. Let's just leave it up to libvirt
to give us an error at snapshot creation time

Signed-off-by: Cole Robinson <crobinso@redhat.com>
2024-09-10 10:27:29 +02:00
Cole Robinson
e412ecf1f7 domain: log object XML after snapshot creation
Libvirt fills in a lot of XML bits automatically, it's helpful
to see the final result in the logs

Signed-off-by: Cole Robinson <crobinso@redhat.com>
2024-09-10 10:27:29 +02:00
Lin Ma
4782dd1cce cli: Add --disk driver.discard_no_unref=on|off
E.g.
  virt-install \
  ... \
  --disk /tmp/disk0.qcow2,size=16,driver.type=qcow2,driver.discard=unmap,\
  driver.discard_no_unref=on

It results in the following domain xml:
    <disk type='file' device='disk'>
      <driver name='qemu' type='qcow2' discard='unmap' discard_no_unref='on'/>
      <source file='/tmp/disk0.qcow2'/>
      <target dev='vda' bus='virtio'/>
    </disk>

Reviewed-by: Cole Robinson <crobinso@redhat.com>
Signed-off-by: Lin Ma <lma@suse.de>
2024-09-08 11:25:32 -04:00
Lin Ma
6a65def684 cli: Add --video model.blob=on|off
Libvirt enables blob resources for the virtio video device since 9.2.0.
It accelerates the display path due to less or no copying of pixel data.

E.g.
  virt-install \
  ... \
  --video model.type=virtio,blob=on

It results in the following domain xml:

    <video>
      <model type="virtio" blob="on"/>
    </video>

Reviewed-by: Cole Robinson <crobinso@redhat.com>
Signed-off-by: Lin Ma <lma@suse.de>
2024-09-08 11:25:32 -04:00
Lin Ma
febddd4b01 cli: Add --memdev target.address_base for virtio-mem and virtio-pmem
Libvirt(since 9.4.0) allows to control this attribute for virtio-{mem,pmem}.
Now add it into virt-install.

Example:
virt-install \
--name test \
--os-variant opensusetumbleweed \
--cdrom /isos/openSUSE-Tumbleweed-DVD-x86_64-Current.iso \
--disk /vms/tw/disk0.qcow2 \
--vcpu 2 \
--cpu cell0.cpus=0,cell0.memory=4194304,\
cell1.cpus=1,cell1.memory=4194304 \
--memory maxMemory=65536,maxMemory.slots=8 \
--memdev model=virtio-mem,\
target.node=0,\
target.block=2048,\
target.size=8192,\
target.requested=2097152,\
target.address_base=0x280000000 \
--memdev model=virtio-pmem,\
source.path=/tmp/virtio_pmem,\
target.size=4096,\
target.address_base=0x480000000

It results in the following domain XML snippet:
    <memory model='virtio-mem'>
      <target>
        <size unit='KiB'>8388608</size>
        <node>0</node>
        <block unit='KiB'>2048</block>
        <requested unit='KiB'>2097152</requested>
        <current unit='KiB'>0</current>
        <address base='0x280000000'/>
      </target>
      <alias name='virtiomem0'/>
      <address type='pci' domain='0x0000' bus='0x07' slot='0x00' function='0x0'/>
    </memory>
    <memory model='virtio-pmem' access='shared'>
      <source>
        <path>/tmp/virtio_pmem</path>
      </source>
      <target>
        <size unit='KiB'>2097152</size>
        <address base='0x480000000'/>
      </target>
      <alias name='virtiopmem0'/>
      <address type='pci' domain='0x0000' bus='0x08' slot='0x00' function='0x0'/>
    </memory>

Reviewed-by: Cole Robinson <crobinso@redhat.com>
Signed-off-by: Lin Ma <lma@suse.de>
2024-09-08 11:25:32 -04:00
Lin Ma
7a974a3a72 cli: Add --features kvm.pv-ipi.state=on|off
Set kvm pv-ipi feature by --features argument.

E.g. virt-install --features kvm.pv-ipi.state=off
It results in the following domain xml:

 <features>
   <kvm>
     <pv-ipi state='off'/>
   </kvm>
 </features>

Reviewed-by: Cole Robinson <crobinso@redhat.com>
Signed-off-by: Lin Ma <lma@suse.de>
2024-09-08 11:25:32 -04:00
Lin Ma
63f8f78e6b tests: Check missing_xorriso in osinfo-netinst-unattended test case
It avoids failure in case of missing xorriso.

Reviewed-by: Cole Robinson <crobinso@redhat.com>
Signed-off-by: Lin Ma <lma@suse.de>
2024-09-08 11:23:22 -04:00
Cole Robinson
9ec9c400f4 tests: add fake-win-multi.iso and test it
This has ambiguous volume labels that will match multiple
osinfo output:

$ osinfo-detect -a tests/data/fakemedia/fake-win-multi.iso
Media is bootable.

Generated by editing `fake-win7.iso` already in tree

$ xorriso -indev fake-win7.iso -outdev test.iso \
    -boot_image isolinux keep \
    -volid SSS_X64CHK_ -volset_id SSS_X64CHK_

Add a simple test case that confirms _some_ os was detected,
and virt-install doesn't totally choke on it

Signed-off-by: Cole Robinson <crobinso@redhat.com>
2024-09-07 14:34:43 -04:00
Cole Robinson
f4a9722dc6 uitests: cover serial console changes
+ Drop test_livetests bit which was working around the old behavior
+ Add test_details piece that covers the new behavior, and
  ideal behavior that we maintain the selection across VM restarts.

Signed-off-by: Cole Robinson <crobinso@redhat.com>
2024-09-07 13:38:42 -04:00
Cole Robinson
6264167cc1 serialcon: Don't disable console menu items for offline VM
Currently, View->Consoles disables the menu items for serial devices
when the VM is offline. This changes that behavior. This is useful,
since it allows you to pre-select serial console before starting the
VM, which can help ensure you don't miss any serial boot output.
It also makes the UI interaction more intuitive.

Signed-off-by: Cole Robinson <crobinso@redhat.com>
2024-09-07 13:38:42 -04:00
Cole Robinson
2293ec49b2 console: Handle inactive VM when console menu selection changes
Reproducer:
+ Start VM with 1 graphical and 1 serial console
+ Select serial console
+ Power off VM
+ Open console menu, select 'Graphical' option
+ See errors

Signed-off-by: Cole Robinson <crobinso@redhat.com>
2024-09-07 13:30:47 -04:00
Cole Robinson
a58223baf9 addhardware: Only set channel clipboard XML if UI is visible
Signed-off-by: Cole Robinson <crobinso@redhat.com>
2024-09-07 13:23:38 -04:00
Cole Robinson
adc1948e7b details: only refresh os page if its currently selected
Reproducer:
+ Enable libguestfs inspection
+ Open app and VM details 'Overview' window
+ After some time, the `Apply` button is mysteriously activated
+ Trying to switch away from the page will give 'Unapplied errors'
  warning box

When libguestfs inspection completes, it triggers a signal which
will refresh the OS info details.py page. Which is fine, but we
should be limiting it to only refreshing the page if its the currently
visible one. Otherwise the `Apply` button can be activated, which
messages up app navigation

Signed-off-by: Cole Robinson <crobinso@redhat.com>
2024-09-07 13:20:40 -04:00
Cole Robinson
e1798ef8ad Add missing test file
Signed-off-by: Cole Robinson <crobinso@redhat.com>
2024-09-06 15:32:04 -04:00
Cole Robinson
83daac0489 domain: os: treat xenpvh as xen PV
Notably, don't try to add a tablet device, this apparently
doesn't work.

https://github.com/virt-manager/virt-manager/issues/448

Signed-off-by: Cole Robinson <crobinso@redhat.com>
2024-09-06 15:30:51 -04:00
Cole Robinson
65d568ebf9 Scrub references to virt-tools-list
* Remove .gitpublish, we only use github for patches now
* Drop author* fields entirely from setuptools, that seems fine.
* Drop other references

Signed-off-by: Cole Robinson <crobinso@redhat.com>
2024-09-06 15:10:04 -04:00
Cole Robinson
9ad347fd76 tests: test XML generation for --disk path=file://...
Tweak the test case added in ba3a098c3b82d0dcf36198e67ae3bcd6ad7c6d4a
to test XML generation instead, to make sure nothing regresses
weirdly there.

Signed-off-by: Cole Robinson <crobinso@redhat.com>
2024-09-06 14:54:09 -04:00
Pavel Hrdina
67206a858a tests: add more test cases to cover all code paths
Signed-off-by: Pavel Hrdina <phrdina@redhat.com>
2024-09-06 14:15:09 -04:00
Pavel Hrdina
74fd503b9e virtinst: enable most Hyper-V features by default
We will not enable hyperv_reset feature as modern Hyper-V versions don't
export it.

We also don't enable hyperv_reenlightenment as it is mostly relevant
when migrating VMs that are running Hyper-V inside and requires other
bits to work correctly.

Signed-off-by: Pavel Hrdina <phrdina@redhat.com>
2024-09-06 14:15:09 -04:00
Pavel Hrdina
169db9dc5f virtinst.support: drop unused conn_hyperv_vapic function
Signed-off-by: Pavel Hrdina <phrdina@redhat.com>
2024-09-06 14:15:09 -04:00
Pavel Hrdina
9e9dbf735c domain.features: use domcapabilities when setting default Hyper-V features
We will no longer enable hyperv features based on libvirt and QEMU
versions.

Some tests don't use the kvm-x86_64-domcaps-latest so the code will now
not enable Hyper-V features. There are still other test cases that cover
Hyper-V features so instead of mangling with URI for these tests update
test data.

Signed-off-by: Pavel Hrdina <phrdina@redhat.com>
2024-09-06 14:15:09 -04:00
Pavel Hrdina
66bbfa23b2 domain.features: extract setting default hyperv features
Signed-off-by: Pavel Hrdina <phrdina@redhat.com>
2024-09-06 14:15:09 -04:00
Pavel Hrdina
c279c17e6c domcapabilities: get list of supported Hyper-V features
Signed-off-by: Pavel Hrdina <phrdina@redhat.com>
2024-09-06 14:15:09 -04:00
Pavel Hrdina
bec2d7cb44 tests: update kvm-x86_64-domcaps-latest
Signed-off-by: Pavel Hrdina <phrdina@redhat.com>
2024-09-06 14:15:09 -04:00
Pavel Hrdina
139b0e285b cli: add --features hyperv.avic.state=on/off
Signed-off-by: Pavel Hrdina <phrdina@redhat.com>
2024-09-06 14:15:09 -04:00
Pavel Hrdina
a06d53596b cli: add --features hyperv.evmcs.state=on/off
Signed-off-by: Pavel Hrdina <phrdina@redhat.com>
2024-09-06 14:15:09 -04:00
Pavel Hrdina
5afc6919c9 cli: add --features hyperv.ipi.state=on/off
Signed-off-by: Pavel Hrdina <phrdina@redhat.com>
2024-09-06 14:15:09 -04:00
Pavel Hrdina
e3ec248cff cli: add --features hyperv.tblflush.state=on/off
Signed-off-by: Pavel Hrdina <phrdina@redhat.com>
2024-09-06 14:15:09 -04:00
Pavel Hrdina
c421ec1b75 cli: add --features hyperv.reenlightenment.state=on/off
Signed-off-by: Pavel Hrdina <phrdina@redhat.com>
2024-09-06 14:15:09 -04:00
Pavel Hrdina
2786ea5df2 cli: add --features hyperv.frequencies.state=on/off
Signed-off-by: Pavel Hrdina <phrdina@redhat.com>
2024-09-06 14:15:09 -04:00
Pavel Hrdina
6289a1369b cli: add --features hyperv.stimer.direct.state=on/off
Signed-off-by: Pavel Hrdina <phrdina@redhat.com>
2024-09-06 14:15:09 -04:00
Pavel Hrdina
1f69795b0a cli: add --features hyperv.stimer.state=on/off
Signed-off-by: Pavel Hrdina <phrdina@redhat.com>
2024-09-06 14:15:09 -04:00
Pavel Hrdina
d7976a883a cli: add --features hyperv.runtime.state=on/off
Signed-off-by: Pavel Hrdina <phrdina@redhat.com>
2024-09-06 14:15:09 -04:00
Pavel Hrdina
d2a29245cd cli: add --features hyperv.vpindex.state=on/off
Signed-off-by: Pavel Hrdina <phrdina@redhat.com>
2024-09-06 14:15:09 -04:00
Pavel Hrdina
1c3fb02543 test_cli: extract hyperv features to separate lines
Signed-off-by: Pavel Hrdina <phrdina@redhat.com>
2024-09-06 14:15:09 -04:00
Pavel Hrdina
ac26945c56 domain.features: reorder Hyper-V features
Follow the table from libvirt documentation [1].

[1] <https://libvirt.org/formatdomain.html#hypervisor-features>

Signed-off-by: Pavel Hrdina <phrdina@redhat.com>
2024-09-06 14:15:09 -04:00
Cole Robinson
2da4884962 tests: Cover some weird virt-xml corner case behaviors
Examples:

`virt-xml MYVM --add-device --sound FOO1 --sound FOO2` is not rejected
and will add 2 devices.

`virt-xml MYVM --remove-device --sound opt1=FOO1 --sound opt2=FOO2`
is not rejected, only the final `--sound` option is used.

`virt-xml MYVM --edit --sound FOO1 --sound address.type=BAR` is not
rejected. The commandlines will effectively be squashed

`--sound` can be any XML option, but trying to mix and match
options like `--sound` and `--disk` is always rejected.

These bits are unexpected and undocument, but have been around since
the beginning of virt-xml.

I can see us breaking compat on these in the future (particularly the
--remove-device bit), but that would need to be an explicit decision,
and announced appropriately. In the mean time, we should be testing
this so it doesn't accidentally regress.

Signed-off-by: Cole Robinson <crobinso@redhat.com>
2024-08-28 21:09:31 +02:00
Cole Robinson
7e79e064ea Revert virt-xml multiple --edit support
This reverts b34ae0d0c883972d74deef6cdadb29bdd1bbe487 and
1fef5d8661118a4f00a8689b323d275144b39dbe.

Playing with this some more I found some deeper problems. For example

```console
[:~/src/virt-manager] (main) $ ./virt-xml test-for-virtxml --connect test://`pwd`/tests/data/testdriver/testsuite.xml --print-diff --edit 1 --video model=FOO --edit 2 --sound model=BAR
--- Original XML
+++ Altered XML
@@ -180,14 +180,14 @@
     <graphics type="vnc" port="-1" autoport="yes">
       <listen type="address"/>
     </graphics>
-    <sound model="sb16"/>
+    <sound model="BAR"/>
     <sound model="es1370"/>
     <sound model="ich6"/>
     <video>
       <model type="vmvga" vram="16384" heads="1" primary="yes"/>
     </video>
     <video>
-      <model type="cirrus" vram="16384" heads="3"/>
+      <model type="FOO" vram="16384" heads="3"/>
     </video>
     <hostdev mode="subsystem" type="usb" managed="yes">
       <source>
```

There's other weirdness too, though it's mostly strange plays on previous weird behavior

* `--edit --video model=vga --edit --sound model=ich9 --video model=qxl` works
* `--add-device --sound model=foo --video model=bar` was previously rejected but now works
* `--remove-device --video model=vmvga --sound model=sb16` was previously rejected by now works

Fixing all this is not trivial. So I think we need to revert and go back to the drawing board.
2024-08-28 21:09:31 +02:00
Cole Robinson
5fe6dcc6b4 Fix some pylint
Signed-off-by: Cole Robinson <crobinso@redhat.com>
2024-08-28 11:53:35 -04:00
Daniel P. Berrangé
97469abd8e tests: add tests for AMD SEV-SNP
Signed-off-by: Daniel P. Berrangé <berrange@redhat.com>
2024-08-28 14:38:40 +02:00
Daniel P. Berrangé
3559dcd9de virtinst: add properties for AMD SEV-SNP
Signed-off-by: Daniel P. Berrangé <berrange@redhat.com>
2024-08-28 14:38:40 +02:00
Pavel Hrdina
1fef5d8661 tests: add virt-xml test to demonstrate changing graphics and video at the same time
Signed-off-by: Pavel Hrdina <phrdina@redhat.com>
2024-08-26 12:33:51 -04:00
Pavel Hrdina
b34ae0d0c8 virt-xml: allow multiple --edit options
Signed-off-by: Pavel Hrdina <phrdina@redhat.com>
2024-08-26 12:33:51 -04:00
Pavel Hrdina
cb6636f4bf virtinst: add getter/setter for video model
This makes it easier for users to change video model from QXL to
different model as QXL is special and uses other attributes that are not
supported by any other model. Without this code libvirt would report
error or user would have to request `clearxml`.

Signed-off-by: Pavel Hrdina <phrdina@redhat.com>
2024-08-26 12:33:51 -04:00
Pavel Hrdina
093d58fbc8 virtinst: add/remove spice devices when updating graphics type
Signed-off-by: Pavel Hrdina <phrdina@redhat.com>
2024-08-26 12:33:51 -04:00
Pavel Hrdina
aaf8551914 virtinst: remove spice devices when removing last spice graphics
When Spice graphics is used QEMU creates a Spice server and communicates
with Spice client using multiple channels. These channels are used by
the spice devices as well. Without the Spice graphics defined there is
no use for the other devices. In addition libvirt will report error for
such configuration.

Signed-off-by: Pavel Hrdina <phrdina@redhat.com>
2024-08-26 12:33:51 -04:00
Pavel Hrdina
7a03f3efa8 testsuite: add test-spice vm definition
This will test spice related changes. Follow up patches will change this
behavior to remove spice related devices.

Signed-off-by: Pavel Hrdina <phrdina@redhat.com>
2024-08-26 12:33:51 -04:00
Pavel Hrdina
2a0aa2d56b virtinst: fix compare for audio devices
Signed-off-by: Pavel Hrdina <phrdina@redhat.com>
2024-08-26 12:33:51 -04:00
Pavel Hrdina
ef64949e84 virtinst: unify detection of duplicate console when removing device
Signed-off-by: Pavel Hrdina <phrdina@redhat.com>
2024-08-26 12:33:51 -04:00
Cole Robinson
29145b9e93 Fix some pylint
Signed-off-by: Cole Robinson <crobinso@redhat.com>
2024-08-26 11:36:01 -04:00
Pavel Hrdina
90ceb87b7c virt-install: implement passt backend for user network interface
Add new `--network backend.type` attribute, libvirt currently supports
only `passt`. If not network type is specified virt-install will pick
`user` type as it is required for `passt` backend.

This also introduces support to specify portForward and specifying port
range as well.

For more details see [1].

[1] <https://libvirt.org/formatdomain.html#userspace-slirp-or-passt-connection>

Fixes: https://github.com/virt-manager/virt-manager/issues/488
Signed-off-by: Pavel Hrdina <phrdina@redhat.com>
2024-08-26 11:27:03 -04:00
Pino Toscano
b1ee4c94c7 po: Refresh translation template
Signed-off-by: Pino Toscano <ptoscano@redhat.com>
2024-08-16 22:43:54 +02:00
Omar TS
baa380aae3 Translated using Weblate (Arabic)
Currently translated at 1.9% (28 of 1453 strings)

Translation: virt-manager/virt-manager
Translate-URL: https://translate.fedoraproject.org/projects/virt-manager/virt-manager/ar/
2024-08-16 22:43:04 +02:00
Henning
2d3f3faacd Translated using Weblate (German)
Currently translated at 88.8% (1291 of 1453 strings)

Translation: virt-manager/virt-manager
Translate-URL: https://translate.fedoraproject.org/projects/virt-manager/virt-manager/de/
2024-08-16 22:43:04 +02:00
Abdul Munif Hanafi
deadb8a5c8 Translated using Weblate (Indonesian)
Currently translated at 39.6% (576 of 1453 strings)

Translation: virt-manager/virt-manager
Translate-URL: https://translate.fedoraproject.org/projects/virt-manager/virt-manager/id/
2024-08-16 22:43:04 +02:00
Andika Triwidada
41fa111ceb Translated using Weblate (Indonesian)
Currently translated at 39.4% (573 of 1453 strings)

Translation: virt-manager/virt-manager
Translate-URL: https://translate.fedoraproject.org/projects/virt-manager/virt-manager/id/

Translated using Weblate (Indonesian)

Currently translated at 31.1% (453 of 1453 strings)

Translation: virt-manager/virt-manager
Translate-URL: https://translate.fedoraproject.org/projects/virt-manager/virt-manager/id/

Translated using Weblate (Indonesian)

Currently translated at 17.2% (251 of 1453 strings)

Translation: virt-manager/virt-manager
Translate-URL: https://translate.fedoraproject.org/projects/virt-manager/virt-manager/id/
2024-08-16 22:43:04 +02:00
zhanchun li
276c1c4b0e Translated using Weblate (Chinese (Traditional) (zh_TW))
Currently translated at 100.0% (1453 of 1453 strings)

Translation: virt-manager/virt-manager
Translate-URL: https://translate.fedoraproject.org/projects/virt-manager/virt-manager/zh_TW/
2024-08-16 22:43:04 +02:00
김인수
383c83afee Translated using Weblate (Korean)
Currently translated at 100.0% (1453 of 1453 strings)

Translation: virt-manager/virt-manager
Translate-URL: https://translate.fedoraproject.org/projects/virt-manager/virt-manager/ko/
2024-08-16 22:43:04 +02:00
Renan Birck Pinheiro
735a4352f5 Translated using Weblate (Portuguese (Brazil))
Currently translated at 99.9% (1452 of 1453 strings)

Translation: virt-manager/virt-manager
Translate-URL: https://translate.fedoraproject.org/projects/virt-manager/virt-manager/pt_BR/

Translated using Weblate (Portuguese (Brazil))

Currently translated at 99.7% (1449 of 1453 strings)

Translation: virt-manager/virt-manager
Translate-URL: https://translate.fedoraproject.org/projects/virt-manager/virt-manager/pt_BR/

Translated using Weblate (Portuguese (Brazil))

Currently translated at 99.5% (1447 of 1453 strings)

Translation: virt-manager/virt-manager
Translate-URL: https://translate.fedoraproject.org/projects/virt-manager/virt-manager/pt_BR/

Translated using Weblate (Portuguese (Brazil))

Currently translated at 99.2% (1442 of 1453 strings)

Translation: virt-manager/virt-manager
Translate-URL: https://translate.fedoraproject.org/projects/virt-manager/virt-manager/pt_BR/

Translated using Weblate (Portuguese (Brazil))

Currently translated at 98.7% (1435 of 1453 strings)

Translation: virt-manager/virt-manager
Translate-URL: https://translate.fedoraproject.org/projects/virt-manager/virt-manager/pt_BR/

Translated using Weblate (Portuguese (Brazil))

Currently translated at 97.7% (1420 of 1453 strings)

Translation: virt-manager/virt-manager
Translate-URL: https://translate.fedoraproject.org/projects/virt-manager/virt-manager/pt_BR/

Translated using Weblate (Portuguese (Brazil))

Currently translated at 97.6% (1419 of 1453 strings)

Translation: virt-manager/virt-manager
Translate-URL: https://translate.fedoraproject.org/projects/virt-manager/virt-manager/pt_BR/

Translated using Weblate (Portuguese (Brazil))

Currently translated at 95.9% (1394 of 1453 strings)

Translation: virt-manager/virt-manager
Translate-URL: https://translate.fedoraproject.org/projects/virt-manager/virt-manager/pt_BR/
2024-08-16 22:43:04 +02:00
Andi Chandler
4e6ce92ed0 Translated using Weblate (English (United Kingdom))
Currently translated at 100.0% (1453 of 1453 strings)

Translation: virt-manager/virt-manager
Translate-URL: https://translate.fedoraproject.org/projects/virt-manager/virt-manager/en_GB/
2024-08-16 22:43:04 +02:00
stephane blondon
a4adbc1a78 Translated using Weblate (French)
Currently translated at 92.7% (1347 of 1453 strings)

Translation: virt-manager/virt-manager
Translate-URL: https://translate.fedoraproject.org/projects/virt-manager/virt-manager/fr/

Translated using Weblate (French)

Currently translated at 92.7% (1348 of 1453 strings)

Translation: virt-manager/virt-manager
Translate-URL: https://translate.fedoraproject.org/projects/virt-manager/virt-manager/fr/

Translated using Weblate (French)

Currently translated at 92.5% (1345 of 1453 strings)

Translation: virt-manager/virt-manager
Translate-URL: https://translate.fedoraproject.org/projects/virt-manager/virt-manager/fr/

Translated using Weblate (French)

Currently translated at 89.9% (1307 of 1453 strings)

Translation: virt-manager/virt-manager
Translate-URL: https://translate.fedoraproject.org/projects/virt-manager/virt-manager/fr/
2024-08-16 22:43:04 +02:00
Cole Robinson
954c9b6bf7 uitests: createvm: fix case on f40
We should be checking 'selected' here, not 'focused'. This stopped
working on f40 apparently

Signed-off-by: Cole Robinson <crobinso@redhat.com>
2024-08-14 11:36:13 -04:00
Cole Robinson
2ddbea5d0b uitests: Fix get_text() on fedora40
Seems like some dependent lib started exposing a similarly named
function, so ours stopped working

Signed-off-by: Cole Robinson <crobinso@redhat.com>
2024-08-14 06:17:10 -04:00
Cole Robinson
0cad0c4dff uitests: force internal snapshots in test_snapshot.py
Incase the libvirt test driver ever starts advertising support

Signed-off-by: Cole Robinson <crobinso@redhat.com>
2024-08-12 19:55:58 -04:00
Cole Robinson
a00c090022 uitests: handle newer libvirt test driver UpdateDevice support
Make it fail for the cases that expect it

Signed-off-by: Cole Robinson <crobinso@redhat.com>
2024-08-12 19:55:58 -04:00
Cole Robinson
2e1bacfd33 uitests: Add live external snapshot testing
Signed-off-by: Cole Robinson <crobinso@redhat.com>
2024-08-12 19:55:58 -04:00
Cole Robinson
95ca39aae8 uitests: test xmleditor textview fallback
Signed-off-by: Cole Robinson <crobinso@redhat.com>
2024-08-12 19:54:45 -04:00
Cole Robinson
8eb37c0e50 uitests: Add some virtManager coverage exclusions 2024-08-12 19:54:45 -04:00
Cole Robinson
1194f09968 tests: cli: Fix with latest libvirt
The libvirt test driver supports more APIs now, so we are getting
a different error message.

Extend the grep= string to work with both old and new libvirt

Signed-off-by: Cole Robinson <crobinso@redhat.com>
2024-08-07 11:58:49 -04:00
Cole Robinson
0288e92581 tests: cli: Use regex for grep= and nogrep= args
This will let us match more complex output, and match error message
differences across libvirt versions

Signed-off-by: Cole Robinson <crobinso@redhat.com>
2024-08-07 11:58:49 -04:00
Natanael Copa
648f52bde0 virt-install: fix cloud-init ssh keys
Fix the cloud-init config file for --clouduser-ssh key.

Also change ssh_authorized_keys to `ssh_authorized_keys`, and make sure
default user is not deleted when setting ssh key for root.

Fixes commit 22478f307dd9 (virt-install: Add --cloud-init clouduser-ssh-key=)

Resolves: https://github.com/virt-manager/virt-manager/issues/452

Signed-off-by: Natanael Copa <ncopa@alpinelinux.org>
2024-07-25 16:50:34 +02:00
Patrice Lacouture
72a74fb1fb virtinstall: Fix --location and --cloud-init conflict
So far, --cloud-init is ignored when --location is specified.

Resolves: virt-manager#469
2024-07-22 16:08:09 +02:00
taoky
0c981eec58 tests: Add test for DeviceDisk.paths_in_use_by 2024-07-22 12:42:10 +02:00
taoky
328cabca8f hoststorage: Use DeviceDisk.paths_in_use_by for performance
When there's a pool with many vols (files), and user clicks on "Browse" in
VM's Virtual Disk details, the UI could stuck for up to several minutes.

By using DeviceDisk.paths_in_use_by() for bulk getting names, it could
show browser much faster.
2024-07-22 12:42:10 +02:00
taoky
cd8eeaf56d virtinst: disk: Add paths_in_use_by()
conn.fetch_all_vols() is slow, taking ~0.03s every time it's used. When
handling with a large number of paths, its performance is too bad and
could stuck UI for a very long time.

DeviceDisk.paths_in_use_by is added to help handle many paths with
only one call to conn.fetch_all_vols().
2024-07-22 12:42:10 +02:00
Pavel Hrdina
8a0e22397d tests: add s390x default test case
Signed-off-by: Pavel Hrdina <phrdina@redhat.com>
2024-07-02 15:40:51 +02:00
Pavel Hrdina
43f581c26c virtinst: add graphics to risc-v virt VMs by default
Signed-off-by: Pavel Hrdina <phrdina@redhat.com>
2024-07-02 15:40:51 +02:00
Pavel Hrdina
faebce406b virtinst: add graphics to aarch64 virt VMs by default
Signed-off-by: Pavel Hrdina <phrdina@redhat.com>
2024-07-02 15:40:51 +02:00
Xianglai Li
9ede5d22d5 Add test cases for loongarch
Add some basic test cases for loongarch.

Signed-off-by: Xianglai Li <lixianglai@loongson.cn>
2024-06-18 12:09:14 +02:00
Xianglai Li
ea3cae4dc9 Add some default device support for loongarch
Add adaptations for loongarch with the following features:
Default video Support
UEFI prefer
Usb tablet and usb keyboard
rng and memballoon
sound device
Usb controller

Signed-off-by: Xianglai Li <lixianglai@loongson.cn>
2024-06-18 12:09:14 +02:00
Xianglai Li
d2cf01b3eb Add loongarch support
Define the judgment function of
loongarch architecture.

Signed-off-by: Xianglai Li <lixianglai@loongson.cn>
2024-06-18 12:09:14 +02:00
Andrea Bolognani
eee8d09dfe cli: Deprecate --cpu host
While the shorthand saves a tiny bit of typing, it is confusing
to people coming from QEMU, where -cpu host is the equivalent
of our --cpu host-passthrough. It's better to stick with the
unambiguous names used by libvirt.

Besides, the GUI already uses "host-model" throughout, so
advocating its use in the CLI too increases the internal
consistency.

https://issues.redhat.com/browse/RHEL-40003

Signed-off-by: Andrea Bolognani <abologna@redhat.com>
2024-06-11 16:35:26 +02:00
Andrea Bolognani
8b5f73e96b cli: Don't suggest --cpu host
Signed-off-by: Andrea Bolognani <abologna@redhat.com>
2024-06-11 16:35:26 +02:00
Andrea Bolognani
0530df767a man: Don't suggest --cpu host
Signed-off-by: Andrea Bolognani <abologna@redhat.com>
2024-06-11 16:35:26 +02:00
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
Jonathon Jongsma
6a85d79a31 xmleditor: make gtksourceview optional
The only thing that GtkSourceView gives us is syntax highlighting and
auto-indent. When this library is not available, we can still offer xml
editing with a plain textview with very little lost functionality.

Signed-off-by: Jonathon Jongsma <jjongsma@redhat.com>
2024-06-06 10:25:26 +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
1261666cf4 ci: Add test-against-libvirt-git.yml
Periodic job to run the test suite against libvirt.git

Signed-off-by: Cole Robinson <crobinso@redhat.com>
2024-04-08 10:34:12 -04:00
Cole Robinson
ca25b41adc ci: clarify comment about what fedora packages we test against
it hasn't been virt-preview for a long while

Signed-off-by: Cole Robinson <crobinso@redhat.com>
2024-04-07 16:46:40 -04:00
Cole Robinson
738a8d9f54 uitests: Fix with GtkFileChooserNative
Bring back the `Open` label for `Browse Local` option, but
preserver the SAVE dialog behavior (can enter a manual path)

Signed-off-by: Cole Robinson <crobinso@redhat.com>
2024-04-07 15:55:48 -04:00
Michael Weghorn
db1b2fbce3 Use GtkFileChooserNative
Use GtkFileChooserNative [1] instead of GtkFileChooserDialog [2]
to integrate better with the platform (e.g. use the portal
implementation when run with GTK_USE_PORTAL=1, resulting in
the KDE Frameworks implementation being used when
xdg-desktop-portal-kde is in use). Quoting from
the GtkFileChooserDialog doc [2]:

> If you want to integrate well with the platform you should use the
> GtkFileChooserNative API, which will use a platform-specific dialog if
> available and fall back to GtkFileChooserDialog otherwise.

Also replace the use of GTK_STOCK_CANCEL [3] and GTK_STOCK_OPEN [4]
which were deprecated in GTK 3.10:

Both, the `accept_label` and `cancel_label` params of
`Gtk.FileChooserNative.new` can be `None` to use the default
text ("Open", "Cancel"). [5]

Adjust the only caller (in `vmmVMWindow#_takeScreenshot`)
that was passing an explicit label/icon name for the
accept button to pass `_("_Save")` as label, rather than
the also deprecated Gtk.STOCK_SAVE [6].
(GtkFileChooserDialog has special handling for Gtk.STOCK_SAVE
etc., but that's not generally the case for native dialogs).

Rename the method param from `choose_button` to `choose_label`
to make clearer that this is a label.

[1] https://docs.gtk.org/gtk3/class.FileChooserNative.html
[2] https://docs.gtk.org/gtk3/class.FileChooserDialog.html
[3] https://docs.gtk.org/gtk3/const.STOCK_CANCEL.html
[4] https://docs.gtk.org/gtk3/const.STOCK_OPEN.html
[5] http://pygobject-doc.gitee.io/pgi-docs/Gtk-3.0/classes/FileChooserNative.html#Gtk.FileChooserNative.new
[6] https://docs.gtk.org/gtk3/const.STOCK_SAVE.html

Fixes #315
2024-04-07 15:54:47 -04:00
Pino Toscano
231a3dbc87 build: use setuptools.command.build when available
Setuptools 62.4.0 adds setuptools.command.build to transparently replace
the old distutils equivalent; hence, use it when available to fully
switch away from distutils.

Signed-off-by: Pino Toscano <ptoscano@redhat.com>
2024-04-07 14:29:48 -04:00
Pino Toscano
4f4e73d017 build: use super()
... rather than explicitly calling the parent class; this will make
further changes easier.

Signed-off-by: Pino Toscano <ptoscano@redhat.com>
2024-04-07 14:29:48 -04:00
Cole Robinson
17d9f339d1 Tweak for codecov v4 2024-04-07 14:27:17 -04:00
dependabot[bot]
68efec21a7 ci: bump codecov/codecov-action from 3 to 4
Bumps [codecov/codecov-action](https://github.com/codecov/codecov-action) from 3 to 4.
- [Release notes](https://github.com/codecov/codecov-action/releases)
- [Changelog](https://github.com/codecov/codecov-action/blob/main/CHANGELOG.md)
- [Commits](https://github.com/codecov/codecov-action/compare/v3...v4)

---
updated-dependencies:
- dependency-name: codecov/codecov-action
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-04-07 14:27:17 -04:00
Pino Toscano
8f8a1b9b43 ci: checkout the code after installing git-core
This makes sure that the actions/checkout action uses git to fetch the
sources (and thus resulting in a git repository), rather than using the
REST API (and get a simple directory with sources).

This may be useful to certain services (e.g. newer version of
codecov-cli) as they need to have the sources as proper git repository.

Signed-off-by: Pino Toscano <ptoscano@redhat.com>
2024-04-07 14:27:17 -04:00
Pino Toscano
14c5684f25 ci: split base dependency and build dependency installation
Split the installation of the base dependencies & the RPM build
dependencies in two steps, so they can be reordered as needed later on.

Signed-off-by: Pino Toscano <ptoscano@redhat.com>
2024-04-07 14:27:17 -04:00
Pino Toscano
3f79e76e58 ci: install git-core as well
It will be needed by codecov/codecov-action v4.

Signed-off-by: Pino Toscano <ptoscano@redhat.com>
2024-04-07 14:27:17 -04:00
Cole Robinson
e21129aebe ci: Rename CI workflow to Test on fedora:latest
Signed-off-by: Cole Robinson <crobinso@redhat.com>
2024-04-06 16:14:46 -04:00
Cole Robinson
dce9de481f hostdev: Fix error when mdev type_id is missing
Signed-off-by: Cole Robinson <crobinso@redhat.com>
2024-04-06 15:54:09 -04: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
tuksgig
4ffbc0d904 Allow serial console resize to beyond 80 columns.
Replace Gtk.Box.add() with Gtk.Box.pack_start() to place the VTE terminal widget. This enables horizontal expansion/filling the terminal widget when resizing the serial console window.
2024-03-26 17:34:50 +01:00
Pavel Hrdina
e95ca453c4 virtManager: ignore agen livecycle event for shutoff VMs
This event is mainly to refresh the VM XML to figure out the state of
virtio channels and that should happen only for running VMs.

This affects external snapshot behavior in virtManager. If the VM is
offline and user deletes external snapshot libvirt needs to start QEMU
process to delete the snapshot. The QEMU process is started with stopped
CPUs so it is visible as online and paused. It also emits the agent
lifecycle event but there is no other domain lifecycle event so after
the snapshot deletion the VM stays paused in virtManager even if it is
already offline in libvirt.

To mitigate this behavior we can ignore agent lifecycle event for
shutoff VMs.

Signed-off-by: Pavel Hrdina <phrdina@redhat.com>
2024-03-25 13:21:50 +01:00
Pavel Hrdina
5488ff4773 virtManager: add support to create external snapshots
Add new 2 rows into the snapshotsnew windows, one to select if the
snapshot mode is `internal` or `external` and memory state location when
making external snapshot for running VM.

We will check if libvirt fully supports external snapshots by consulting
host capabilities and add `external` to snapshot mode only if it is
supported.

For external snapshots the memory state is stored in separate file but
libvirt doesn't have any default location so virtManager will get path
to all usable disks and create a dropdown menu for it, but user is still
allowed to modify that path to use whatever path they prefer.

Signed-off-by: Pavel Hrdina <phrdina@redhat.com>
2024-03-25 13:21:50 +01:00
Pavel Hrdina
f1ba012e8f virtManager: domain: allow disk only snapshots
This is used for external snapshots when the VM is offline.

Signed-off-by: Pavel Hrdina <phrdina@redhat.com>
2024-03-25 13:21:50 +01: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
Pino Toscano
dadb9a0d6f po: sort LINGUAS
Signed-off-by: Pino Toscano <ptoscano@redhat.com>
2024-03-04 06:26:27 +01:00
eirik song
55b4c1bc9e Translated using Weblate (Chinese (Simplified) (zh_CN))
Currently translated at 100.0% (1453 of 1453 strings)

Translation: virt-manager/virt-manager
Translate-URL: https://translate.fedoraproject.org/projects/virt-manager/virt-manager/zh_CN/
2024-03-04 06:23:39 +01:00
김인수
1be248e645 Translated using Weblate (Korean)
Currently translated at 100.0% (1453 of 1453 strings)

Translation: virt-manager/virt-manager
Translate-URL: https://translate.fedoraproject.org/projects/virt-manager/virt-manager/ko/
2024-03-03 20:09:43 +01:00
Rafael Fontenelle
e4e406e386 Translated using Weblate (Portuguese (Brazil))
Currently translated at 95.8% (1393 of 1453 strings)

Translation: virt-manager/virt-manager
Translate-URL: https://translate.fedoraproject.org/projects/virt-manager/virt-manager/pt_BR/
2024-03-03 20:09:43 +01:00
Temuri Doghonadze
9c4b789510 Translated using Weblate (Georgian)
Currently translated at 93.1% (1353 of 1453 strings)

Translation: virt-manager/virt-manager
Translate-URL: https://translate.fedoraproject.org/projects/virt-manager/virt-manager/ka/

Translated using Weblate (Georgian)

Currently translated at 88.3% (1283 of 1453 strings)

Translation: virt-manager/virt-manager
Translate-URL: https://translate.fedoraproject.org/projects/virt-manager/virt-manager/ka/
2024-03-03 20:09:43 +01:00
Geraldo S. Simião Kutz
c8c37cb0cd Translated using Weblate (Portuguese (Brazil))
Currently translated at 95.8% (1392 of 1453 strings)

Translation: virt-manager/virt-manager
Translate-URL: https://translate.fedoraproject.org/projects/virt-manager/virt-manager/pt_BR/
2024-03-03 20:09:43 +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
75e4d1dd29 baseclass: Avoid glib Source ID XX not found at app shutdown
Signed-off-by: Cole Robinson <crobinso@redhat.com>
2024-03-03 14:18:04 -05:00
Gustavo Costa
6c9774267f man: document --show-systray option 2024-03-03 14:17:54 -05:00
Gustavo Costa
69290e0526 cli: add --show-systray option 2024-03-03 14:17:54 -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
Feng Jiang
409e4bf2d1 console: Select the first embeddable graphics device as graphical console
Currently, when there are multiple graphics devices, the first graphics
device is always selected as the graphical console. For the following
configuration:

    <graphics type="egl-headless">
      <gl rendernode="/dev/dri/renderD128"/>
    </graphics>
    <graphics type="spice" autoport="yes">
      <listen type="address"/>
      <image compression="off"/>
      <gl enable="no"/>
    </graphics>

virt-manager will report an error:

    Cannot display graphical console type 'egl-headless'

The patch will iterate through all graphics devices to try to select the
first embeddable graphics device as graphical console.

Signed-off-by: Feng Jiang <jiangfeng@kylinos.cn>
Signed-off-by: Liming Sun <sunliming@kylinos.cn>
Reviewed-by: Cole Robinson <crobinso@redhat.com>
2024-03-03 12:52:20 -05:00
Feng Jiang
d83074a001 domain: Add idx parameter to open_graphics_fd()
Now open_graphics_fd() always opens the 1st graphic device, when
there are multiple graphic devices (e.g. spice + egl-headless),
we need to specify the index number for libvirt.

Signed-off-by: Feng Jiang <jiangfeng@kylinos.cn>
Signed-off-by: Ming Xie <xieming@kylinos.cn>
Reviewed-by: Cole Robinson <crobinso@redhat.com>
2024-03-03 12:52:20 -05:00
Feng Jiang
9c242ef79c console: Move embeddable_graphics() to console.py
Signed-off-by: Feng Jiang <jiangfeng@kylinos.cn>
Signed-off-by: Weishi Li <liweishi@kylinos.cn>
Reviewed-by: Cole Robinson <crobinso@redhat.com>
2024-03-03 12:52:20 -05:00
Cole Robinson
0d3b7f673f Fix pylint 3.1.0 issues
Signed-off-by: Cole Robinson <crobinso@redhat.com>
2024-03-03 10:43:30 -05:00
Cole Robinson
a52ab24ec4 createvm: Replace deprecated pkgutil.find_loader
importlib.util.find_spec is around since python 3.4

Signed-off-by: Cole Robinson <crobinso@redhat.com>
2024-03-03 10:43:30 -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
nose-gnome
bb86721352 ui: details: Increased scrolledview6's height request
Increased the height of scrolledview6 to make viewing applications  easier in os info
2024-03-02 14:19:28 -05:00
nose-gnome
04cc489529 ui: details: fix Applications width.
In OS info the applications tree view was too narrow to read the contents, so I enabled expanding horizontally for scrolledwindow6
2024-03-02 14:19:28 -05:00
Cole Robinson
7ae3e10bc4 netlist: Fix UI error when virtual network doesn't exist
Signed-off-by: Cole Robinson <crobinso@redhat.com>
2024-03-02 13:22:45 -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
Iain Buclaw
78f7797c13 Support creating sparse volumes on ZFS pools
Closes #487

Signed-off-by: Iain Buclaw <ibuclaw@gdcproject.org>
2024-03-02 11:37:45 -05:00
Cole Robinson
6710ca6969 setup: Allow pylint -j0
Signed-off-by: Cole Robinson <crobinso@redhat.com>
2024-02-14 12:34:27 -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
Mohamed Akram
b9f9f768fc Add support for hvf domain type 2024-02-05 14:42:40 -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
c399353e00 Fix some pylint
Signed-off-by: Cole Robinson <crobinso@redhat.com>
2024-01-22 17:15:11 -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
Cole Robinson
2e3db754d1 uri: Mock domcaps returning NO_SUPPORT
With libvirt 9.8.0, the test driver now has a stub getDomainCapabilities
implementation. But we still have some code that needs to handle
a driver with missing domcaps.

Make our magicuri mock return NO_SUPPORT for domcaps, when the URI
doesn't have any domcaps XML passed in. This is enough for our test
purposes.

Signed-off-by: Cole Robinson <crobinso@redhat.com>
2024-01-22 17:07:31 -05:00
Pino Toscano
dfc484b2d5 docs: update flow of translations from Weblate
Fixes #614

Signed-off-by: Pino Toscano <ptoscano@redhat.com>
2024-01-02 10:58:39 +01:00
joo es
e6c0687485 Translated using Weblate (Arabic)
Currently translated at 0.2% (3 of 1453 strings)

Translation: virt-manager/virt-manager
Translate-URL: https://translate.fedoraproject.org/projects/virt-manager/virt-manager/ar/

Added translation using Weblate (Arabic)
2024-01-02 10:55:05 +01:00
Oğuz Ersen
fe528e6054 Translated using Weblate (Turkish)
Currently translated at 100.0% (1453 of 1453 strings)

Translation: virt-manager/virt-manager
Translate-URL: https://translate.fedoraproject.org/projects/virt-manager/virt-manager/tr/
2024-01-02 10:55:05 +01:00
Göran Uddeborg
9bafde610b Translated using Weblate (Swedish)
Currently translated at 100.0% (1453 of 1453 strings)

Translation: virt-manager/virt-manager
Translate-URL: https://translate.fedoraproject.org/projects/virt-manager/virt-manager/sv/
2024-01-02 10:55:05 +01:00
Fabio Tomat
9855a71137 Translated using Weblate (Friulian)
Currently translated at 100.0% (1453 of 1453 strings)

Translation: virt-manager/virt-manager
Translate-URL: https://translate.fedoraproject.org/projects/virt-manager/virt-manager/fur/
2024-01-02 10:55:05 +01:00
Luna Jernberg
e09fa6e380 Translated using Weblate (Swedish)
Currently translated at 99.8% (1451 of 1453 strings)

Translation: virt-manager/virt-manager
Translate-URL: https://translate.fedoraproject.org/projects/virt-manager/virt-manager/sv/
2024-01-02 10:55:05 +01:00
Sergey A
8b1d8a3304 Translated using Weblate (Russian)
Currently translated at 100.0% (1453 of 1453 strings)

Translation: virt-manager/virt-manager
Translate-URL: https://translate.fedoraproject.org/projects/virt-manager/virt-manager/ru/

Translated using Weblate (Russian)

Currently translated at 100.0% (1453 of 1453 strings)

Translation: virt-manager/virt-manager
Translate-URL: https://translate.fedoraproject.org/projects/virt-manager/virt-manager/ru/

Translated using Weblate (Russian)

Currently translated at 100.0% (1453 of 1453 strings)

Translation: virt-manager/virt-manager
Translate-URL: https://translate.fedoraproject.org/projects/virt-manager/virt-manager/ru/
2024-01-02 10:55:05 +01:00
Jan Kuparinen
58806e189b Translated using Weblate (Finnish)
Currently translated at 100.0% (1453 of 1453 strings)

Translation: virt-manager/virt-manager
Translate-URL: https://translate.fedoraproject.org/projects/virt-manager/virt-manager/fi/
2024-01-02 10:55:05 +01:00
Temuri Doghonadze
387125d104 Translated using Weblate (Georgian)
Currently translated at 87.6% (1274 of 1453 strings)

Translation: virt-manager/virt-manager
Translate-URL: https://translate.fedoraproject.org/projects/virt-manager/virt-manager/ka/
2024-01-02 10:55:05 +01:00
김인수
bd65c28672 Translated using Weblate (Korean)
Currently translated at 100.0% (1453 of 1453 strings)

Translation: virt-manager/virt-manager
Translate-URL: https://translate.fedoraproject.org/projects/virt-manager/virt-manager/ko/

Translated using Weblate (Korean)

Currently translated at 100.0% (1453 of 1453 strings)

Translation: virt-manager/virt-manager
Translate-URL: https://translate.fedoraproject.org/projects/virt-manager/virt-manager/ko/
2024-01-02 10:55:05 +01:00
Pavel Borecki
2a5464afbe Translated using Weblate (Czech)
Currently translated at 100.0% (1453 of 1453 strings)

Translation: virt-manager/virt-manager
Translate-URL: https://translate.fedoraproject.org/projects/virt-manager/virt-manager/cs/
2024-01-02 10:55:05 +01:00
Yuri Chornoivan
eee9a7a88e Translated using Weblate (Ukrainian)
Currently translated at 100.0% (1453 of 1453 strings)

Translation: virt-manager/virt-manager
Translate-URL: https://translate.fedoraproject.org/projects/virt-manager/virt-manager/uk/
2024-01-02 10:55:05 +01:00
Piotr Drąg
190046e934 Translated using Weblate (Polish)
Currently translated at 100.0% (1453 of 1453 strings)

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

Translated using Weblate (Polish)

Currently translated at 100.0% (1453 of 1453 strings)

Translation: virt-manager/virt-manager
Translate-URL: https://translate.fedoraproject.org/projects/virt-manager/virt-manager/pl/
2024-01-02 10:55:05 +01:00
Pino Toscano
af46c23529 Translated using Weblate (Italian)
Currently translated at 100.0% (1453 of 1453 strings)

Translation: virt-manager/virt-manager
Translate-URL: https://translate.fedoraproject.org/projects/virt-manager/virt-manager/it/
2024-01-02 10:55:05 +01:00
Weblate
dce7348688 Update translation files
Updated by "Update PO files to match POT (msgmerge)" hook in Weblate.

Translation: virt-manager/virt-manager
Translate-URL: https://translate.fedoraproject.org/projects/virt-manager/virt-manager/
2024-01-02 10:55:05 +01: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
Pino Toscano
0fb7377abb po: Refresh translation template
Signed-off-by: Pino Toscano <ptoscano@redhat.com>
2023-09-25 07:47:27 +02:00
Cheng-Chia Tseng
2b657c7538 Translated using Weblate (Chinese (Traditional) (zh_TW))
Currently translated at 100.0% (1454 of 1454 strings)

Translation: virt-manager/virt-manager
Translate-URL: https://translate.fedoraproject.org/projects/virt-manager/virt-manager/zh_TW/

Translated using Weblate (Chinese (Traditional) (zh_TW))

Currently translated at 100.0% (1454 of 1454 strings)

Translation: virt-manager/virt-manager
Translate-URL: https://translate.fedoraproject.org/projects/virt-manager/virt-manager/zh_TW/
2023-09-25 07:46:37 +02:00
Jan Kuparinen
5dd54a6220 Translated using Weblate (Finnish)
Currently translated at 100.0% (1454 of 1454 strings)

Translation: virt-manager/virt-manager
Translate-URL: https://translate.fedoraproject.org/projects/virt-manager/virt-manager/fi/
2023-09-25 07:46:37 +02:00
Temuri Doghonadze
4c4fa968cd Translated using Weblate (Georgian)
Currently translated at 87.6% (1274 of 1454 strings)

Translation: virt-manager/virt-manager
Translate-URL: https://translate.fedoraproject.org/projects/virt-manager/virt-manager/ka/

Translated using Weblate (Georgian)

Currently translated at 87.4% (1271 of 1454 strings)

Translation: virt-manager/virt-manager
Translate-URL: https://translate.fedoraproject.org/projects/virt-manager/virt-manager/ka/
2023-09-25 07:46:37 +02:00
Oğuz Ersen
da66e0ebdb Translated using Weblate (Turkish)
Currently translated at 100.0% (1454 of 1454 strings)

Translation: virt-manager/virt-manager
Translate-URL: https://translate.fedoraproject.org/projects/virt-manager/virt-manager/tr/
2023-09-25 07:46:37 +02:00
Sergey A
232730b850 Translated using Weblate (Russian)
Currently translated at 100.0% (1454 of 1454 strings)

Translation: virt-manager/virt-manager
Translate-URL: https://translate.fedoraproject.org/projects/virt-manager/virt-manager/ru/

Translated using Weblate (Russian)

Currently translated at 100.0% (1454 of 1454 strings)

Translation: virt-manager/virt-manager
Translate-URL: https://translate.fedoraproject.org/projects/virt-manager/virt-manager/ru/
2023-09-25 07:46:37 +02:00
김인수
15430240d6 Translated using Weblate (Korean)
Currently translated at 100.0% (1454 of 1454 strings)

Translation: virt-manager/virt-manager
Translate-URL: https://translate.fedoraproject.org/projects/virt-manager/virt-manager/ko/
2023-09-25 07:46:37 +02:00
Yuri Chornoivan
b4df3b074d Translated using Weblate (Ukrainian)
Currently translated at 100.0% (1454 of 1454 strings)

Translation: virt-manager/virt-manager
Translate-URL: https://translate.fedoraproject.org/projects/virt-manager/virt-manager/uk/
2023-09-25 07:46:37 +02:00
Piotr Drąg
300b4fb851 Translated using Weblate (Polish)
Currently translated at 100.0% (1454 of 1454 strings)

Translation: virt-manager/virt-manager
Translate-URL: https://translate.fedoraproject.org/projects/virt-manager/virt-manager/pl/
2023-09-25 07:46:37 +02:00
Pino Toscano
e85ff421ae Translated using Weblate (Italian)
Currently translated at 100.0% (1454 of 1454 strings)

Translation: virt-manager/virt-manager
Translate-URL: https://translate.fedoraproject.org/projects/virt-manager/virt-manager/it/
2023-09-25 07:46:37 +02:00
Pavel Borecki
d0ae9e4162 Translated using Weblate (Czech)
Currently translated at 100.0% (1454 of 1454 strings)

Translation: virt-manager/virt-manager
Translate-URL: https://translate.fedoraproject.org/projects/virt-manager/virt-manager/cs/
2023-09-25 07:46:37 +02:00
Weblate
882b3d14a6 Update translation files
Updated by "Update PO files to match POT (msgmerge)" hook in Weblate.

Translation: virt-manager/virt-manager
Translate-URL: https://translate.fedoraproject.org/projects/virt-manager/virt-manager/
2023-09-25 07:46:37 +02:00
Cole Robinson
ab0a318a46 delete: Fix ambiguity that confused pylint
virtManager/delete.py:219:11: E0601: Using variable 'error' before assignment (used-before-assignment)

Signed-off-by: Cole Robinson <crobinso@redhat.com>
2023-09-24 16:31:58 -04: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
Pino Toscano
17dc777481 po: Refresh translation template
Signed-off-by: Pino Toscano <ptoscano@redhat.com>
2023-09-12 20:01:42 +02:00
zk dc
94ea9af720 Translated using Weblate (Chinese (Simplified) (zh_CN))
Currently translated at 100.0% (1451 of 1451 strings)

Translation: virt-manager/virt-manager
Translate-URL: https://translate.fedoraproject.org/projects/virt-manager/virt-manager/zh_CN/
2023-09-12 19:57:16 +02:00
Temuri Doghonadze
d3288b9a0a Translated using Weblate (Georgian)
Currently translated at 87.7% (1270 of 1448 strings)

Translation: virt-manager/virt-manager
Translate-URL: https://translate.fedoraproject.org/projects/virt-manager/virt-manager/ka/
2023-09-12 19:57:16 +02:00
김인수
247d9516d4 Translated using Weblate (Korean)
Currently translated at 100.0% (1451 of 1451 strings)

Translation: virt-manager/virt-manager
Translate-URL: https://translate.fedoraproject.org/projects/virt-manager/virt-manager/ko/
2023-09-12 19:57:16 +02:00
Anna Nym
8b7ab45e7b Translated using Weblate (German)
Currently translated at 83.4% (1211 of 1451 strings)

Translation: virt-manager/virt-manager
Translate-URL: https://translate.fedoraproject.org/projects/virt-manager/virt-manager/de/
2023-09-12 19:57:16 +02:00
连 浩鑫
a021d07284 Translated using Weblate (Chinese (Simplified) (zh_CN))
Currently translated at 100.0% (1451 of 1451 strings)

Translation: virt-manager/virt-manager
Translate-URL: https://translate.fedoraproject.org/projects/virt-manager/virt-manager/zh_CN/
2023-09-12 19:57:16 +02:00
김인수
291fb1649d Translated using Weblate (Korean)
Currently translated at 100.0% (1451 of 1451 strings)

Translation: virt-manager/virt-manager
Translate-URL: https://translate.fedoraproject.org/projects/virt-manager/virt-manager/ko/
2023-09-12 19:57:16 +02:00
Temuri Doghonadze
a97d6a2500 Translated using Weblate (Georgian)
Currently translated at 87.5% (1268 of 1448 strings)

Translation: virt-manager/virt-manager
Translate-URL: https://translate.fedoraproject.org/projects/virt-manager/virt-manager/ka/
2023-09-12 19:57:16 +02:00
Cheng-Chia Tseng
1510e6dfdf Translated using Weblate (Chinese (Traditional) (zh_TW))
Currently translated at 99.8% (1449 of 1451 strings)

Translation: virt-manager/virt-manager
Translate-URL: https://translate.fedoraproject.org/projects/virt-manager/virt-manager/zh_TW/
2023-09-12 19:57:16 +02:00
Lucas Fernandes
4418c84c14 Translated using Weblate (Portuguese)
Currently translated at 67.7% (983 of 1451 strings)

Translation: virt-manager/virt-manager
Translate-URL: https://translate.fedoraproject.org/projects/virt-manager/virt-manager/pt/
2023-09-12 19:57:16 +02:00
Toby Foster
3decf996e2 Translated using Weblate (Vietnamese)
Currently translated at 0.1% (1 of 1451 strings)

Translation: virt-manager/virt-manager
Translate-URL: https://translate.fedoraproject.org/projects/virt-manager/virt-manager/vi/
2023-09-12 19:57:16 +02:00
Toby Foster
8e8a412ebc Added translation using Weblate (Vietnamese) 2023-09-12 19:57:16 +02:00
Dankaházi (ifj.) István
67bd0433bf Translated using Weblate (Hungarian)
Currently translated at 56.3% (817 of 1451 strings)

Translation: virt-manager/virt-manager
Translate-URL: https://translate.fedoraproject.org/projects/virt-manager/virt-manager/hu/
2023-09-12 19:57:16 +02:00
Dankaházi (ifj.) István
744a2484af Translated using Weblate (Hungarian)
Currently translated at 55.8% (811 of 1451 strings)

Translation: virt-manager/virt-manager
Translate-URL: https://translate.fedoraproject.org/projects/virt-manager/virt-manager/hu/
2023-09-12 19:57:16 +02:00
Miguel Ángel Sánchez
844cba7c8e Translated using Weblate (Spanish)
Currently translated at 86.8% (1260 of 1451 strings)

Translation: virt-manager/virt-manager
Translate-URL: https://translate.fedoraproject.org/projects/virt-manager/virt-manager/es/
2023-09-12 19:57:16 +02:00
zk dc
109dd6e617 Translated using Weblate (Chinese (Simplified) (zh_CN))
Currently translated at 100.0% (1451 of 1451 strings)

Translation: virt-manager/virt-manager
Translate-URL: https://translate.fedoraproject.org/projects/virt-manager/virt-manager/zh_CN/
2023-09-12 19:57:16 +02:00
김인수
0e36a1e2a8 Translated using Weblate (Korean)
Currently translated at 100.0% (1451 of 1451 strings)

Translation: virt-manager/virt-manager
Translate-URL: https://translate.fedoraproject.org/projects/virt-manager/virt-manager/ko/
2023-09-12 19:57:16 +02:00
Fabio Tomat
f30bf6897d Translated using Weblate (Friulian)
Currently translated at 100.0% (1451 of 1451 strings)

Translation: virt-manager/virt-manager
Translate-URL: https://translate.fedoraproject.org/projects/virt-manager/virt-manager/fur/
2023-09-12 19:57:16 +02:00
Pavel Borecki
001351bd96 Translated using Weblate (Czech)
Currently translated at 100.0% (1451 of 1451 strings)

Translation: virt-manager/virt-manager
Translate-URL: https://translate.fedoraproject.org/projects/virt-manager/virt-manager/cs/
2023-09-12 19:57:16 +02:00
김인수
f90f4604a5 Translated using Weblate (Korean)
Currently translated at 100.0% (1451 of 1451 strings)

Translation: virt-manager/virt-manager
Translate-URL: https://translate.fedoraproject.org/projects/virt-manager/virt-manager/ko/
2023-09-12 19:57:16 +02:00
Luke Na
6a25eb847d Translated using Weblate (Chinese (Simplified) (zh_CN))
Currently translated at 97.5% (1416 of 1451 strings)

Translation: virt-manager/virt-manager
Translate-URL: https://translate.fedoraproject.org/projects/virt-manager/virt-manager/zh_CN/
2023-09-12 19:57:16 +02:00
Temuri Doghonadze
7735a608f4 Translated using Weblate (Georgian)
Currently translated at 87.2% (1263 of 1448 strings)

Translation: virt-manager/virt-manager
Translate-URL: https://translate.fedoraproject.org/projects/virt-manager/virt-manager/ka/
2023-09-12 19:57:16 +02:00
grimst
7e9ef3b4dc Translated using Weblate (French)
Currently translated at 89.0% (1292 of 1451 strings)

Translation: virt-manager/virt-manager
Translate-URL: https://translate.fedoraproject.org/projects/virt-manager/virt-manager/fr/
2023-09-12 19:57:16 +02:00
Dankaházi (ifj.) István
6c41927c3e Translated using Weblate (Hungarian)
Currently translated at 55.6% (808 of 1451 strings)

Translation: virt-manager/virt-manager
Translate-URL: https://translate.fedoraproject.org/projects/virt-manager/virt-manager/hu/
2023-09-12 19:57:16 +02:00
Hoppár Zoltán
4f595e72d3 Translated using Weblate (Hungarian)
Currently translated at 55.6% (808 of 1451 strings)

Translation: virt-manager/virt-manager
Translate-URL: https://translate.fedoraproject.org/projects/virt-manager/virt-manager/hu/
2023-09-12 19:57:16 +02:00
Gustavo Costa
5cc60212ab Translated using Weblate (Portuguese (Brazil))
Currently translated at 95.5% (1387 of 1451 strings)

Translation: virt-manager/virt-manager
Translate-URL: https://translate.fedoraproject.org/projects/virt-manager/virt-manager/pt_BR/
2023-09-12 19:57:16 +02:00
Hoppár Zoltán
11c8880d90 Translated using Weblate (Hungarian)
Currently translated at 53.4% (776 of 1451 strings)

Translation: virt-manager/virt-manager
Translate-URL: https://translate.fedoraproject.org/projects/virt-manager/virt-manager/hu/
2023-09-12 19:57:16 +02:00
Dankaházi (ifj.) István
5d61c47c32 Translated using Weblate (Hungarian)
Currently translated at 53.4% (776 of 1451 strings)

Translation: virt-manager/virt-manager
Translate-URL: https://translate.fedoraproject.org/projects/virt-manager/virt-manager/hu/
2023-09-12 19:57:16 +02:00
Sergey A
6076fc6911 Translated using Weblate (Russian)
Currently translated at 100.0% (1451 of 1451 strings)

Translation: virt-manager/virt-manager
Translate-URL: https://translate.fedoraproject.org/projects/virt-manager/virt-manager/ru/
2023-09-12 19:57:16 +02:00
Fabio Tomat
4c734efb70 Translated using Weblate (Italian)
Currently translated at 100.0% (1451 of 1451 strings)

Translation: virt-manager/virt-manager
Translate-URL: https://translate.fedoraproject.org/projects/virt-manager/virt-manager/it/
2023-09-12 19:57:16 +02:00
Fabio Tomat
e892003502 Translated using Weblate (Friulian)
Currently translated at 99.9% (1450 of 1451 strings)

Translation: virt-manager/virt-manager
Translate-URL: https://translate.fedoraproject.org/projects/virt-manager/virt-manager/fur/
2023-09-12 19:57:16 +02:00
Fabio Tomat
a9cc2a38f2 Translated using Weblate (Friulian)
Currently translated at 89.8% (1303 of 1451 strings)

Translation: virt-manager/virt-manager
Translate-URL: https://translate.fedoraproject.org/projects/virt-manager/virt-manager/fur/
2023-09-12 19:57:16 +02:00
Andi Chandler
0f72c4964b Translated using Weblate (English (United Kingdom))
Currently translated at 100.0% (1451 of 1451 strings)

Translation: virt-manager/virt-manager
Translate-URL: https://translate.fedoraproject.org/projects/virt-manager/virt-manager/en_GB/
2023-09-12 19:57:16 +02:00
Andi Chandler
7d5308a51e Translated using Weblate (English (United Kingdom))
Currently translated at 84.7% (1229 of 1451 strings)

Translation: virt-manager/virt-manager
Translate-URL: https://translate.fedoraproject.org/projects/virt-manager/virt-manager/en_GB/
2023-09-12 19:57:16 +02:00
Cheng-Chia Tseng
fc22531e4d Translated using Weblate (Chinese (Traditional) (zh_TW))
Currently translated at 99.8% (1449 of 1451 strings)

Translation: virt-manager/virt-manager
Translate-URL: https://translate.fedoraproject.org/projects/virt-manager/virt-manager/zh_TW/
2023-09-12 19:57:16 +02:00
Teknős Ferenc
a38953849e Translated using Weblate (Hungarian)
Currently translated at 53.2% (773 of 1451 strings)

Translation: virt-manager/virt-manager
Translate-URL: https://translate.fedoraproject.org/projects/virt-manager/virt-manager/hu/
2023-09-12 19:57:16 +02:00
Pedro Luis Valades Viera
169631b812 Translated using Weblate (Spanish)
Currently translated at 86.6% (1258 of 1451 strings)

Translation: virt-manager/virt-manager
Translate-URL: https://translate.fedoraproject.org/projects/virt-manager/virt-manager/es/
2023-09-12 19:57:16 +02:00
Xi Lu
0361ebca4d Translated using Weblate (Chinese (Simplified) (zh_CN))
Currently translated at 97.5% (1415 of 1451 strings)

Translation: virt-manager/virt-manager
Translate-URL: https://translate.fedoraproject.org/projects/virt-manager/virt-manager/zh_CN/
2023-09-12 19:57:16 +02:00
Xi Lu
28cecfdd61 Translated using Weblate (Chinese (Simplified) (zh_CN))
Currently translated at 97.5% (1415 of 1451 strings)

Translation: virt-manager/virt-manager
Translate-URL: https://translate.fedoraproject.org/projects/virt-manager/virt-manager/zh_CN/
2023-09-12 19:57:16 +02:00
Alejandro Vazquez
d8dac9fb2c Translated using Weblate (Galician)
Currently translated at 0.2% (3 of 1451 strings)

Translation: virt-manager/virt-manager
Translate-URL: https://translate.fedoraproject.org/projects/virt-manager/virt-manager/gl/
2023-09-12 19:57:16 +02:00
Alejandro Vazquez
7c3d0ea23d Added translation using Weblate (Galician) 2023-09-12 19:57:16 +02:00
Andi Chandler
50e91c75d0 Translated using Weblate (English (United Kingdom))
Currently translated at 73.5% (1067 of 1451 strings)

Translation: virt-manager/virt-manager
Translate-URL: https://translate.fedoraproject.org/projects/virt-manager/virt-manager/en_GB/
2023-09-12 19:57:16 +02:00
Andi Chandler
e8ded16f06 Translated using Weblate (English (United Kingdom))
Currently translated at 73.1% (1061 of 1451 strings)

Translation: virt-manager/virt-manager
Translate-URL: https://translate.fedoraproject.org/projects/virt-manager/virt-manager/en_GB/
2023-09-12 19:57:16 +02:00
Andi Chandler
8a3fd77b2b Translated using Weblate (English (United Kingdom))
Currently translated at 72.3% (1050 of 1451 strings)

Translation: virt-manager/virt-manager
Translate-URL: https://translate.fedoraproject.org/projects/virt-manager/virt-manager/en_GB/
2023-09-12 19:57:16 +02:00
Ville-Pekka Vainio
e5c76941f7 Translated using Weblate (Finnish)
Currently translated at 100.0% (1451 of 1451 strings)

Translation: virt-manager/virt-manager
Translate-URL: https://translate.fedoraproject.org/projects/virt-manager/virt-manager/fi/
2023-09-12 19:57:16 +02:00
Ettore Atalan
ca76deb467 Translated using Weblate (German)
Currently translated at 83.4% (1211 of 1451 strings)

Translation: virt-manager/virt-manager
Translate-URL: https://translate.fedoraproject.org/projects/virt-manager/virt-manager/de/
2023-09-12 19:57:16 +02:00
Whired Planck
43c8651e15 Translated using Weblate (Chinese (Simplified) (zh_CN))
Currently translated at 97.4% (1414 of 1451 strings)

Translation: virt-manager/virt-manager
Translate-URL: https://translate.fedoraproject.org/projects/virt-manager/virt-manager/zh_CN/
2023-09-12 19:57:16 +02:00
Miguel Ángel Sánchez
cb6127eccd Translated using Weblate (Spanish)
Currently translated at 85.8% (1246 of 1451 strings)

Translation: virt-manager/virt-manager
Translate-URL: https://translate.fedoraproject.org/projects/virt-manager/virt-manager/es/
2023-09-12 19:57:16 +02:00
김인수
909cbb9eeb Translated using Weblate (Korean)
Currently translated at 100.0% (1451 of 1451 strings)

Translation: virt-manager/virt-manager
Translate-URL: https://translate.fedoraproject.org/projects/virt-manager/virt-manager/ko/
2023-09-12 19:57:16 +02:00
Andi Chandler
c03f64d525 Translated using Weblate (English (United Kingdom))
Currently translated at 71.9% (1044 of 1451 strings)

Translation: virt-manager/virt-manager
Translate-URL: https://translate.fedoraproject.org/projects/virt-manager/virt-manager/en_GB/
2023-09-12 19:57:16 +02:00
Andika Triwidada
38d71faad6 Translated using Weblate (Indonesian)
Currently translated at 17.0% (247 of 1451 strings)

Translation: virt-manager/virt-manager
Translate-URL: https://translate.fedoraproject.org/projects/virt-manager/virt-manager/id/
2023-09-12 19:57:16 +02:00
Temuri Doghonadze
647b2193b1 Translated using Weblate (Georgian)
Currently translated at 86.7% (1256 of 1448 strings)

Translation: virt-manager/virt-manager
Translate-URL: https://translate.fedoraproject.org/projects/virt-manager/virt-manager/ka/
2023-09-12 19:57:16 +02:00
Flo H
5cc26d8583 Translated using Weblate (German)
Currently translated at 83.4% (1211 of 1451 strings)

Translation: virt-manager/virt-manager
Translate-URL: https://translate.fedoraproject.org/projects/virt-manager/virt-manager/de/
2023-09-12 19:57:16 +02:00
김인수
5776d4fb55 Translated using Weblate (Korean)
Currently translated at 100.0% (1451 of 1451 strings)

Translation: virt-manager/virt-manager
Translate-URL: https://translate.fedoraproject.org/projects/virt-manager/virt-manager/ko/
2023-09-12 19:57:16 +02:00
Andi Chandler
dbe7a6cf2c Translated using Weblate (English (United Kingdom))
Currently translated at 71.8% (1043 of 1451 strings)

Translation: virt-manager/virt-manager
Translate-URL: https://translate.fedoraproject.org/projects/virt-manager/virt-manager/en_GB/
2023-09-12 19:57:16 +02:00
sajad mirzaei
1a3e029d7b Translated using Weblate (Persian)
Currently translated at 0.1% (2 of 1451 strings)

Translation: virt-manager/virt-manager
Translate-URL: https://translate.fedoraproject.org/projects/virt-manager/virt-manager/fa/
2023-09-12 19:57:16 +02:00
sajad mirzaei
7553d9dbcb Added translation using Weblate (Persian) 2023-09-12 19:57:16 +02:00
Vincenzo Reale
6c5754b81b Translated using Weblate (Italian)
Currently translated at 100.0% (1451 of 1451 strings)

Translation: virt-manager/virt-manager
Translate-URL: https://translate.fedoraproject.org/projects/virt-manager/virt-manager/it/
2023-09-12 19:57:16 +02:00
Oğuz Ersen
eba882c160 Translated using Weblate (Turkish)
Currently translated at 100.0% (1451 of 1451 strings)

Translation: virt-manager/virt-manager
Translate-URL: https://translate.fedoraproject.org/projects/virt-manager/virt-manager/tr/
2023-09-12 19:57:16 +02:00
Olga Smirnova
f32b3d98b7 Translated using Weblate (Occidental)
Currently translated at 41.9% (609 of 1451 strings)

Translation: virt-manager/virt-manager
Translate-URL: https://translate.fedoraproject.org/projects/virt-manager/virt-manager/ie/
2023-09-12 19:57:16 +02:00
Olga Smirnova
ad4398801e Translated using Weblate (Occidental)
Currently translated at 35.6% (518 of 1451 strings)

Translation: virt-manager/virt-manager
Translate-URL: https://translate.fedoraproject.org/projects/virt-manager/virt-manager/ie/
2023-09-12 19:57:16 +02:00
Olga Smirnova
76f0f79838 Translated using Weblate (Russian)
Currently translated at 100.0% (1451 of 1451 strings)

Translation: virt-manager/virt-manager
Translate-URL: https://translate.fedoraproject.org/projects/virt-manager/virt-manager/ru/
2023-09-12 19:57:16 +02:00
Olga Smirnova
ae01c46680 Added translation using Weblate (Occidental) 2023-09-12 19:57:16 +02:00
Alexey Rubtsov
487df549c3 Translated using Weblate (Russian)
Currently translated at 98.6% (1431 of 1451 strings)

Translation: virt-manager/virt-manager
Translate-URL: https://translate.fedoraproject.org/projects/virt-manager/virt-manager/ru/
2023-09-12 19:57:16 +02:00
V I
a1289356bf Translated using Weblate (Russian)
Currently translated at 98.6% (1431 of 1451 strings)

Translation: virt-manager/virt-manager
Translate-URL: https://translate.fedoraproject.org/projects/virt-manager/virt-manager/ru/
2023-09-12 19:57:16 +02:00
Gogo Gogsi
55982a5da0 Translated using Weblate (Croatian)
Currently translated at 72.8% (1057 of 1451 strings)

Translation: virt-manager/virt-manager
Translate-URL: https://translate.fedoraproject.org/projects/virt-manager/virt-manager/hr/
2023-09-12 19:57:16 +02:00
V I
c8518cc068 Translated using Weblate (Russian)
Currently translated at 97.2% (1411 of 1451 strings)

Translation: virt-manager/virt-manager
Translate-URL: https://translate.fedoraproject.org/projects/virt-manager/virt-manager/ru/
2023-09-12 19:57:16 +02:00
Alexey Rubtsov
7e3bb7c185 Translated using Weblate (Russian)
Currently translated at 97.2% (1411 of 1451 strings)

Translation: virt-manager/virt-manager
Translate-URL: https://translate.fedoraproject.org/projects/virt-manager/virt-manager/ru/
2023-09-12 19:57:16 +02:00
V I
73e5b61cfc Translated using Weblate (Russian)
Currently translated at 96.1% (1395 of 1451 strings)

Translation: virt-manager/virt-manager
Translate-URL: https://translate.fedoraproject.org/projects/virt-manager/virt-manager/ru/
2023-09-12 19:57:16 +02:00
Alexey Rubtsov
1cad0be302 Translated using Weblate (Russian)
Currently translated at 96.1% (1395 of 1451 strings)

Translation: virt-manager/virt-manager
Translate-URL: https://translate.fedoraproject.org/projects/virt-manager/virt-manager/ru/
2023-09-12 19:57:16 +02:00
Andi Chandler
b9f31bb9b8 Translated using Weblate (English (United Kingdom))
Currently translated at 70.7% (1027 of 1451 strings)

Translation: virt-manager/virt-manager
Translate-URL: https://translate.fedoraproject.org/projects/virt-manager/virt-manager/en_GB/
2023-09-12 19:57:16 +02:00
Temuri Doghonadze
79b457338e Translated using Weblate (Georgian)
Currently translated at 85.8% (1243 of 1448 strings)

Translation: virt-manager/virt-manager
Translate-URL: https://translate.fedoraproject.org/projects/virt-manager/virt-manager/ka/
2023-09-12 19:57:16 +02:00
Pino Toscano
f05a1609d8 Translated using Weblate (Italian)
Currently translated at 97.9% (1421 of 1451 strings)

Translation: virt-manager/virt-manager
Translate-URL: https://translate.fedoraproject.org/projects/virt-manager/virt-manager/it/

Translated using Weblate (Italian)

Currently translated at 97.7% (1418 of 1451 strings)

Translation: virt-manager/virt-manager
Translate-URL: https://translate.fedoraproject.org/projects/virt-manager/virt-manager/it/
2023-09-12 19:57:16 +02:00
dependabot[bot]
fcfad47328 ci: bump codecov/codecov-action from 1 to 3
Bumps [codecov/codecov-action](https://github.com/codecov/codecov-action) from 1 to 3.
- [Release notes](https://github.com/codecov/codecov-action/releases)
- [Changelog](https://github.com/codecov/codecov-action/blob/main/CHANGELOG.md)
- [Commits](https://github.com/codecov/codecov-action/compare/v1...v3)

---
updated-dependencies:
- dependency-name: codecov/codecov-action
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-09-12 18:58:59 +02:00
dependabot[bot]
c56c17bef4 ci: bump actions/checkout from 2 to 4
Bumps [actions/checkout](https://github.com/actions/checkout) from 2 to 4.
- [Release notes](https://github.com/actions/checkout/releases)
- [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md)
- [Commits](https://github.com/actions/checkout/compare/v2...v4)

---
updated-dependencies:
- dependency-name: actions/checkout
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-09-12 18:47:15 +02:00
Pino Toscano
4bc194ab92 ci: add dependabot config for GitHub Actions
Enable dependabot for the "main" branch, letting it scan for outdated
GitHub Actions used in workflows on a weekly base.

Signed-off-by: Pino Toscano <ptoscano@redhat.com>
2023-09-12 12:33:25 -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
Pino Toscano
ccd4757533 data: appstream: add launchable tag
Signed-off-by: Pino Toscano <ptoscano@redhat.com>
2023-09-10 11:20:29 -04:00
Martin Kletzander
9f8da1f666 virt-clone: Copy disk permissions as well
When cloning using libvirt APIs the function virStorageVolCreateXMLFrom
is used.  However name and permissions are taken from the new XML [1].
By copying the permissions (only the mode is used) we can avoid some
unexpected issues.

[1] https://libvirt.org/html/libvirt-libvirt-storage.html#virStorageVolCreateXMLFrom

Resolves: https://bugzilla.redhat.com/show_bug.cgi?id=2115153
Signed-off-by: Martin Kletzander <mkletzan@redhat.com>
2023-09-10 11:19:31 -04:00
Laszlo Ersek
2ebbdb2797 fix indentation of multiline log.exception() invocations
Commit f107e3998908 ("Switch to more traditional logging structure",
2019-06-17) replaced "logging.exception" with "log.exception", effectively
shifting the argument lists 4 characters to the left. The second and
further lines of multiline invocations were not accordingly unindented,
however, which ended up setting a suboptimal precedent as well. Unindent
those lines now.

Reported-by: Cole Robinson <crobinso@redhat.com>
Signed-off-by: Laszlo Ersek <lersek@redhat.com>
2023-08-30 10:48:54 +02: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
Laszlo Ersek
7dbe973b3f virtinst: suppress "lookup_capsinfo" exception in machine type alias check
Just to be sure, this patch implements the second approach (described in
the previous patch) as well.

Note that there is precedent for suppressing "guest_lookup" exceptions:
refer to the "Error determining machine list" branch from commit
ae7ebc220b15 ("details: Properly limit machine type list by guests
arch/type", 2013-09-01).

(

In fact, that branch gets activated when opening the details window for a
domain that uses a non-default emulator; the "virt-manager --debug" log
contains:

> ERROR (details:613) Error determining machine list
> Traceback (most recent call last):
>   File "virtManager/details/details.py", line 605, in _init_details
>     capsinfo = caps.guest_lookup(
>   File "virtinst/capabilities.py", line 319, in guest_lookup
>     raise ValueError(msg)
> ValueError: Host does not support domain type kvm with machine
> 'pc-q35-8.1' for virtualization type 'hvm' with architecture 'x86_64'

)

Fixes: #539
Fixes: 05fcc7410eee ("virtinst: fix caching of domain capabilities", 2022-07-27)
Signed-off-by: Laszlo Ersek <lersek@redhat.com>
2023-08-29 13:24:52 +02:00
Laszlo Ersek
4ead4acb44 virtinst: delay "lookup_capsinfo" until we really need it
When I try to open the details window for a domain that does not use the
system default emulator, I get the following exception:

> Traceback (most recent call last):
>   File "virtManager/vmwindow.py", line 40, in get_instance
>     cls._instances[key] = vmmVMWindow(vm)
>   File "virtManager/vmwindow.py", line 83, in __init__
>     self._details = vmmDetails(self.vm, self.builder, self.topwin,
>   File "virtManager/details/details.py", line 389, in __init__
>     self._init_details()
>   File "virtManager/details/details.py", line 807, in _init_details
>     vmmAddHardware.build_video_combo(self.vm, video_dev)
>   File "virtManager/addhardware.py", line 816, in build_video_combo
>     default = DeviceVideo.default_model(vm.xmlobj)
>   File "virtinst/devices/video.py", line 47, in default_model
>     if (guest.lookup_domcaps().supports_video_virtio() and
>   File "virtinst/guest.py", line 656, in lookup_domcaps
>     if not self._domcaps or not _compare(self._domcaps):
>   File "virtinst/guest.py", line 646, in _compare
>     if self.os.machine and not _compare_machine(domcaps):
>   File "virtinst/guest.py", line 633, in _compare_machine
>     capsinfo = self.lookup_capsinfo()
>   File "virtinst/guest.py", line 674, in lookup_capsinfo
>     self._capsinfo = self.conn.caps.guest_lookup(
>   File "virtinst/capabilities.py", line 319, in guest_lookup
>     raise ValueError(msg)
> ValueError: Host does not support domain type kvm with machine
> 'pc-q35-8.1' for virtualization type 'hvm' with architecture 'x86_64'

This is a regression; according to git-bisect, it was introduced in commit
05fcc7410eee ("virtinst: fix caching of domain capabilities", 2022-07-27).

"lookup_capsinfo" (and "guest_lookup" called by it) are unsuitable for
machine type alias checking (or for anything else) if the domain uses an
emulator that differs from the system default emulator. The information
returned by virConnectGetCapabilities() pertains to the system default
emulator. Thus, when using a non-default emulator, we should either not
call "lookup_capsinfo" for machine type alias checking, *or* we should
suppress the exception, and pretend that the alias check was a mismatch.

It turns out that we can avoid the "lookup_capsinfo" call (and thereby the
exception) in practice if we just delay the call until after the direct
(non-alias) comparison.

Fixes: #539
Fixes: 05fcc7410eee ("virtinst: fix caching of domain capabilities", 2022-07-27)
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
Daniel P. Berrangé
6258d53689 rpm: convert license to SPDX format
Signed-off-by: Daniel P. Berrangé <berrange@redhat.com>
2023-05-07 12:40:05 -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
Thomas Huth
102fe52165 man/virt-install: Add a note about different behavior of --boot on s390x
It is common on x86 and other architectures to install a guest from
network by using "--boot hd,network" with virt-install - as long as
the hard disk is not bootable yet, the installation will be started
via network, and once it finished, the guest can boot from hd during
the next reboot.

However, this does not work on s390x since this architecture only
supports one single boot device to be passed to the guest. Thus add
a note to the documentation to avoid that people are running again
into this common pitfall.

Buglink: https://bugzilla.redhat.com/show_bug.cgi?id=2032472
Signed-off-by: Thomas Huth <thuth@redhat.com>
2023-03-22 17:45: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
Oleg Vasilev
b2f6e95383 cloner: clone serial files
Before this, on clone the serial file would remain the same for the cloned
domain. This doesn't make much sense as the output would be an intermix of two
unrelated output sequences.

Here we apply the the same filename changing algorithm, as with disk files.

Signed-off-by: Oleg Vasilev <oleg.vasilev@virtuozzo.com>
2023-03-22 17:44:06 -04:00
Andrea Bolognani
33ff193ee9 virt-install: Document Secure Boot setups
Provide ready to use recipes for explicitly enabling and
explicitly disabling Secure Boot, as well as a pointer to
the more extensive information found on the libvirt website.

Setting loader_secure=yes is only one part of a proper Secure
Boot setup, so stop documenting it in the section about manual
firmware selection to avoid confusion.

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

Signed-off-by: Andrea Bolognani <abologna@redhat.com>
2023-02-09 11:41:00 -05:00
Andrea Bolognani
f2b5aaf458 virt-install: Recommend '--boot uefi'
Firmware autoselection is the way to go in most cases, so
recommend that instead of telling users that they should provide
all information manually.

Signed-off-by: Andrea Bolognani <abologna@redhat.com>
2023-02-09 11:41:00 -05:00
Lokesh Mandvekar
a63b40aae3 Packit: initial enablement
This commit enables Packit `copr_build` tasks which will run on every PR
and build RPMS using the spec file present upstream with Source0 as
the archive created from HEAD commit of the PR.

Signed-off-by: Lokesh Mandvekar <lsm5@fedoraproject.org>
2023-01-19 14:04:42 -05:00
Cole Robinson
fe86f4639f asyncjob: Remove unused import
Signed-off-by: Cole Robinson <crobinso@redhat.com>
2023-01-19 11:59:20 -05: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
Cole Robinson
cc4a39ea94 asyncjob: Fix backtrace when no cursor theme installed
Fixes: https://github.com/virt-manager/virt-manager/issues/479

Signed-off-by: Cole Robinson <crobinso@redhat.com>
2023-01-19 11:40:37 -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
Toshiki Sonoda
39c7a44314 virtinstall: Fix the allocating disk size printed by the progress bar
When a sparse file is created during a disk allocation,
virt-install prints not the created disk size but a sparse file size.

Therefore, we fix to print the created disk size during disk allocation
instead of the size of the sparse file by updating the meter with the
self.capacity.

Signed-off-by: Toshiki Sonoda <sonoda.toshiki@fujitsu.com>
Signed-off-by: Haruka Ohata <ohata.haruka@fujitsu.com>
2022-12-14 13:07:26 -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
Lin Ma
180154d752 guest: Query availability of spicevmc channels in domcaps
Signed-off-by: Lin Ma <lma@suse.com>
2022-12-14 12:44:54 -05:00
Lin Ma
8cc6ee8da3 guest: Query availability of usb redirdevs in domcaps
Signed-off-by: Lin Ma <lma@suse.com>
2022-12-14 12:44:54 -05:00
Cole Robinson
cbc5b89707 Clean up FileChooser usage a bit
* Move browse_reason handling entirely into storagebrowser.py
* Open code some of the browse_local logic at the few callers

Signed-off-by: Cole Robinson <crobinso@redhat.com>
2022-12-14 12:31:17 -05:00
Cole Robinson
67832d3097 addhardware: Fix backtrace when controller.index is None
When creating a new VM, in the customize wizard we can't depend on
index= value being set (virtinst doesn't do it for example).

For example, this causes a backtrace when adding two virtio-scsi
controllers via the Customize wizard, or adding an extra
virtio-scsi controller to an aarch64 CDROM install.

Reported-by: Charles Arnold <carnold@suse.com>
Signed-off-by: Cole Robinson <crobinso@redhat.com>
2022-12-13 13:49:35 -05:00
Weijia Wang
75a25e3766 tests: cpio: set owner to 0:0 2022-12-13 13:45:16 -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
Cole Robinson
a254ece0f0 virt-install: --help required options are wrong
Nowadays it could be as simple as `virt-install --install fedora36`.

Trying to represent the interdepencies here is not worth it, but
let's keep a simple string around to avoid the default parser
usage string, which is huge

Signed-off-by: Cole Robinson <crobinso@redhat.com>
2022-08-21 16:10:55 -04:00
Lin Ma
fbdf051626 cli: --cpu: Add maxphysaddr.{mode,bits} options
This commit added support for cpu physical address bits control, It's
useful for VMs with huge amount of ram.

E.g.
--cpu Cascadelake-Server,maxphysaddr.mode=emulate,maxphysaddr.bits=46

Signed-off-by: Lin Ma <lma@suse.com>
2022-08-20 10:03:11 -04:00
Lin Ma
c22a876e9a tests: Add a compat check for linux2020 in amd-sev test case
It avoids amd-sev test failure if using older osinfo-db.

Signed-off-by: Lin Ma <lma@suse.com>
2022-08-20 09:59:27 -04:00
Cole Robinson
e94786c066 virtinstall: fix regression with --boot and no install method
Anything passed to --boot should imply --install no_install=yes
in the absence of other --install options. This is historically
what we've done but we regressed in 4.1.0

Resolves: https://github.com/virt-manager/virt-manager/issues/426

Signed-off-by: Cole Robinson <crobinso@redhat.com>
2022-08-20 09:54:01 -04:00
Cole Robinson
1cb0be4002 virtinstall: split no_install conditional apart to track code coverage
Each bit here is part of the CLI API, we need to be sure we are
covering each one. Extend the test suite to hit one case we are missing

Signed-off-by: Cole Robinson <crobinso@redhat.com>
2022-08-20 09:47:49 -04:00
Cole Robinson
1b87e3e54c tests: testdriver: Add filesystem socket example
Signed-off-by: Cole Robinson <crobinso@redhat.com>
2022-08-17 10:29:31 -04:00
Cole Robinson
4b15073572 cli: Drop unnecessary --disk prop aliases
Signed-off-by: Cole Robinson <crobinso@redhat.com>
2022-08-17 10:27:36 -04:00
Lin Ma
58f5e36da7 fsdetails: Fix an error with source.socket of virtiofs
Using the source.socket of virtiofs needs a virtiofsd daemon launched
outside of libvirtd, So the filesystem UI doesn't support it yet. If
users need it they can set it manually in the XML editor.
But if we view the filesystem info of such a VM on the details page,
It fails with this error message:

Traceback (most recent call last):
  File "/usr/share/virt-manager/virtManager/details/details.py", line 1713, in _refresh_page
    self._refresh_filesystem_page(dev)
  File "/usr/share/virt-manager/virtManager/details/details.py", line 2241, in _refresh_filesystem_page
    self.fsDetails.set_dev(dev)
  File "/usr/share/virt-manager/virtManager/device/fsdetails.py", line 193, in set_dev
    self.widget("fs-source").set_text(dev.source)
TypeError: Argument 1 does not allow None as a value

This patch fixes above issue by leaving the 'source path' info blank in
case of source.socket.
In this case, Considering that showing 'target path' info without source
info is kind of meaningless, So this patch leaves the 'target path' info
blank as well.

Signed-off-by: Lin Ma <lma@suse.com>
2022-08-17 10:24:10 -04:00
Cole Robinson
7295ebfb02 tests: cli: Fix test output after previous commit
Signed-off-by: Cole Robinson <crobinso@redhat.com>
2022-08-17 10:21:31 -04:00
Lin Ma
11a887ece5 cli: --disk: Add driver.metadata_cache options
Properly setting the metadata cache size can provide better performance
in case of using big qcow2 images.

This patch introduces two driver options:
* driver.metadata_cache.max_size
* driver.metadata_cache.max_size.unit

E.g. --disk ...,driver.type=qcow2,\
     driver.metadata_cache.max_size=2,\
     driver.metadata_cache.max_size.unit=MiB

BTW, Metadata cache size control is currently supported only for qcow2.
Regarding how to properly caluclate the cache size of qcow2, Please refer
to qemu's documentation.

Signed-off-by: Lin Ma <lma@suse.com>
2022-08-17 09:57:29 -04:00
Cole Robinson
8ca7c91697 Prep for release 4.1.0
Signed-off-by: Cole Robinson <crobinso@redhat.com>
2022-08-04 15:53:33 -04:00
Cole Robinson
661408bcc7 po: Refresh translation template
Signed-off-by: Cole Robinson <crobinso@redhat.com>
2022-08-04 15:14:20 -04:00
Gogo Gogsi
7177223716 Translated using Weblate (Croatian)
Currently translated at 38.2% (555 of 1451 strings)

Translation: virt-manager/virt-manager
Translate-URL: https://translate.fedoraproject.org/projects/virt-manager/virt-manager/hr/

Translated using Weblate (Croatian)

Currently translated at 8.6% (125 of 1451 strings)

Translation: virt-manager/virt-manager
Translate-URL: https://translate.fedoraproject.org/projects/virt-manager/virt-manager/hr/
2022-08-04 15:07:50 -04:00
Kisaragi Hiu
95779a6350 Translated using Weblate (Chinese (Traditional) (zh_TW))
Currently translated at 99.7% (1447 of 1451 strings)

Translation: virt-manager/virt-manager
Translate-URL: https://translate.fedoraproject.org/projects/virt-manager/virt-manager/zh_TW/

Translated using Weblate (Chinese (Traditional) (zh_TW))

Currently translated at 99.7% (1447 of 1451 strings)

Translation: virt-manager/virt-manager
Translate-URL: https://translate.fedoraproject.org/projects/virt-manager/virt-manager/zh_TW/

Translated using Weblate (Chinese (Traditional) (zh_TW))

Currently translated at 98.7% (1433 of 1451 strings)

Translation: virt-manager/virt-manager
Translate-URL: https://translate.fedoraproject.org/projects/virt-manager/virt-manager/zh_TW/
2022-08-04 15:07:50 -04:00
Ettore Atalan
bd7adae146 Translated using Weblate (German)
Currently translated at 82.1% (1192 of 1451 strings)

Translation: virt-manager/virt-manager
Translate-URL: https://translate.fedoraproject.org/projects/virt-manager/virt-manager/de/
2022-08-04 15:07:50 -04:00
김인수
73a12f8c98 Translated using Weblate (Korean)
Currently translated at 100.0% (1451 of 1451 strings)

Translation: virt-manager/virt-manager
Translate-URL: https://translate.fedoraproject.org/projects/virt-manager/virt-manager/ko/

Translated using Weblate (Korean)

Currently translated at 100.0% (1451 of 1451 strings)

Translation: virt-manager/virt-manager
Translate-URL: https://translate.fedoraproject.org/projects/virt-manager/virt-manager/ko/
2022-08-04 15:07:50 -04:00
Morten Abildgaard
1953847807 Translated using Weblate (Danish)
Currently translated at 18.3% (266 of 1451 strings)

Translation: virt-manager/virt-manager
Translate-URL: https://translate.fedoraproject.org/projects/virt-manager/virt-manager/da/
2022-08-04 15:07:50 -04:00
R Toda
69ce106681 Translated using Weblate (Japanese)
Currently translated at 96.7% (1404 of 1451 strings)

Translation: virt-manager/virt-manager
Translate-URL: https://translate.fedoraproject.org/projects/virt-manager/virt-manager/ja/
2022-08-04 15:07:50 -04:00
Gustavo Costa
2d3812bd43 Translated using Weblate (Portuguese (Brazil))
Currently translated at 95.5% (1386 of 1451 strings)

Translation: virt-manager/virt-manager
Translate-URL: https://translate.fedoraproject.org/projects/virt-manager/virt-manager/pt_BR/

Translated using Weblate (Portuguese (Brazil))

Currently translated at 95.5% (1386 of 1451 strings)

Translation: virt-manager/virt-manager
Translate-URL: https://translate.fedoraproject.org/projects/virt-manager/virt-manager/pt_BR/
2022-08-04 15:07:50 -04:00
Alexey Rubtsov
e05fd9d1f7 Translated using Weblate (Russian)
Currently translated at 95.8% (1391 of 1451 strings)

Translation: virt-manager/virt-manager
Translate-URL: https://translate.fedoraproject.org/projects/virt-manager/virt-manager/ru/
2022-08-04 15:07:50 -04:00
Miguel Ángel Sánchez
e60063f0ee Translated using Weblate (Spanish)
Currently translated at 85.8% (1246 of 1451 strings)

Translation: virt-manager/virt-manager
Translate-URL: https://translate.fedoraproject.org/projects/virt-manager/virt-manager/es/
2022-08-04 15:07:50 -04:00
Jan Kuparinen
951df8a803 Translated using Weblate (Finnish)
Currently translated at 100.0% (1451 of 1451 strings)

Translation: virt-manager/virt-manager
Translate-URL: https://translate.fedoraproject.org/projects/virt-manager/virt-manager/fi/
2022-08-04 15:07:50 -04:00
Nicholas Di Nicola
3182b7edb5 Translated using Weblate (Spanish)
Currently translated at 85.8% (1246 of 1451 strings)

Translation: virt-manager/virt-manager
Translate-URL: https://translate.fedoraproject.org/projects/virt-manager/virt-manager/es/
2022-08-04 15:07:50 -04:00
Pavel Borecki
b475bd933b Translated using Weblate (Czech)
Currently translated at 100.0% (1451 of 1451 strings)

Translation: virt-manager/virt-manager
Translate-URL: https://translate.fedoraproject.org/projects/virt-manager/virt-manager/cs/

Translated using Weblate (Czech)

Currently translated at 100.0% (1451 of 1451 strings)

Translation: virt-manager/virt-manager
Translate-URL: https://translate.fedoraproject.org/projects/virt-manager/virt-manager/cs/

Translated using Weblate (Czech)

Currently translated at 100.0% (1451 of 1451 strings)

Translation: virt-manager/virt-manager
Translate-URL: https://translate.fedoraproject.org/projects/virt-manager/virt-manager/cs/
2022-08-04 15:07:50 -04:00
Temuri Doghonadze
c92b300984 Translated using Weblate (Georgian)
Currently translated at 85.5% (1239 of 1448 strings)

Translation: virt-manager/virt-manager
Translate-URL: https://translate.fedoraproject.org/projects/virt-manager/virt-manager/ka/

Translated using Weblate (Georgian)

Currently translated at 80.9% (1172 of 1448 strings)

Translation: virt-manager/virt-manager
Translate-URL: https://translate.fedoraproject.org/projects/virt-manager/virt-manager/ka/

Translated using Weblate (Georgian)

Currently translated at 80.8% (1170 of 1448 strings)

Translation: virt-manager/virt-manager
Translate-URL: https://translate.fedoraproject.org/projects/virt-manager/virt-manager/ka/

Translated using Weblate (Georgian)

Currently translated at 78.7% (1141 of 1448 strings)

Translation: virt-manager/virt-manager
Translate-URL: https://translate.fedoraproject.org/projects/virt-manager/virt-manager/ka/

Added translation using Weblate (Georgian)
2022-08-04 15:07:50 -04:00
Hela Basa
809a34a5eb Translated using Weblate (Sinhala)
Currently translated at 0.1% (1 of 1451 strings)

Translation: virt-manager/virt-manager
Translate-URL: https://translate.fedoraproject.org/projects/virt-manager/virt-manager/si/
2022-08-04 15:07:50 -04:00
Anonymous
7cac6793a5 Translated using Weblate (Sinhala)
Currently translated at 0.1% (1 of 1451 strings)

Translation: virt-manager/virt-manager
Translate-URL: https://translate.fedoraproject.org/projects/virt-manager/virt-manager/si/
2022-08-04 15:07:50 -04:00
Anonymous
b09b210f46 Translated using Weblate (Kabyle)
Currently translated at 0.0% (0 of 1451 strings)

Translation: virt-manager/virt-manager
Translate-URL: https://translate.fedoraproject.org/projects/virt-manager/virt-manager/kab/
2022-08-04 15:07:50 -04:00
Whired Planck
9d763b07c6 Translated using Weblate (Chinese (Traditional) (zh_TW))
Currently translated at 95.5% (1387 of 1451 strings)

Translation: virt-manager/virt-manager
Translate-URL: https://translate.fedoraproject.org/projects/virt-manager/virt-manager/zh_TW/
2022-08-04 15:07:50 -04:00
Anonymous
1eb0e11a24 Translated using Weblate (Chinese (Traditional) (zh_TW))
Currently translated at 95.5% (1387 of 1451 strings)

Translation: virt-manager/virt-manager
Translate-URL: https://translate.fedoraproject.org/projects/virt-manager/virt-manager/zh_TW/
2022-08-04 15:07:50 -04:00
Pavel Hrdina
182a37f0d3 Translated using Weblate (Chinese (Simplified) (zh_CN))
Currently translated at 95.9% (1392 of 1451 strings)

Translation: virt-manager/virt-manager
Translate-URL: https://translate.fedoraproject.org/projects/virt-manager/virt-manager/zh_CN/
2022-08-04 15:07:50 -04:00
Anonymous
d8f39762cb Translated using Weblate (Chinese (Simplified) (zh_CN))
Currently translated at 95.9% (1392 of 1451 strings)

Translation: virt-manager/virt-manager
Translate-URL: https://translate.fedoraproject.org/projects/virt-manager/virt-manager/zh_CN/
2022-08-04 15:07:50 -04:00
Whired Planck
228add0750 Translated using Weblate (Chinese (Simplified) (zh_CN))
Currently translated at 95.9% (1392 of 1451 strings)

Translation: virt-manager/virt-manager
Translate-URL: https://translate.fedoraproject.org/projects/virt-manager/virt-manager/zh_CN/
2022-08-04 15:07:50 -04:00
Kim InSoo
cc6cdb619c Translated using Weblate (Ukrainian)
Currently translated at 100.0% (1451 of 1451 strings)

Translation: virt-manager/virt-manager
Translate-URL: https://translate.fedoraproject.org/projects/virt-manager/virt-manager/uk/
2022-08-04 15:07:50 -04:00
Taras Panchenko
edf2e81fa0 Translated using Weblate (Ukrainian)
Currently translated at 100.0% (1451 of 1451 strings)

Translation: virt-manager/virt-manager
Translate-URL: https://translate.fedoraproject.org/projects/virt-manager/virt-manager/uk/
2022-08-04 15:07:50 -04:00
Anonymous
3ede889a36 Translated using Weblate (Ukrainian)
Currently translated at 100.0% (1451 of 1451 strings)

Translation: virt-manager/virt-manager
Translate-URL: https://translate.fedoraproject.org/projects/virt-manager/virt-manager/uk/
2022-08-04 15:07:50 -04:00
Yuri Chornoivan
61da05c7c1 Translated using Weblate (Ukrainian)
Currently translated at 100.0% (1451 of 1451 strings)

Translation: virt-manager/virt-manager
Translate-URL: https://translate.fedoraproject.org/projects/virt-manager/virt-manager/uk/
2022-08-04 15:07:50 -04:00
Anonymous
0e3a42c9fa Translated using Weblate (Turkish)
Currently translated at 100.0% (1451 of 1451 strings)

Translation: virt-manager/virt-manager
Translate-URL: https://translate.fedoraproject.org/projects/virt-manager/virt-manager/tr/
2022-08-04 15:07:50 -04:00
Oğuz Ersen
57f0f6fc7e Translated using Weblate (Turkish)
Currently translated at 100.0% (1451 of 1451 strings)

Translation: virt-manager/virt-manager
Translate-URL: https://translate.fedoraproject.org/projects/virt-manager/virt-manager/tr/
2022-08-04 15:07:50 -04:00
Anonymous
6486168eac Translated using Weblate (Telugu)
Currently translated at 56.5% (820 of 1451 strings)

Translation: virt-manager/virt-manager
Translate-URL: https://translate.fedoraproject.org/projects/virt-manager/virt-manager/te/
2022-08-04 15:07:50 -04:00
Anonymous
4fb4c14889 Translated using Weblate (Tamil)
Currently translated at 56.5% (820 of 1451 strings)

Translation: virt-manager/virt-manager
Translate-URL: https://translate.fedoraproject.org/projects/virt-manager/virt-manager/ta/
2022-08-04 15:07:50 -04:00
Jonatan Nyberg
5588d4eca1 Translated using Weblate (Swedish)
Currently translated at 100.0% (1451 of 1451 strings)

Translation: virt-manager/virt-manager
Translate-URL: https://translate.fedoraproject.org/projects/virt-manager/virt-manager/sv/
2022-08-04 15:07:50 -04:00
Luna Jernberg
be9f9ff45f Translated using Weblate (Swedish)
Currently translated at 100.0% (1451 of 1451 strings)

Translation: virt-manager/virt-manager
Translate-URL: https://translate.fedoraproject.org/projects/virt-manager/virt-manager/sv/
2022-08-04 15:07:50 -04:00
Göran Uddeborg
00be3a6ab1 Translated using Weblate (Swedish)
Currently translated at 100.0% (1451 of 1451 strings)

Translation: virt-manager/virt-manager
Translate-URL: https://translate.fedoraproject.org/projects/virt-manager/virt-manager/sv/
2022-08-04 15:07:50 -04:00
Anonymous
935697a4c5 Translated using Weblate (Swedish)
Currently translated at 100.0% (1451 of 1451 strings)

Translation: virt-manager/virt-manager
Translate-URL: https://translate.fedoraproject.org/projects/virt-manager/virt-manager/sv/
2022-08-04 15:07:50 -04:00
Anonymous
434322d5d7 Translated using Weblate (Serbian (latin))
Currently translated at 5.4% (79 of 1451 strings)

Translation: virt-manager/virt-manager
Translate-URL: https://translate.fedoraproject.org/projects/virt-manager/virt-manager/sr_Latn/
2022-08-04 15:07:50 -04:00
Марко Костић (Marko Kostić)
9f2ed4ac6a Translated using Weblate (Serbian)
Currently translated at 19.8% (288 of 1451 strings)

Translation: virt-manager/virt-manager
Translate-URL: https://translate.fedoraproject.org/projects/virt-manager/virt-manager/sr/
2022-08-04 15:07:50 -04:00
Anonymous
75f85d616b Translated using Weblate (Serbian)
Currently translated at 19.8% (288 of 1451 strings)

Translation: virt-manager/virt-manager
Translate-URL: https://translate.fedoraproject.org/projects/virt-manager/virt-manager/sr/
2022-08-04 15:07:50 -04:00
Anonymous
c987410779 Translated using Weblate (Slovak)
Currently translated at 42.5% (618 of 1451 strings)

Translation: virt-manager/virt-manager
Translate-URL: https://translate.fedoraproject.org/projects/virt-manager/virt-manager/sk/
2022-08-04 15:07:50 -04:00
Alexey Rubtsov
283bb0a882 Translated using Weblate (Russian)
Currently translated at 95.7% (1390 of 1451 strings)

Translation: virt-manager/virt-manager
Translate-URL: https://translate.fedoraproject.org/projects/virt-manager/virt-manager/ru/
2022-08-04 15:07:50 -04:00
Dmitry Astankov
dbc6437c83 Translated using Weblate (Russian)
Currently translated at 95.7% (1390 of 1451 strings)

Translation: virt-manager/virt-manager
Translate-URL: https://translate.fedoraproject.org/projects/virt-manager/virt-manager/ru/
2022-08-04 15:07:50 -04:00
0784b69ea5 Translated using Weblate (Russian)
Currently translated at 95.7% (1390 of 1451 strings)

Translation: virt-manager/virt-manager
Translate-URL: https://translate.fedoraproject.org/projects/virt-manager/virt-manager/ru/
2022-08-04 15:07:50 -04:00
Anonymous
3710a03d5b Translated using Weblate (Russian)
Currently translated at 95.7% (1390 of 1451 strings)

Translation: virt-manager/virt-manager
Translate-URL: https://translate.fedoraproject.org/projects/virt-manager/virt-manager/ru/
2022-08-04 15:07:50 -04:00
Anonymous
53874bdecc Translated using Weblate (Romanian)
Currently translated at 3.0% (44 of 1451 strings)

Translation: virt-manager/virt-manager
Translate-URL: https://translate.fedoraproject.org/projects/virt-manager/virt-manager/ro/
2022-08-04 15:07:50 -04:00
José Lemos
2d9b92e6a3 Translated using Weblate (Portuguese (Brazil))
Currently translated at 91.5% (1329 of 1451 strings)

Translation: virt-manager/virt-manager
Translate-URL: https://translate.fedoraproject.org/projects/virt-manager/virt-manager/pt_BR/
2022-08-04 15:07:50 -04:00
Renan Birck Pinheiro
553ccba2ea Translated using Weblate (Portuguese (Brazil))
Currently translated at 91.5% (1329 of 1451 strings)

Translation: virt-manager/virt-manager
Translate-URL: https://translate.fedoraproject.org/projects/virt-manager/virt-manager/pt_BR/
2022-08-04 15:07:50 -04:00
Lucas Fernandes
adad21fb40 Translated using Weblate (Portuguese (Brazil))
Currently translated at 91.5% (1329 of 1451 strings)

Translation: virt-manager/virt-manager
Translate-URL: https://translate.fedoraproject.org/projects/virt-manager/virt-manager/pt_BR/
2022-08-04 15:07:50 -04:00
Rodrigo Tavares
cd4587844e Translated using Weblate (Portuguese (Brazil))
Currently translated at 91.5% (1329 of 1451 strings)

Translation: virt-manager/virt-manager
Translate-URL: https://translate.fedoraproject.org/projects/virt-manager/virt-manager/pt_BR/
2022-08-04 15:07:50 -04:00
Gustavo Costa
f5d483c7c6 Translated using Weblate (Portuguese (Brazil))
Currently translated at 91.5% (1329 of 1451 strings)

Translation: virt-manager/virt-manager
Translate-URL: https://translate.fedoraproject.org/projects/virt-manager/virt-manager/pt_BR/
2022-08-04 15:07:50 -04:00
Anonymous
1901408c14 Translated using Weblate (Portuguese (Brazil))
Currently translated at 91.5% (1329 of 1451 strings)

Translation: virt-manager/virt-manager
Translate-URL: https://translate.fedoraproject.org/projects/virt-manager/virt-manager/pt_BR/
2022-08-04 15:07:50 -04:00
Anonymous
6172218280 Translated using Weblate (Portuguese)
Currently translated at 67.6% (982 of 1451 strings)

Translation: virt-manager/virt-manager
Translate-URL: https://translate.fedoraproject.org/projects/virt-manager/virt-manager/pt/
2022-08-04 15:07:50 -04:00
Piotr Drąg
d6d1acfa9d Translated using Weblate (Polish)
Currently translated at 100.0% (1451 of 1451 strings)

Translation: virt-manager/virt-manager
Translate-URL: https://translate.fedoraproject.org/projects/virt-manager/virt-manager/pl/
2022-08-04 15:07:50 -04:00
Anonymous
7674cd2989 Translated using Weblate (Polish)
Currently translated at 100.0% (1451 of 1451 strings)

Translation: virt-manager/virt-manager
Translate-URL: https://translate.fedoraproject.org/projects/virt-manager/virt-manager/pl/
2022-08-04 15:07:50 -04:00
Anonymous
c1ef4d889b Translated using Weblate (Punjabi)
Currently translated at 45.7% (664 of 1451 strings)

Translation: virt-manager/virt-manager
Translate-URL: https://translate.fedoraproject.org/projects/virt-manager/virt-manager/pa/
2022-08-04 15:07:50 -04:00
Anonymous
05ba21c2a8 Translated using Weblate (Odia)
Currently translated at 40.5% (588 of 1451 strings)

Translation: virt-manager/virt-manager
Translate-URL: https://translate.fedoraproject.org/projects/virt-manager/virt-manager/or/
2022-08-04 15:07:50 -04:00
Geert Warrink
312cf4bbdd Translated using Weblate (Dutch)
Currently translated at 47.8% (694 of 1451 strings)

Translation: virt-manager/virt-manager
Translate-URL: https://translate.fedoraproject.org/projects/virt-manager/virt-manager/nl/
2022-08-04 15:07:50 -04:00
Anonymous
098acb65ab Translated using Weblate (Dutch)
Currently translated at 47.8% (694 of 1451 strings)

Translation: virt-manager/virt-manager
Translate-URL: https://translate.fedoraproject.org/projects/virt-manager/virt-manager/nl/
2022-08-04 15:07:50 -04:00
Anonymous
293d5c760e Translated using Weblate (Norwegian Bokmål)
Currently translated at 3.0% (44 of 1451 strings)

Translation: virt-manager/virt-manager
Translate-URL: https://translate.fedoraproject.org/projects/virt-manager/virt-manager/nb_NO/
2022-08-04 15:07:50 -04:00
Anonymous
346a819356 Translated using Weblate (Malay)
Currently translated at 1.4% (21 of 1451 strings)

Translation: virt-manager/virt-manager
Translate-URL: https://translate.fedoraproject.org/projects/virt-manager/virt-manager/ms/
2022-08-04 15:07:50 -04:00
Anonymous
3571f11193 Translated using Weblate (Marathi)
Currently translated at 56.5% (820 of 1451 strings)

Translation: virt-manager/virt-manager
Translate-URL: https://translate.fedoraproject.org/projects/virt-manager/virt-manager/mr/
2022-08-04 15:07:50 -04:00
Anonymous
c5a94b4681 Translated using Weblate (Malayalam)
Currently translated at 51.8% (752 of 1451 strings)

Translation: virt-manager/virt-manager
Translate-URL: https://translate.fedoraproject.org/projects/virt-manager/virt-manager/ml/
2022-08-04 15:07:50 -04:00
Seungyeon Choi
0a749ce1c3 Translated using Weblate (Korean)
Currently translated at 100.0% (1451 of 1451 strings)

Translation: virt-manager/virt-manager
Translate-URL: https://translate.fedoraproject.org/projects/virt-manager/virt-manager/ko/
2022-08-04 15:07:50 -04:00
Anonymous
540e189885 Translated using Weblate (Korean)
Currently translated at 100.0% (1451 of 1451 strings)

Translation: virt-manager/virt-manager
Translate-URL: https://translate.fedoraproject.org/projects/virt-manager/virt-manager/ko/
2022-08-04 15:07:49 -04:00
Kim InSoo
17169b1681 Translated using Weblate (Korean)
Currently translated at 100.0% (1451 of 1451 strings)

Translation: virt-manager/virt-manager
Translate-URL: https://translate.fedoraproject.org/projects/virt-manager/virt-manager/ko/
2022-08-04 15:07:49 -04:00
Anonymous
a6188adf31 Translated using Weblate (Kannada)
Currently translated at 56.5% (820 of 1451 strings)

Translation: virt-manager/virt-manager
Translate-URL: https://translate.fedoraproject.org/projects/virt-manager/virt-manager/kn/
2022-08-04 15:07:49 -04:00
Anonymous
ef8fe43d30 Translated using Weblate (Japanese)
Currently translated at 96.1% (1395 of 1451 strings)

Translation: virt-manager/virt-manager
Translate-URL: https://translate.fedoraproject.org/projects/virt-manager/virt-manager/ja/
2022-08-04 15:07:49 -04:00
Yasuhiko Kamata
d4e5dbd294 Translated using Weblate (Japanese)
Currently translated at 96.1% (1395 of 1451 strings)

Translation: virt-manager/virt-manager
Translate-URL: https://translate.fedoraproject.org/projects/virt-manager/virt-manager/ja/
2022-08-04 15:07:49 -04:00
Frediano Ziglio
dbcb72aa54 Translated using Weblate (Italian)
Currently translated at 96.0% (1393 of 1451 strings)

Translation: virt-manager/virt-manager
Translate-URL: https://translate.fedoraproject.org/projects/virt-manager/virt-manager/it/
2022-08-04 15:07:49 -04:00
Fabio Tomat
ad733e8aa0 Translated using Weblate (Italian)
Currently translated at 96.0% (1393 of 1451 strings)

Translation: virt-manager/virt-manager
Translate-URL: https://translate.fedoraproject.org/projects/virt-manager/virt-manager/it/
2022-08-04 15:07:49 -04:00
Pino Toscano
eaa9dfb5a6 Translated using Weblate (Italian)
Currently translated at 96.0% (1393 of 1451 strings)

Translation: virt-manager/virt-manager
Translate-URL: https://translate.fedoraproject.org/projects/virt-manager/virt-manager/it/
2022-08-04 15:07:49 -04:00
Anonymous
deb7ac3191 Translated using Weblate (Italian)
Currently translated at 96.0% (1393 of 1451 strings)

Translation: virt-manager/virt-manager
Translate-URL: https://translate.fedoraproject.org/projects/virt-manager/virt-manager/it/
2022-08-04 15:07:49 -04:00
Anonymous
3682d9c212 Translated using Weblate (Icelandic)
Currently translated at 1.0% (15 of 1451 strings)

Translation: virt-manager/virt-manager
Translate-URL: https://translate.fedoraproject.org/projects/virt-manager/virt-manager/is/
2022-08-04 15:07:49 -04:00
Anonymous
b94630e534 Translated using Weblate (Indonesian)
Currently translated at 13.9% (202 of 1451 strings)

Translation: virt-manager/virt-manager
Translate-URL: https://translate.fedoraproject.org/projects/virt-manager/virt-manager/id/
2022-08-04 15:07:49 -04:00
Andika Triwidada
5b3e463ff5 Translated using Weblate (Indonesian)
Currently translated at 13.9% (202 of 1451 strings)

Translation: virt-manager/virt-manager
Translate-URL: https://translate.fedoraproject.org/projects/virt-manager/virt-manager/id/
2022-08-04 15:07:49 -04:00
Kukuh Syafaat
ad3f2fa1a6 Translated using Weblate (Indonesian)
Currently translated at 13.9% (202 of 1451 strings)

Translation: virt-manager/virt-manager
Translate-URL: https://translate.fedoraproject.org/projects/virt-manager/virt-manager/id/
2022-08-04 15:07:49 -04:00
Teknős Ferenc
d2e276474e Translated using Weblate (Hungarian)
Currently translated at 52.9% (768 of 1451 strings)

Translation: virt-manager/virt-manager
Translate-URL: https://translate.fedoraproject.org/projects/virt-manager/virt-manager/hu/
2022-08-04 15:07:49 -04:00
Dankaházi (ifj.) István
0d2ed0ac6d Translated using Weblate (Hungarian)
Currently translated at 52.9% (768 of 1451 strings)

Translation: virt-manager/virt-manager
Translate-URL: https://translate.fedoraproject.org/projects/virt-manager/virt-manager/hu/
2022-08-04 15:07:49 -04:00
Anonymous
1ac2d7a11b Translated using Weblate (Hungarian)
Currently translated at 52.9% (768 of 1451 strings)

Translation: virt-manager/virt-manager
Translate-URL: https://translate.fedoraproject.org/projects/virt-manager/virt-manager/hu/
2022-08-04 15:07:49 -04:00
Anonymous
3266630980 Translated using Weblate (Croatian)
Currently translated at 4.4% (64 of 1451 strings)

Translation: virt-manager/virt-manager
Translate-URL: https://translate.fedoraproject.org/projects/virt-manager/virt-manager/hr/
2022-08-04 15:07:49 -04:00
Anonymous
ac3f2387e5 Translated using Weblate (Hindi)
Currently translated at 38.2% (555 of 1451 strings)

Translation: virt-manager/virt-manager
Translate-URL: https://translate.fedoraproject.org/projects/virt-manager/virt-manager/hi/
2022-08-04 15:07:49 -04:00
Anonymous
02832d6c11 Translated using Weblate (Gujarati)
Currently translated at 54.8% (796 of 1451 strings)

Translation: virt-manager/virt-manager
Translate-URL: https://translate.fedoraproject.org/projects/virt-manager/virt-manager/gu/
2022-08-04 15:07:49 -04:00
Fabio Tomat
aa8e0f5974 Translated using Weblate (Friulian)
Currently translated at 87.5% (1270 of 1451 strings)

Translation: virt-manager/virt-manager
Translate-URL: https://translate.fedoraproject.org/projects/virt-manager/virt-manager/fur/
2022-08-04 15:07:49 -04:00
Anonymous
f16594e32d Translated using Weblate (Friulian)
Currently translated at 87.5% (1270 of 1451 strings)

Translation: virt-manager/virt-manager
Translate-URL: https://translate.fedoraproject.org/projects/virt-manager/virt-manager/fur/
2022-08-04 15:07:49 -04:00
Github Actions
d29ea36d92 Refresh translation .pot template 2022-08-04 15:07:49 -04:00
Cole Robinson
e132cb6fcd tests: test_inject: Drop --debug usage
Otherwise it scrolls output too fast and user doesn't notice the
instructions

Signed-off-by: Cole Robinson <crobinso@redhat.com>
2022-08-04 15:06:17 -04:00
Cole Robinson
5e48307e9d virtinstall: Set VM name earlier so disks are named correctly
We need to change the flow from

  * parse all the strings
  * set capabilities defaults
  * build installer
  * fill in all guest defaults

To

  * parse boot and metadata strings
  * set capabilities defaults
  * build installer
  * set --name default
  * parse all the remaining strings
  * fill in all guest defaults

Because --disk parsing depends on --name for some path generation.
So this fixes --disk names when --name is implicitly specified by
--install or --osinfo

Signed-off-by: Cole Robinson <crobinso@redhat.com>
2022-08-03 12:34:47 -04:00
Cole Robinson
02e6abad48 cli: Break up parse_option_strings
Into run_parser and run_all_parsers. Opencode some of the special
case handling in virtxml

Signed-off-by: Cole Robinson <crobinso@redhat.com>
2022-08-03 12:34:47 -04:00
Cole Robinson
e2dfbf9bd9 virt-xml: Simplify --build-xml parse_option_strings usage
parse_option_strings will do the right thing for us already

Signed-off-by: Cole Robinson <crobinso@redhat.com>
2022-08-03 12:34:47 -04:00
Cole Robinson
bfa37d0065 xmlutil: Take unindent_device_xml from details.py
We will use this in virt-xml soon

Signed-off-by: Cole Robinson <crobinso@redhat.com>
2022-08-03 12:34:47 -04:00
Cole Robinson
d2b346370a virtxml: Remove redundant listify calls
parse_option_strings always returns a list

Signed-off-by: Cole Robinson <crobinso@redhat.com>
2022-08-03 12:34:47 -04:00
Cole Robinson
4ca0d2c29b tests: More trailing newline fixes
The diff_compare rstrip() should never have been added, let's fix
it once and for all but dealing with missing newlines in the diff
helper

Signed-off-by: Cole Robinson <crobinso@redhat.com>
2022-08-03 12:34:47 -04:00
Cole Robinson
effe274a9b tests: test_urls: Update fedora links
Signed-off-by: Cole Robinson <crobinso@redhat.com>
2022-08-03 11:44:25 -04:00
Charles Arnold
424283ad1d launch_security: Use SEV-ES policy=0x07 if host supports it 2022-08-03 08:47:35 -04:00
Lin Ma
2984c13cff cli: Add --iothreads defaultiothread.thread_pool_{min,max}
It allows to set the thread pool size to optimize spawning worker threads
for the default event loop in real time environment. For example:

--iothreads defaultiothread.thread_pool_min=8,\
defaultiothread.thread_pool_max=16

Signed-off-by: Lin Ma <lma@suse.com>
2022-08-02 14:56:09 -04:00
Miro Hrončok
90e13549b4 Fix build with setuptools 61+
+ ./setup.py configure --default-hvs qemu,xen,lxc
    error: Multiple top-level packages discovered in a flat-layout: ['po', 'ui', 'man', 'data', 'virtinst', 'virtManager'].
    To avoid accidental inclusion of unwanted files or directories,
    setuptools will not proceed with this build.
    If you are trying to create a single distribution with multiple packages
    on purpose, you should not rely on automatic discovery.
    Instead, consider the following options:
    1. set up custom discovery (`find` directive with `include` or `exclude`)
    2. use a `src-layout`
    3. explicitly set `py_modules` or `packages` with a list of names
    To find more information, look for "package discovery" on setuptools docs.

Downstream bug report: https://bugzilla.redhat.com/2113754
2022-08-02 12:05:39 -04:00
Lin Ma
0d84bcfbfa cli: Add iothreadids attributes thread_pool_min and thread_pool_max
These two optional attributes allow setting lower and upper boundary for
number of worker threads for given IOThread. For example:

--iothreads iothreads=2,\
iothreadids.iothread0.id=1,\
iothreadids.iothread1.id=2,\
iothreadids.iothread1.thread_pool_min=8,\
iothreadids.iothread1.thread_pool_max=16

Signed-off-by: Lin Ma <lma@suse.com>
2022-08-01 11:32:23 -04:00
Cole Robinson
58ffe7fa7a tests: uitests: livetests: Fix LXC domain cleanup
Signed-off-by: Cole Robinson <crobinso@redhat.com>
2022-08-01 10:38:01 -04:00
Lin Ma
b8a77805b0 domain: cpu: Clear 'migratable' when changing to custom cpu
Otherwise going host-passthrough -> custom can cause libvirt validation
error due to libvirt fills the default value(migratable='on') for the
host-passthrough in domain XML.

Signed-off-by: Lin Ma <lma@suse.com>
2022-08-01 10:11:43 -04:00
Feng Jiang
cf2c28ada1 ui: Fix too wide lables
When some lables have too much content, they will become very wide,
causing the window to widen.

Signed-off-by: Feng Jiang <jiangfeng@kylinos.cn>
2022-08-01 10:10:41 -04:00
Cole Robinson
e7c936f16e vmwindow: Customize window should not be 'deletable'
This forces the user to use the 'Cancel' button, which gives a warning
about the install being aborted

Resolves: https://github.com/virt-manager/virt-manager/issues/416

Signed-off-by: Cole Robinson <crobinso@redhat.com>
2022-08-01 09:44:48 -04:00
Cole Robinson
6287760ed0 tests: Fix memdev uuid testing with libvirt.git
Signed-off-by: Cole Robinson <crobinso@redhat.com>
2022-08-01 06:46:41 -04:00
Cole Robinson
35871fe96b capabilities: Remove noisy alias debugging
our debugging output is not this fine grained, so this crowds out
more interesting messages

Signed-off-by: Cole Robinson <crobinso@redhat.com>
2022-08-01 06:04:48 -04:00
Cole Robinson
8079c421bd connection: De-duplicate ui and cli version logging
Remove the open coded version logging in cli.py and virt-manager
connection.py, and move it into virtinst connection open

Signed-off-by: Cole Robinson <crobinso@redhat.com>
2022-08-01 06:04:48 -04:00
Cole Robinson
aeffa4f711 guest: Check coverage for more of domcaps caching
Signed-off-by: Cole Robinson <crobinso@redhat.com>
2022-07-27 18:07:05 -04:00
Daniel P. Berrangé
92ba8e5d35 virtinst: log libvirt version numbers after connecting
The various version numbers reported by libvirt are all relevant pieces
of information when debugging problem reports.

Signed-off-by: Daniel P. Berrangé <berrange@redhat.com>
2022-07-27 17:53:14 -04:00
Daniel P. Berrangé
01ff867f56 virtinst: include the version number in first log message
Knowledge of the version number is not always available from the user
bug report. They may merely have a log file from an automated system.
Including the version number in the log message is key information.

Signed-off-by: Daniel P. Berrangé <berrange@redhat.com>
2022-07-27 17:53:14 -04:00
Daniel P. Berrangé
b5e8e58d74 virtinst: include host capbilities in debug log
This is critical information when debugging many user problems.

Signed-off-by: Daniel P. Berrangé <berrange@redhat.com>
2022-07-27 17:53:14 -04:00
Daniel P. Berrangé
fec5fd84a7 virtinst: include domain capbilities in debug log
This is critical information when debugging many user problems.

Signed-off-by: Daniel P. Berrangé <berrange@redhat.com>
2022-07-27 17:53:14 -04:00
Daniel P. Berrangé
05fcc7410e virtinst: fix caching of domain capabilities
The domain capabilities XML always contains the canonical machine name.
When the selected machine type for a guest is an alias, the check
comparing it to the domain capabilities machine will always fail. This
prevents the domain capabilities result from being cached.

Signed-off-by: Daniel P. Berrangé <berrange@redhat.com>
2022-07-27 17:53:14 -04:00
Cole Robinson
a4a5c1529a tests: Fix with latest libvirt
Signed-off-by: Cole Robinson <crobinso@redhat.com>
2022-07-27 17:51:21 -04:00
Cole Robinson
7ae10b5566 cli: Add --serial source.tls=on|off
Signed-off-by: Cole Robinson <crobinso@redhat.com>
2022-06-20 18:06:40 -04:00
Cole Robinson
137cfdc347 cli: Add --serial source.channel
Signed-off-by: Cole Robinson <crobinso@redhat.com>
2022-06-20 18:03:55 -04:00
Cole Robinson
d0e6213643 cli: Add --memorybacking allocation.threads
Signed-off-by: Cole Robinson <crobinso@redhat.com>
2022-06-20 17:54:50 -04:00
Cole Robinson
d51541e155 Fix UI rename with firmware='efi'
Our code to duplicate nvram wasn't expecting the XML to be devoid
of an nvram path.

Resolves: https://github.com/virt-manager/virt-manager/issues/372

Signed-off-by: Cole Robinson <crobinso@redhat.com>
2022-06-20 09:37:26 -04:00
Cole Robinson
9da917b8ac connection: Add get_libvirt_data_root_dir()
Signed-off-by: Cole Robinson <crobinso@redhat.com>
2022-06-20 09:10:59 -04:00
Cole Robinson
280c30736f tests: Fix test skipping with old osinfo-db
Signed-off-by: Cole Robinson <crobinso@redhat.com>
2022-06-18 17:42:44 -04:00
Cole Robinson
48f66f27fd domcaps: armv7l doesn't support tpm-tis
Libvirt domcaps can advertise armv7l support for tpm-tis, even though
it will explicitly reject that config:

https://gitlab.com/libvirt/libvirt/-/issues/329

Work around that in domcaps. Without this, UEFI arm32 VMs generate
default configs that libvirt will reject

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

Signed-off-by: Cole Robinson <crobinso@redhat.com>
2022-06-17 13:09:39 -04:00
Ryan Schmidt
49c2e046a1 Install before updating cache & compiling schemas
Closes #400
2022-06-13 15:18:19 -04:00
Cole Robinson
3db783dab2 tests: caps: Update with newer amd sev caps
Signed-off-by: Cole Robinson <crobinso@redhat.com>
2022-06-13 14:32:02 -04:00
Cole Robinson
686603eabe tests: Add an explicit test for old host-model default
when caps does not report that libvirt is new enough to default
to host-passthrough

Signed-off-by: Cole Robinson <crobinso@redhat.com>
2022-06-13 14:29:18 -04:00
Cole Robinson
eb613283d5 Update mailmap
Signed-off-by: Cole Robinson <crobinso@redhat.com>
2022-06-13 13:49:54 -04:00
Cole Robinson
64dfb6c595 details: Go back to old Channel naming format
The new format is too long and wordy IMO. It was added to handle
qemu-vdagent ambiguity, since without it we would print the same string
for spicevmc and qemu-vgagent channel. Let's just special case
qemu-vdagent to solve that problem

Signed-off-by: Cole Robinson <crobinso@redhat.com>
2022-06-13 13:49:08 -04:00
Cole Robinson
bfe17ce627 osdict: Fix test coverage with latest libosinfo
Signed-off-by: Cole Robinson <crobinso@redhat.com>
2022-06-13 13:49:08 -04:00
Jonathon Jongsma
caa99a6001 virt-manager: add support for qemu-vdagent channel
This provides the UI support for the qemu-vdagent channel which allows
 clipboard sharing with VNC graphics (see previous commit for more
 information).

 The channel name in the device list was changed slightly in order to
 avoid confusion. Due to the fact that both the spice-vdagent and the
 qemu-vdagent specify the same virtio name (com.redhat.spice.0), both of
 these channels were showing up in the device list as "Channel spice",
 which is a bit confusing.

 In order to disambiguate these, channels now show up in the device list
 as "Channel {type} ({name})" instead of "Channel {name}". So for
 example, a qemu-vdagent channel would show up as:
    Channel Qemu vdagent (spice)
Whereas a spice-vdagent channel would show up as:
    Channel Spice agent (spice)

Signed-off-by: Jonathon Jongsma <jjongsma@redhat.com>
2022-06-13 13:49:08 -04:00
Jonathon Jongsma
44355e5ed0 virt-install: add support for qemu-vdagent channel
This allows support for host/guest clipboard sharing when using vnc
guests (and possibly other graphics types in the future). This channel
is similar to the spicevmc channel, but it contains a couple additional
options to enable/disable clipboard sharing and specify the mouse mode.
In the case of spice, these settings are specified on the 'graphics'
element, but for qemu-vdagent, they are specified on the channel. For
example:

   --channel=qemu-vdagent,source.clipboard.copypaste=on,source.mouse.mode=client

Signed-off-by: Jonathon Jongsma <jjongsma@redhat.com>
2022-06-13 13:49:08 -04:00
Cole Robinson
0533bb8189 tests: Fix with latest osinfo-db
linux2020 is now reporting virtio-gpu support, adjust output and
add a compat check

Signed-off-by: Cole Robinson <crobinso@redhat.com>
2022-06-13 13:20:01 -04:00
Cole Robinson
34662fecc9 tests: Fix with latest argcomplete
Signed-off-by: Cole Robinson <crobinso@redhat.com>
2022-06-13 13:20:01 -04:00
Cole Robinson
ddead32287 virtmanager: Remove executable bit
rpmbuild complains about it

Signed-off-by: Cole Robinson <crobinso@redhat.com>
2022-04-13 08:36:05 -04:00
Martin Kletzander
a62e3df72f Add support for URL query with disks
Signed-off-by: Martin Kletzander <mkletzan@redhat.com>
2022-04-13 08:35:50 -04:00
Cole Robinson
9ac94ef739 tests: Fix another sgio=filtered case
Signed-off-by: Cole Robinson <crobinso@redhat.com>
2022-04-13 08:35:50 -04:00
Peter Alfredsen
46dc061630 setup: add bits for setuptools-61
Quoting https://github.com/pypa/setuptools/issues/3227
"Setuptools >= 61, intentionally changes the way packages are built in the
 sensec that it will try to find files and fail if something is weird.

 Empty packages (like this one), are asked to explicitly add packages=[]
 to their configuration.

 This intentional change in behaviour is described in
 https://setuptools.pypa.io/en/latest/history.html#v61-0-0."

Bug: https://bugs.gentoo.org/836645
Signed-off-by: Peter Alfredsen <crabbedhaloablution@icloud.com>
2022-04-13 08:35:40 -04:00
Cole Robinson
c61074191d tests: Drop usage of sgio=unfiltered
libvirt 8.1.0+ rejects it, so it breaks the testsuite

Fixes: #382

Signed-off-by: Cole Robinson <crobinso@redhat.com>
2022-04-13 07:00:37 -04:00
Cole Robinson
d12be94f40 DESIGN.md: disk serial is back, but disk detect zeroes is gone
Signed-off-by: Cole Robinson <crobinso@redhat.com>
2022-03-09 13:30:16 -05:00
457 changed files with 115667 additions and 59520 deletions

3
.codespellrc Normal file
View File

@ -0,0 +1,3 @@
[codespell]
ignore-words = tests/data/codespell_dict.txt
skip = *.pyc,*.iso,*.xml,*/po/*

View File

@ -1,19 +0,0 @@
<!--
If you are using distro provided packages and you have not confirmed
the bug exists in this repo with the latest code, then please file a
bug with your distro instead. Testing the code in this repo is
pretty easy, see CONTRIBUTING.md for details.
If your bug involves connecting to the VM graphical console, please
help us out and run through these debugging steps to help narrow
down where the issue may be:
https://github.com/virt-manager/virt-manager/wiki/Debugging-VM-graphical-display-issues
If you are requesting a feature or UI change, please read DESIGN.md
first, especially the section at the end about previously rejected
features.
Thank you!
-->
**Distro**: <!-- FILL ME IN PLEASE -->

43
.github/ISSUE_TEMPLATE/bug_report.md vendored Normal file
View File

@ -0,0 +1,43 @@
---
name: Bug report
about: Create a report to help us improve
---
<!--
If you are using distro provided packages and you have not confirmed
the bug exists in this repo with the latest code, then please file a
bug with your distro instead. Testing the code in this repo is
pretty easy, see CONTRIBUTING.md for details.
If your bug involves connecting to the VM graphical console, please
help us out and run through these debugging steps to help narrow
down where the issue may be:
https://github.com/virt-manager/virt-manager/wiki/Debugging-VM-graphical-display-issues
Thank you!
-->
**Describe the bug**
A clear and concise description of what the bug is.
**To Reproduce**
Steps to reproduce the behavior:
1. Go to '...'
2. Click on '...'
3. Run command '...'
4. See error
**Expected behavior**
A clear and concise description of what you expected to happen.
**Screenshots**
If applicable, add screenshots to help explain your problem.
**System (please complete the following information):**
- Distribution: [e.g. Fedora 40]
- virt-manager version:
- libvirt version:
**Additional context**
Add any other context about the problem here.

View File

@ -0,0 +1,25 @@
---
name: Feature request
about: Suggest an idea for this project
---
<!--
If you are requesting a feature or UI change, please read DESIGN.md
first, especially the section at the end about previously rejected
features.
Thank you!
-->
**Is your feature request related to a problem? Please describe.**
A clear and concise description of what the problem is. Ex. I'm always frustrated when [...]
**Describe the solution you'd like**
A clear and concise description of what you want to happen.
**Describe alternatives you've considered**
A clear and concise description of any alternative solutions or features you've considered.
**Additional context**
Add any other context or screenshots about the feature request here.

9
.github/dependabot.yml vendored Normal file
View File

@ -0,0 +1,9 @@
version: 2
updates:
- package-ecosystem: "github-actions"
directory: "/"
schedule:
interval: "weekly"
target-branch: "main"
commit-message:
prefix: "ci"

17
.github/workflows/black.yml vendored Normal file
View File

@ -0,0 +1,17 @@
name: Check code formatting with black
on:
pull_request:
workflow_dispatch:
push:
jobs:
black:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: actions/setup-python@v5
- uses: pre-commit/action@v3.0.1
with:
extra_args: black --all-files

View File

@ -1,42 +1,55 @@
name: CI
name: Test on fedora:latest
on: [push, pull_request]
jobs:
# Setup latest Fedora with latest libvirt from virt-preview, build
# the RPM, verify it installs, run test suite, upload coverage
# Test on fedora:latest with stock distro packages
test:
runs-on: ubuntu-latest
container:
image: fedora:latest
steps:
- uses: actions/checkout@v2
- name: Install RPM build deps
- name: Install base RPM packages
run: |
# glibc-langpacks-en needed to work around python locale issues
# git-core needed for codecov/codecov-action
dnf install -y \
git-core \
rpm-build \
dnf-plugins-core \
glibc-langpack-en \
python3-pytest python3-pytest-cov
dnf builddep -y ./virt-manager.spec
- uses: actions/checkout@v4
- name: Install RPM build deps
run: |
dnf install -y \
gettext \
python3-devel \
python3-docutils \
meson
- name: Build RPM and test install
run: |
./setup.py rpm
git config --global --add safe.directory $PWD
meson setup build \
-Dupdate-icon-cache=false \
-Dcompile-schemas=false \
-Dtests=disabled
meson dist -C build
rpmbuild -tb build/meson-dist/virt-manager*.tar.xz
dnf install -y \
noarch/virt-install*.rpm \
noarch/virt-manager-common*.rpm
~/rpmbuild/RPMS/noarch/virt-install*.rpm \
~/rpmbuild/RPMS/noarch/virt-manager-common*.rpm
- name: Run test suite and generate coverage report
run: |
pytest --cov --cov-report=xml
- name: Upload coverage to Codecov
uses: codecov/codecov-action@v1
uses: codecov/codecov-action@v5
with:
file: ./coverage.xml
flags: unittests
token: ${{ secrets.CODECOV_TOKEN }}

14
.github/workflows/codespell.yml vendored Normal file
View File

@ -0,0 +1,14 @@
name: Scan with codespell
on:
pull_request:
workflow_dispatch:
jobs:
codespell:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: codespell-project/actions-codespell@v2

View File

@ -0,0 +1,63 @@
name: Test against libvirt.git
on:
# Run every 3 days at midnight
schedule:
- cron: '0 0 */3 * *'
jobs:
test-against-libvirt-git:
# Only run this if on the main 'virt-manager/virt-manager' repo, not forks
if: "contains(github.repository, 'virt-manager/virt-manager')"
runs-on: ubuntu-latest
container:
image: fedora:latest
steps:
- name: Install RPM build and libvirt deps
run: |
# glibc-langpacks-en needed to work around python locale issues
dnf install -y \
rpm-build \
dnf-plugins-core \
glibc-langpack-en \
python3-pytest \
python3-pytest-error-for-skips
dnf install -y \
gettext \
python3-devel \
python3-docutils \
meson
dnf builddep -y libvirt
- uses: actions/checkout@v4
- name: Build RPM and test install
run: |
git config --global --add safe.directory $PWD
meson setup build \
-Dupdate-icon-cache=false \
-Dcompile-schemas=false \
-Dtests=disabled
meson dist -C build
rpmbuild -tb build/meson-dist/virt-manager*.tar.xz
dnf install -y \
~/rpmbuild/RPMS/noarch/virt-install*.rpm \
~/rpmbuild/RPMS/noarch/virt-manager-common*.rpm
- name: checkout and build libvirt
run: |
git clone --depth=1 https://gitlab.com/libvirt/libvirt
cd libvirt
meson build
ninja -C build
cd ..
- name: Run test suite
run: |
# Treat any `skips` as `errors`. We should only be
# skipping tests on old libvirt versions
./libvirt/build/run pytest --error-for-skips

View File

@ -8,7 +8,7 @@ on:
jobs:
# This job will run ./setup.py extract_messages on top of git main
# This job will run meson compile -C build virt-manager-pot on top of git main
# and force push that to the 'translations' branch. That branch will
# always have an up to date .pot file for use in weblate
update-translation-pot:
@ -22,9 +22,15 @@ jobs:
steps:
- name: Install deps
run: |
dnf install -y python3-setuptools gettext git diffutils
dnf install -y \
git \
diffutils \
gettext \
python3-devel \
python3-docutils \
meson
- uses: actions/checkout@v2
- uses: actions/checkout@v4
with:
# This fetches full git history. We need that for proper
# branch updating
@ -39,7 +45,11 @@ jobs:
git rebase remotes/origin/translations
cp po/virt-manager.pot old.pot
./setup.py extract_messages
meson setup build \
-Dupdate-icon-cache=false \
-Dcompile-schemas=false \
-Dtests=disabled
meson compile -C build virt-manager-pot
ec=0
diff -q -I 'POT-Creation-Date' old.pot po/virt-manager.pot || ec=$?
case "${ec}" in

10
.gitignore vendored
View File

@ -3,17 +3,9 @@
*.gmo
/build
/dist
/.coverage
/MANIFEST
/data/gschemas.compiled
/man/virt-manager.1
/man/virt-install.1
/man/virt-clone.1
/man/virt-xml.1
/virt-manager.spec
/virtinst/build.cfg
/coverage.xml

View File

@ -1,4 +0,0 @@
[gitpublishprofile "default"]
base = main
to = virt-tools-list@redhat.com
prefix = virt-manager PATCH

View File

@ -1,9 +1,15 @@
Alexander Todorov <alexx@redbull.brq.redhat.com>
Cole Robinson <root@crobinso1.boston.redhat.com>
Daniel P. Berrange <berrange@roquette.boston.redhat.com>
Daniel P. Berrange <berrange@dhcp-4-245.virt.boston.redhat.com>
Daniel P. Berrange <berrange@dhcp-5-251.virt.boston.redhat.com>
Daniel P. Berrange <berrange@localhost.localdomain>
Guido Günther <agx@sigxcpu.org>
Hugh O. Brock <hbrock@puck.indigologic.com>
Athina Plaskasoviti <athina.plaskasoviti@gmail.com>
Daniel P. Berrangé <berrange@redhat.com>
Chen Hanxiao <chenhanxiao@cn.fujitsu.com>
Guido Günther <agx@sigxcpu.org>
Radostin Stoyanov <rstoyanov1@gmail.com>
Alexander Todorov <atodorov@redhat.com> <alexx@redbull.brq.redhat.com>
Cole Robinson <crobinso@redhat.com> <root@crobinso1.boston.redhat.com>
Daniel P. Berrangé <berrange@redhat.com> <berrange@localhost.localdomain>
Daniel P. Berrangé <berrange@redhat.com> <berrange@roquette.boston.redhat.com>
Daniel P. Berrangé <berrange@redhat.com> <berrange@dhcp-5-251.virt.boston.redhat.com>
Daniel P. Berrangé <berrange@redhat.com> <berrange@dhcp-4-245.virt.boston.redhat.com>
Daniel P. Berrangé <berrange@redhat.com> <dan@berrange.com>
Hugh Brock <hbrock@redhat.com> <hbrock@puck.indigologic.com>

25
.packit.yaml Normal file
View File

@ -0,0 +1,25 @@
# See the documentation for more information:
# https://packit.dev/docs/configuration/
upstream_package_name: virt-manager
downstream_package_name: virt-manager
specfile_path: build/virt-manager.spec
srpm_build_deps:
- gettext
- python3-devel
- python3-docutils
- meson
actions:
post-upstream-clone:
- meson setup build -Dupdate-icon-cache=false -Dcompile-schemas=false -Dtests=disabled
jobs:
- job: copr_build
# Run on every PR
trigger: pull_request
# Defaults to x86_64 unless architecture is explicitly specified
targets:
- fedora-all

10
.pre-commit-config.yaml Normal file
View File

@ -0,0 +1,10 @@
repos:
- repo: https://github.com/pre-commit/pre-commit-hooks
rev: v5.0.0
hooks:
- id: check-yaml
- repo: https://github.com/psf/black
rev: 25.1.0
hooks:
- id: black

View File

@ -3,7 +3,7 @@
# can either give multiple identifier separated by comma (,) or put this option
# multiple time (only on the command line, not in the configuration file where
# it should appear only once).
disable=Design,Similarities,invalid-name,missing-docstring,line-too-long,too-many-lines,superfluous-parens,bad-whitespace,locally-disabled,no-self-use,unnecessary-lambda,star-args,fixme,global-statement,bare-except,anomalous-backslash-in-string,broad-except,cyclic-import,bad-continuation,locally-enabled,unidiomatic-typecheck,redefined-variable-type,bad-option-value,wrong-import-position,consider-using-ternary,no-else-return,len-as-condition,inconsistent-return-statements,useless-object-inheritance,consider-using-in,useless-return,assignment-from-none,chained-comparison,import-outside-toplevel,use-a-generator,consider-using-with,consider-using-f-string,unspecified-encoding,use-maxsplit-arg
disable=Design,Similarities,invalid-name,missing-docstring,line-too-long,too-many-lines,superfluous-parens,bad-whitespace,locally-disabled,no-self-use,unnecessary-lambda,star-args,fixme,global-statement,bare-except,anomalous-backslash-in-string,broad-except,cyclic-import,bad-continuation,locally-enabled,unidiomatic-typecheck,redefined-variable-type,bad-option-value,wrong-import-position,consider-using-ternary,no-else-return,len-as-condition,inconsistent-return-statements,useless-object-inheritance,consider-using-in,useless-return,assignment-from-none,chained-comparison,import-outside-toplevel,use-a-generator,consider-using-with,consider-using-f-string,unspecified-encoding,use-maxsplit-arg,possibly-used-before-assignment
enable=fixme

View File

@ -34,8 +34,7 @@ it by running the latest code using the steps above.
The following commands will be useful for anyone writing patches:
```sh
pytest # Run local unit test suite
./setup.py pylint # Run pylint/pycodestyle checking
meson test -C build
```
Any patches shouldn't change the output of 'pytest' or 'pylint'. Depending
@ -43,8 +42,9 @@ on what version of libvirt or pylint is installed, you may see some
pre-existing errors from these commands. The important thing is that
any changes you make do not add additional errors.
The 'pylint' command requires [`pylint`](https://github.com/PyCQA/pylint)
and [`pycodestyle`](https://github.com/pycqa/pycodestyle) to be installed.
The 'test' command requires [`pylint`](https://github.com/PyCQA/pylint),
[`pycodestyle`](https://github.com/pycqa/pycodestyle) and
['pytest'](https://github.com/pytest-dev/pytest/) to be installed.
If [`codespell`](https://github.com/codespell-project/codespell) is installed,
it will be invoked as well.
@ -79,12 +79,7 @@ UI. See the files in the ui/ directory.
## Submitting patches
The [virt-manager git repo](https://github.com/virt-manager/virt-manager)
is hosted on github. Small patches are acceptable via github pull-request,
but anything non-trivial should be sent to the
[virt-tools-list mailing list](https://www.redhat.com/mailman/listinfo/virt-tools-list).
Sending patches using `git send-email` is preferred, but `git format-patch`
output attached to an email is also fine.
is hosted on github. All patches should be submitted there.
## UI design
@ -110,7 +105,10 @@ Translations are handled through the Weblate instance hosted by the Fedora Proje
* https://translate.fedoraproject.org/projects/virt-manager/virt-manager/
* More info about translating as part of Fedora: https://fedoraproject.org/wiki/L10N/Translate_on_Weblate
* The up to date translation `.pot` template is stored in the [`translations` branch](https://github.com/virt-manager/virt-manager/tree/translations) and synced with the `main` branch before release.
* The up to date translation `.pot` template is stored in the `main` branch
* Translations are submitted by Weblate as pull requests, usually merged to the
`main` branch before release and whenever needed (e.g. before updating the
`.pot` template)
## Advanced testing

View File

@ -82,8 +82,8 @@ Some examples:
* VM properties
* [disk driver io=threads|native](https://github.com/virt-manager/virt-manager/commit/a162a3b845eee24f66baf63b3aeb82523b274b0d)
* [disk serial](https://github.com/virt-manager/virt-manager/commit/106686758346c7f7f0f25ce2a29e36fa6dff0547)
* [disk scsi reservations](https://github.com/virt-manager/virt-manager/commit/b583ea7e66cd0b7117971cf55365355f78dd3670)
* [disk detect_zeroes](https://github.com/virt-manager/virt-manager/commit/8377b7f7b69ed0716fbe2c2818979a273bcb7567)
* [graphics spice TLS port](https://github.com/virt-manager/virt-manager/commit/bd82ef65292cc47cffc27b8f67d7987679c61bf3)
* [graphics keymap selection](https://github.com/virt-manager/virt-manager/commit/7251ea25c2936b69284366abc787f1b33c199b15)
* [network virtualport](https://github.com/virt-manager/virt-manager/commit/b4b497e28f3f3e32a05f4cf78c21f07022ee824b)

View File

@ -11,24 +11,14 @@ For more details on that, see [CONTRIBUTING.md](CONTRIBUTING.md)
To install the software into `/usr/local` (usually), you can do:
```sh
./setup.py install
meson setup build
meson install -C build
```
To build an RPM, you can run:
```sh
./setup.py rpm
```
`setup.py` generally has all the build and install commands, for more info see:
- `./setup.py --help-commands`
- `./setup.py install --help`
- [Python Standard Build and Install](https://docs.python.org/3/install/#standard-build-and-install)
## Pre-requisite software
A detailed dependency list can be found in [virt-manager.spec](virt-manager.spec) file.
A detailed dependency list can be found in [virt-manager.spec.in](virt-manager.spec.in) file.
Minimum version requirements of major components:

View File

@ -1,14 +0,0 @@
# to be included/excluded from the tarball produced by sdist
include COPYING CONTRIBUTING.md DESIGN.md INSTALL.md NEWS.md README.md
include MANIFEST.in
include setup.py
include virt-*
recursive-include data *
exclude data/gschemas.compiled
recursive-include man *
recursive-include po *
recursive-include tests *
recursive-include ui *
recursive-include virtManager *
recursive-include virtinst *
global-exclude *.pyc

38
NEWS.md
View File

@ -1,5 +1,41 @@
# Virtual Machine Manager News
## Release 5.0.0 (November 26, 2024)
- virt-clone: colne serial files (Oleg Vasilev)
- virt-clone: Copy disk permissions as well (Martin Kletzander)
- virt-install: Add properties for AMD SEV-SNP (Daniel P. Berrangé)
- virt-install: Add passt backend for user network interface
- virt-install: Add support for --sound multichannel,stream (Lin Ma)
- virt-install: Add support for --tpm backend.debug,backend.source (Lin Ma)
- virt-xml: add --edit --convert-to-q35
- virt-xml: add --edit --convert-to-vnc
- virt-xml: Add --edit --boot uefi
- virt-manager: Fix opening graphical console with egl-headless (Feng Jiang)
- virt-manager: Add support to create external snapshots
- virt-manager: Default to scaling=Always for consoles
- virt-manager: switch to not forking by default
- cli: Add more --disk options (Lin Ma)
- cli: Add --memdev target.address_base for virtio-mem and virtio-pmem (Lin Ma)
- cli: Add --features kvm.pv-ipi.state=on|off (Lin Ma)
- cli: Add --video model.blob=on|off (Lin Ma)
- Add missing Hyper-V features and enable most of them by default
- Add loongarch support (Xianglai Li)
- Add support for hvf domain type (Mohamed Akram)
- Support creating sparse volumes on ZFS pools (Iain Buclaw)
- UEFI improvements for riscv64 and loongarch64 VMs (Andrea Bolognani)
- Add graphics to riscv64 and aarch64
- build: switch from setuptools to meson
- diskbackend: Drop support for sheepdog (Lin Ma)
- cli: Deprecate --cpu host in favor of --cpu host-model (Andrea Bolognani)
## Release 4.1.0 (August 04, 2022)
- Fix build with setuptools-61 (Peter Alfredsen, Miro Hrončok)
- add UI and cli support for qemu-vdagent channel (Jonathon Jongsma)
- cli: More --iothreads suboptions (Lin Ma)
- launch_security: Use SEV-ES policy=0x07 if host supports it (Charles
Arnold)
- cli: Add support for URL query with disks (Martin Kletzander)
## Release 4.0.0 (March 02, 2022)
- virt-install --os-variant/--osinfo is now a hard requirement for most
cases
@ -9,7 +45,7 @@
- Fill in all --cputune, --cpu, --shmem, --input, and --boot suboptions
(Hugues Fafard)
- virt-* mdev improvements (Shalini Chellathurai Saroja)
- bhyve improvments (Roman Bogorodskiy)
- bhyve improvements (Roman Bogorodskiy)
- Revive network portgroup UI
- enable a TPM by default when UEFI is used (Daniel P. Berrangé)
- Use cpu host-passthrough by default on qemu x86

View File

@ -21,9 +21,6 @@ code from a git checkout, you can launch any of the commands like:
## Contact
- Discussions and big patch series should go to the
[virt-tools-list](https://www.redhat.com/mailman/listinfo/virt-tools-list)
mailing list.
- For IRC we use #virt on OFTC.
- For bug reporting info, see
[virt-manager bug reporting](https://virt-manager.org/bugs).

View File

@ -32,4 +32,4 @@ _python_argcomplete() {
compopt -o nospace
fi
}
complete -o nospace -o default -F _python_argcomplete ::SCRIPTNAME::
complete -o nospace -o default -F _python_argcomplete @SCRIPTNAME@

View File

@ -0,0 +1,8 @@
icons = files(
'icon_console.png',
'vm_new.png',
)
foreach icon : icons
install_icons += {'file': icon, 'size': '16x16', 'cat': 'actions'}
endforeach

View File

@ -0,0 +1,7 @@
icons = files(
'virt-manager.png'
)
foreach icon : icons
install_icons += {'file': icon, 'size': '16x16', 'cat': 'apps'}
endforeach

View File

@ -0,0 +1,2 @@
subdir('actions')
subdir('apps')

View File

@ -0,0 +1,9 @@
icons = files(
'icon_console.png',
'icon_details.png',
'vm_new.png',
)
foreach icon : icons
install_icons += {'file': icon, 'size': '22x22', 'cat': 'actions'}
endforeach

View File

@ -0,0 +1,7 @@
icons = files(
'virt-manager.png'
)
foreach icon : icons
install_icons += {'file': icon, 'size': '22x22', 'cat': 'apps'}
endforeach

View File

@ -0,0 +1,11 @@
icons = files(
'device_cpu.png',
'device_mem.png',
'device_pci.png',
'device_serial.png',
'device_usb.png',
)
foreach icon : icons
install_icons += {'file': icon, 'size': '22x22', 'cat': 'devices'}
endforeach

View File

@ -0,0 +1,4 @@
subdir('actions')
subdir('apps')
subdir('devices')
subdir('status')

View File

@ -0,0 +1,9 @@
icons = files(
'state_paused.png',
'state_running.png',
'state_shutoff.png',
)
foreach icon : icons
install_icons += {'file': icon, 'size': '22x22', 'cat': 'status'}
endforeach

View File

@ -0,0 +1,9 @@
icons = files(
'icon_console.png',
'vm_clone_wizard.png',
'vm_new.png',
)
foreach icon : icons
install_icons += {'file': icon, 'size': '24x24', 'cat': 'actions'}
endforeach

View File

@ -0,0 +1,7 @@
icons = files(
'virt-manager.png'
)
foreach icon : icons
install_icons += {'file': icon, 'size': '24x24', 'cat': 'apps'}
endforeach

View File

@ -0,0 +1,2 @@
subdir('actions')
subdir('apps')

View File

@ -0,0 +1,7 @@
icons = files(
'virt-manager.png'
)
foreach icon : icons
install_icons += {'file': icon, 'size': '256x256', 'cat': 'apps'}
endforeach

View File

@ -0,0 +1 @@
subdir('apps')

View File

@ -0,0 +1,8 @@
icons = files(
'icon_console.png',
'vm_new.png',
)
foreach icon : icons
install_icons += {'file': icon, 'size': '32x32', 'cat': 'actions'}
endforeach

View File

@ -0,0 +1,7 @@
icons = files(
'virt-manager.png'
)
foreach icon : icons
install_icons += {'file': icon, 'size': '32x32', 'cat': 'apps'}
endforeach

View File

@ -0,0 +1,3 @@
subdir('actions')
subdir('apps')
subdir('status')

View File

@ -0,0 +1,9 @@
icons = files(
'state_paused.png',
'state_running.png',
'state_shutoff.png',
)
foreach icon : icons
install_icons += {'file': icon, 'size': '32x32', 'cat': 'status'}
endforeach

View File

@ -0,0 +1,10 @@
icons = files(
'vm_clone_wizard.png',
'vm_delete_wizard.png',
'vm_import_wizard.png',
'vm_new_wizard.png',
)
foreach icon : icons
install_icons += {'file': icon, 'size': '48x48', 'cat': 'actions'}
endforeach

View File

@ -0,0 +1,7 @@
icons = files(
'virt-manager.png'
)
foreach icon : icons
install_icons += {'file': icon, 'size': '48x48', 'cat': 'apps'}
endforeach

View File

@ -0,0 +1,2 @@
subdir('actions')
subdir('apps')

20
data/icons/meson.build Normal file
View File

@ -0,0 +1,20 @@
install_icons = []
subdir('16x16')
subdir('22x22')
subdir('24x24')
subdir('32x32')
subdir('48x48')
subdir('256x256')
foreach icon : install_icons
if icon['cat'] == 'apps'
icon_dir = datadir / 'icons' / 'hicolor' / icon['size'] / 'apps'
else
icon_dir = pkgdir / 'icons' / 'hicolor' / icon['size'] / icon['cat']
endif
install_data(
icon['file'],
install_dir: icon_dir,
)
endforeach

25
data/meson.build Normal file
View File

@ -0,0 +1,25 @@
fs = import('fs')
desktop_file = files('virt-manager.desktop.in')
appdata_file = files('virt-manager.appdata.xml.in')
install_data(
'org.virt-manager.virt-manager.gschema.xml',
install_dir: datadir / 'glib-2.0' / 'schemas',
)
bash_completion_template = files('bash-completion.sh.in')
foreach script: ['virt-install', 'virt-clone', 'virt-xml']
name = fs.name(script)
configure_file(
input: bash_completion_template,
output: name,
configuration: {'SCRIPTNAME': name},
install: true,
install_dir: datadir / 'bash-completion' / 'completions',
)
endforeach
subdir('icons')

View File

@ -206,7 +206,7 @@
<schema id="org.virt-manager.virt-manager.console"
path="/org/virt-manager/virt-manager/console/">
<key name="scaling" type="i">
<default>1</default>
<default>2</default>
<summary>When to scale the VM graphical console</summary>
<description>When to scale the VM graphical console. 0 = never, 1 = only when in full screen mode, 2 = Always</description>
</key>

View File

@ -31,7 +31,6 @@
<url type="homepage">https://www.virt-manager.org/</url>
<url type="bugtracker">https://github.com/virt-manager/virt-manager/issues/new/choose</url>
<url type="translate">https://translate.fedoraproject.org/projects/virt-manager/virt-manager/</url>
<update_contact>virt-tools-list@redhat.com</update_contact>
<translation type="gettext">virt-manager</translation>
<keywords>
<keyword>virtualization</keyword>
@ -40,7 +39,10 @@
<keyword>kvm</keyword>
</keywords>
<content_rating type="oars-1.1"/>
<launchable type="desktop-id">virt-manager.desktop</launchable>
<releases>
<release version="5.0.0" date="2024-11-26"/>
<release version="4.1.0" date="2022-08-04"/>
<release version="4.0.0" date="2022-03-02"/>
<release version="3.2.0" date="2020-11-14"/>
<release version="3.1.0" date="2020-09-30"/>

18
man/meson.build Normal file
View File

@ -0,0 +1,18 @@
rst_files = files(
'virt-install.rst',
'virt-clone.rst',
'virt-xml.rst',
'virt-manager.rst',
)
rst2man_prog = find_program(['rst2man', 'rst2man.py'], required: true)
foreach rst_file : rst_files
man_page = custom_target(
input: rst_file,
output: '@BASENAME@.1',
command: [ rst2man_prog, '--strict', '@INPUT@', '@OUTPUT@'],
install: true,
install_dir: datadir / 'man' / 'man1',
)
endforeach

View File

@ -121,15 +121,15 @@ storage options via -file.
``--preserve-data``
No storage is cloned: disk images specific by --file are preserved as is,
No storage is cloned: disk images specified by --file are preserved as is,
and referenced in the new clone XML. This is useful if you want to clone
a VM XML template, but not the storage contents.
``--reflink``
When --reflink is specified, perform a lightweight copy. This is much faster
if source images and destination images are all on the same btrfs filesystem.
If COW copy is not possible, then virt-clone fails.
Perform a lightweight copy. This is much faster if source images and destination
images are all on the same btrfs filesystem. This only works for raw format disk
images, any non-raw images will not attempt to use refink
``-m``, ``--mac`` MAC
@ -144,8 +144,10 @@ storage options via -file.
``--replace``
Shutdown and remove any existing guest with the passed ``--name`` before
cloning the original guest.
Before cloning, try a simple ``virsh destroy`` and ``virsh undefine`` on
any existing VM with the passed ``--name``. If those operations fail (like
when ``virsh undefine`` requires ``--nvram`` flag), the clone will fail
and you will need to manually remove the existing VM.
``-h``, ``--help``

View File

@ -117,7 +117,7 @@ maps to the <memory> element.
To configure memory modules which can be hotunplugged see ``--memdev`` description.
Use --memory=? to see a list of all available sub options.
Complete details at https://libvirt.org/formatdomain.html#elementsMemoryAllocation
Complete details at https://libvirt.org/formatdomain.html#memory-allocation
@ -129,7 +129,7 @@ Complete details at https://libvirt.org/formatdomain.html#elementsMemoryAllocati
This option will influence how virtual memory pages are backed by host pages.
Use --memorybacking=? to see a list of all available sub options.
Complete details at https://libvirt.org/formatdomain.html#elementsMemoryBacking
Complete details at https://libvirt.org/formatdomain.html#memory-backing
@ -163,7 +163,7 @@ Specify metadata values for the guest. Possible options include name, uuid,
title, and description. This option deprecates -u/--uuid and --description.
Use --metadata=? to see a list of all available sub options.
Complete details at https://libvirt.org/formatdomain.html#elementsMetadata
Complete details at https://libvirt.org/formatdomain.html#general-metadata
@ -176,7 +176,7 @@ Specify events values for the guest. Possible options include
on_poweroff, on_reboot, and on_crash.
Use --events=? to see a list of all available sub options.
Complete details at https://libvirt.org/formatdomain.html#elementsEvents
Complete details at https://libvirt.org/formatdomain.html#events-configuration
@ -188,7 +188,7 @@ Complete details at https://libvirt.org/formatdomain.html#elementsEvents
Specify resource partitioning for the guest.
Use --resource=? to see a list of all available sub options.
Complete details at https://libvirt.org/formatdomain.html#resPartition
Complete details at https://libvirt.org/formatdomain.html#resource-partitioning
@ -210,8 +210,10 @@ Configure sysinfo/SMBIOS values exposed to the VM OS. Examples:
Use --sysinfo=? to see a list of all available sub options.
Complete details at https://libvirt.org/formatdomain.html#elementsSysinfo
and https://libvirt.org/formatdomain.html#elementsOSBIOS for ``smbios`` XML element.
Complete details at
https://libvirt.org/formatdomain.html#operating-system-booting and
https://libvirt.org/formatdomain.html#smbios-system-information for ``smbios``
XML element.
@ -294,7 +296,8 @@ Environment variables are specified with 'env', for example:
--qemu-commandline=env=DISPLAY=:0.1
Complete details about the libvirt feature: https://libvirt.org/drvqemu.html#qemucommand
Complete details about the libvirt feature:
https://libvirt.org/drvqemu.html#pass-through-of-arbitrary-qemu-commands
@ -326,7 +329,7 @@ If the value 'auto' is passed, virt-install attempts to automatically determine
an optimal cpu pinning using NUMA data, if available.
Use --vcpus=? to see a list of all available sub options.
Complete details at https://libvirt.org/formatdomain.html#elementsCPUAllocation
Complete details at https://libvirt.org/formatdomain.html#cpu-allocation
@ -349,7 +352,7 @@ as ``--vcpus cpuset=`` option. mode can be one of 'interleave', 'preferred', or
mode.
Use --numatune=? to see a list of all available sub options.
Complete details at https://libvirt.org/formatdomain.html#elementsNUMATuning
Complete details at https://libvirt.org/formatdomain.html#numa-node-tuning
@ -366,7 +369,7 @@ Tune memory policy for the domain process. Example invocations
--memtune hard_limit=100,soft_limit=60,swap_hard_limit=150,min_guarantee=80
Use --memtune=? to see a list of all available sub options.
Complete details at https://libvirt.org/formatdomain.html#elementsMemoryTuning
Complete details at https://libvirt.org/formatdomain.html#memory-tuning
@ -383,7 +386,7 @@ Tune blkio policy for the domain process. Example invocations
--blkiotune weight=100,device.path=/dev/sdc,device.weight=200
Use --blkiotune=? to see a list of all available sub options.
Complete details at https://libvirt.org/formatdomain.html#elementsBlockTuning
Complete details at https://libvirt.org/formatdomain.html#block-i-o-tuning
@ -414,7 +417,7 @@ Some examples:
``--cpu core2duo,+x2apic,disable=vmx``
Expose the core2duo CPU model, force enable x2apic, but do not expose vmx
``--cpu host``
``--cpu host-model``
Expose the host CPUs configuration to the guest. This enables the guest to
take advantage of many of the host CPUs features (better performance), but
may cause issues if migrating the guest to a host without an identical CPU.
@ -435,8 +438,13 @@ Some examples:
``--cpu host-passthrough,cache.mode=passthrough``
Example of passing through the host cpu's cache information.
``--cpu maximum``
Expose the most feature-rich CPU possible. Useful when running a foreign
architecture guest, for example a riscv64 guest on an x86_64 host. Not
recommended when using KVM to run a same-architecture guest.
Use --cpu=? to see a list of all available sub options.
Complete details at https://libvirt.org/formatdomain.html#elementsCPU
Complete details at https://libvirt.org/formatdomain.html#cpu-model-and-topology
@ -455,7 +463,7 @@ Example invocation
--cputune vcpupin0.vcpu=0,vcpupin0.cpuset=0-3,vcpupin1.vcpu=1,vcpupin1.cpuset=4-7
Use --cputune=? to see a list of all available sub options.
Complete details at https://libvirt.org/formatdomain.html#elementsCPUTuning
Complete details at https://libvirt.org/formatdomain.html#cpu-tuning
@ -469,7 +477,7 @@ Configure domain seclabel domain settings. Type can be either 'static' or
LABEL without TYPE implies static configuration.
Use --security=? to see a list of all available sub options.
Complete details at https://libvirt.org/formatdomain.html#seclabel
Complete details at https://libvirt.org/formatdomain.html#security-label
@ -481,7 +489,7 @@ Complete details at https://libvirt.org/formatdomain.html#seclabel
Specify domain <keywrap> XML, used for S390 cryptographic key management operations.
Use --keywrap=? to see a list of all available sub options.
Complete details at https://libvirt.org/formatdomain.html#keywrap
Complete details at https://libvirt.org/formatdomain.html#key-wrap
@ -494,7 +502,7 @@ Specify domain <iothreads> and/or <iothreadids> XML.
For example, to configure ``<iothreads>4</iothreads>``, use ``--iothreads 4``
Use --iothreads=? to see a list of all available sub options.
Complete details at https://libvirt.org/formatdomain.html#elementsIOThreadsAllocation
Complete details at https://libvirt.org/formatdomain.html#iothreads-allocation
@ -529,7 +537,7 @@ apic, eoi, privnet, and hyperv features. Some examples:
type.)
Use --features=? to see a list of all available sub options.
Complete details at https://libvirt.org/formatdomain.html#elementsFeatures
Complete details at https://libvirt.org/formatdomain.html#hypervisor-features
@ -551,7 +559,7 @@ Configure the guest's <clock> XML. Some supported options:
might be catchup, delay, etc. Refer to the libvirt docs for all values.
Use --clock=? to see a list of all available sub options.
Complete details at https://libvirt.org/formatdomain.html#elementsTime
Complete details at https://libvirt.org/formatdomain.html#time-keeping
@ -567,7 +575,7 @@ Configure guest power management features. Example:
--pm suspend_to_memi.enabled=on,suspend_to_disk.enabled=off
Use --pm=? to see a list of all available sub options.
Complete details at https://libvirt.org/formatdomain.html#elementsPowerManagement
Complete details at https://libvirt.org/formatdomain.html#power-management
@ -596,7 +604,7 @@ SEV has further implications on usage of virtio devices, so refer to EXAMPLES
section to see a full invocation of virt-install with --launchSecurity.
Use --launchSecurity=? to see a list of all available sub options. Complete
details at https://libvirt.org/formatdomain.html#launchSecurity
details at https://libvirt.org/formatdomain.html#launch-security
@ -929,6 +937,8 @@ Some examples:
``--boot cdrom,fd,hd,network``
Set the boot device priority as first cdrom, first floppy, first harddisk,
network PXE boot.
Note: s390x guests only support one boot device, so everything except
the first device type will be ignored.
``--boot kernel=KERNEL,initrd=INITRD,kernel_args="console=/dev/ttyS0"``
Have guest permanently boot off a local kernel/initrd pair, with the
@ -951,22 +961,39 @@ Some examples:
has been specified, virt-install will default to /sbin/init, otherwise
will default to /bin/sh.
``--boot uefi``
``--boot uefi``, ``--boot uefi=on``
Configure the VM to boot from UEFI. In order for virt-install to know the
correct UEFI parameters, libvirt needs to be advertising known UEFI binaries
via domcapabilities XML, so this will likely only work if using properly
configured distro packages.
configured distro packages. This is the recommended UEFI setup.
``--boot uefi=off``
Do not use UEFI if the VM would normally default to it.
``--boot uefi,firmware.feature0.name=secure-boot,firmware.feature0.enabled=yes,firmware.feature1.name=enrolled-keys,firmware.feature1.enabled=yes``
Configure the VM to boot from UEFI with Secure Boot support enabled.
Only signed operating systems will be able to boot with this configuration.
``--boot uefi,firmware.feature0.name=secure-boot,firmware.feature0.enabled=no``
Configure the VM to boot from UEFI with Secure Boot support disabled.
This configuration allows both signed and unsigned operating systems to
run.
Additional information about the ``secure-boot`` and
``enrolled-keys`` firmware features and how they can be used to
influence firmware selection is available at
https://libvirt.org/kbase/secureboot.html
``--boot loader=/.../OVMF_CODE.fd,loader.readonly=yes,loader.type=pflash,nvram.template=/.../OVMF_VARS.fd,loader_secure=no``
Specify that the virtual machine use the custom OVMF binary as boot firmware,
mapped as a virtual flash chip. In addition, request that libvirt instantiate
the VM-specific UEFI varstore from the custom "/.../OVMF_VARS.fd" varstore
template. This is the recommended UEFI setup, and should be used if
--boot uefi doesn't know about your UEFI binaries. If your UEFI firmware
supports Secure boot feature you can enable it via loader_secure.
template. This setup is not recommended, and should only be used if
--boot uefi doesn't know about your UEFI binaries.
Use --boot=? to see a list of all available sub options.
Complete details at https://libvirt.org/formatdomain.html#elementsOS
Complete details at
https://libvirt.org/formatdomain.html#operating-system-booting
@ -987,7 +1014,7 @@ make containers secure, in the absence of sVirt confinement.
--idmap uid.start=0,uid.target=1000,uid.count=10,gid.start=0,gid.target=1000,gid.count=10
Use --idmap=? to see a list of all available sub options.
Complete details at https://libvirt.org/formatdomain.html#elementsOSContainer
Complete details at https://libvirt.org/formatdomain.html#container-boot
@ -995,7 +1022,7 @@ GUEST OS OPTIONS
================
``--os-variant``, ``--osinfo``
``--osinfo``, ``--os-variant``
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
**Syntax:** ``--osinfo`` [OSNAME|OPT1=VAL1,...]
@ -1004,7 +1031,7 @@ Optimize the guest configuration for a specific operating system.
For most cases, an OS must be specified or detected from the install
media so performance critical features like virtio can be enabled.
The simplest usage is ``--os-variant OSNAME`` or ``--osinfo OSNAME``,
The simplest usage is ``--osinfo OSNAME`` or ``--os-variant OSNAME``,
for example ``--osinfo fedora32``. The supported suboptions are:
``name=``, ``short-id=``
@ -1049,7 +1076,7 @@ VIRTINSTALL_OSINFO_DISABLE_REQUIRE=1.
Use the command ``virt-install --osinfo list`` to get the list of the
accepted OS variants. See ``osinfo-query os`` for even more output.
Note: ``--os-variant`` and ``--osinfo`` are aliases for one another.
Note: ``--osinfo`` and ``--os-variant`` are aliases for one another.
``--osinfo`` is the preferred new style naming.
@ -1204,7 +1231,8 @@ See the examples section for some uses. This option deprecates -f/--file,
-s/--file-size, --nonsparse, and --nodisks.
Use --disk=? to see a list of all available sub options.
Complete details at https://libvirt.org/formatdomain.html#elementsDisks
Complete details at
https://libvirt.org/formatdomain.html#hard-drives-floppy-disks-cdroms
@ -1240,7 +1268,7 @@ Some example suboptions:
The mount location to use in the guest.
Use --filesystem=? to see a list of all available sub options.
Complete details at https://libvirt.org/formatdomain.html#elementsFilesystems
Complete details at https://libvirt.org/formatdomain.html#filesystems
@ -1308,10 +1336,29 @@ Some example suboptions:
midonet, and openvswitch config.
Use --network=? to see a list of all available sub options.
Complete details at https://libvirt.org/formatdomain.html#elementsNICS
Complete details at https://libvirt.org/formatdomain.html#network-interfaces
This option deprecates -m/--mac, -b/--bridge, and --nonetworks
``hostdev=HOSTDEV``
Use the referenced nodedev device as the source for ``type=hostdev``
as described here: https://libvirt.org/formatdomain.html#pci-passthrough
For ``HOSTDEV`` format, see ``--hostdev`` documentation
``portForward=[ADDRESS:]HOSTPORT[:GUESTPORT][/PROTO]``
Simpler option for specifying port forwarding with
``--network passt`` networks. Roughly matches ``podman run -p``
syntax. HOSTPORT can be a represented as a range like ``7000-8000``, but
GUESTPORT can only be a single port. If GUESTPORT is not provided, host
and guest ports are assumed to match.
Examples:
.. code-block::
--network passt,portForward=8080:80 \
--network passt,portForward0=7000-8000/udp,portForward1=127.0.0.1:2222:22 \
GRAPHICS OPTIONS
@ -1417,7 +1464,7 @@ Some supported suboptions:
DRM render node path to use. This is used when 'gl' is enabled.
Use --graphics=? to see a list of all available sub options.
Complete details at https://libvirt.org/formatdomain.html#elementsGraphics
Complete details at https://libvirt.org/formatdomain.html#graphical-framebuffers
This deprecates the following options:
--vnc, --vncport, --vnclisten, -k/--keymap, --sdl, --nographics
@ -1504,7 +1551,7 @@ DEVICE OPTIONS
All devices have a set of ``address.*`` options for configuring the
particulars of the device's address on its parent controller or bus.
See ``https://libvirt.org/formatdomain.html#elementsAddress`` for details.
See ``https://libvirt.org/formatdomain.html#device-addresses`` for details.
@ -1534,7 +1581,7 @@ Some example invocations:
we add to the new VM by default, if the VM will use PCIe by default.
Use --controller=? to see a list of all available sub options.
Complete details at https://libvirt.org/formatdomain.html#elementsControllers
Complete details at https://libvirt.org/formatdomain.html#controllers
@ -1546,7 +1593,7 @@ Complete details at https://libvirt.org/formatdomain.html#elementsControllers
Attach an input device to the guest. Example input device types are mouse, tablet, or keyboard.
Use --input=? to see a list of all available sub options.
Complete details at https://libvirt.org/formatdomain.html#elementsInput
Complete details at https://libvirt.org/formatdomain.html#input-devices
@ -1579,7 +1626,7 @@ Attach a physical host device to the guest. Some example values for HOSTDEV:
Block device (in LXC container).
Use --hostdev=? to see a list of all available sub options.
Complete details at https://libvirt.org/formatdomain.html#elementsHostDev
Complete details at https://libvirt.org/formatdomain.html#host-device-assignment
@ -1595,7 +1642,7 @@ OS supports.
This deprecates the old --soundhw option.
Use --sound=? to see a list of all available sub options.
Complete details at https://libvirt.org/formatdomain.html#elementsSound
Complete details at https://libvirt.org/formatdomain.html#sound-devices
@ -1645,7 +1692,7 @@ Some examples:
Use the i6300esb with the 'poweroff' action
Use --watchdog=? to see a list of all available sub options.
Complete details at https://libvirt.org/formatdomain.html#elementsWatchdog
Complete details at https://libvirt.org/formatdomain.html#watchdog-devices
@ -1716,7 +1763,8 @@ noted. Some of the types of character device redirection are:
--serial tcp,mode=MODE
Use --serial=? to see a list of all available sub options.
Complete details at https://libvirt.org/formatdomain.html#elementsCharSerial
Complete details at
https://libvirt.org/formatdomain.html#consoles-serial-parallel-channel-devices
@ -1729,7 +1777,7 @@ Specify a parallel device. The format and options are largely identical
to ``serial``
Use --parallel=? to see a list of all available sub options.
Complete details at https://libvirt.org/formatdomain.html#elementsCharParallel
Complete details at https://libvirt.org/formatdomain.html#parallel-port
@ -1761,9 +1809,18 @@ Some of the types of character device redirection are:
and can be any string, such as the default com.redhat.spice.0 that
specifies how the guest will see the channel.
``--channel qemu-vdagent,target.type=virtio[,target.name=NAME]``
Communication channel for QEMU vd agent, using virtio serial (requires
2.6.34 or later host and guest). This allows copy/paste functionality with
VNC guests. Note that the guest clipboard integration is implemented via
spice-vdagent, which must be running even when the guest does not use spice
graphics. NAME is optional metadata that specifies how the guest will see
the channel, and should be left as the default com.redhat.spice.0 unless you
know what you are doing.
Use --channel=? to see a list of all available sub options.
Complete details at https://libvirt.org/formatdomain.html#elementsCharChannel
Complete details at https://libvirt.org/formatdomain.html#channel
@ -1785,7 +1842,7 @@ Example:
Use --console=? to see a list of all available sub options.
Complete details at https://libvirt.org/formatdomain.html#elementsCharConsole
Complete details at https://libvirt.org/formatdomain.html#console
@ -1798,7 +1855,7 @@ Specify what video device model will be attached to the guest. Valid values
for VIDEO are hypervisor specific, but some options for recent kvm are
cirrus, vga, qxl, virtio, or vmvga (vmware).
Use --video=? to see a list of all available sub options.
Complete details at https://libvirt.org/formatdomain.html#elementsVideo
Complete details at https://libvirt.org/formatdomain.html#video-devices
@ -1823,7 +1880,7 @@ An example invocation:
to the guest
Use --smartcard=? to see a list of all available sub options.
Complete details at https://libvirt.org/formatdomain.html#elementsSmartcard
Complete details at https://libvirt.org/formatdomain.html#smartcard-devices
@ -1851,7 +1908,7 @@ Examples invocations:
Use --redirdev=? to see a list of all available sub options.
Complete details at https://libvirt.org/formatdomain.html#elementsRedir
Complete details at https://libvirt.org/formatdomain.html#redirected-devices
@ -1873,7 +1930,7 @@ MODEL is the type of memballoon device provided. The value can be 'virtio',
Disable the memballoon device
Use --memballoon=? to see a list of all available sub options.
Complete details at https://libvirt.org/formatdomain.html#elementsMemBalloon
Complete details at https://libvirt.org/formatdomain.html#memory-balloon-device
@ -1891,10 +1948,13 @@ Configure a virtual TPM device. Examples:
Request an emulated TPM device.
``--tpm default``
Request virt-install to fill in a modern recommended default
Request virt-install to fill in a modern recommended default.
``--tpm none``
Request virt-install to disable TPM device.
Use --tpm=? to see a list of all available sub options.
Complete details at https://libvirt.org/formatdomain.html#elementsTpm
Complete details at https://libvirt.org/formatdomain.html#tpm-device
@ -1920,7 +1980,8 @@ Example invocations:
Connect to localhost to the TCP port 8000 to get entropy data.
Use --rng=? to see a list of all available sub options.
Complete details at https://libvirt.org/formatdomain.html#elementsRng
Complete details at
https://libvirt.org/formatdomain.html#random-number-generator-device
@ -1933,7 +1994,7 @@ Attach a panic notifier device to the guest.
For the recommended settings, use: ``--panic default``
Use --panic=? to see a list of all available sub options.
Complete details at https://libvirt.org/formatdomain.html#elementsPanic
Complete details at https://libvirt.org/formatdomain.html#panic-device
@ -1959,7 +2020,7 @@ Add a memory module to a guest which can be hotunplugged. To add a memdev you ne
to configure hotplugmemory and NUMA for a guest.
Use --memdev=? to see a list of all available sub options.
Complete details at https://libvirt.org/formatdomain.html#elementsMemory.
Complete details at https://libvirt.org/formatdomain.html#memory-devices
@ -1975,7 +2036,7 @@ Configure a vsock host/guest interface. A typical configuration would be
--vsock cid.auto=yes
Use --vsock=? to see a list of all available sub options.
Complete details at https://libvirt.org/formatdomain.html#vsock.
Complete details at https://libvirt.org/formatdomain.html#vsock
@ -1987,7 +2048,19 @@ Complete details at https://libvirt.org/formatdomain.html#vsock.
Add an IOMMU device to the guest.
Use --iommu=? to see a list of all available options.
Complete details at https://libvirt.org/formatdomain.html#elementsIommu.
Complete details at https://libvirt.org/formatdomain.html#iommu-devices
``--pstore``
^^^^^^^^^^^^
**Syntax:** ``--pstore`` OPT=VAL,[...]
Add a pstore device to a guest for storing oops/panic logs before it crashes.
Use --pstore=? to see a list of all available options.
Complete details at https://libvirt.org/formatdomain.html#pstore

View File

@ -54,8 +54,14 @@ The following options are accepted when running ``virt-manager``
``--no-fork``
Don't fork ``virt-manager`` off into the background: run it blocking the
current terminal. Useful for seeing possible errors dumped to stdout/stderr.
Don't fork ``virt-manager`` off into the background.
See ``VIRT-MANAGER, SSH, AND FORKING`` section for more info.
``--fork``
Force forking ``virt-manager`` off into the background.
This is the default behavior.
See ``VIRT-MANAGER, SSH, AND FORKING`` section for more info.
DIALOG WINDOW OPTIONS
@ -89,6 +95,42 @@ URI.
Display the host/connection details window.
SYSTEM TRAY OPTION
==================
Connection autostart will not be disabled and thus don't require specifying a
manual ``--connect`` URI. But it supports ``--connect`` URI as well:
``--show-systray``
Launch virt-manager only in system tray
VIRT-MANAGER, SSH, AND FORKING
==============================
Historically, on startup virt-manager would detach from the running
terminal and fork into the background. This was to force any usage of
ssh to call ssh-askpass when it needed a password, rather than silently
asking on a terminal the user probably isn't watching.
openssh 8.4p1 released in Sep 2020 added the SSH_ASKPASS_REQUIRE
environment variable that saves us from having to do the fork dance.
https://man.openbsd.org/ssh.1#SSH_ASKPASS_REQUIRE
virt-manager now sets SSH_ASKPASS_REQUIRE=force.
However to get this to work with libvirt ssh connections, you'll need
libvirt 10.8.0 released in October 1st 2024.
virt-manager no longer forks by defaults.
You can get the old forking behavior with the ``--fork`` option,
or by setting the ``VIRT_MANAGER_DEFAULT_FORK=yes`` environment variable.
However if you find you need forking for a usecase other than temporarily
working around libvirt version issues, please let the virt-manager developers
know by filing a bug report.
BUGS
====

View File

@ -180,7 +180,7 @@ These options decide what action to take after altering the XML. In the common c
GUEST OS OPTIONS
================
``--os-variant``, ``--osinfo`` OS_VARIANT
``--osinfo``, ``--os-variant`` OS_VARIANT
Optimize the guest configuration for a specific operating system (ex.
'fedora29', 'rhel7', 'win10'). While not required, specifying this
options is HIGHLY RECOMMENDED, as it can greatly increase performance
@ -194,7 +194,54 @@ GUEST OS OPTIONS
Use the command ``virt-xml --osinfo list`` to get the list of the
accepted OS variants. See ``osinfo-query os`` for even more output.
See virt-install(1) documentation for more details about ``--os-variant/--osinfo``
See virt-install(1) documentation for more details about ``--osinfo/--os-variant``
CONVERSION OPTIONS
==================
``--convert-to-q35``
^^^^^^^^^^^^^^^^^^^^
**Syntax:** ``--convert-to-q35`` [OPTIONS]
Convert an existing VM config from PC/i440FX to Q35 machine type.
This largely consists of:
* Convert device topology from PCI to PCIe
* Convert any IDE storage to SATA
You may need to make config changes inside the VM to handle this as well.
For example, Windows 10 may not find the boot device after IDE to SATA conversion.
But booting into safe mode once may fix it.
Sub options are:
``num_pcie_root_ports=NUM``
Control the number of default ``pcie-root-port`` controller devices
we add to the VM by default.
``--convert-to-vnc``
^^^^^^^^^^^^^^^^^^^^
**Syntax:** ``--convert-to-vnc`` [OPTIONS]
Convert an existing VM to exclusively use a single VNC graphics device.
It will attempt to remove all references to any non-VNC graphics config, like
Spice. For example:
* ``qxl`` devices will be replaced
* all ``spicevmc`` and ``spiceport`` devices will be removed
* spice GL will be converted to ``egl-headless``
Sub options are:
``qemu-vdagent=on|off``
Add a ``qemu-vdagent`` device if one is not already configured.
This replaces some functionality of the spice vdagent.
This defaults to ``off`` but that could change in the future.
XML OPTIONS

73
meson.build Normal file
View File

@ -0,0 +1,73 @@
project('virt-manager',
version: '5.0.0',
meson_version: '>=0.63.0',
)
python = import('python')
python3 = python.find_installation('python3')
prefix = get_option('prefix')
datadir = prefix / get_option('datadir')
bindir = prefix / get_option('bindir')
pkgdir = datadir / 'virt-manager'
# figure out if we are building from git
git = run_command('test', '-e', '.git', check: false).returncode() == 0
subdir('scripts')
subdir('man')
subdir('data')
subdir('ui')
subdir('virtinst')
subdir('virtManager')
subdir('po')
bin_data = [
{'pkgname': 'virtinst', 'filename': 'virtinstall', 'toolname': 'virt-install'},
{'pkgname': 'virtinst', 'filename': 'virtclone', 'toolname': 'virt-clone'},
{'pkgname': 'virtinst', 'filename': 'virtxml', 'toolname': 'virt-xml'},
{'pkgname': 'virtManager', 'filename': 'virtmanager', 'toolname': 'virt-manager'},
]
foreach bin : bin_data
custom_target(
command: [make_bin_wrapper_prog, pkgdir, bin['pkgname'], bin['filename']],
capture: true,
output: bin['toolname'],
install: true,
install_dir: bindir,
install_mode: 'rwxr-xr-x',
)
endforeach
gnome = import('gnome')
gnome.post_install(
glib_compile_schemas: get_option('compile-schemas'),
gtk_update_icon_cache: get_option('update-icon-cache'),
)
if git
spec_conf = configuration_data({
'VERSION': meson.project_version(),
})
spec_file = configure_file(
input: 'virt-manager.spec.in',
output: '@BASENAME@',
configuration: spec_conf,
)
meson.add_dist_script(meson_dist_prog.full_path(), spec_file)
endif
if get_option('tests').auto()
use_tests = git
elif get_option('tests').enabled()
use_tests = true
else
use_tests = false
endif
if use_tests
subdir('tests')
endif

7
meson_options.txt Normal file
View File

@ -0,0 +1,7 @@
option('update-icon-cache', type: 'boolean', value: true, description: 'whether to run gtk-update-icon-cache')
option('compile-schemas', type: 'boolean', value: true, description: 'whether to compile gsettings schemas')
option('default-graphics', type: 'combo', choices: ['spice', 'vnc'], value: 'spice', description: 'default graphics type')
option('default-hvs', type: 'array', choices: ['qemu', 'xen', 'lxc', 'bhyve', 'vz'], description: 'list of hypervisors shown in "Open Connection" wizard')
option('tests', type: 'feature', value: 'auto', description: 'whether to run tests')

View File

@ -1,3 +1,4 @@
ar
as
bg
bn_IN
@ -8,17 +9,22 @@ da
de
en_GB
es
fa
fi
fr
fur
gl
gu
hi
hr
hu
id
ie
is
it
ja
ka
kab
kn
ko
ml
@ -29,19 +35,19 @@ nl
or
pa
pl
pt_BR
pt
pt_BR
ro
ru
si
sk
sr@latin
sr
sr@latin
sv
ta
te
tr
uk
vi
zh_CN
zh_TW
kab
si

174
po/POTFILES Normal file
View File

@ -0,0 +1,174 @@
data/virt-manager.appdata.xml.in
data/virt-manager.desktop.in
ui/about.ui
ui/addhardware.ui
ui/addstorage.ui
ui/asyncjob.ui
ui/clone.ui
ui/connectauth.ui
ui/console.ui
ui/createconn.ui
ui/createnet.ui
ui/createpool.ui
ui/createvm.ui
ui/createvol.ui
ui/delete.ui
ui/details.ui
ui/fsdetails.ui
ui/gfxdetails.ui
ui/hostnets.ui
ui/hoststorage.ui
ui/host.ui
ui/manager.ui
ui/migrate.ui
ui/netlist.ui
ui/oslist.ui
ui/preferences.ui
ui/snapshotsnew.ui
ui/snapshots.ui
ui/storagebrowse.ui
ui/tpmdetails.ui
ui/vmwindow.ui
ui/vsockdetails.ui
ui/xmleditor.ui
virtinst/buildconfig.py
virtinst/capabilities.py
virtinst/cli.py
virtinst/cloner.py
virtinst/connection.py
virtinst/devices/audio.py
virtinst/devices/char.py
virtinst/devices/controller.py
virtinst/devices/device.py
virtinst/devices/disk.py
virtinst/devices/filesystem.py
virtinst/devices/graphics.py
virtinst/devices/hostdev.py
virtinst/devices/__init__.py
virtinst/devices/input.py
virtinst/devices/interface.py
virtinst/devices/iommu.py
virtinst/devices/memballoon.py
virtinst/devices/memory.py
virtinst/devices/panic.py
virtinst/devices/redirdev.py
virtinst/devices/rng.py
virtinst/devices/shmem.py
virtinst/devices/smartcard.py
virtinst/devices/sound.py
virtinst/devices/tpm.py
virtinst/devices/video.py
virtinst/devices/vsock.py
virtinst/devices/watchdog.py
virtinst/diskbackend.py
virtinst/domain/blkiotune.py
virtinst/domain/clock.py
virtinst/domain/cpu.py
virtinst/domain/cputune.py
virtinst/domain/features.py
virtinst/domain/idmap.py
virtinst/domain/__init__.py
virtinst/domain/keywrap.py
virtinst/domain/launch_security.py
virtinst/domain/memorybacking.py
virtinst/domain/memtune.py
virtinst/domain/metadata.py
virtinst/domain/numatune.py
virtinst/domain/os.py
virtinst/domain/pm.py
virtinst/domain/resource.py
virtinst/domain/seclabel.py
virtinst/domain/sysinfo.py
virtinst/domain/vcpus.py
virtinst/domain/xmlnsqemu.py
virtinst/domcapabilities.py
virtinst/generatename.py
virtinst/guest.py
virtinst/__init__.py
virtinst/install/cloudinit.py
virtinst/install/__init__.py
virtinst/install/installerinject.py
virtinst/install/installer.py
virtinst/install/installertreemedia.py
virtinst/install/unattended.py
virtinst/install/urldetect.py
virtinst/install/urlfetcher.py
virtinst/install/volumeupload.py
virtinst/logger.py
virtinst/network.py
virtinst/nodedev.py
virtinst/osdict.py
virtinst/pollhelpers.py
virtinst/_progresspriv.py
virtinst/progress.py
virtinst/snapshot.py
virtinst/storage.py
virtinst/support.py
virtinst/uri.py
virtinst/virtclone.py
virtinst/virtinstall.py
virtinst/virtxml.py
virtinst/xmlapi.py
virtinst/xmlbuilder.py
virtinst/xmlutil.py
virtManager/about.py
virtManager/addhardware.py
virtManager/asyncjob.py
virtManager/baseclass.py
virtManager/clone.py
virtManager/config.py
virtManager/connection.py
virtManager/connmanager.py
virtManager/createconn.py
virtManager/createnet.py
virtManager/createpool.py
virtManager/createvm.py
virtManager/createvol.py
virtManager/delete.py
virtManager/details/console.py
virtManager/details/details.py
virtManager/details/__init__.py
virtManager/details/serialcon.py
virtManager/details/snapshots.py
virtManager/details/sshtunnels.py
virtManager/details/viewers.py
virtManager/device/addstorage.py
virtManager/device/fsdetails.py
virtManager/device/gfxdetails.py
virtManager/device/__init__.py
virtManager/device/mediacombo.py
virtManager/device/netlist.py
virtManager/device/tpmdetails.py
virtManager/device/vsockdetails.py
virtManager/engine.py
virtManager/error.py
virtManager/hostnets.py
virtManager/host.py
virtManager/hoststorage.py
virtManager/__init__.py
virtManager/lib/connectauth.py
virtManager/lib/graphwidgets.py
virtManager/lib/__init__.py
virtManager/lib/inspection.py
virtManager/lib/keyring.py
virtManager/lib/libvirtenummap.py
virtManager/lib/module_trace.py
virtManager/lib/statsmanager.py
virtManager/lib/testmock.py
virtManager/lib/uiutil.py
virtManager/manager.py
virtManager/migrate.py
virtManager/object/domain.py
virtManager/object/__init__.py
virtManager/object/libvirtobject.py
virtManager/object/network.py
virtManager/object/nodedev.py
virtManager/object/storagepool.py
virtManager/oslist.py
virtManager/preferences.py
virtManager/storagebrowse.py
virtManager/systray.py
virtManager/virtmanager.py
virtManager/vmmenu.py
virtManager/vmwindow.py
virtManager/xmleditor.py

6656
po/ar.po Normal file

File diff suppressed because it is too large Load Diff

1773
po/as.po

File diff suppressed because it is too large Load Diff

1691
po/bg.po

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

1717
po/bs.po

File diff suppressed because it is too large Load Diff

1777
po/ca.po

File diff suppressed because it is too large Load Diff

2425
po/cs.po

File diff suppressed because it is too large Load Diff

1798
po/da.po

File diff suppressed because it is too large Load Diff

2441
po/de.po

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

3924
po/es.po

File diff suppressed because it is too large Load Diff

6643
po/fa.po Normal file

File diff suppressed because it is too large Load Diff

1879
po/fi.po

File diff suppressed because it is too large Load Diff

2184
po/fr.po

File diff suppressed because it is too large Load Diff

2304
po/fur.po

File diff suppressed because it is too large Load Diff

6648
po/gl.po Normal file

File diff suppressed because it is too large Load Diff

1776
po/gu.po

File diff suppressed because it is too large Load Diff

1721
po/hi.po

File diff suppressed because it is too large Load Diff

3922
po/hr.po

File diff suppressed because it is too large Load Diff

1928
po/hu.po

File diff suppressed because it is too large Load Diff

5420
po/id.po

File diff suppressed because it is too large Load Diff

6675
po/ie.po Normal file

File diff suppressed because it is too large Load Diff

1697
po/is.po

File diff suppressed because it is too large Load Diff

2507
po/it.po

File diff suppressed because it is too large Load Diff

1927
po/ja.po

File diff suppressed because it is too large Load Diff

7180
po/ka.po Normal file

File diff suppressed because it is too large Load Diff

1832
po/kab.po

File diff suppressed because it is too large Load Diff

1805
po/kn.po

File diff suppressed because it is too large Load Diff

2101
po/ko.po

File diff suppressed because it is too large Load Diff

33
po/meson.build Normal file
View File

@ -0,0 +1,33 @@
i18n = import('i18n')
i18n.merge_file(
input: desktop_file,
output: '@BASENAME@',
type: 'desktop',
po_dir: meson.current_source_dir(),
install: true,
install_dir: datadir / 'applications',
)
i18n.merge_file(
input: appdata_file,
output: '@BASENAME@',
type: 'xml',
po_dir: meson.current_source_dir(),
install: true,
install_dir: datadir / 'metainfo',
)
i18n.gettext(
meson.project_name(),
args: [
'--from-code=UTF-8',
'--keyword=_',
'--add-comments=translators',
'--directory=@0@'.format(meson.project_source_root()),
'--files-from=@0@'.format(meson.current_source_dir() / 'POTFILES'),
'--msgid-bugs-address=https://github.com/virt-manager/virt-manager/issues',
'--package-version=@0@'.format(meson.project_version()),
'--sort-by-file',
],
)

1782
po/ml.po

File diff suppressed because it is too large Load Diff

1788
po/mr.po

File diff suppressed because it is too large Load Diff

1695
po/ms.po

File diff suppressed because it is too large Load Diff

1703
po/nb.po

File diff suppressed because it is too large Load Diff

1748
po/nl.po

File diff suppressed because it is too large Load Diff

1723
po/or.po

File diff suppressed because it is too large Load Diff

1745
po/pa.po

File diff suppressed because it is too large Load Diff

1862
po/pl.po

File diff suppressed because it is too large Load Diff

1784
po/pt.po

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

4868
po/ro.po

File diff suppressed because it is too large Load Diff

2117
po/ru.po

File diff suppressed because it is too large Load Diff

1691
po/si.po

File diff suppressed because it is too large Load Diff

1736
po/sk.po

File diff suppressed because it is too large Load Diff

Some files were not shown because too many files have changed in this diff Show More