Commit Graph

6014 Commits

Author SHA1 Message Date
Cole Robinson 3e55e89453 tests: Add better virt-install console testing 2018-10-11 12:19:48 -04:00
Cole Robinson 63b4d1f154 virt-install: Encode guest defaults earlier
We need this for determining correct console tool to launch,
and probably other checks later
2018-10-11 12:19:09 -04:00
Yossi Ovadia 215d296b61 cli: add --boot rebootTimout
virt-install -n blah -r 1024 --vcpu=1 --disk=/root/vm/blah.qcow2,size=10\
 --network=bridge:br-public --pxe --boot=network,rebootTimeout=3

By default, in case of (first) pxe boot failure the VM will simply
stop trying.
By adding the above, VM will re-try pxe boot. ( useful when DHCP not
replys on first attempt.

Libvirt support it and VM XML will look as follow : ( 'bios rebootTimeout'
will be created under OS section. )

  <os>
    <type arch='x86_64' machine='pc-i440fx-rhel7.5.0'>hvm</type>
    <boot dev='network'/>
    <bios rebootTimeout='3'/>
  </os>

(crobinso: fix it, add test case)
2018-10-11 11:24:07 -04:00
Chen Hanxiao 70f9817bdc pylint: fix simplifiable-if-statement issue
pylint complain:
    The if statement can be replaced with 'var = bool(test)'

Signed-off-by: Chen Hanxiao <chenhanxiao@gmail.com>
2018-10-11 11:19:49 -04:00
Cole Robinson c83e083dde statsmanager: Skip old CPU stats for offline VM
We will handle any info() calls for status syncinging in domain.tick()
2018-10-10 17:34:21 -04:00
Cole Robinson 3d11cff6e2 statsmanager: Drop self.config prop caching
gsettings/dconf is meant for this usecase, it's fine to hit it
multiple times, we are doing it already anyways with the stats
record checking
2018-10-10 17:25:47 -04:00
Cole Robinson 390adc4e58 module_trace: Support --trace_libvirt=all|mainloop
'all' means log even API calls that are invoked from threads
2018-10-10 17:20:25 -04:00
Cole Robinson 155ddcfc17 conn: Move allstats polling before VM polling
So new VMs already have their stats cached
2018-10-10 17:19:44 -04:00
Cole Robinson a9f9b1be24 statsmanager: Don't run allstats if UI disables all stats 2018-10-10 17:19:32 -04:00
Cole Robinson ac2652a1fa statsmanager: make timestamps more accurate
And reorg our cache of allstats output to be easier to deal
with and not keep virDomain references
2018-10-10 17:19:21 -04:00
Cole Robinson a88a28d0b8 statsmanager: Absorb more domain stats handling 2018-10-10 17:19:21 -04:00
Cole Robinson f553cb67c2 statsmanager: Move VM stats calls back to domain.tick
Otherwise if we hit an error in connect.tick, connection can be
automatically closed in the UI, plus other parts of the code
were implicitly depending on this ordering, like VM rename support
2018-10-10 08:11:25 -04:00
Cole Robinson 5f1acb0c1a statsmanager: clean up
* Absorb support checks from vmmDomain
* Move the allstats handling out of the old wrapper functions
* Misc formatting fixes
2018-10-10 07:35:41 -04:00
Cole Robinson c30c1b8f6d statsmanager: Fix it with LXC
LXC doesn't support allstats API, and there were a number of issues
in that case.
2018-10-10 07:35:41 -04:00
Simon Kobyda 68a5abe279 statsmanager: new class for VM/conn stats polling
Class will work above connection. Right know, it is possible to
provide stats for domains only, but could be expanded.
To retrieve stats, you can use get_vm_stats(vm).

This class uses new virConnectGetAllDomainStats call, which reduces
number of calls needed to poll stats.
Stats are refreshed with every connection tick.

Signed-off-by: Simon Kobyda <skobyda@redhat.com>

(crobinso: squash commits, move statsmanager to its own file,
           fix pylint)
2018-10-10 07:35:37 -04:00
Cole Robinson fcfc1df35e tests: initrdinject: Add a debian test case 2018-10-09 15:41:43 -04:00
Cole Robinson 71626b1dd2 initrdinject: Remove RHEL4 support
It's end of life, let's move on
2018-10-09 14:18:36 -04:00
kgawda c797071be3 Add missing argument in message translation
Add missing "--location" in PL translation of "CDROM media does not print..."
2018-10-09 12:03:53 -04:00
Cole Robinson 511e4855e3 po: Update pl translations 2018-10-09 12:03:16 -04:00
Cole Robinson 88cacb0295 setup: Remove configure --openssh-askpass
For one, we don't offer to install it anymore because we dropped
packagekit stuff. But even having a single package here isn't
really the whole story because different desktops have their
own askpass providers, like Fedora has openssh-askpass for GNOME,
but ksshaskpass for KDE

So drop it all, make the error more generic, and point people
to setting up SSH keys too
2018-10-08 13:59:13 -04:00
Cole Robinson 211ddf3a85 connectauth: polish up the user/pass auth dialog 2018-10-08 13:47:16 -04:00
Cole Robinson efe4f14fc7 connection: Remove krb5 auth dbus check
kerberos+libvirt is sufficiently obscure that I don't expect this
is of much value. Plus I don't have a setup to test
2018-10-08 09:27:22 -04:00
Cole Robinson be628ad54f cli: Log openauth callback prompts 2018-10-08 09:15:06 -04:00
Cole Robinson f3889927e1 spec: Add weak dependencies on libvirt-daemon-* packages
Prefer kvm if available, otherwise pull in libvirt-daemon-qemu
Pull in the default network config too
2018-10-08 08:44:21 -04:00
Cole Robinson 368c202f9b systray: Add connection open/close options 2018-10-07 20:16:55 -04:00
Cole Robinson 8a23cda0fe systray: Revive libappindicator usage
In the future, the only option for systray icons is going to
be statusnotifier/libappindicator. statusicon doesn't work on
wayland and gtk4 is dropping the APIs. KDE however is keeping
statusnotifier's around, and ubuntu is maintaining a gnome-shell
plugin to make them work

Revive support, but add a dbus check to make it smarter about
only using libappindicator when there's a listener present.
Better architect the code to separate the differences between
statusicon and libappindicator. Clean up the menu building
2018-10-07 19:52:20 -04:00
Cole Robinson b29f214834 tests: dist: Catch atk names marked translatable
We aren't using them in a translatable way
2018-10-07 18:53:39 -04:00
Cole Robinson f1d169ad7b setup: Remove configure --{libvirt,kvm}-package-names
This was really only useful with packagekit integration, which
is now gone
2018-10-07 14:27:20 -04:00
Cole Robinson a1d1b4d5a0 engine: Drop PackageKit integration
On first run of the app we will check to see if libvirt and qemu
are installed, and if not, offer to install them. In theory anyways.
In practice this stuff breaks repeatedly and is a pain to test because
every desktop has their own API provider with subtly different behavior.

My last round of testing about 12 months ago: apper on KDE was completely
busted and apparently unmaintained (although that may have changed lately),
gnome-software is the latest packagekit provider on gnome and completely
changes the semantics of the API compared to old style gnome-packagekit
that break a lot of virt-manager assumptions.

So I'm tired of it and want it all gone. Still use systemd to try and
check if libvirtd is running, and provide error messages at startup
to guide people.
2018-10-07 14:24:05 -04:00
Cole Robinson e2352e8518 packageutils: Remove system-config-services dbus
The app is dead and not part of fedora anymore. systemd service
actually provides a polkit dialog nowadays so let's just use
that
2018-10-07 12:41:16 -04:00
Cole Robinson fc8f8d5d7e connect: Drop avahi support
Libvirtd can advertise itself over avahi. The feature is disabled by
default though and in practice I hear of no one actually using it
and frankly I don't think it's all that useful

The 'Open Connection' wizard has a disproportionate amount of code
devoted to this feature, but I don't think it's useful or worth
maintaining, so let's drop it
2018-10-06 20:55:31 -04:00
Cole Robinson 321ec81cb7 uitests: Add a test case for multiconnect
And the mediacombo behavior for that case
2018-10-06 20:37:33 -04:00
Cole Robinson 7eaf036acf virtinst: Remove stable_defaults concept
This switch says: if we detect a rhel host, use special version
checks that match rhel backports. This pattern sucks. The way
forward is to have libvirt advertise the bits that are supported,
through domcapabilities. Then virt-manager/virtinst can react
as appropriate.
2018-10-06 19:45:51 -04:00
Cole Robinson 019a33e975 clock: Drop RHEL hyperv clock distinction
I think enough time has passed that we can just check the
support based on the older RHEL version.
2018-10-06 19:45:51 -04:00
Cole Robinson 0638e72f1f Remove 'Choose CD', rework details and create media change
The new UI is handled in mediacombo. It's a combobox+entry. The
combobox is prepopulated with host cdrom/floppy devices, and
previously used media paths from gsettings

The new VM wizard no longer has separate UI for cdrom device vs
ISO media. The choosecd dialog is gone all together, and media
is changed with the 'apply' button like all other details changes
2018-10-06 19:37:16 -04:00
Cole Robinson 8ff5d750da details: Disable hardware list search
Can cause weird things with row focusing
2018-10-06 14:24:02 -04:00
Cole Robinson 256bd2bcf8 uitests: console: fix fullscreen test on second monitor 2018-10-06 13:17:59 -04:00
Cole Robinson 977a8ced52 addhardware: Fix cdrom icon (bz 1608530) 2018-10-06 13:04:45 -04:00
Cole Robinson c9f0641700 cliconfig: Remove --preferred-distros
It's less relevant with our new search based OS list
2018-10-06 12:33:15 -04:00
Cole Robinson e6738d9827 cliconfig: Remove --default-qemu-user
Libvirt has given us this info in capabilities for a long time,
this shouldn't matter anymore
2018-10-06 12:30:59 -04:00
Cole Robinson a4097b7691 cli: Merge multiple instances of single use opts
So --memory 123,maxmem=456 --memory 555 is equivalent to
--memory 555,maxmem=45
2018-10-05 13:23:20 -04:00
Cole Robinson 03439dd9a3 cli: Remove some --sysinfo examples
This is a sufficiently uncommon option, it doesn't need 5 examples
2018-10-04 20:52:32 -04:00
Cole Robinson 40dc4b1131 support: Limit qemu-xhci check to qemu 2.9.0 2018-10-04 20:48:43 -04:00
Cole Robinson 945c0125db cli: Remove VirtStreamHandler
This was needed at one point to make our logging not throw
exceptions when passed non-ascii text, like logging translated
errors. pretty sure python 3 and probably python2.7 fixed all
those issues, so lets drop it
2018-10-04 19:45:06 -04:00
Cole Robinson 877cbade4a tests: Move OLD_OSINFO check to central place
Other tests may need it in the future
2018-10-04 19:29:41 -04:00
Cole Robinson 9edca3486a virt-manager: Wire up support for default mode=host-model
Simplify things a long the way
2018-10-04 14:43:44 -04:00
Cole Robinson 469fed08a0 guest: Default to cpu mode=host-model if libvirt is new enough
We check whether host-model is exposed in domcapabilities, which
indicates host-model is using the smarter new safer method in
cooperation with qemu
2018-10-04 14:43:41 -04:00
Cole Robinson 76334bfabd guest: Add DomainCapabilities caching 2018-10-04 12:30:14 -04:00
Cole Robinson 210cb858bc controller: usb: Use ports=15 for usb3
It's the max that qemu supports, so why not add as many as possible.
Gerd indicated in private mail that he didn't know of any issues
with it.
2018-10-04 11:55:57 -04:00
Cole Robinson b807cfa744 details: Handle qemu-xhci as USB3
And fix it in addhardware too
2018-10-04 09:53:36 -04:00