Commit Graph

321 Commits

Author SHA1 Message Date
Cole Robinson
8aa01dab78 details: Remove UI display fields for egd RNG
In practice no one is using this, so it's not worth maintaining
specific UI to show its details
2018-09-04 14:55:04 -04:00
Povilas Kanapickas
e6c7e46a54 details: Add support for disk detect zeroes option 2018-09-04 11:39:50 -04:00
Povilas Kanapickas
d13b793bfa details: Add support for disk discard option 2018-09-04 11:39:50 -04:00
Cole Robinson
fb1bb26373 support: Drop lots more checks
- Remove anything for less than qemu 0.12 or libvirt 0.10, basically
  rhel6 vintage stuff
- Open code some simple checks
- Remove some that are only used for unnecessary error reporting
2018-08-31 22:21:15 -04:00
Simon Kobyda
ef4e0dbc4f details: ADD checkbox to plug/unplug network interface
Hardware Details -> NIC of every VM should now contain checkbox for
interface's link state. This checkbox edits domain's XML by changing
<link state='up/down'/>. If XML doesn't contain this tag, virt manager
assumes state "up".

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

Signed-off-by: Simon Kobyda <skobyda@redhat.com>
2018-08-17 10:49:26 +02:00
Lin Ma
a55761c593 details: Use _disable_device_remove helper to set the remove tooltip
Signed-off-by: Lin Ma <lma@suse.com>
2018-08-08 10:25:41 -04:00
Lin Ma
0c1fff2494 details: Disallow removing virtio-serial controller if devices attach to it
Signed-off-by: Lin Ma <lma@suse.com>
2018-07-31 10:57:56 -04:00
Cole Robinson
6099ca674e details: Add _disable_device_remove helper 2018-07-31 10:49:42 -04:00
Cole Robinson
5212ab992e details: Reset Remove tooltip on hardware selection
Otherwise it can be out of date

Reported-by: Lin Ma <lma@suse.com>
2018-07-31 10:37:50 -04:00
Lin Ma
cacf2abe6b details: Show attached disk info in sata, ide and floppy controller page
Reflect controllers <-> disks mapping relationship for not only scsi,
But other storage controllers.

As a bonus, These controllers are not allowed to be removed if there are
disks attached to them.

Signed-off-by: Lin Ma <lma@suse.com>
2018-07-31 10:16:45 -04:00
Lin Ma
4484f473cd char: Track/Show the state of virtio channels in channel details
crobinso: Add a test case

Signed-off-by: Lin Ma <lma@suse.com>
2018-07-12 15:25:23 -04:00
Stefan Berger
a557ed18f9 details: show TPM device model and allow updating it
Show the TPM device model and allow updating it. If a TPM 1.2 has been
chosen, we only allow the TIS interface to be selected. In case of a
TPM 2.0 we also enable the choice of the CRB interface.

Signed-off-by: Stefan Berger <stefanb@linux.vnet.ibm.com>
2018-06-11 12:40:28 -04:00
Marc-André Lureau
c802f2b3b8 details: show TPM version
Signed-off-by: Marc-André Lureau <marcandre.lureau@redhat.com>
2018-06-11 12:40:28 -04:00
Stefan Weil
633534c8b8 Fix some typos in comments and documentation (found by codespell)
Signed-off-by: Stefan Weil <sw@weilnetz.de>
2018-06-05 14:27:29 -04:00
Cole Robinson
056305d29b addhardware: Make combo init/populating more consistent
* Use the _build_combo helper more
* Un-static methods that don't need it
* Use pretty labels more
2018-04-25 08:04:50 -04:00
Daniel P. Berrangé
48e32b429d Fix copyright header to specify GPLv2 or later, not GPLv2 only.
The copyright headers in every file were chjanged in this previous commit

  commit b6dcee8eb7
  Author: Cole Robinson <crobinso@redhat.com>
  Date:   Tue Mar 20 15:00:02 2018 -0400

    Use consistent and minimal license header for every file

Where before this they said "

  "either version 2 of the License, or (at your option) any later version."

Now they just say

  "GNU GPLv2"

This fixes it to say "GNU GPLv2 or later" again.

Signed-off-by: Daniel P. Berrangé <berrange@redhat.com>
2018-04-04 16:51:37 -04:00
Cole Robinson
eee1caa946 domain: Drop most device list wrappers
There's lots of hacks stuffed into the domain device lists. Formalize
some of it, move some of the specific stuff to details.py, and drop
a lot of the needless API wrappers
2018-03-21 16:10:45 -04:00
Cole Robinson
f69b823fad devices: Switch to normal _XML_PROP_ORDER
Drop the register_device stuff, rename virtual_device_type
2018-03-21 11:17:36 -04:00
Cole Robinson
fe9ed2340c virtinst: move <domain> XML files to virtinst/domain
And give the classes consistent naming
2018-03-21 11:17:36 -04:00
Cole Robinson
b6dcee8eb7 Use consistent and minimal license header for every file 2018-03-21 07:29:40 -04:00
Cole Robinson
1c911ce567 virtinst: Give device classes consistent DeviceX naming
Previous state was inconsistenty and needlessly wordy. Fix up
a few other class namings that have redundant Virtual in the name
2018-03-21 07:29:40 -04:00
Cole Robinson
a55abc8e89 details: Again fix default page showing 2018-03-18 11:36:02 -04:00
Cole Robinson
4d4a07c65b tests: uitests: Add window cleanup tests
And fix some bugs I found as a result
2018-03-17 19:42:19 -04:00
Cole Robinson
3c1e0a8a12 virtManager/*: Give pylint hints about singleton classes
It can't seem to figure out that what 'cls' is in this context,
so make it explicit.
2018-03-17 18:46:39 -04:00
Cole Robinson
dac860e8ce engine: Show modal startup errors if window open fails 2018-03-16 19:09:55 -04:00
Cole Robinson
5ebe8b8184 create: Fix customize dialog launching
After the increment/decrement rework
2018-03-15 21:24:48 -04:00
Cole Robinson
cad809fe80 Make all dialogs clean up when vm/conn disappears
Moves all the window cleanup handling to each class and audit for
all --test-leak-debug errors and fix
2018-03-15 21:24:48 -04:00
Cole Robinson
20d5c1887a baseclass: Export GObject.SignalFlags.RUN_FIRST
Saves some typing and imports
2018-03-15 21:24:48 -04:00
Cole Robinson
1d17b98852 engine: Move most remaining window tracking to UI classes
Kind of a big mess but it was difficult to untangle piecemeal.
Basically this drops nearly all the centralized window tracking
in engine.py and moves it to each UI class. If manager.py wants
to open a details window it does it directly, and vmmDetails tracks
the window object list itself. This simplifies things and makes
the code easier to follow.

There's still some weirdness with vmmConnect and connection callbacks,
but future patches will break those apart.
2018-03-15 21:24:48 -04:00
Cole Robinson
92aea7c565 engine: Have windows increment/decrement windows directly 2018-03-15 21:24:48 -04:00
Cole Robinson
9fa9777f1c engine: Have windows call exit_app directly 2018-03-15 21:24:48 -04:00
Cole Robinson
58f872a205 clone: Convert to per-connection singleton-ish pattern
And convert the dialog VM handling to match other dialogs
2018-03-15 21:24:48 -04:00
Cole Robinson
b94a9fdffb migrate: convert to singleton 2018-03-15 21:24:48 -04:00
Cole Robinson
65b512ae6f delete: Convert to singleton 2018-03-15 21:24:48 -04:00
Cole Robinson
1780d0e9f0 details: Call inspection VM refresh directly 2018-03-15 21:24:48 -04:00
Cole Robinson
2dcfaafcac inspection: Show inspection error in details page 2018-03-15 21:24:48 -04:00
Cole Robinson
6b1278ccda prefs: Add a setting to enable/disable libguestfs inspection
Rather than key it on the library being available. Makes it much
easier to test both modes of behavior.

Fix up a few inspection bugs while I'm in the area, and convert
it to be more singleton like.
2018-03-15 21:24:48 -04:00
Cole Robinson
717ff72684 engine: Move VM action callbacks to vmmenu.py
Call the callbacks directly rather than using signals. engine.py
has become a bit of a catchall for shared functionality and this
is a step towards disentangling it
2018-03-15 21:24:48 -04:00
Cole Robinson
f04b284f21 xmlbuilder: Abstract libxml2 API and cleanup
Moves the libxml2 bits to a separate xmlapi file and class, a bunch
of cleanups to xmlbuilder internals dealing with XML stuff.

The main point is to experiment with different XML library impls,
since libxml2 is unfun to deal with and we are having python3
issues like

https://bugzilla.gnome.org/show_bug.cgi?id=776815
2018-02-20 11:23:37 -05:00
Radostin Stoyanov
4d9c6141dd Convert the output of range() to list
In Python 2 the range() function returns a list [1].
In Python 3 the range function returns a range type [2] which
represents an immutable sequence of numbers [3].

[1] https://docs.python.org/2.7/library/functions.html#range
[2] https://docs.python.org/3/library/functions.html#func-range
[3] https://docs.python.org/3/library/stdtypes.html#typesseq-range
2018-02-06 18:49:17 -05:00
Radostin Stoyanov
978fb25ac7 Wrap keys(), values() in a list
In Python 3 dict.values() [1] , dict.keys() [2] and dict.items() [3]
return a view [4] of the dictionary’s values, keys and items.

In Python 2 these functions return a list. [5] [6] [7]

To resolve this we can convert the result of these function to a list.

[1] https://docs.python.org/3/library/stdtypes.html#dict.values
[2] https://docs.python.org/3/library/stdtypes.html#dict.keys
[3] https://docs.python.org/3/library/stdtypes.html#dict.items
[4] https://docs.python.org/3/library/stdtypes.html#dict-views
[5] https://docs.python.org/2/library/stdtypes.html#dict.items
[6] https://docs.python.org/2/library/stdtypes.html#dict.keys
[7] https://docs.python.org/2/library/stdtypes.html#dict.values
2018-02-06 18:49:17 -05:00
Radostin Stoyanov
6712261510 Python 2/3 division compatability
In Python 2 the classic devision of integers returns an integer
but in Python 3 it might return float.

Example:
- Python 2:          - Python 3:
    >>> 9 / 4            >>> 9 / 4
    2                    2.25
    >>> 9 // 4           >>> 9 // 4
    2                    2
    >>> 9 / 4.0          >>> 9 / 4.0
    2.25                 2.25
    >>> 9 // 4.0         >>> 9 // 4.0
    2.0                  2.0

For more info see: https://www.python.org/dev/peps/pep-0238/
2018-01-27 15:30:17 -05:00
Cole Robinson
94e4e8bf5a details: Tweak sound hwlist entry to be consistent with others
Dropping the colon
2018-01-21 14:42:44 -05:00
Lin Ma
c4c78d2894 details: Show attached disk information in scsi controller page
It helps users to recognize controllers <-> disks mapping relationship.

Signed-off-by: Lin Ma <lma@suse.com>
2018-01-06 16:40:30 -05:00
Lin Ma
12c5945be0 details: Disallow removing the scsi controller if disks attached to it
Through virt-manager, After we removed a virtio-scsi controller which
virtual disks still attach to it, Libvirt will add a LSI scsi controller
for this guest automatically and trigger a lifecycle event, virt-manager
updates and shows this new scsi controller in details panel once it got
the lifecycle event.

It may confuse user that a LSI scsi controller occurs while one removes
the virtio-scsi controller.

This patch prevents removing a scsi controller if any disks attaching to
it.

Signed-off-by: Lin Ma <lma@suse.com>
2018-01-06 16:40:30 -05:00
Lin Ma
066b91b2a0 ui: details: Add ui for showing attached controller devices in the future
Signed-off-by: Lin Ma <lma@suse.com>
2018-01-06 16:40:30 -05:00
Lin Ma
2c06086495 details: Rename the variable 'dev' to 'controller' in refresh_controller_page
Use the more appropriate name for more correctly identifies controllers.

Signed-off-by: Lin Ma <lma@suse.com>
2018-01-06 16:01:54 -05:00
Cole Robinson
29a5e7a230 details: Remove q35 support warning (bz #1443021)
It's been around long enough and in use long enough that this
isn't required anymore
2017-11-25 15:15:08 -05:00
Lin Ma
2e85ad5675 details: Show controller description + index
This patch and future patches can help users to better recognize which
disks connect to which scsi controllers.

Signed-off-by: Lin Ma <lma@suse.com>
2017-11-21 17:18:56 -05:00
Chen Hanxiao
7f1b4cee82 pycodestyle: fix all E125 warnings
Fix all E125:
     Continuation line with same indent as next logical line

   Also remove ignore options of E125

Signed-off-by: Chen Hanxiao <chenhanxiao@gmail.com>
2017-10-21 23:26:16 +08:00