Commit Graph

6025 Commits

Author SHA1 Message Date
Cole Robinson
d36aa7fbaf device: disk: Move last host touching to diskbackend
This just conceptually makes more sense to keep it all in
one file, and DeviceDisk is the API for the rest of the code
to deal with any host storage state
2018-10-11 19:20:46 -04:00
Cole Robinson
425f599c84 device: disk: Move all path search handling to diskbackend
Simplify it slightly by combining return output and removing
an entry point. Add some additional test cases for it
2018-10-11 19:11:16 -04:00
Cole Robinson
fb1e63c100 devices: disk: remove dead code 2018-10-11 18:00:10 -04:00
Cole Robinson
527783f37b tests: Make rbd path names more descriptive 2018-10-11 17:33:59 -04:00
Cole Robinson
1cd9d0b524 tests: scsi reservation test shouldn't check host /dev/sda
Was failing in our CI
2018-10-11 17:02:45 -04:00
Cole Robinson
5c96574512 tests: Add test-many-devices disk device=lun example 2018-10-11 16:09:55 -04:00
Lin Ma
3c44ea8810 addhardware: Add SCSI persistent reservation support for LUN Passthrough
Signed-off-by: Lin Ma <lma@suse.com>
2018-10-11 16:00:28 -04:00
Lin Ma
280b78c96a details: Add SCSI persistent reservation support for LUN Passthrough
It's a common requirement for VMs to send SCSI PR commands in VM cluster
environment. This patch adds the managed mode support of scsi persistent
reservation in details page.

Signed-off-by: Lin Ma <lma@suse.com>
2018-10-11 16:00:28 -04:00
Lin Ma
eb1a67a595 cli: disk: Add options to support SCSI persistent reservation
Create the managed or the unmanaged PR object to enable SCSI persistent
reservation for LUN Passthrough

Signed-off-by: Lin Ma <lma@suse.com>
2018-10-11 16:00:28 -04:00
Cole Robinson
42a96cfd59 virt-install: add --destroy-on-exit
This makes the console window behave like a raw qemu command line:
when the user closes it, the VM is hard powered off.
2018-10-11 15:24:16 -04:00
Cole Robinson
96ac896e1a cli: Remove redundant argparse dest= options 2018-10-11 12:53:03 -04:00
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