Commit Graph

226 Commits

Author SHA1 Message Date
donoban
a7537a323a
Wops
I did not notice on my pylint because it complains about all imports
2018-10-21 00:16:23 +02:00
donoban
c46b38ab42
Travis3 2018-10-21 00:06:37 +02:00
donoban
f93908f5b7
Fix travis build2 2018-10-20 23:23:06 +02:00
donoban
831769d2dd
Fix travis build 2018-10-20 23:01:35 +02:00
donoban
38051ad243
Fixes in ProgressDialogs and settings window close 2018-10-20 22:09:39 +02:00
donoban
ad1bcc55b9
Deleted unneded method _clone_vm() 2018-10-20 21:25:13 +02:00
donoban
29ca4eb3a8
Migration from python threads and to QThread obj
Simple design and better performance, just start() thread and finished
call back will show any error or msg, stop progress dialog and do cleanup.

Full remove of QT process_events() calls.
2018-10-20 18:34:15 +02:00
Marta Marczykowska-Górecka
4ff111eb81
Changed blank kernelopts in VM settings from [] to -
as requested by @marmarek
2018-09-27 21:34:56 +02:00
Marta Marczykowska-Górecka
bc15ef91ec
Fixed kernelopts in VM settings
For some reason, they were not being displayed at all. Now fixed.

fixes QubesOS/qubes-issues#4188
2018-09-21 14:09:07 +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
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
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
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
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
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
Marta Marczykowska-Górecka
d3bd164e2f
Tiny fix to make pylint stop complaining 2018-05-17 19:58:44 +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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
Marek Marczykowski-Górecki
c2aad3ce20
Remove code referencing removed "extra drive" box 2017-09-14 02:34:10 +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
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
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
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
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
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
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
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
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
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
00caebda95
wrap long lines 2016-06-21 02:03:32 +02:00
Marek Marczykowski-Górecki
d2a4dd810b
Remove unused imports 2015-07-23 07:34:30 +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
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
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