core-admin/qubes/tests
Marek Marczykowski-Górecki 4dc8631010
Use maxmem=0 to disable qmemman, add more automation to it
Use maxmem=0 for disabling dynamic memory balance, instead of cryptic
service.meminfo-writer feature. Under the hood, meminfo-writer service
is also set based on maxmem property (directly in qubesdb, not
vm.features dict).
Having this as a property (not "feature"), allow to have sensible
handling of default value. Specifically, disable it automatically if
otherwise it would crash a VM. This is the case for:
 - domain with PCI devices (PoD is not supported by Xen then)
 - domain without balloon driver and/or meminfo-writer service

The check for the latter is heuristic (assume presence of 'qrexec' also
can indicate balloon driver support), but it is true for currently
supported systems.

This also allows more reliable control of libvirt config: do not set
memory != maxmem, unless qmemman is enabled.

memory != maxmem only makes sense if qmemman for given domain is
enabled.  Besides wasting some domain resources for extra page tables
etc, for HVM domains this is harmful, because maxmem-memory difference
is made of Popupate-on-Demand pool, which - when depleted - will kill
the domain. This means domain without balloon driver will die as soon
as will try to use more than initial memory - but without balloon driver
it sees maxmem memory and doesn't know about the lower limit.

Fixes QubesOS/qubes-issues#4135
2018-11-21 02:13:25 +01:00
..
integ tests: try to collect qvm-open-in-dvm output if no editor window is shown 2018-10-29 01:20:57 +01:00
tools Change license to LGPL v2.1+ 2017-10-12 00:11:50 +02:00
vm Use maxmem=0 to disable qmemman, add more automation to it 2018-11-21 02:13:25 +01:00
__init__.py tests: increase session startup timeout for whonix-ws based VMs 2018-10-27 16:44:53 +02:00
api_admin.py api/admin: fix error message when refusing to create template on template 2018-11-04 17:05:55 +01:00
api_misc.py Merge branch 'master' into devel-no-assert 2018-10-29 20:29:53 +01:00
api.py Change license to LGPL v2.1+ 2017-10-12 00:11:50 +02:00
app.py tests/app: test varlibqubes pool driver selection 2018-09-11 23:50:33 +00:00
devices_block.py Change license to LGPL v2.1+ 2017-10-12 00:11:50 +02:00
devices.py Change license to LGPL v2.1+ 2017-10-12 00:11:50 +02:00
events.py events: add support for wildcard event handlers 2018-01-06 00:40:19 +01:00
ext.py Use maxmem=0 to disable qmemman, add more automation to it 2018-11-21 02:13:25 +01:00
extra.py tests: adjust extra tests loader to work with nose2 2018-10-27 16:44:53 +02:00
firewall.py tests: fix firewall tests after 6e8e48e3 "Avoid UTC datetime" 2018-03-22 01:47:41 +01:00
init.py remove unused netid code 2017-11-11 02:37:37 +01:00
run.py Change license to LGPL v2.1+ 2017-10-12 00:11:50 +02:00
storage_file.py Merge branch 'devel-storage-fixes' 2018-03-21 02:06:25 +01:00
storage_kernels.py storage/kernel: skip modules.img block device if kernel dir doesn't have it 2018-02-27 04:35:05 +01:00
storage_lvm.py tests/lvm: fix checking lvm pool existence 2018-10-30 01:17:00 +01:00
storage_reflink.py tests/storage_reflink: test some file-reflink helpers 2018-09-11 23:50:32 +00:00
storage.py app: create /var/lib/qubes as file-reflink if supported 2018-09-11 23:50:26 +00:00
tarwriter.py Change license to LGPL v2.1+ 2017-10-12 00:11:50 +02:00