summaryrefslogtreecommitdiff
path: root/virtManager/engine.py
Commit message (Collapse)AuthorAgeFilesLines
* virt-manager: Stop suppressing all warningsCole Robinson2020-09-191-2/+2
| | | | | | | This is hiding useful stuff. It was enabled once upon a time because it was too noisy but let's see if it gets bad like the past Signed-off-by: Cole Robinson <crobinso@redhat.com>
* uitests: finish engine.py coverageCole Robinson2020-08-291-4/+4
| | | | Signed-off-by: Cole Robinson <crobinso@redhat.com>
* testmock: Split apart the first-run optionCole Robinson2020-08-291-3/+3
| | | | | | | Break it into disable-libguestfs, fake-systemd-success, and firstrun-uri suboptions, and adjust using code to match Signed-off-by: Cole Robinson <crobinso@redhat.com>
* engine: Move the first run systemd handling to connectauth.pyCole Robinson2020-08-291-79/+5
| | | | Signed-off-by: Cole Robinson <crobinso@redhat.com>
* uitests: console/keyring/viewer coverage workCole Robinson2020-08-291-6/+5
| | | | Signed-off-by: Cole Robinson <crobinso@redhat.com>
* i18n: fix few spellingsPino Toscano2020-07-131-1/+1
| | | | | | | "iSCSI", "KVM", "QEMU", "UNIX", "UUID", "VirtIO", "XML", "vCPU". Reviewed-by: Cole Robinson <crobinso@redhat.com> Signed-off-by: Pino Toscano <ptoscano@redhat.com>
* virtManager: Move a lot of misc files to lib/Cole Robinson2019-06-171-1/+1
|
* virtManager: rename connect.py -> createconn.pyCole Robinson2019-06-171-2/+2
| | | | connect.py is too ambiguous, and this naming is more consistent
* virtManager: rename create.py -> createvm.pyCole Robinson2019-06-171-2/+2
| | | | To be more consistent with other create wizard naming
* Switch to more traditional logging structureCole Robinson2019-06-171-24/+25
| | | | | | | | Init a shared log instance in virtinst/logger.py, and use that throughout the code base, so we aren't calling directly into 'logging'. This helps protect our logging output from being cluttered with other library output, as happens with some 'requests' usage
* virt-manager: Add --test-optionsCole Robinson2019-06-051-3/+3
| | | | | | | Will take a string of comma separated options which we can use to tweak app behavior, for testing. Convert the existing --test-* options to use the same abstraction internally. This will make it easier to add new test options in the future
* details: split out a top level vmwindowCole Robinson2019-05-131-2/+2
| | | | | | vmmVMWindow handles all the menuing, and coordinating between the console, snapshots, and details panel. Simplifies the details code a bit which will help when we add xmlediting
* virt-manager: add --show-domain-deleteCole Robinson2019-03-041-2/+9
| | | | | Launches delete wizard on top of a VM window, so when domain is deleted, VM window disappears and the whole app exits
* engine: Fix first run startup error (bz 1674040)Cole Robinson2019-02-081-1/+2
| | | | | | unitpath can be used uninitialized https://bugzilla.redhat.com/show_bug.cgi?id=1674040
* engine: More logging for --test-first-runCole Robinson2019-02-031-4/+10
|
* manager: fix some --test-leak-debug issuesCole Robinson2018-10-131-0/+3
|
* engine: Drop PackageKit integrationCole Robinson2018-10-071-34/+76
| | | | | | | | | | | | | | | | | 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.
* engine: Exit app if if --show-X bits failCole Robinson2018-09-301-34/+18
| | | | | We were missing some cases. Simplify the code while we are at it and add some extra ui test cases
* Fix copyright header to specify GPLv2 or later, not GPLv2 only.Daniel P. Berrangé2018-04-041-1/+1
| | | | | | | | | | | | | | | | | | | | | | The copyright headers in every file were chjanged in this previous commit commit b6dcee8eb7ec4de999058c187162fe4aedef36b4 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>
* avoid referencing ConnectError if it is NoneDaniel P. Berrangé2018-04-041-2/+3
| | | | | | | | | | | | | | | Currently it throws an exception at startup which is hidden unless you run with --no-fork $ python3 ./virt-manager --no-fork Traceback (most recent call last): File "/home/berrange/src/virt/virt-manager/virtManager/baseclass.py", line 225, in wrap_func return func(*wrapargs) File "/home/berrange/src/virt/virt-manager/virtManager/engine.py", line 206, in conn_open_completed ConnectError.details) AttributeError: 'NoneType' object has no attribute 'details' Signed-off-by: Daniel P. Berrangé <berrange@redhat.com>
* Use consistent and minimal license header for every fileCole Robinson2018-03-211-16/+2
|
* details: Again fix default page showingCole Robinson2018-03-181-1/+1
|
* engine: Fix backtrace from manager->exitCole Robinson2018-03-171-0/+2
|
* engine: Make a decorator function for showing startup errorsCole Robinson2018-03-171-55/+47
|
* virtManager/*: Give pylint hints about singleton classesCole Robinson2018-03-171-1/+1
| | | | | It can't seem to figure out that what 'cls' is in this context, so make it explicit.
* systray: Change window tracking a bitCole Robinson2018-03-171-3/+11
| | | | We should only prevent app closing if the systray is actually embedded
* engine: Show modal startup errors if window open failsCole Robinson2018-03-161-30/+16
|
* s/connect_opt_out/connect_once/ for open-completed callbackCole Robinson2018-03-161-6/+3
| | | | Forgot about that helper function...
* virt-manager: if new --connect fails, don't save the URICole Robinson2018-03-161-0/+4
|
* engine: Remove centralized conn.open handlingCole Robinson2018-03-151-184/+48
| | | | | Move connection opening logic to each caller, since needs are slightly different.
* Make all dialogs clean up when vm/conn disappearsCole Robinson2018-03-151-26/+36
| | | | | Moves all the window cleanup handling to each class and audit for all --test-leak-debug errors and fix
* engine: Move most remaining window tracking to UI classesCole Robinson2018-03-151-310/+95
| | | | | | | | | | | | 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.
* engine: Have windows increment/decrement windows directlyCole Robinson2018-03-151-14/+11
|
* engine: Have windows call exit_app directlyCole Robinson2018-03-151-10/+10
|
* engine: Cleanup function names, comments, etc.Cole Robinson2018-03-151-166/+192
|
* clone: Convert to per-connection singleton-ish patternCole Robinson2018-03-151-24/+0
| | | | And convert the dialog VM handling to match other dialogs
* migrate: convert to singletonCole Robinson2018-03-151-20/+0
|
* delete: Convert to singletonCole Robinson2018-03-151-19/+0
|
* details: Call inspection VM refresh directlyCole Robinson2018-03-151-9/+0
|
* engine: break out vmmConnectionManagerCole Robinson2018-03-151-190/+132
| | | | | | Have a separate class for tracking the connection list, and emitting conn-added and conn-removed signals. It exists as a singleton instance that UI classes can talk directly to
* engine: connect conn-added in UI classesCole Robinson2018-03-151-17/+10
| | | | | | | | This creates a weird situation where we pass the engine to those classes UI functions, but this is a step towards untangling that. While here, get rid of the conn-added connect magic and add a simpler way to access the connection list from the engine
* prefs: Add a setting to enable/disable libguestfs inspectionCole Robinson2018-03-151-26/+11
| | | | | | | | 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.
* preferences: Convert to singletonCole Robinson2018-03-151-21/+0
|
* about: Convert to singletonCole Robinson2018-03-151-15/+0
|
* engine: Move VM action callbacks to vmmenu.pyCole Robinson2018-03-151-197/+0
| | | | | | 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
* connection: Call virConnectClose and log the return valueCole Robinson2018-03-151-1/+1
| | | | | | This can help us find object leaks within the code. virConnectClose is just a deference and will return 1 if other references are still floating around.
* virt-manager: Add hidden --test-leak-debug optionCole Robinson2018-03-151-10/+1
| | | | That enables the pre-existing debug_ref_leaks behavior
* engine: Only init systray if launching new appCole Robinson2018-03-151-34/+31
| | | | | We were doing it too early, and the systray could pop up for a moment when connecting to a remote app
* Replace "Queue" with "queue"Radostin Stoyanov2018-02-061-6/+6
| | | | | | The Queue module has been renamed to queue in Python 3. [1] [1] https://docs.python.org/2/library/queue.html
* Wrap keys(), values() in a listRadostin Stoyanov2018-02-061-7/+7
| | | | | | | | | | | | | | | | | 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