core-admin/qubes/tests
Marek Marczykowski-Górecki 0f12870803
storage: use direct object references, not only identifiers
Reference objects, not their IDs - this way when object is modified, it
is visible everywhere where it is used. Main changes:
- volume.pool - Pool object
- volume.source - Volume object

Since volume have Pool object reference now, move volume related
functions into Volume class (from Pool class). This avoids horrible
`storage.get_pool(volume).something(volume)` construct.

One issue here is since volume.source reference a Volume object from a
different VM - VM's template, now VM load order is important. Since we
don't have control over it, initialize vm.storage when needed - possibly
while initializing storage of different VM. Since we don't have cycles
in AppVM-TemplateVM dependencies, it is safe.

Also, since this commit, volume.source (if defined) always points at
volume of the same name from VM's template. Using volumes with something
else as a source is no longer supported.

QubesOS/qubes-issues#2256
2017-06-09 04:55:06 +02:00
..
integ last fixes (thanks, @marmarek!) 2017-06-05 14:34:06 +02:00
tools Rename MgmtAPI to AdminAPI - part 1: classes 2017-05-12 19:28:07 +02:00
vm storage: use direct object references, not only identifiers 2017-06-09 04:55:06 +02:00
__init__.py tests: basic tests for AppVM 2017-06-06 03:33:31 +02:00
api_admin.py admin-api: fix handling admin.vm.property.Set with None VM value 2017-05-26 15:08:18 +02:00
api_misc.py Migrate qubes.NotifyTools, qubes.FeaturesRequest, qubes.NotifyUpdates 2017-06-06 03:33:30 +02:00
app.py qubes.tests asyncio 2017-05-29 17:34:15 +02:00
devices_block.py ext: BlockDevices extension 2017-06-05 23:33:58 +02:00
devices.py qubes.tests asyncio 2017-05-29 17:34:15 +02:00
events.py events: add support for per-instance handlers 2017-05-12 14:25:32 +02:00
extra.py qubes: port core to python3 2017-01-20 16:42:51 +01:00
firewall.py qubes: port core to python3 2017-01-20 16:42:51 +01:00
init.py Fix miscellaneous warnings 2017-05-29 17:34:15 +02:00
run.py qubes: port core to python3 2017-01-20 16:42:51 +01:00
storage_file.py storage: use direct object references, not only identifiers 2017-06-09 04:55:06 +02:00
storage_kernels.py tests: very basic tests for LinuxKernel pool 2017-05-17 11:17:22 +02:00
storage_lvm.py storage: use direct object references, not only identifiers 2017-06-09 04:55:06 +02:00
storage.py mgmt: vm.Create* and vm.Clone 2017-05-12 17:04:18 +02:00
tarwriter.py qubes: port core to python3 2017-01-20 16:42:51 +01:00