Commit Graph

1200 Commits

Author SHA1 Message Date
Marta Marczykowska-Górecka
f6bda2e9f6
Tests for Backup
Initial tests.
2018-09-16 17:48:54 +02:00
Marta Marczykowska-Górecka
fc6c886543
Numbered tests for Global Settings 2018-09-16 17:48:54 +02:00
Marta Marczykowska-Górecka
44163be96d
Removed unused import from global settings test 2018-09-16 17:48:54 +02:00
Marta Marczykowska-Górecka
f5d94c2bf7
Tests for global settings
Unit tests for global settings window; based on QtTest
2018-09-16 17:48:54 +02:00
Marta Marczykowska-Górecka
cbf2e2154d
Fixed a small bug with Qube Manager status refresh
On change of template Vm status, qube Manager errored
out. It no logner does that.
2018-09-14 18:01:20 +02:00
Marek Marczykowski-Górecki
8d99fdd11b
Remove all dbus references
Including package dependencies
2018-09-12 16:32:37 +02:00
Marta Marczykowska-Górecka
3ad70484e6
Corrections as requested by @marmarek 2018-09-12 16:23:14 +02:00
Marta Marczykowska-Górecka
a761875b60
Pylint fixes 2018-09-10 18:04:45 +02:00
Marta Marczykowska-Górecka
4fc295e6a7
Added AdminAPI events to Qube Manager
rewritten parts of Qube Manager to use AdminAPI events (with quamash
to combine PyQt with asyncio).

hopefully fixes QubesOS/qubes-issues#4116
hopefully fixes QubesOS/qubes-issues#4258
hopefully fixes QubesOS/qubes-issues#4244
obsoletes/fixes QubesOS/qubes-issues#4190
hopefully fixes QubesOS/qubes-issues#3675
2018-09-10 17:48:14 +02:00
Marta Marczykowska-Górecka
20ee51f3d1
Fixed error with asynchronous handling of VM remove and VM halting
It will hopefully fix QubesOS/qubes-issues#4163 .

references QubesOS/qubes-issues#4163
2018-08-06 21:53:09 +02:00
Marek Marczykowski-Górecki
146ce683f7
Merge remote-tracking branch 'qubesos/pr/122'
* qubesos/pr/122:
  And also fixed problem with setting default template to None
  Fixed problem with setting default_dispvm to None in Global Settings
2018-07-24 01:39:33 +02:00
Marta Marczykowska-Górecka
a4c63cc939
And also fixed problem with setting default template to None
The bug was the same.
2018-07-22 23:57:50 +02:00
Marta Marczykowska-Górecka
6377983f9a
Fixed problem with setting default_dispvm to None in Global Settings
fixes QubesOS/qubes-issues#4114
2018-07-22 23:55:09 +02:00
Marta Marczykowska-Górecka
7b29a044d6
Fixed column widths in Qube Manager
Columns were resizing incorrectly (with too large minimums).

fixes QubesOS/qubes-issues#4002
2018-07-20 23:14:06 +02:00
Marta Marczykowska-Górecka
5e52b16fd3
Minor changes as requested
Minor changes as requested by @marmarek
2018-07-20 17:48:39 +02:00
Marta Marczykowska-Górecka
027abd8ac3
Pylint corrections
Pylint 2.0 was complaining. Cosmetic fixes to make it stop.
2018-07-20 00:25:27 +02:00
Christopher Laprise
b2fdbb950a
Handling VM dependencies in GUI tools
Added the following reactions ot VM dependencies in GUI tools:
- Qube Manager will inform the user why they cannot delete a VM (which
properties of which VMS [or global] are using the VM)
- Settings window will try to intelligently rename VMs (change
properties to the new name, if possible, and inform the user what went
wrong if not)
- Settings window will inform the user why they cannot delete a VM
Also, renaming VM from Settings launched from Qube Manager will
refresh the VM list through a horrible hack, to be replaced by a neater
Admin API solution in some near future.

depends on ca848ca7bd

fixes QubesOS/qubes-issues#3992
fixes QubesOS/qubes-issues#3993
fixes QubesOS/qubes-issues#3892
fixes QubesOS/qubes-issues#3499
2018-07-20 00:03:37 +02:00
Marta Marczykowska-Górecka
d46bf2aa8e
Improved communication on Remove VM in Qube Manager
When a user tries to remove a VM that's used by other VMs
or Global Settings from Qube Manager, they get information
about where the VM is used.

Depends on https://github.com/QubesOS/qubes-core-admin-client/pull/73
2018-07-18 23:51:37 +02:00
Marek Marczykowski-Górecki
b8c1ec8dac
Merge remote-tracking branch 'qubesos/pr/119'
* qubesos/pr/119:
  Make Qube Manager remember its size from last time
2018-07-17 15:57:59 +02:00
Marek Marczykowski-Górecki
9bb6a8cc94
Merge remote-tracking branch 'qubesos/pr/118'
* qubesos/pr/118:
  Fixed incorrect kernel display in VM settings
2018-07-17 15:56:09 +02:00
Marta Marczykowska-Górecka
e5dee2d70c
Make Qube Manager remember its size from last time
Qube Manager will now remember its size from last time it was run, and
also it will no longer force itself to appear at top left corner of
the screen.

fixes QubesOS/qubes-issues#4049
2018-07-16 18:47:07 +02:00
Marta Marczykowska-Górecka
af5aa233bb
Fixed incorrect kernel display in VM settings
Kernel set to 'None' was incorrectly displayed as 'default'.

fixes QubesOS/qubes-issues#4043
2018-07-16 17:35:35 +02:00
Marek Marczykowski-Górecki
18d45e53c6
Merge remote-tracking branch 'qubesos/pr/115'
* qubesos/pr/115:
  Make 'NetVm' column in Qube Manager clearer with regars to defaults
2018-07-16 14:15:12 +02:00
Marta Marczykowska-Górecka
7fb41f5cd6
Make 'NetVm' column in Qube Manager clearer with regars to defaults
When a VM has netvm set to 'default', now Qube Manager will display
'(default)' in front of the netvm's name.

references QubesOS/qubes-issues#3567
2018-07-16 14:07:27 +02:00
Marek Marczykowski-Górecki
f62aeb51d6
Merge remote-tracking branch 'qubesos/pr/116'
* qubesos/pr/116:
  Add a list of Suggested Services to VM settings
2018-07-16 13:52:47 +02:00
Marta Marczykowska-Górecka
6f4870bc8d
Changes to for pylint 2.0
Fixes to make pylint 2.0 stop complaining.
2018-07-16 02:17:48 +02:00
Marta Marczykowska-Górecka
63a202f3bd
Add a list of Suggested Services to VM settings
Added a list of suggested services to the Services tab in VM Settings.
The list is drawn from man qvm-services (manually, not automatically).

fixes QubesOS/qubes-issues#3891
2018-07-16 01:33:20 +02:00
Marta Marczykowska-Górecka
3f0af4498c
Fixed VM name validation in GUI tools (Create VM, Settings, Manager)
VM name validation in various places in Manager did not allow a
perfectly legal '_' character.

references QubesOS/qubes-issues#2422
2018-07-13 21:05:00 +02:00
Marek Marczykowski-Górecki
0a44c931da
Merge remote-tracking branch 'qubesos/pr/109'
* qubesos/pr/109:
  Pylint whitespace fix
  Fixed Backup GUI size
  Add option to turn off computer after backup to Backup GUI
2018-07-12 23:47:35 +02:00
Marek Marczykowski-Górecki
0c103e08b7
Merge remote-tracking branch 'qubesos/pr/106'
* qubesos/pr/106:
  Offset context menu in Manager to avoid accidental clicks
2018-07-12 23:42:55 +02:00
Marek Marczykowski-Górecki
5e4ac80ed2
Merge remote-tracking branch 'qubesos/pr/105'
* qubesos/pr/105:
  Remove templates from listing in UpdateVM and ClockVm in Global Settings
2018-07-12 23:41:47 +02:00
Marek Marczykowski-Górecki
bd7d3e576a
Merge remote-tracking branch 'qubesos/pr/103'
* qubesos/pr/103:
  Fixed identation and other problems on merge
  Fix minor performance bug
  Removed unneeded manual sort
  Avoid lag on loading dialog
  Removed unneeded try/except
  Protect update() from accesing deleted domains
  Sort performance boost
2018-07-12 23:40:15 +02:00
Marta Marczykowska-Górecka
9d16bec870
Pylint whitespace fix
Removed superfluous whitespace.
2018-07-12 23:31:30 +02:00
Marek Marczykowski-Górecki
635171c4f4
Merge remote-tracking branch 'qubesos/pr/100'
* qubesos/pr/100:
  Modified Qube Manager menu for dom0
2018-07-12 23:27:53 +02:00
Marta Marczykowska-Górecka
80b3a82963
Add option to turn off computer after backup to Backup GUI
A simple checkbox to turn off the computer after backup finishes
successfully. It is off by default and must be switched on every time
(unexpected system shutdowns are a huge pain, much more problematic
than forgetting to shut down can be).

fixes QubesOS/qubes-issues#2039
2018-07-12 22:47:02 +02:00
Marta Marczykowska-Górecka
5bdca303b1
Offset context menu in Manager to avoid accidental clicks
Small fix to Qubes Manager to open the context menu slightly to the
right of the mouse to avoid accidental clicks. Originally created by
@unman , ported to 4.0 and including changes to context menu from
pull request#100.

fixes QubesOS/qubes-issues#1911
2018-07-12 21:47:01 +02:00
Marta Marczykowska-Górecka
efa2b2d858
Remove templates from listing in UpdateVM and ClockVm in Global Settings
A user should not be able to set a TemplateVM as an UpdateVM or ClockVM
in Global Settings.

fixes QubesOS/qubes-issues#1831
2018-07-12 21:22:15 +02:00
Marta Marczykowska-Górecka
2f2217060e
Modified Qube Manager menu for dom0
Instead of generic menu with almost everything grayed-out, now
context menu for dom0 has only Global Settings, Logs and update.

references QubesOS/qubes-issues#1382
fixes QubesOS/qubes-issues#1165
2018-07-12 15:38:27 +02:00
donoban
d886983c02
Fixed identation and other problems on merge 2018-07-12 02:00:17 +02:00
donoban
8096a50f7f
Merge remote-tracking branch 'upstream/master'
# Conflicts:
#	qubesmanager/table_widgets.py
2018-07-12 01:42:36 +02:00
donoban
5ddd029d34
Fix minor performance bug 2018-07-12 01:26:34 +02:00
Marek Marczykowski-Górecki
b0e275bb3e
Merge remote-tracking branch 'qubesos/pr/101'
* qubesos/pr/101:
  Removed 'close window' button in progress dialogs in Qube Manager
2018-07-12 01:23:45 +02:00
donoban
1d80837cd0
Removed unneeded manual sort
Same its called later during init process
2018-07-12 01:22:28 +02:00
donoban
14f58fe8c1
Avoid lag on loading dialog 2018-07-12 01:21:04 +02:00
donoban
632f23c298
Removed unneeded try/except 2018-07-12 01:19:20 +02:00
donoban
bd919e44c1
Protect update() from accesing deleted domains 2018-07-12 01:17:48 +02:00
donoban
06f7262140
Sort performance boost
Cached all variables used by sort functions
2018-07-12 01:10:00 +02:00
Marta Marczykowska-Górecka
ce80245626
Removed 'close window' button in progress dialogs in Qube Manager
The ability to close window suggested to the user (falsely) that
they can close the window and thus abort the operation (like deleting
a VM). To avoid confusion, the button has been exorcised.

fixes QubesOS/qubes-issues#1479
2018-07-11 17:58:56 +02:00
Marta Marczykowska-Górecka
d4ecd23d0a
Correct sorting of VMs in Qube Manager
Fixed two situations in which there was no sub-sorting alphabetically.

fixes QubesOS/qubes-issues#1022
2018-07-11 16:13:26 +02:00
Marek Marczykowski-Górecki
16ced0466a
Merge remote-tracking branch 'qubesos/pr/97'
* qubesos/pr/97:
  Fixed error with large logs
  Log dialog viewer as a separate tool
2018-06-27 03:28:32 +02:00
Marek Marczykowski-Górecki
7a5c304c1e
Merge remote-tracking branch 'qubesos/pr/95'
* qubesos/pr/95:
  Revert last and removed pylint disables
  Added BaseException
  Show updates pending while running domain
  Fix search coherence when adding a domain
  Last no-member
  Try with disable=no-member
  Another try for travis
  Disable no-name-in-module
  Fix pylint warnings
  Fix very unlikely case when user right clicks the VM in the exact moment he deletes it.
  Don't close the settings window if something failed when renaming e.g. the VM name already exists
  Revert "Since __lt__ methods are safe, is not needed to stop and reenable sorting."
  Added standalone VM's to check_updates() Also added an initial call when creating the timer, most users will look for updates inmediately after start the manager
  Since __lt__ methods are safe, is not needed to stop and reenable sorting. It causes a short freeze of the main window when reenabling, so better removing it.
  Added try/except for all __lt__() methods since some VM could be deleted before the signal is received and handled.
2018-06-27 03:07:46 +02:00
Marta Marczykowska-Górecka
4933c6b580
Fixed error with large logs
Due to change in file.seek() behavior, the log
viewer errorer when faced with a very large file.
2018-06-20 23:08:22 +02:00
Marta Marczykowska-Górecka
6b206d2050
Log dialog viewer as a separate tool
Added entry point and main() to enable
using log viewer as a separate tool.
2018-06-20 21:01:49 +02:00
donoban
3b1057c2e9
Revert last and removed pylint disables 2018-06-14 01:28:07 +02:00
donoban
877eeaac2a
Added BaseException 2018-06-13 21:38:39 +02:00
Marta Marczykowska-Górecka
8de26419c1
Fixed a bug with warnings not modal in VM Settings
Warnings and error messages in VM settings were not
modal and thus could be erroneously hidden.

fixes QubesOS/qubes-issues#3959
2018-06-12 22:50:03 +02:00
donoban
34bcabd79a
Show updates pending while running domain
Maybe it is not useful for templates but I think it is better for StandaloneVMs since you will not notice pending updates until shutdown them with the other version.
2018-06-12 11:42:07 +02:00
donoban
52c38b67c6
Fix search coherence when adding a domain
A new domain was not properly filtered with the current
search string
2018-06-11 21:20:18 +02:00
donoban
9101f35245
Last no-member 2018-06-11 03:18:11 +02:00
donoban
b8d1cc4205
Try with disable=no-member 2018-06-11 03:06:35 +02:00
donoban
643147f525
Another try for travis 2018-06-11 02:46:31 +02:00
donoban
0c4047ffde
Disable no-name-in-module
Maybe travis works this way
2018-06-11 02:26:02 +02:00
donoban
2a437bcfc4
Fix pylint warnings 2018-06-11 01:56:10 +02:00
donoban
b8cb0f625b
Fix very unlikely case when user right clicks the VM in the exact moment he
deletes it.
2018-05-31 00:47:38 +02:00
donoban
cb5bc16948
Don't close the settings window if something failed when renaming
e.g. the VM name already exists
2018-05-31 00:39:34 +02:00
donoban
4d103562bd
Revert "Since __lt__ methods are safe, is not needed to stop and reenable sorting."
This reverts commit ac92bb5fdf.
2018-05-31 00:27:37 +02:00
donoban
47e83f2039
Added standalone VM's to check_updates()
Also added an initial call when creating the timer, most users will look
for updates inmediately after start the manager
2018-05-31 00:11:30 +02:00
donoban
ac92bb5fdf
Since __lt__ methods are safe, is not needed to stop and reenable sorting.
It causes a short freeze of the main window when reenabling, so better
removing it.
2018-05-31 00:09:34 +02:00
donoban
ae23443608
Added try/except for all __lt__() methods since some VM could be deleted
before the signal is received and handled.

It fixes renaming a VM and deleting two domains at same time.
2018-05-31 00:04:46 +02:00
Marek Marczykowski-Górecki
85dc0f9083
Merge remote-tracking branch 'qubesos/pr/94'
* qubesos/pr/94:
  Fix for bug in VM Settings
2018-05-22 03:51:31 +02:00
Marek Marczykowski-Górecki
24a5850507
Merge remote-tracking branch 'qubesos/pr/93'
* qubesos/pr/93:
  Tiny fix to make pylint stop complaining
  Fixes unwanted behavior in VM settings
2018-05-22 03:50:16 +02:00
Marek Marczykowski-Górecki
5b752fc55b
Merge remote-tracking branch 'qubesos/pr/91'
* qubesos/pr/91: (27 commits)
  Fix long line warning
  Pretty confusion with regex trying to make  travis happy
  Added exceptions for domain add and remove
  Fix pylint and travis errors
  Fix misspelling on Updates Timer() and better timeout
  Added missing updates() method for some widget
  Fix missing template updates-available
  Added startup progress dialog
  More elegant fix for settings size
  Removed debug print
  Outdated state cleanup
  Revert "Removed progress wait when updating template"
  This tries to fix some rare case when it stops receieving dbus events
  Added Timer for template updates
  Refresh table selection when pause/resume
  Added calls to table_selection_changed()
  VmRowInTable dbus events moved to VmManagerWindow
  Set settings dialog to minimun size, it gets adjusted properly to good view
  - Removed unnedeed calls to vms_in_table[vm.qid].update()
  - Removed update_single_row() and add direct calls to update()  (Some of them could be deleted since dbus events will handle them)
  ...
2018-05-22 03:30:21 +02:00
donoban
045c3bf98e
Fix long line warning 2018-05-20 22:14:31 +02:00
donoban
fe6a477074
Pretty confusion with regex trying to make travis happy 2018-05-20 22:00:34 +02:00
donoban
b5808296bf
Added exceptions for domain add and remove 2018-05-20 21:50:40 +02:00
donoban
8327e32e1f
Fix pylint and travis errors 2018-05-20 21:30:50 +02:00
Marta Marczykowska-Górecka
d3bd164e2f
Tiny fix to make pylint stop complaining 2018-05-17 19:58:44 +02:00
Marta Marczykowska-Górecka
455fea7d37
Fix for bug in VM Settings
Adding a nonexisting service will no longer add "any" service.
2018-05-17 19:56:28 +02:00
Marta Marczykowska-Górecka
744ddfcc80
Fixes unwanted behavior in VM settings
Whenever Enter was pressed, the Settings window
closed and applied changes, which was very unintuitive
especially in case of Services tab.

references QubesOS/qubes-issues#3891
2018-05-17 19:41:20 +02:00
donoban
edbc4c4469
Fix misspelling on Updates Timer() and better timeout
This func is pretty cheap, less than 0.1ms adding two calls to print(time)
so I think 30s is a reasonable timeout and better for user experience
2018-05-11 10:27:19 +02:00
Peter Gerber
031ad02ff6
Settings window: do not crash when there is no firewall rule
When all firewall rules are removed, qubes-vm-settings crashed
trying to check if the last rule accepts or drops all packages.
It is now verifies that there is a last rule.

Also, it is now properly verified that the last rule accept
or drops all packages.

Associated stack trace:

----
line: last_rule = reversed_rules.pop(0)
func: get_firewall_conf
line no.: 227
file: /usr/lib/python3.5/site-packages/qubesmanager/firewall.py
----
line: conf = self.get_firewall_conf(vm)
func: set_vm
line no.: 308
file: /usr/lib/python3.5/site-packages/qubesmanager/firewall.py
----
line: model.set_vm(vm)
func: __init__
line no.: 111
file: /usr/lib/python3.5/site-packages/qubesmanager/settings.py
----
line: settings_window = VMSettingsWindow(vm, qapp, args.tab)
func: main
line no.: 1133
file: /usr/lib/python3.5/site-packages/qubesmanager/settings.py
----
line: load_entry_point('qubesmanager==4.0.17', 'console_scripts', 'qubes-vm-settings')()
func: <module>
line no.: 9
file: /usr/bin/qubes-vm-settings
2018-05-11 01:24:22 +00:00
donoban
c43a47019e
Added missing updates() method for some widget
internal, ip, include_in_backups and last_backup
2018-05-10 17:59:07 +02:00
donoban
a77cc5172d
Fix missing template updates-available 2018-05-10 10:04:17 +02:00
donoban
78ba3057eb
Added startup progress dialog 2018-05-10 09:49:22 +02:00
donoban
1dcfc6e634
Removed debug print 2018-05-09 19:42:45 +02:00
donoban
224c8708fc
Outdated state cleanup
Fixes problems showing 'outdated' instead 'to-be-outdated' when template is running

Fixes the removal of the icon calling setVisible(False) before removeWidget()
2018-05-09 19:39:41 +02:00
donoban
e2fccf592a
Revert "Removed progress wait when updating template"
This reverts commit 9633f6e9c6.
2018-05-09 15:50:39 +02:00
donoban
ce07b9dcb1
This tries to fix some rare case when it stops receieving dbus events 2018-05-09 14:37:46 +02:00
donoban
806915f834
Added Timer for template updates
Since there is no template updates dbus events, we need to check it periodically
2018-05-09 14:36:39 +02:00
donoban
bc07e37266
Refresh table selection when pause/resume
Since them dont have dbus events we need to manually update the selection
2018-05-09 12:05:07 +02:00
donoban
e2e66cbccb
Added calls to table_selection_changed()
If row updated is the selected row we need to update start/pause/stop buttons
2018-05-09 11:48:19 +02:00
donoban
027d106507
VmRowInTable dbus events moved to VmManagerWindow
Since we need to do some updates affecting all vms or the Window itself, this is a better place for handling this.
2018-05-09 11:31:44 +02:00
donoban
bfc54b779f
- Removed unnedeed calls to vms_in_table[vm.qid].update()
- Fixed unpause case where it was not properly updated
2018-05-07 22:50:13 +02:00
donoban
5e6c0539c2
- Removed update_single_row() and add direct calls to update()
(Some of them could be deleted since dbus events will handle them)

- Removed update_table() and TODO refering dbus events
2018-05-07 22:26:39 +02:00
donoban
5b846a73cc
Removed unneeded calls to table.update() 2018-05-07 22:21:17 +02:00
donoban
8753119327
Initial version with dbus
- Added connections for PropertiesChanged for each VM in VmRowInTable
- DomainAdded/Removed handled in VmManager
2018-05-07 21:10:15 +02:00
donoban
ddf2e73f20
- Remove some stuff on fill_table since its only called once on startup
- Removed table.setEnabled/Disabled tweak since I dont see any improvement, maybe because
fill_table() is only called without the window shown

- Removed unneeded update_table() calls, dbus events will handle them
2018-05-07 20:50:20 +02:00
donoban
be055d8b41
Revert order of fill_table() and show() and removed the timer
This does not seem to have any problem and the manager window appears already filled which seems more user friendly
2018-05-07 13:30:03 +02:00
donoban
07d36a9149
Added update() methods on some widgets for update them without recreating
Fixed some problems with update/status notifications, probably need some additional tunning
2018-05-07 13:17:43 +02:00
donoban
9633f6e9c6
Removed progress wait when updating template 2018-05-03 11:34:11 +02:00
Marta Marczykowska-Górecka
5cfa0bb9c0
Fix bug in Qube Manager
Accidentaly, the fix significantly improves start time (at least on two
of my machines).

fixes QubesOS/qubes-issues#3760
2018-03-30 01:15:23 +02:00
Marek Marczykowski-Górecki
f74783af7e
Merge remote-tracking branch 'qubesos/pr/84'
* qubesos/pr/84:
  Tiny fix for Qube Manager params
2018-03-28 18:02:16 +02:00
Marta Marczykowska-Górecka
674b80613d
Tiny fix for Qube Manager params
Made Qube Manager params consistent with other manager
tools (first Qt, then Qubes).
2018-03-28 17:43:57 +02:00
Marek Marczykowski-Górecki
d4324d4873
Merge remote-tracking branch 'qubesos/pr/83'
* qubesos/pr/83:
  Fix for updates-available in qube-manager
2018-03-28 17:36:20 +02:00
Marek Marczykowski-Górecki
91fbc43b5e
Merge remote-tracking branch 'qubesos/pr/82'
* qubesos/pr/82:
  Check if VM needs killing before murdering it
2018-03-28 16:42:55 +02:00
Marek Marczykowski-Górecki
68b6f2351c
Merge remote-tracking branch 'qubesos/pr/81'
* qubesos/pr/81:
  Less horrible Qube Manager loading
2018-03-28 16:42:15 +02:00
Marta Marczykowska-Górecka
70d139e7f3
Fix for updates-available in qube-manager
After fixing another bug, update status for a VM was not
initialized correctly.

fixes QubesOS/qubes-issues#3745
2018-03-26 18:21:46 +02:00
Marta Marczykowska-Górecka
20cabb5563
Check if VM needs killing before murdering it
In some cases, when the user waited some time before force-killing a VM,
it could be already dead.

fixes QubesOS/qubes-issues#3730
2018-03-25 12:29:05 +02:00
Marek Marczykowski-Górecki
2d6b6488ea
Merge remote-tracking branch 'qubesos/pr/79'
* qubesos/pr/79:
  Fixed GUI Restore tool bug
2018-03-20 01:26:44 +01:00
Marta Marczykowska-Górecka
3ca7520b0e
Less horrible Qube Manager loading
The window should first display itself, and then get gradually filled with VMs
(more user friendly, less annoying than waiting for something, anything
to appear).
Also fixed a dumb bug with double refreshing and a useless variable.

fixes QubesOS/qubes-issues#3719
2018-03-19 22:40:50 +01:00
Marta Marczykowska-Górecka
7117892f4b
Fixed GUI Restore tool bug
GUI Restore tool was unable to open file selection dialog in dom0.

fixes QubesOS/qubes-issues#3701
2018-03-15 00:18:43 +01:00
Marta Marczykowska-Górecka
7ed386985d
Added default_dispvm to Global Settings
Added "default dispvm" to Global Settings.

references QubesOS/qubes-issues#3688
2018-03-14 22:21:33 +01:00
Marek Marczykowski-Górecki
e1aca0a393
Merge remote-tracking branch 'qubesos/pr/77'
* qubesos/pr/77:
  Don't catch AttributeError for is_outdated() call anymore
  Call is_outdated() on volume object, not name
2018-03-14 21:36:29 +01:00
Marek Marczykowski-Górecki
feeedb5526
Merge remote-tracking branch 'qubesos/pr/76'
* qubesos/pr/76:
  Fixed a bunch of useless asserts
2018-03-14 21:33:57 +01:00
Marek Marczykowski-Górecki
b0ebb76bf3
Merge remote-tracking branch 'qubesos/pr/75' 2018-03-14 21:33:01 +01:00
Rusty Bird
24dcb4802e
Don't catch AttributeError for is_outdated() call anymore 2018-03-14 00:07:22 +00:00
Rusty Bird
774b3bb2c9
Call is_outdated() on volume object, not name
Note that this is still a no-op, because admin.vm.volume.Info does not
transmit is_outdated, so the qubesadmin wrapper defaults it to False.
2018-03-14 00:07:21 +00:00
Marta Marczykowska-Górecka
fcaca57fc6
Fixed a bunch of useless asserts
Replaced them with a more flexible behavior or removed if they were
not actually necessary (and handled elsewhere).

fixes QubesOS/qubes-issues#3623
2018-03-10 22:31:41 +01:00
Marta Marczykowska-Górecka
bce5c32c96
Added "Exit" option to Qube Manager
fixes QubesOS/issues#3683
2018-03-10 20:04:57 +01:00
Marta Marczykowska-Górecka
91538f1aaf
Apply changes in global settings only when actual changes occurred
Fixed apply methods to check if there is an actual need to apply
changes.
2018-03-02 14:30:56 +01:00
Marta Marczykowska-Górecka
43520331f2
Fix pylint's critique 2018-03-02 01:04:02 +01:00
Marta Marczykowska-Górecka
94c0a45f86
Fixed minor error in previous fix 2018-03-02 00:43:43 +01:00
Marta Marczykowska-Górecka
b08ce9524f
Replaced single check vm updates checkbox
Now there is a checkbox for the default for new VMs, and two
buttons to either disable checking for updates in all VMs or enable it
in all VMs.
2018-02-22 22:24:34 +01:00
Marta Marczykowska-Górecka
02117b1870
Restored check-dom0-updates functionality in Global Settings
Currently it uses a workaround, manually creating a file in
/var/lib/qubes/updates; once the appropriate attribute will start working
it will be used instead.
2018-02-22 22:22:45 +01:00
Marta Marczykowska-Górecka
0700275586
De-uglify kernel selection in Global Settings
Replaced kernel selection with utils.prepare_kernel; also added option
to utils.prepare_choice to treat empty string as None (applicable to
kernels).
2018-02-22 22:22:42 +01:00
Marta Marczykowska-Górecka
4882013a32
De-uglify default template in Global Settings
Replaced old, manual vm list with a nicer, less disgusting
utils.prepare_vm_choice approach.
2018-02-22 22:21:39 +01:00
Marta Marczykowska-Górecka
84d7e8bf9c
Allow setting default NetVM to None in Global Settings
Replaced old, manual vm list with a nicer, less disgusting
utils.prepare_vm_choice approach.
2018-02-22 22:21:39 +01:00
Marta Marczykowska-Górecka
29a56d9c88
Fixed error in setting Clockvm to None in Global Settings
Replaced old, manual vm list with a nicer, less disgusting
utils.prepare_vm_choice approach.
2018-02-22 22:21:39 +01:00
Marta Marczykowska-Górecka
c1e9074cb9
Fixed error in setting Updatevm to None in Global Settings
Replaced old, manual vm list with a nicer, less disgusting
utils.prepare_vm_choice approach.
2018-02-22 22:21:39 +01:00
Marek Marczykowski-Górecki
fb4870a16b
Merge remote-tracking branch 'qubesos/pr/72'
* qubesos/pr/72:
  Added 'Apply' button to VM Settings
2018-02-22 18:15:23 +01:00
Marek Marczykowski-Górecki
fb8b19af81
Merge remote-tracking branch 'qubesos/pr/71'
* qubesos/pr/71:
  Fixed bug 3594
2018-02-22 18:14:28 +01:00
Marek Marczykowski-Górecki
a141e40e9c
Merge remote-tracking branch 'qubesos/pr/70'
* qubesos/pr/70:
  Allow restarting auto_cleanup=False DispVMs
2018-02-22 18:13:32 +01:00
Marta Marczykowska-Górecka
8218f5fde1
Added 'Apply' button to VM Settings
Simple "Apply" button.

fixes QubesOS/qubes-issues#3321
2018-02-20 20:32:00 +01:00
Marta Marczykowska-Górecka
dc0f8c0a9e
Fixed bug 3594
Incorrect targetVM display - dom0 was not included, and the code
erroneously assumed that not only it is included, but also it's always
the first in the dropdown. No more assumptions.

fixes QubesOS/qubes-issues#3594
2018-02-20 19:22:57 +01:00
Rusty Bird
07866cbfc4
Allow restarting auto_cleanup=False DispVMs 2018-02-20 08:25:22 +00:00
Marta Marczykowska-Górecka
e95be8a8ed
Is this bug finally dead
Yet another attempt at stomp this zombie monstrosity.

fixes QubesOS/qubes-issues#3570
2018-02-13 20:26:55 +01:00
Marek Marczykowski-Górecki
b3699d27d5
Merge remote-tracking branch 'qubesos/pr/67'
* qubesos/pr/67:
  Boot from device window fix
2018-02-13 05:06:06 +01:00
Marek Marczykowski-Górecki
09805396bb
Merge remote-tracking branch 'qubesos/pr/65'
* qubesos/pr/65:
  Changes according to @marmarek's request
  Shutting down vm from qube manager bug
  Refreshing vm list in qube manager fixed
  Qube manager updates more sensibly
2018-02-13 05:05:24 +01:00
Marta Marczykowska-Górecka
8640fa7ace
Boot from device window fix
The window wasn't closing properly.
2018-02-11 00:20:14 +01:00
Marta Marczykowska-Górecka
45959aef71
Changes according to @marmarek's request 2018-02-10 23:41:36 +01:00
Marek Marczykowski-Górecki
ec7c65de34
Merge remote-tracking branch 'qubesos/pr/64'
* qubesos/pr/64:
  Bugfixed
  Fixed error in creating new VMs from GUI
2018-02-10 23:41:10 +01:00
Marek Marczykowski-Górecki
83936ba93e
Merge remote-tracking branch 'qubesos/pr/66'
* qubesos/pr/66:
  Fixed incorrect default dispvm settings
2018-02-10 23:35:12 +01:00
Marta Marczykowska-Górecka
c1bb8ba2ad
Bugfixed
According to @marmarek's request
2018-02-10 23:34:59 +01:00
Marek Marczykowski-Górecki
712e95617a
Merge remote-tracking branch 'qubesos/pr/63'
* qubesos/pr/63:
  Fixed bug with template selection
  Fixed errors with virt mode choice
2018-02-10 23:28:39 +01:00
Marek Marczykowski-Górecki
1fe280538e
Merge remote-tracking branch 'qubesos/pr/61'
* qubesos/pr/61:
  Once more to fix this pesky bug
2018-02-10 23:24:17 +01:00
Marta Marczykowska-Górecka
8da0d35110
Fixed incorrect default dispvm settings
Fixed error in DispVM selection in VM settings

fixes QubesOS/qubes-issues#3565
2018-02-10 22:54:00 +01:00
Marta Marczykowska-Górecka
5af2709029
Shutting down vm from qube manager bug
Hopefully, finally fixes issue #3501.

fixes QubesOS/qubes-issues#3501
2018-02-09 22:08:07 +01:00
Marta Marczykowska-Górecka
1d995de095
Refreshing vm list in qube manager fixed
If a new VM was created via button in vm settings, the refresh button will now correctly display it.
2018-02-09 21:59:43 +01:00
Marta Marczykowska-Górecka
dac7a6f208
Qube manager updates more sensibly
Many events now cause the Qube Manager to refresh better - just the appropriate row, for example.
2018-02-09 21:36:30 +01:00
Marta Marczykowska-Górecka
dc9f764baa
Fixed error in creating new VMs from GUI
Virt mode was forcibly set to HVM. Now, the virt mode is left as default,
unless a standalone VM with system installed from elsewhere is selected.

fixes QubesOS/qubes-issues#3515
2018-02-06 15:47:00 +01:00
Marta Marczykowska-Górecka
0ec3c704dd
Fixed bug with template selection
Template in VM settings was not displayed correctly. It should work now.
2018-02-06 15:38:20 +01:00
Marta Marczykowska-Górecka
2be8f8bcea
Fixed errors with virt mode choice
Current virtualization mode wasn't displayed correctly. It should work now.

fixes QubesOS/qubes-issues#3517
2018-02-06 15:31:17 +01:00
Marta Marczykowska-Górecka
81e5a92e66
Once more to fix this pesky bug
fixes QubesOS/qubes-issues#3501
2018-01-30 17:11:28 +01:00
Marek Marczykowski-Górecki
b28bd6e797
Merge remote-tracking branch 'qubesos/pr/60'
* qubesos/pr/60:
  Repaired manager icons
  Removed 'Seamless GUI' checkbox from VM settings
  Change default Qube Manager size
  Renamed 'VM' to 'qube' everywhere in manager
2018-01-29 23:55:07 +01:00
Marta Marczykowska-Górecka
71090b9e72
Change default Qube Manager size
So that it will fit all VMs from a default install.
2018-01-28 20:38:40 +01:00
Marta Marczykowska-Górecka
3a60f9146a
Renamed 'VM' to 'qube' everywhere in manager
At least I hope it's everywhere.
Note: AppVM and NetVM nomenclature have been kept as before.
2018-01-28 20:26:29 +01:00
Marta Marczykowska-Górecka
cb1519b56c
Fixed error on VM shutdown in Qube Manager
fixes QubesOS/qubes-issues#3501
2018-01-28 18:23:18 +01:00
Marta Marczykowska-Górecka
4ec36de20d
Changes as requested by @marmarek 2018-01-26 23:17:02 +01:00
Marta Marczykowska-Górecka
46fe3725d1
Refresh Qube Manager list after closing VM settings
Now the Qube Manager refreshes VM list after VM settings are launched
and closed.
2018-01-23 20:44:59 +01:00
Marta Marczykowska-Górecka
cd8a243f5c
Fixes to resizing in Qube Manager
Change column resize mode to interactive and stretch last column, so there's no useless space on the right. Also minor fix to sorting last_timestamp column, for more readability and also to fix a rare bug.
2018-01-23 20:28:19 +01:00
Marek Marczykowski-Górecki
81413907bf
Merge remote-tracking branch 'qubesos/pr/55'
* qubesos/pr/55:
  Fixed according to @marmarek request
  Fixed according to @marmarek request
  Added 'configure no strict reset for PCI devices' button
  Adding a button to list PCI devices and enable no-strict-reset
  Fixed some indents and whitespaces
  Fixed python2 in settings.py
2018-01-19 03:01:57 +01:00
Marta Marczykowska-Górecka
b158aeccbd
Fixed according to @marmarek request 2018-01-19 02:50:04 +01:00
Marta Marczykowska-Górecka
1b9737c1a7
Fixed according to @marmarek request 2018-01-19 01:48:46 +01:00
Marta Marczykowska-Górecka
03ba645009
Fixed according to @marmarek request 2018-01-19 01:24:11 +01:00
Marta Marczykowska-Górecka
f1964f0c5b
Merge branch 'master' into virt-mode-select-fixes 2018-01-19 00:36:38 +01:00
Marta Marczykowska-Górecka
2cffffdcff
Fixed error in qubesmanager utils
Fix in app.labels caused an old workaround to malfunction.

fixes QubesOS/qubes-issues#3475
2018-01-18 23:49:17 +01:00
Marta Marczykowska-Górecka
985f8fb56d
Fixed error in qube-manager
Last backup timestamp was not correctly processed.
2018-01-18 23:42:34 +01:00
Marta Marczykowska-Górecka
484f724838
Fixes to make pylint stop complaining 2018-01-17 12:13:04 +01:00
Marta Marczykowska-Górecka
48c3bfa798
Merge branch 'master' into virt-mode-select-fixes 2018-01-16 20:04:16 +01:00
Marta Marczykowska-Górecka
1a5a1fa7ee
Minor fixes to virt_mode select pull request
Changes:
- added hints about "which virt mode should I use"
- changed displayed virt modes to show modes in all caps

closes #44
2018-01-16 19:56:45 +01:00
Marta Marczykowska-Górecka
801014f2e5
Added 'configure no strict reset for PCI devices' button
The button is in 'devices' tab of VM settings; it allows the user to
select which devices should have 'no-strict-reset' enabled and tells
the user not to change this setting if there are no errors.

fixes QubesOS/qubes-issues#3205
2018-01-13 00:25:48 +01:00
Marta Marczykowska-Górecka
f4fae54057
Adding a button to list PCI devices and enable no-strict-reset 2018-01-13 00:25:46 +01:00
Marta Marczykowska-Górecka
60143e6a91
Fixed some indents and whitespaces
Fixed indents and whitespace that pylint was complaining about.
2018-01-13 00:25:02 +01:00
Marta Marczykowska-Górecka
ec3d6eb84a
Fixed python2 in settings.py
settings.py was erroneously using python2. Replaced with python3.
2018-01-13 00:19:58 +01:00
Marek Marczykowski-Górecki
90f7f8474d
Merge remote-tracking branch 'qubesos/pr/54'
* qubesos/pr/54:
  Fixed minor error in VM Settings
2018-01-12 04:39:31 +01:00
Marek Marczykowski-Górecki
57d723c61e
Merge remote-tracking branch 'qubesos/pr/53'
* qubesos/pr/53:
  Renamed 'VM' to 'qube' in GUI
  Added warning that the VM is currently running
  Fixed missing import
2018-01-12 04:37:00 +01:00
Marta Marczykowska-Górecka
670c41e4ff
Fixed minor error in VM Settings
When init page was 'firewall', the tool incorrectly displayed warnings about wrong firewall vm configuration, without actually checking if they should be displayed.
2018-01-12 04:30:47 +01:00
Marta Marczykowska-Górecka
b1dc2458f6
Code review changes
As requested by @marmarek
2018-01-10 02:18:51 +01:00
Marta Marczykowska-Górecka
f86139d0d2
Renamed 'VM' to 'qube' in GUI
For consistency with new terminology.
2018-01-08 20:09:56 +01:00
Marta Marczykowska-Górecka
45496f73de
Added warning that the VM is currently running
Added warning that the VM is currently running. User still must shut it manually (by design).
2018-01-08 20:05:25 +01:00
Marta Marczykowska-Górecka
839696f6f9
Fixed missing import
Fixed missing import in boot-from-cdrom tool.
fixes QubesOS/qubes-issues#3421
2018-01-08 20:00:55 +01:00
Marta Marczykowska-Górecka
1cee3a5fe3
Fixed 'About' window
Surprisingly, it has not been touched since 3.2. It should work now.
2018-01-08 04:22:54 +01:00
Marta Marczykowska-Górecka
e19793ea7a
Minor display fix
Changed "size on disk" widget to display only two decimal places.
2018-01-08 04:22:54 +01:00
Marta Marczykowska-Górecka
899ca6d394
Pylint corrections
Removed errors discovered by pylint, or told it to be quiet when needed.
2018-01-08 04:22:54 +01:00
Marta Marczykowska-Górecka
41b8e6a4fb
Replaced 'VM' with 'Qube'
Renamed 'VM' to 'Qube' in the user interface for Qube Manager.
2018-01-08 04:22:54 +01:00
Marta Marczykowska-Górecka
8b5e2a8d66
Qube Manager in working order
Everything that should work works. Further improvements that would be nice:
- replace untidy multitude of QtGui Items with one generic type
- restore Qubes Network functionality
- add Boot From Device action (and easy way to install windows tool from there)

fixes QubesOS/qubes-issues#2966
QubesOS/qubes-issues#2132
2018-01-08 04:22:35 +01:00
Marta Marczykowska-Górecka
d57e58ae4d
Further work on qubes manager 2018-01-06 23:05:33 +01:00
Marta Marczykowska-Górecka
443f48c648
Recreation of the old qubes manager in a leaner, cut-down form. First
commit, WIP.
2018-01-06 23:03:19 +01:00
Marta Marczykowska-Górecka
bb8abff988
Suggested changes
included changes as suggested by @marmarek.
2018-01-06 02:21:07 +01:00
Marta Marczykowska-Górecka
df31207028
Final tiny fix of unused import
Threw out unused import of shutil.
2017-12-11 02:41:50 +01:00
Marta Marczykowska-Górecka
67a32b5748
Added 'compression' checkbox to backup GUI
Added 'compress the backup' checkbox to the backup GUI.

fixes QubesOS/qubes-issues#943
2017-12-11 02:37:50 +01:00
Marta Marczykowska-Górecka
7fd0c58303
Restored 'cancel' functionality
Now user can actually cancel a backup/restore.
2017-12-11 02:28:15 +01:00
Marta Marczykowska-Górecka
14ebf9dc6d
Fixed opening file dialog at the end
Now, when "open file dialog to unmount" option is enabled, a fie dialog
actually opens.
2017-12-11 02:07:10 +01:00
Marta Marczykowska-Górecka
a4a58cc527
Fixed progress bars
Partial fix - the progress bars now move, although they do not really
indicate progress (just dance back and forth). Future fix would include
making a tray icon to signal backup progress instead.
2017-12-11 01:32:26 +01:00
Marta Marczykowska-Górecka
78b4747e81
Second pylint pass
Fixed errors pointed out by pylint on server.
2017-12-11 01:15:07 +01:00
Marta Marczykowska-Górecka
a1c6e72569
First pylint pass
Fixed errors pointed out by pylint.
2017-12-11 00:56:27 +01:00
Marta Marczykowska-Górecka
4e2835531e
Usability fixes
Added label to inform the user only running VMs are listed in backup
GUI; made "ignore missing" label clearer.
2017-12-11 00:13:15 +01:00
Marta Marczykowska-Górecka
7848b6b2c3
Fixed inability to select which VMs to restore
Fixed bug that caused all VMs to be restored, regardless of what the
user selected.
2017-12-10 23:56:22 +01:00
Marta Marczykowska-Górecka
7bcde2158e
Added optional saving of default backup profile
Added checkbox for saving default backup profile. Removed useless "should I encrypt" checkbox (yes, you have to encrypt).
2017-12-10 23:19:16 +01:00
Marta Marczykowska-Górecka
9d73ceb99d
Fixed imports
Fixed import * and unused imports.
2017-12-10 22:11:07 +01:00
Marta Marczykowska-Górecka
7a4e4b35d5
Initial backup-and-restore GUI restoration
Initial restoration: basic backup-and-restore works, but
- progress bar in backup does not work
- selecting only some VMs to restore does not work
- various miscellaneous enhancements are not yet in place
2017-12-10 21:14:14 +01:00
Marek Marczykowski-Górecki
c403fc1e8f
Merge branch 'firewall_warnings'
* firewall_warnings:
  Sort items in settingsdlg.ui / firewall tab
  Enabled Firewall config without a netvm
2017-11-21 02:42:27 +01:00
Marta Marczykowska-Górecka
5b19c825e3
Enabled Firewall config without a netvm
Enabled Firewall tab even when there's no working netvm or the netvm
doesn't support qubes-firewall. An appropriate warning label and message
are shown in both cases.

fixes QubesOS/qubes-issues#3290
2017-11-20 14:20:01 +01:00
Marta Marczykowska-Górecka
eeac042662
Fixed bug with firewall GUI settings
Fixed bug that led to correct firewall configuration not being
recognized by GUI VM Settings.

fixes QubesOS/qubes-issues#3289
2017-11-17 19:12:06 +01:00
Marta Marczykowska-Górecka
5f1e4803fe
Applied corrections from @marmarek 2017-11-17 17:42:19 +01:00
Marta Marczykowska-Górecka
135060dfe7
Final corrections
Errors that my local pylint ignored and travis' pylint didn't.
2017-11-14 15:44:43 +01:00
Marta Marczykowska-Górecka
8cfc93c70c
Misc errors part 2
Renamed variable from 'input' to 'input_string' and moved imports to a
better place (that is, at the beginning of the module and not inside of
a function).
2017-11-09 17:57:21 +01:00
Marta Marczykowska-Górecka
8b296fab0d
Disable too-many-attributes warning
It's the settings window, it has a lot of attributes.
2017-11-09 17:41:10 +01:00
Marta Marczykowska-Górecka
95599dff9f
A bunch of misc errors
Fixed a bunch of small errors: bad indents, superfluous parentheses,
missing whitespace, superfluous statement.
2017-11-09 17:41:10 +01:00
Marta Marczykowska-Górecka
e543144aec
Too-few-public-methods warning
Checked, are sensible, disabled pylint warnings.
2017-11-09 17:41:10 +01:00
Marta Marczykowska-Górecka
3d841cf14f
Checked too-many-returns error
Checked both places with a 'too-many-return-statements' warning, both
were sensible, marked them as such.
2017-11-09 17:41:09 +01:00
Marta Marczykowska-Górecka
6670f59853
Fixed regex strings
Fixed regex strings that were not marked as raw.
2017-11-09 17:41:09 +01:00
Marta Marczykowska-Górecka
59a9b7da40
Redefined variable type
Marked places where redefining variable type was actually sensible as
such.
2017-11-09 17:41:09 +01:00
Marta Marczykowska-Górecka
0115c931d2
Variables defined outside init
Defined them inside init and added description.
2017-11-09 17:41:09 +01:00
Marta Marczykowska-Górecka
ff4ee713b1
Removed unnecessary global variables
Removed three variables set to global, which were all used only in their
respective "main" function.
2017-11-09 17:41:09 +01:00
Marta Marczykowska-Górecka
b7060e76b2
Fixed no-self-use error
Turned methods into static methods when possible.
2017-11-09 17:41:09 +01:00
Marta Marczykowska-Górecka
695303f16a
Fixed unused variables
When possible removed, otherwise renamed to start with an underscore.
2017-11-09 16:26:05 +01:00
Marta Marczykowska-Górecka
3f7f5a9da3
Firewall GUI fix
Fixed error when service would be left empty, but the settings window
would nonetheless emit an error.
2017-11-09 16:19:14 +01:00
Marta Marczykowska-Górecka
b9e4f99fec
Fixed unusued arguments
Places where the variable is used in a overriding method were marked for
pylint to ignore them.
2017-11-09 16:19:12 +01:00
Marta Marczykowska-Górecka
04aa844a9d
Removed variable "anything_changed"
It was assigned in 17 places and not used otherwise in any other place.
It's highly likely it was useless.
2017-11-09 16:18:23 +01:00
Marta Marczykowska-Górecka
6e5d611f70
Fixed invalid names
Fixed camel case, too long and too short variable and function names.
2017-11-09 16:18:16 +01:00
Marta Marczykowska-Górecka
d7fbacf0d7
Fixed broad exceptions
Fixed broad exception errors: replacing them with more precise error
catching where sensible and adding appropriate pylint skip comments
where not.
2017-11-08 15:40:35 +01:00
Marta Marczykowska-Górecka
2b24abb8c8
Fixed trailing and bad whitespaces
Fixed trailing and bad whitespaces
2017-11-06 23:55:58 +01:00
Marta Marczykowska-Górecka
91572eea2d
Fixed too-long lines
Fixed lines over 80 characters.
2017-11-06 23:55:58 +01:00
Marta Marczykowska-Górecka
c252e9ec3c
Fixed wildcard imports
Fixed wildcard imports and any further problems resulting from them.
2017-11-06 23:55:58 +01:00
Marta Marczykowska-Górecka
eaccc323fb
Fixed unused imports
Fixed all unused imports errors.
2017-11-06 23:20:09 +01:00
Marta Marczykowska-Górecka
3009610a62
Fixed GPL license
Replaced old, address-having, too-many-characters-in-a-line version with
the new one with URL.
2017-11-06 21:06:30 +01:00
Marta Marczykowska-Górecka
41b602ec48
Initial setup
Initialize .pylintrc, put ignore in used files' headers.
2017-11-06 20:36:09 +01:00
Marta Marczykowska-Górecka
ef86e33dee
Style fixes
Changes requested by @marmarek
2017-11-06 19:45:36 +01:00
Marta Marczykowska-Górecka
b7e4e55d05
Added Clone VM button
Button added on the basic tab of VM Settings. Also some refactoring to
clean up the rename/clone/delete buttons.
2017-11-03 23:50:04 +01:00
Marta Marczykowska-Górecka
458968d37f
Added Remove VM button
Button added on the basic tab of VM Settings. Button active only when
VM is shutdown; furthermore, requires the user to enter full VM name
to confirm.
2017-11-03 22:20:34 +01:00
Marek Marczykowski-Górecki
d165bd33b6
Merge remote-tracking branch 'qubesos/pr/45'
* qubesos/pr/45:
  Firewall settings
2017-10-21 01:38:20 +02:00
Marek Marczykowski-Górecki
43576d786c
Fix setting include_in_balancing checkbox
Generally vm.features values are strings, need to cast them to boot to
use in such context.
Additionally fix typo in feature name ('services' -> 'service').

Fixes QubesOS/qubes-issues#2947
Fixes QubesOS/qubes-issues#3104
2017-10-16 03:18:27 +02:00
Marek Marczykowski-Górecki
9ebd602407
One more place to use vm.klass instead of type(vm) 2017-10-16 03:10:19 +02:00
Marta Marczykowska-Górecka
dd990c04ac
Firewall settings
Modified VM Settings - Firewall tab to be easier to use and saner.
2017-10-13 22:41:10 +02:00
HW42
ebc7426cab Add handling for virt_mode including PVH mode 2017-10-12 17:06:17 +02:00
Marek Marczykowski-Górecki
0c5a2b1dcc
Fix resizing root volume
Use "system storage" value from the window, not "private storage"...

Reported by @0spinboson
Fixes QubesOS/qubes-issues#3143
2017-10-08 16:57:08 +02:00
Marek Marczykowski-Górecki
058b813690
Merge branch 'klass-attr'
* klass-attr:
  Fix setting kernel property
  use 'klass' property instead of actual VM object class
2017-10-08 16:55:33 +02:00
Marek Marczykowski-Górecki
4d3a992ac6
Fix setting kernel property
Fixes QubesOS/qubes-issues#3145
2017-10-07 00:23:37 +02:00
Marek Marczykowski-Górecki
07162ba089
use 'klass' property instead of actual VM object class
The later is going to be generic QubesVM class, to save admin.vm.List
calls.
2017-10-07 00:22:41 +02:00
Marta Marczykowska-Górecka
75ddc62bed
Fixed issue#3113 - boot from cdrom
Fixes missing cast to string in boot from cdrom tool.

fixes QubesOS/qubes-issues#3113
2017-10-04 23:28:02 +02:00
Marek Marczykowski-Górecki
c2aad3ce20
Remove code referencing removed "extra drive" box 2017-09-14 02:34:10 +02:00
Marek Marczykowski-Górecki
54b45a91af
Merge remote-tracking branch 'qubesos/pr/41'
* qubesos/pr/41:
  Create new VM
2017-09-14 00:28:39 +02:00
Marta Marczykowska-Górecka
79f82e4d23
Create new VM
Create new VM window.
Window slightly redesigned for more logical flow.
2017-09-14 00:20:15 +02:00
Marek Marczykowski-Górecki
3c906f9a5f
Merge remote-tracking branch 'qubesos/pr/40'
* qubesos/pr/40:
  Added gui for booting VM from CDROM/block device.
  Remove obsolete sections from VM Settings: - drive image - paths
2017-09-13 23:50:53 +02:00
Marta Marczykowska-Górecka
2ac9b1d182
Added gui for booting VM from CDROM/block device.
Available via command line (qubes-vm-boot-from-device) and
from a button in VM Settings/Advanced.
2017-09-13 23:30:45 +02:00
Marta Marczykowska-Górecka
0e5feeac0d
Remove obsolete sections from VM Settings:
- drive image
- paths
2017-09-08 22:39:54 +02:00
Marta Marczykowska-Górecka
9c85dc34ec
Rename NetVM to Networking in vm-settings
Renamed "NetVM" to "Networking" and to clear up any possible
misunderstanding, renamed "none" to "(none)" in the appropriate dropdown.

Fixes QubesOS/qubes-issues#1763
2017-09-05 00:51:25 +02:00
Marek Marczykowski-Górecki
da23873b47
settings: fix volume resize
- use MiB instead of MB
- do not allow root volume resize for template-based VMs
- do not resize if nothing was changed (use int, not float)
2017-07-30 18:56:35 +02:00
Marek Marczykowski-Górecki
861d7c5413
settings: fix settings applications list
Fix qvm-appmenus usage, do nothing when no change was made.
2017-07-30 18:55:32 +02:00
Marta Marczykowska-Górecka
693e1340ed
'rename VM' button in VM Settings
rename VM button in VM settings: it asks for a new name, and then clones
VM under the new name and deletes old one. Renaming VM closes VM settings
window without saving any other changes.
Changed max size of VM name field to 32 characters.
2017-07-29 13:28:53 +02:00
Marta Marczykowska-Górecka
2dda433fd3
'refresh available apps' button in VM Setting
added a button in VM Settings, Applications tab to refresh the list of
available apps
2017-07-29 13:28:53 +02:00
Marek Marczykowski-Górecki
9de507f95d
Change 'hvm' property to 'virt_mode'
QubesOS/qubes-issues#2912
2017-07-18 04:24:32 +02:00
Marek Marczykowski-Górecki
402f1db80d
firewall: check for 'qubes-firewall' feature instead of being ProxyVM
This enable better detection whether firewall settings will really be
respected.

Fixes QubesOS/qubes-issues#2003
2017-07-16 10:50:07 +02:00
Marek Marczykowski-Górecki
576299afea
settings: fix getting available appmenus list 2017-07-16 10:40:59 +02:00
Wojtek Porczyk
96fc9c192c fixes from @marmarek's review 2017-07-14 02:19:24 +02:00
Wojtek Porczyk
1861ff386d settings: devices 2017-07-12 15:12:44 +02:00
Wojtek Porczyk
c32391a030 settings: services 2017-07-12 15:12:44 +02:00
Wojtek Porczyk
e78ede26f1 adminapi storage 2017-07-12 15:12:43 +02:00
Wojtek Porczyk
092d38e09a settings: misc removed 2017-07-12 15:12:43 +02:00
Wojtek Porczyk
cd2d3d7c0e settings: firewall and network 2017-07-12 15:05:05 +02:00
Wojtek Porczyk
ac06eee39b settings: dir_path, config_path 2017-07-12 15:05:05 +02:00
Wojtek Porczyk
cae10193e7 qubesmanager/settings: imports 2017-07-12 15:05:05 +02:00
Wojtek Porczyk
37d501c42b rewrite firewall 2017-07-12 15:05:05 +02:00
Wojtek Porczyk
43f2f6b881 rewrite creating new qube 2017-07-12 15:05:05 +02:00
Wojtek Porczyk
eefa6c31c2 appmenus fix 2017-07-12 15:05:05 +02:00
Wojtek Porczyk
6462ae88b7 qubesmanager/utils 2017-07-12 15:05:05 +02:00
Wojtek Porczyk
ea28980717 settings: debug mode 2017-07-12 15:05:05 +02:00
Wojtek Porczyk
f6a5c02adb qubesmanager/settings: make it work on qubesadmin, part 0 2017-07-12 15:04:55 +02:00
Wojtek Porczyk
2c3df7bd67 spring cleaning part 5: more python3 fixes 2017-07-12 14:54:14 +02:00
Wojtek Porczyk
f5d83d31dd spring cleaning part 4
remove old imports
2017-07-12 14:54:13 +02:00
Wojtek Porczyk
64913fd968 spring cleaning part 3
some unnecessary leftovers
2017-07-12 14:54:12 +02:00
Wojtek Porczyk
a023fb708e spring cleaning part 2
setup.py
2017-07-12 14:54:12 +02:00
Marta Marczykowska-Górecka
fb3dc6ecf7
update qubesmanager to compile under python3.
note: qvm-net.py has changed location to a weird one.
2017-06-25 17:53:23 +02:00
Marta Marczykowska-Górecka
5daa35a301
update globalsettingsdlg for new API 2017-06-25 17:31:10 +02:00
Marek Marczykowski-Górecki
2a381227f2
Merge remote-tracking branch 'qubesos/pr/34'
* qubesos/pr/34:
  Show size of current inter-VM clipboard in Ctrl-Shift-C notification message
  Show size of current inter-VM clipboard in Ctrl-Shift-C notification message
2017-05-31 12:59:21 +02:00
itinerarium
c2a340698e
Show size of current inter-VM clipboard in Ctrl-Shift-C notification message
Fix copy/paste error

QubesOS/qubes-issues#2825
2017-05-28 12:12:25 -04:00
itinerarium
9c284ebedb
Show size of current inter-VM clipboard in Ctrl-Shift-C notification message
QubesOS/qubes-issues#2825
2017-05-28 11:49:34 -04:00
M. Vefa Bicakci
2ba6df43fc
Remove left-over debugging print-outs 2017-05-26 02:02:25 -04:00
M. Vefa Bicakci
a2d0b128b7
Make sure that new value of uses_default_kernel persists
Prior to this commit, whenever the user selected the default kernel in
a VM's "Advanced Settings" dialog in Qubes Manager, the
"uses_default_kernel" flag would not be saved as expected. Instead of
the intent to use the default kernel version for the VM in the future,
the VM would be stuck with the specific kernel version and not any new
future default kernel versions.

This issue occurs because the "kernel" property setter for the QubesVm
class resets the "uses_default_kernel" member variable to False, and
Qubes Manager sets the "uses_default_kernel" property before setting the
"kernel" property.

Resolve this issue by making sure that the "uses_default_kernel"
member variable of the VM in question is set after the "kernel" member
variable.
2017-05-26 02:02:25 -04:00
M. Vefa Bicakci
d551bdc3fa
Do not abort VM restarts due to inconsistent info
Prior to this commit, there have been occasional issues with the usage
of the Qubes Manager's VM restart button where the restart procedure
is interrupted due to an exception thrown after the VM in question is
shut down. The exception has the following backtrace:

  ----
  line: assert not vm.is_running()
  func: start_vm
  line no.: 1198
  file: /usr/lib64/python2.7/site-packages/qubesmanager/main.py
  ----
  line: self.caller.start_vm(vm)
  func: check_if_vm_has_shutdown
  line no.: 308
  file: /usr/lib64/python2.7/site-packages/qubesmanager/main.py

Upon investigation, the root cause of the issue appears to be
inconsistent information provided by Xen regarding a recently-shut-down
VM's start-up timestamp and its state (i.e., running or shut down).

In some cases Xen would report that the VM is running whereas the
start-up timestamp would be returned as None, due to unknown reasons.
This inconsistency would then cause the code modified by this commit to
call the Qubes Manager's "start_vm" method, which would attempt to
assert that a VM is shut down, which would raise the aforementioned
exception.

This commit aims to resolve this issue by checking whether the VM has
fully shut down according to Xen and by calling "start_vm" only if the
VM has fully shut down.

This commit also slightly refactors the affected code.

Fixes: QubesOS/qubes-issues#2438
2017-05-13 14:30:37 -04:00
Marek Marczykowski-Górecki
23fc7df23c
settings: save qubes.xml after saving firewall rules
Saving (and also applying) firewall rules may modify VM's "services",
which are stored in qubes.xml. This is the case for "Allow connection to
Updates Proxy" - which also enables/disables 'yum-proxy-setup' service.
Without this commit, such change was ignored.

Fixes QubesOS/qubes-issues#2770
2017-04-24 01:59:00 +02:00
Christopher Laprise
edd62efd78
Progress bar can match light or dark palette 2017-03-21 10:57:32 -04:00
Christopher Laprise
2d3cf6cdb2
Run InstallUpdatesGUI service as root 2017-03-12 23:43:41 -04:00
Marek Marczykowski-Górecki
16a556c0a1
Merge remote-tracking branch 'qubesos/pr/27'
* qubesos/pr/27:
  Add more missing unicode()s around .tr()s
2017-02-20 04:07:13 +01:00
Jean-Philippe Ouellet
2f72aaf05f
Add more missing unicode()s around .tr()s
Fixes https://github.com/QubesOS/qubes-issues/issues/2637
2017-02-19 21:49:03 -05:00
Marek Marczykowski-Górecki
3a011da65d
Add missing unicode() wrapper before .format() on QString
self.tr return QString, which do not support python's str.format().

Fixes QubesOS/qubes-issues#2637
2017-02-19 22:51:09 +01:00
Jean-Philippe Ouellet
3e84b9e2ae
Use app instead of self for .tr() outside QObject
Fixes https://github.com/QubesOS/qubes-issues/issues/2637
2017-02-19 15:49:28 -05:00
Marek Marczykowski-Górecki
ed8f889c92
Merge remote-tracking branch 'qubesos/pr/25'
* qubesos/pr/25:
  Restrict VM search field to valid VM names
  Revert "Fix for UnicodeEncodeError in search"
2017-02-14 21:45:52 +01:00
Jean-Philippe Ouellet
6b3ef1dab2
Restrict VM search field to valid VM names
Properly fixes https://github.com/QubesOS/qubes-issues/issues/2562

This regex is starting to get duplicated in too many places...
Maybe it belongs in core somewhere?
2017-02-13 04:41:18 -05:00
Jean-Philippe Ouellet
b2bcc00e1d
Revert "Fix for UnicodeEncodeError in search"
This reverts commit 4a3240bf1a.

VM names never contain any unicode characters, so this fix only
propagates the possibility of an encoding error to further down
the line, rather than removing it.

A proper fix would involve filtering the input to the search box
as we do with creating & renaming VMs.
2017-02-13 04:34:54 -05:00
Marek Marczykowski-Górecki
d073b3582d
i18n: wrap self.tf in unicode() where 'format' function is used
Qstring (returned by self.tr) does not have 'format' method.

Fixes QubesOS/qubes-issues#2599
2017-02-06 04:20:13 +01:00
Marek Marczykowski-Górecki
4946d7b8d0
Merge branch 'i18n'
* i18n:
  i18n: update translations
  i18n: add configuration for transifex client
  i18n: add 'en' translation file as a source template
  Translated some strings to test the process
  i18n: add skeleton translation file for spanish
  i18n: wrap strings with self.tr
  i18n: add basic support for translations
2017-02-03 17:29:08 +01:00
Marek Marczykowski-Górecki
cab53b21aa
Merge remote-tracking branch 'qubesos/pr/24'
* qubesos/pr/24:
  Turn on NetVM view in Manager by default. CPU column off.
2017-01-29 13:27:10 +01:00
unman
d9ef229049
Turn on NetVM view in Manager by default. CPU column off. 2017-01-29 01:25:17 +00:00
unman
4b31b206ef
Move network diagram to System menu in Manager 2017-01-28 03:15:58 +00:00
unman
a72003f44b
Add extended information and Network diagram to Manager 2017-01-26 20:36:39 +00:00
Marek Marczykowski-Górecki
7c602bf7d2
i18n: wrap strings with self.tr
Allow translations to handle strings defined in code.

Fixes QubesOS/qubes-issues#2599
2017-01-22 13:22:26 +01:00
Marek Marczykowski-Górecki
cf8b99c763
i18n: add basic support for translations
Handle translations of GUI elements defined in .ui files.
See README.md for details.

Fixes QubesOS/qubes-issues#2599
2017-01-22 13:22:16 +01:00
Marek Marczykowski-Górecki
e1e55c6bea
Merge remote-tracking branch 'qubesos/pr/22'
* qubesos/pr/22:
  Fix for UnicodeEncodeError in search
2017-01-10 02:48:14 +01:00
Marek Marczykowski-Górecki
684abd4a1b
Merge remote-tracking branch 'qubesos/pr/21'
* qubesos/pr/21:
  Sort items in Backup selection dialog
2017-01-10 02:48:01 +01:00
yaqu
4a3240bf1a Fix for UnicodeEncodeError in search
Entering non-ascii characters (e.g. "ą") in search
causes an UnicodeEncodeError. This is a quick fix.

Fixes QubesOS/qubes-issues#2562
2017-01-09 23:31:49 +01:00
unman
0f1e7bb352
Sort items in Backup selection dialog 2017-01-05 02:58:03 +00:00
Marek Marczykowski-Górecki
c214c65589
Merge remote-tracking branch 'qubesos/pr/20'
* qubesos/pr/20:
  Select search box contents on focus
2016-12-20 03:01:02 +01:00
Jean-Philippe Ouellet
9fa8ca5520 Select search box contents on focus
Attempt #2
2016-12-18 18:11:45 -05:00
Jean-Philippe Ouellet
1e3a60e286 Add Ctrl+F as keyboard shortcut to focus search box 2016-12-18 09:40:34 -05:00
Jean-Philippe Ouellet
d2d29c6865 Re-write to avoid leaking fd if flock(2) fails 2016-11-26 21:00:01 -05:00
Jean-Philippe Ouellet
4c4def2876 Avoid potential deadlock
Could happen if exception thrown in open/write while holding flock.
2016-11-26 20:59:49 -05:00
Jean-Philippe Ouellet
a0bb943af9 Implement "Copy Dom0 clipboard" tray menu item
Ctrl+Shift+C would be preferable, but is quite difficult to do safely,
and this method seems like a reasonable security/UX compromise.

Discussed in:
- https://groups.google.com/forum/#!topic/qubes-devel/4_x7Su21i9o
- https://github.com/QubesOS/qubes-issues/issues/2438#issuecomment-261704575

Fixes https://github.com/QubesOS/qubes-issues/issues/2450
2016-11-26 20:59:24 -05:00
Marek Marczykowski-Górecki
c7c86d12a7
Merge remote-tracking branch 'qubesos/pr/14'
* qubesos/pr/14:
  Make inter-appviewer lock permissions consistent
2016-11-27 02:19:52 +01:00
Jean-Philippe Ouellet
f6e00adebe Make inter-appviewer lock permissions consistent
Currently in gui-daemon/xside.c (only other holder of the lock):
    g->inter_appviewer_lock_fd = open("/var/run/qubes/appviewer.lock",
        O_RDWR | O_CREAT, 0666);
    ...
    /* ignore possible errors */
    fchmod(g->inter_appviewer_lock_fd, 0666);
2016-11-26 14:42:31 -05:00
Jean-Philippe Ouellet
4c08f75399
Implement searching for VMs in qubes-manager 2016-11-23 02:49:13 -05:00
Marek Marczykowski-Górecki
88eedc1a43
Merge remote-tracking branch 'qubesos/pr/11'
* qubesos/pr/11:
  Use more idiomatic python in VM filtering
2016-11-23 01:06:59 +01:00
Marek Marczykowski-Górecki
cf0fbcd908
Merge remote-tracking branch 'qubesos/pr/10'
* qubesos/pr/10:
  Require typing name of VM to remove

Fixes QubesOS/qubes-issues#1329
2016-11-23 01:06:39 +01:00
Jean-Philippe Ouellet
99a9f52297
Use more idiomatic python in VM filtering 2016-11-22 03:38:37 -05:00
Jean-Philippe Ouellet
86d5825464
Require typing name of VM to remove
It is too easy to accidentally delete the wrong VM if you use lots
of short-term (but longer than disposable) VMs and have built
muscle memory of just clicking "Ok" in the deletion confirmation box.

This patch requires you to type the full name of the VM, inspired by
repo deletion confirmation on GitHub.
2016-11-22 00:41:32 -05:00
Jean-Philippe Ouellet
a604a3fce2
Refactor "Logs" menu population 2016-11-21 23:37:51 -05:00
Rusty Bird
11be5d65fa
Gray out "Restart VM" for dispVMs 2016-11-21 14:39:25 +00:00
Marek Marczykowski-Górecki
f34328836e
Fix unicode handling in command to run
Thanks @igilik for the patch!

Fixes QubesOS/qubes-issues#2040
2016-10-03 00:11:59 +02:00
Marek Marczykowski-Górecki
d4131b8092
Merge remote-tracking branch 'qubesos/pr/7'
* qubesos/pr/7:
  fix TypeError
2016-07-08 01:07:33 +02:00
Markus Bach
baf5c90dbe fix TypeError
fixes QubesOS/qubes-issues#2156
2016-07-07 18:16:16 +02:00
Marek Marczykowski-Górecki
f7b558c55e
formatting 2016-07-01 03:09:27 +02:00
Marek Marczykowski-Górecki
816659b893
Merge remote-tracking branch 'qubesos/pr/6'
* qubesos/pr/6:
  Implemented 'Restart' button QubesOS/qubes-issues#1499
2016-06-24 22:48:15 +02:00
Marek Marczykowski-Górecki
4e5b990f02
Check for qubes-windows-tools presence before starting installation
Prevents confusing error message.

Fixes QubesOS/qubes-issues#1977
2016-06-21 02:07:22 +02:00
Marek Marczykowski-Górecki
49c209d077
firewall: Warn earlier and improve message on empty service name for TCP/UDP
Fixes QubesOS/qubes-issues#2093
2016-06-21 02:05:21 +02:00
Marek Marczykowski-Górecki
00caebda95
wrap long lines 2016-06-21 02:03:32 +02:00
Ivan Konov
7cd1afbb3c Implemented 'Restart' button
QubesOS/qubes-issues#1499
2016-06-05 22:19:18 +03:00
Marek Marczykowski-Górecki
eac2df7e18
Do not allow setting dom0 as any system VM
Fixes QubesOS/qubes-issues#1379
2015-12-17 22:49:45 +01:00
Marek Marczykowski-Górecki
1021d718a7
Disable "add/remote app shortcuts" action for dom0
Fixes QubesOS/qubes-issues#1367
2015-12-13 01:22:03 +01:00
Marek Marczykowski-Górecki
0f2e999230
Do not allow setting dom0 as default netvm
Fixes QubesOS/qubes-issues#1379
2015-12-13 01:21:41 +01:00
Marek Marczykowski-Górecki
dc6fa673bc
Fix 'qubes.InstallUpdatesGUI' call
There is no 'verbose' parameter

QubesOS/qubes-issues#1249
2015-11-29 04:07:48 +01:00
Marek Marczykowski-Górecki
f5b1a34894
Prevent scarry error at startup (pyinotify ERROR ... ENOENT)
If the clipboard file doesn't exist (and it doesn't at system startup),
pyinotify will output an error to stderr. This situation is already
handled by also monitoring the directory itself for CREATE event. But
prevent error message.
2015-11-27 01:33:42 +01:00
Marek Marczykowski-Górecki
0a5a5253b0
Use 'qubes.InstallUpdatesGUI' RPC service instead of hardcoded script
It should be up to the VM what software is used for installing updates.

Fixes QubesOS/qubes-issues#1249
2015-11-13 05:42:24 +01:00
Brennan Novak
3d1cd783ec exception popup message now shows exc_type sometimes
fixes: QubesOS/qubes-issues#1394
2015-11-09 23:25:08 +01:00
Brennan Novak
e1685a18f1 trimed exception popup message text quite a bit. Fixes QubesOS/qubes-issues#1394 2015-11-09 18:54:29 +01:00
Marek Marczykowski-Górecki
c1552af281
Prevent SEGV when background thread raise an exception
non-GUI thread can't open new window in PyQt. So as a band aid print the
message to stderr in such case.

And while at it, fix filename in error message (it was clobbered later
while constructing stack trace).

QubesOS/qubes-issues#1266
2015-10-29 18:04:38 +01:00
Marek Marczykowski-Górecki
6563f3078f
Fix "block attached" icon
This was broken since 8a91c90 "Fix block attach/detach", which changed
rows_with_blk list to contain VM qid, not name. One place was left not
updated.

Additionally document VmRowInTable.update parameters, as some of them
may be not obvious (blk_visible=None).

Fixes QubesOS/qubes-issues#1291
2015-10-10 20:09:47 +02:00
qubesuser
16cb2e301b don't call verify_files() before start() 2015-10-02 13:11:13 +02:00
Marek Marczykowski-Górecki
b001f26ee1
Create custom 'About' dialog, with 'release notes' viewer (#1259)
Fixes QubesOS/qubes-issues#1259
2015-10-01 22:34:49 +02:00
Marek Marczykowski-Górecki
dfd355fe71
Give the user chance to read final meesages after installing updates (#982)
xterm closes itself immediatelly when the specified command ends, so
wait for user reaction to give a chance to read the message (potentially
some error info). Also add some more meaningful window title.

QubesOS/qubes-issues#982
2015-09-27 00:21:48 +02:00
Marek Marczykowski-Górecki
3ba1a990df
Call yum/apt in xterm to update template (#982)
Since GUI updaters are broken, workaround this by starting terminal
update in xterm. Not an ideal option, but the proper solution seems to
be much more complicated:
https://phabricator.whonix.org/T373
QubesOS/qubes-issues#1197
QubesOS/qubes-issues#982
2015-09-24 01:27:32 +02:00
Marek Marczykowski-Górecki
1d02420f86
global settings: VMs 'updates check' status now can be also retrieved
qubesos/qubes-issues#892
2015-08-05 01:24:52 +02:00
Marek Marczykowski-Górecki
d2a4dd810b
Remove unused imports 2015-07-23 07:34:30 +02:00
Marek Marczykowski-Górecki
0724e37e3c
Use DBUS instead of pid file to prevent multiple simultaneous instances
The pid file solution was racy. Since we register DBUS name anyway, we
can use it for this purpose.
2015-07-23 07:32:55 +02:00
Marek Marczykowski-Górecki
e2fa049032 Fix block devices menu update (NameError) 2015-05-28 02:00:23 +02:00
Michal Rostecki
43bc59bfa6 Checking whether the "default NetVM" exists
The "default NetVM" is usually the first created ProxyVM which is
set by qubes-core during its creation. [1] If there is no ProxyVM,
there is no "default NetVM". Therefore, creating an AppVM and
launching its settings dialog raised AttributeError, because
get_default_netvm method returned None.

This can be reproduced by installing QubesOS without creating VMs
by installer.

[1] https://github.com/QubesOS/qubes-core-admin/blob/master/core/qubes.py#L355

Fixes qubesos/qubes-issues#1008
2015-05-24 11:23:57 +02:00
Marek Marczykowski-Górecki
b82a88c4a8 Fix VM clone name prompt dialog (#989)
Fixes qubesos/qubes-issues#989
2015-05-13 04:09:10 +02:00
Marek Marczykowski-Górecki
14c7a9250c Fix logic about VM "running" state
Qubes manager used different logic what it considers as "running VM",
than qubes core.
Here it was "running or starting/stopping", while qubes core uses the
same as libvirt (isActive()), which effectively means "not halted" -
which includes also "paused" and "suspended". This creates a lot
confusion in which action should be available when.

The actual detected bug was about resuming paused VM. There was assert
"not vm.is_running()", while the paused VM _is_ running in terms of
qubes core.

Fixes qubesos/qubes-issues#981
2015-05-04 01:29:20 +02:00
Marek Marczykowski-Górecki
f6941bd3d3 Use separate QubesVmCollection instance when running a task in background (#986)
QubesVmCollection is not thread safe. If for example update_table() will
be called during some long-running task (like creating or removing VM),
it will try to reload qubes.xml (so get read lock first), but the thread
already holds a lock on this file. This would result in "Lock already
taken" exception.

Fixes qubesos/qubes-issues#986
2015-05-04 01:25:55 +02:00
Marek Marczykowski-Górecki
351225a4b3 Fix resuming VMs (#981)
Fixes qubesos/qubes-issues#981
2015-05-03 20:28:45 +02:00
Marek Marczykowski-Górecki
1faa0ac37e mainwindow: code style (part 3), no functional change
Organize imports.
2015-05-03 19:03:26 +02:00
Marek Marczykowski-Górecki
4a136507e9 mainwindow: code style (part 2), no functional change
Rename variables to match PEP8, use is/is not None instead of ==/!=,
initialize instance variables in __init__, fix methods overloads.
2015-05-03 19:03:26 +02:00
Marek Marczykowski-Górecki
a4a022e2c0 mainwindow: code style (part 1), no functional change
Wrap long lines, whitespace fixes
2015-05-03 19:03:25 +02:00
Noah Vesely
7395797182 Added SMTPS and ODMR
Added SMTPS and On-Demand Mail Relay (used by Fetchmail, xODMR). Both of these are in the Fedora 20 /etc/services.
2015-04-25 13:26:42 -04:00
Marek Marczykowski-Górecki
8a91c90cf8 Fix block attach/detach 2015-04-14 23:11:12 +02:00
Marek Marczykowski-Górecki
dd93b1237f settings: add "dispvm_netvm" property in advanced tab 2015-04-06 00:59:15 +02:00
Marek Marczykowski-Górecki
4e5f63be24 settings: mark template as read-only when the VM is running 2015-04-05 21:53:09 +02:00
Marek Marczykowski-Górecki
6b7b07acb8 backup: allow backup templates, even when installed by rpm 2015-03-31 05:44:37 +02:00
Marek Marczykowski-Górecki
5e925b23d4 backup+restore: remove an option to attach disk from a VM to dom0
This is (intentionally) not possible in R3. The user can choose to
backup directly to the VM, encrypting the backup in dom0 first.
2015-03-31 05:40:53 +02:00
Marek Marczykowski-Górecki
f65dcdbf10 Watch for domain start/stop events and refresh VM connection info
QubesVm object caches some domain state (domain ID in libvirt object,
Qubes DB connection socket), which can become out of date in
case of start/stop events. Currently it needs manual trigger to refresh
itself.
2015-03-30 04:59:08 +02:00
Marek Marczykowski-Górecki
10ec6014b0 Update to follow core-admin change: rename write_iptables_xenstore_entry 2015-03-28 22:59:13 +01:00
Marek Marczykowski-Górecki
80b3afdab4 Revert "Add 'Requested MEM' column (aka prefmem) (#788)"
This reverts commit 227597cf93.

QubesWatch no longer supports xenstore, so there is no simple way to
get this column updated. This is conscious decision in process of making
R3 Xen-independent.

Conflicts:
        qubesmanager/main.py
2015-03-28 22:57:03 +01:00
Wojtek Porczyk
be94c87f61 table: sort dom0 first no matter sort order
It seems that when sort is reversed, dom0 gets sorted last. This is expected
and hard to counter. Will remain for now.
2015-03-10 21:05:48 +01:00
Matt McCutchen
aefe0dde43 Show an icon for VMs whose TemplateVM is running.
https://groups.google.com/d/topic/qubes-users/woHD9RaHvF8/discussion
2015-02-09 21:15:54 +01:00
Marek Marczykowski-Górecki
0d9bb27229 Update CPU measurement call for the new API 2015-02-09 05:05:03 +01:00
Marek Marczykowski-Górecki
6329c6e07e Disable meminfo watch - not implemented in R3 2015-02-06 08:26:53 +01:00
Marek Marczykowski-Górecki
3c555c9b53 block: update the code for new block API 2014-12-12 05:13:57 +01:00
Marek Marczykowski-Górecki
97620f76a7 settings: hide "add all" widget from devices tab
It is very dangerous - adding all the devices to some VM will make the
system unusable once such VM is started.
2014-11-01 19:57:17 +01:00
Marek Marczykowski-Górecki
c8a8a56c73 settings: prevent changing VM name and label while the VM is running
Those changes will take effect after VM restart (at least for VM windows
borders), so to not confuse the user with partly updated colors, simply
block the change while the VM is running. The same applies to VM name.
2014-10-28 04:55:14 +01:00
Victor Lopez
473b822e0c Linux VM specific: force minimum init mem to allow scaling up memory
Check init_mem and max_mem_size in a single function (merging the
previous two) taking into account the minimum init memory that allows
the requested maximum memory.

Explanation:
Linux kernel needs space for memory-related structures created at boot.
If init_mem is just 400MB, then max_mem can't balloon above 4.3GB (at
which poing it yields "add_memory() failed: -17" messages and apps
crash), regardless of the max_mem_size value.

Base of Marek's findings and my tests on a 16GB PC, using several
processes like:
   stress -m 1 --vm-bytes 1g --vm-hang 100

result in the following points:
init_mem  ==> actual max memory
400             4300
700             7554
800             8635
1024            11051
1200            12954
1300            14038
1500            14045 <== probably capped on my 16GB system

The actual ratio of max_mem_size/init_mem is surprisingly constant at
10.79

If less init memory is set than that ratio allows, then the set
max_mem_size is unreachable and the VM becomes unstable (app crashes)

Based on qubes-devel discussion titled "Qubes Dom0 init memory against
Xen best practices?" at:
https://groups.google.com/d/msg/qubes-devel/VRqkFj1IOtA/UgMgnwfxVSIJ
2014-10-06 04:00:20 +02:00
Marek Marczykowski-Górecki
470e1c0879 backups/restore: always allow an option to manually unmount storage device 2014-09-26 15:01:37 +02:00
Marek Marczykowski-Górecki
1ff9ce8a46 backups/restore: add support for 'verify-only' option 2014-09-17 23:07:32 +02:00
Marek Marczykowski-Górecki
c2ae785c5d backups/restore: fix handling of unicode messages, improve indentation 2014-09-17 23:06:41 +02:00
Marek Marczykowski-Górecki
1cadc1e943 Merge remote-tracking branch 'woju/master' 2014-09-09 22:01:54 +02:00
Marek Marczykowski-Górecki
c992fc0f48 settings: fix drive path setting (#897) 2014-09-09 21:59:54 +02:00
Wojciech Zygmunt Porczyk
24759d2762 settings.py: do not attempt to remove service when none selected
Thanks to Andrew B (kyboren at gmail dot com) for bug report.
2014-09-04 21:59:05 +02:00
Wojciech Zygmunt Porczyk
fdaaa780a4 use new padlocks from theme 2014-07-10 16:50:29 +02:00
Wojciech Zygmunt Porczyk
060b16900a use new icon from qubes-artwork 2014-07-09 18:21:56 +02:00
Marek Marczykowski-Górecki
159eea7ac8 block: fix attaching r/o devices (cdrom for example) 2014-07-08 02:06:35 +02:00
Marek Marczykowski-Górecki
61ef08eb47 settings: cast all QString to str
QString does not have "startswith" method.
2014-07-05 14:57:47 +02:00
Marek Marczykowski-Górecki
edb40bbfb6 Notify about dom0 updates (#824)
Tray notifications from cron job (outside of session) didn't worked well.
2014-06-10 01:15:26 +02:00
Marek Marczykowski-Górecki
ca6cc8e01f create-vm: Handle the case when no HVM-template exists 2014-06-07 04:40:24 +02:00
Marek Marczykowski-Górecki
aca43a46da Filter out 'dom0' from selectable netvm list
This is workaround until #757 will be done.
2014-06-07 04:07:26 +02:00
Andrew B
ba0cced495 Implemented NetVM selection via drop-down in AppVM creation dialog. 2014-06-07 04:02:45 +02:00
Wojciech Zygmunt Porczyk
e9f1bb3880 *.py: Use full paths when calling subprocess.Popen().
Also removed unneeded imports of subprocess.
2014-05-22 15:07:35 +02:00
Wojciech Zygmunt Porczyk
fe954632c0 regexp fixes and validation (#829) 2014-05-19 15:41:37 +02:00
Wojciech Zygmunt Porczyk
e834b33d42 Merge remote-tracking branch 'marmarek/master' 2014-05-19 13:54:02 +02:00
Hansi
44fe1cc845 small update to add "autostart" checkbox to the basic settings dialog 2014-05-17 21:43:29 +02:00
Wojciech Zygmunt Porczyk
f882042994 settings.py: launch lspci by full path (/usr/sbin/lspci) 2014-05-16 19:16:16 +02:00
Marek Marczykowski-Górecki
2221dcee36 Do not crash when no notification service present 2014-05-15 23:49:02 +02:00
Marek Marczykowski-Górecki
c2038ec20b backups: open file selection dialog at the end for unmounting the disk (#831) 2014-05-15 03:06:51 +02:00
Marek Marczykowski-Górecki
f096f0050a updates: call 'yum clean expire-cache' as root (#843)
In Fedora 20 sudo cannot be called from qrexec call (no tty available),
so run it in separate call as root.
Also add "-P" option to qubes-update-check call: for SysV systems it
should be ignored and service started as normal user (which is just
fine), but on systemd systems, the call would be redirected to
systemctl, which refuse normal user service actions. "-P" flag acquires
root privileges using PolicyKit.
2014-05-12 15:34:24 +02:00
Marek Marczykowski-Górecki
4d54815ce3 Simplify '\n' handling in tray notifies
Do not request the caller to encode them properly for current
notification service, but fix the encoding in notify function.
2014-05-12 15:33:18 +02:00
Marek Marczykowski-Górecki
d78e5b7b40 Workaround KDE notification, which ignores '\n' (#844) 2014-05-05 02:15:37 +02:00
Marek Marczykowski-Górecki
04c0f4472a log_dialog: display only last 1MB of log, force it plain text 2014-05-05 02:15:01 +02:00
Marek Marczykowski-Górecki
b4dcf0ceb4 backups: fix get_disk_usage usage
It isn't member of QubesVm anymore
2014-05-05 02:14:24 +02:00
Wojciech Zygmunt Porczyk
52f12abd36 qubesmanager/main.py: always display icons in menus
This commit is part of #721 fix.
2014-04-30 15:03:09 +02:00
Marek Marczykowski-Górecki
978af55bbb Minor error message handling fix 2014-04-24 12:58:38 +02:00
Marek Marczykowski-Górecki
59b98f7b51 Add updates section to global settings (#800) 2014-04-11 07:07:31 +02:00
Marek Marczykowski-Górecki
a84ebe56e8 Disable increment size hints
Window size is fixed (calculated based on VMs count etc) so it isn't
useful. Without correctly calculated base size hint it can cause wrong
manager window size. It actually happens on fc20 in dom0.
2014-04-02 03:29:57 +02:00
Marek Marczykowski-Górecki
a09f558b4b settings: add seamless_gui_mode settings (#810) 2014-04-01 01:13:34 +02:00
Marek Marczykowski-Górecki
ad99db9ca9 Add "Block devices" menu to context menu of tray icon (#781) 2014-03-31 18:38:17 +02:00
Marek Marczykowski-Górecki
aec32da2f1 Create "global" objects in main(), not VmManagerWindow
To have them outside of VmManagerWindow instance - possibly passed
through to other objects.
2014-03-31 18:36:00 +02:00
Marek Marczykowski-Górecki
9669c9f069 backups: save backup settings (#792) 2014-03-31 05:23:07 +02:00
Marek Marczykowski-Górecki
227597cf93 Add 'Requested MEM' column (aka prefmem) (#788) 2014-03-31 03:44:01 +02:00
Marek Marczykowski-Górecki
55d5bf0262 Split QubesBlockDevicesManager and table widgets into separate files
The main.py was ridiculously large - almost half of all Qubes Manager
code in one file.
2014-03-31 01:17:27 +02:00
Marek Marczykowski-Górecki
41bf7b448e firewall: add an option to temporary allow full network access (#760)
Add rule "*" with expire time set.
2014-03-28 06:41:35 +01:00
Marek Marczykowski-Górecki
3b3846eeb5 firewall: simplify rules handling code
Use directly rule provided by qubes core, not intermediate class
QubesFirewallRuleItem. This also will improve compatibility - if no
firewall changes made (but still "OK" clicked instead of "Cancel")
really the same settings are saved, even if rules contains some not
supported by Qubes Manager attributes.
2014-03-28 05:15:52 +01:00
Marek Marczykowski-Górecki
f79a1ed42e Clear startup errors when VM finally is running (#799) 2014-03-24 03:45:55 +01:00
Marek Marczykowski-Górecki
4f77108c5f settings: add an option to resize root.img (#699) 2014-03-21 18:40:23 +01:00
Marek Marczykowski-Górecki
9cc18228a0 Tell the KDE that clipboard notify uses HTML (#797)
Apparently KDE parses HTML tags in tray notifications only when some of
them appears on the first line of the message. So add some there.
This doesn't affect Xfce, which always parses HTML tags.
2014-03-11 02:10:11 +01:00
Marek Marczykowski-Górecki
ef90176747 Add VM name to block attach/detach notify (#797) 2014-03-10 05:21:22 +01:00
Marek Marczykowski-Górecki
e17e69dff3 Add Last backup date column (#798) 2014-03-10 04:28:30 +01:00
Marek Marczykowski-Górecki
55a965e5bd Add IP and included in backups columns (#735, #798) 2014-03-10 04:27:52 +01:00
Marek Marczykowski-Górecki
3016c06d91 backups: use backup_cancel() to interrupt backup/restore operation (#793) 2014-03-08 03:58:59 +01:00
Marek Marczykowski-Górecki
538b358df0 Add "HVM Template" VM type to create VM dialog (#758) 2014-03-08 01:38:22 +01:00
Marek Marczykowski-Górecki
2883c76740 Remove unused code in New VM dialog 2014-02-23 15:07:53 +01:00
Marek Marczykowski-Górecki
b536df4a79 Add option to start HVM with Qubes Tools installation iso attached (#744) 2014-02-23 01:32:50 +01:00
Marek Marczykowski-Górecki
0381a54156 Remove VM files when clone failed 2014-02-23 00:49:28 +01:00
Marek Marczykowski-Górecki
c0718a484d First remove VM from qubes.xml (#765)
So it will be removed regardless whether removing the files failed or
not.
2014-02-23 00:49:07 +01:00
Marek Marczykowski-Górecki
cc1ce3961d Rollback changes when VM creation failed
Do not only remove files, also remove VM from qubes.xml.
2014-02-23 00:46:33 +01:00
Marek Marczykowski-Górecki
3d67863727 appmenus: rely on core to recreate appmenus
Do not call all the steps manually.
2014-02-23 00:44:51 +01:00
Marek Marczykowski-Górecki
3ea49b5192 Remove trailing semicolons 2014-02-23 00:44:08 +01:00
Marek Marczykowski-Górecki
17107a7012 settings: add 'drive' setting to advanced tab (#712) 2014-02-20 01:05:38 +01:00
Marek Marczykowski-Górecki
8e0a441dfe settings: do not assume that kernel is the last setting 2014-02-20 01:05:38 +01:00
Marek Marczykowski-Górecki
95e9680e96 Whitespace fixes 2014-02-20 01:05:37 +01:00
Marek Marczykowski-Górecki
b109f8ce7c backups: fix in VM path dialog handling 2014-02-20 01:05:37 +01:00
Marek Marczykowski-Górecki
7f6700bbe5 Fix global settings save 2014-02-16 21:56:55 +01:00
Marek Marczykowski-Górecki
ede9d362a7 Merge branch 'appicons' 2014-02-07 05:55:29 +01:00
Marek Marczykowski-Górecki
53433bc47d backups: fix unicode handling in passphrase and backup path
Convert from QString to unicode, not str object.
2014-02-05 06:54:22 +01:00
Marek Marczykowski-Górecki
89280d0283 backups: start dom0 file browser with '/' as default
Do not suggest home directory as right place for backups. If the user
chosen some block device, it will be used as default.
2014-02-05 06:54:11 +01:00
Marek Marczykowski-Górecki
4f7d3451b2 backups: remove "skip dom0" option (#791)
User always can choose (or not) dom0 on the VMs selection page.
2014-02-05 04:31:37 +01:00
Marek Marczykowski-Górecki
0454524d93 Update audio-input availability after VM startup
The pulseaudio agent register itself when it connects to the VM, so
after VM reports "Running" state.
2014-01-23 16:41:01 +01:00
Marek Marczykowski-Górecki
926f61b86c backups: clarify messages after finishing the backup process 2014-01-22 01:36:52 +01:00
Marek Marczykowski-Górecki
9b3fcc0855 Stabilize sorting order
In case of equal value in column, resolve order using QID. This ensures
preserving rows order across reload, data update etc.
2014-01-22 01:23:10 +01:00
Marek Marczykowski-Górecki
3c15702286 Merge remote-tracking branch 'woju/master' into appicons 2014-01-16 04:57:57 +01:00
Marek Marczykowski-Górecki
11aff876a5 backups: restore default SIGCHLD handler for the backup time
The same as for restore.
2014-01-15 06:00:02 +01:00
Marek Marczykowski-Górecki
f7db4725a2 backups: minor fixes 2014-01-15 05:59:45 +01:00
Marek Marczykowski-Górecki
5527609c92 backups: update backup_do parameters. 2014-01-15 05:59:16 +01:00
Marek Marczykowski-Górecki
89f7c30a7e backups/restore: improve handling "Back" button
Do not reset entered data, but recheck selected VMs dependencies.
2014-01-13 05:22:52 +01:00
Marek Marczykowski-Górecki
7757e343e1 backups/restore: implement selecting the backup even in VM
Using new qubes.SelectFile RPC service, qubes manager can show the file
select dialog from within VM.
The user still can enter the path (or command) manually.
2014-01-13 05:20:54 +01:00
Marek Marczykowski-Górecki
07068be8ed backups: improve handling of dom0 devices
Do not use blk_manager if the device is already in dom0, try to detach
device only when it was mounted (otherwise it was detached already in
error handling code).
2014-01-13 05:19:43 +01:00
Marek Marczykowski-Górecki
9214fb1488 backups: update imports 2014-01-13 05:19:06 +01:00
Marek Marczykowski-Górecki
745b5d479f backups: update for simplified restore API calls 2014-01-13 05:18:03 +01:00
Marek Marczykowski-Górecki
c5ed749c22 backups: make released block device visible to the block manager
Devices used as part of other device (e.g. LUKS) are marked as
unavailable. So after releasing the device it need to be discovered
again. Unfortunately udev event isn't triggered on such occasion (only
"remove" event for device-mapper dev). This patch triggers this event
manually.
2014-01-13 05:09:07 +01:00
Marek Marczykowski-Górecki
02ac37c316 backups: default path on block device only on backup, not restore
On restore the user must point which backup want to use.
2014-01-12 05:43:15 +01:00
Marek Marczykowski-Górecki
26d4f67963 backups: detach block device when finished or error occurred 2014-01-12 05:42:19 +01:00
Marek Marczykowski-Górecki
5f7113e11e backups: allow only one of "block device" and "VM"
Block device can be pointed only when source VM is "dom0".
2014-01-12 05:20:48 +01:00
Marek Marczykowski-Górecki
d8a6e4a4b1 backups: simplify getting dom0 object 2014-01-12 05:18:56 +01:00
Marek Marczykowski-Górecki
92a6a85a4b backups: kill self.backup_location variable
This is copy of dir_line_edit content and its easy to desynchronize its
value, so just use the later directly.
2014-01-11 22:57:34 +01:00