Marek Marczykowski-Górecki
28886390b4
Merge branch 'always-stubdom-guid'
2015-11-28 05:10:54 +01:00
Marek Marczykowski-Górecki
67ca619ee5
qvm-pci: fix PCI device id (BDF) regexp
...
Actually BDF is in hex...
Fixes QubesOS/qubes-issues#1461
2015-11-27 22:56:55 +01:00
Marek Marczykowski-Górecki
b114d291ca
Merge remote-tracking branch 'qubesos/pr/12'
...
* qubesos/pr/12:
Fix circular deps workaround in Pool.vmdir_path()
Move device names from XenStorage to QubesVmStorage
Provide method format_disk_dev() to all storages
Move the vmdir logic from XenPool to Pool
2015-11-27 20:00:37 +01:00
Marek Marczykowski-Górecki
280cb8fdfb
tests: custom backup compression filter
...
QubesOS/qubes-issues#1459
2015-11-27 20:00:34 +01:00
Marek Marczykowski-Górecki
8725bdefb0
backup: add qvm-backup --compress-filter option
...
Custom compression program was supported for a long time. But there was
no option to use it...
Fixes QubesOS/qubes-issues#1459
2015-11-27 20:00:34 +01:00
Marek Marczykowski-Górecki
1e48beaf6f
backup: add qvm-backup-restore --rename-conflicting option
...
QubesOS/qubes-issues#869
2015-11-27 20:00:34 +01:00
Marek Marczykowski-Górecki
99272132a6
tests: test case for on the fly VM rename during backup restore
...
QubesOS/qubes-issues#869
2015-11-27 20:00:34 +01:00
Marek Marczykowski-Górecki
24d660d61e
backup: add option to on-the-fly renaming conflicting VMs
...
Fixes QubesOS/qubes-issues#869
2015-11-27 20:00:34 +01:00
Marek Marczykowski-Górecki
3065431058
tests: include NetVM in basic backup tests
2015-11-27 20:00:34 +01:00
Marek Marczykowski-Górecki
377d3ad43a
rpm: do not motify /etc/udev/rules.d/xen-backend.rules anymore
...
Xen 4.6 no longer uses udev to call hotplug scripts.
QubesOS/qubes-issues#1361
2015-11-27 20:00:34 +01:00
Marek Marczykowski-Górecki
3e79ff6a37
tests: release qubes.xml lock while killing VMs
...
Otherwise hotplug scripts may deadlock on qvm-template-commit and
consequently do not release loop and device-mapper devices. Which means
also not releasing disk space for underlying images.
Fixes QubesOS/qubes-issues#1458
2015-11-27 20:00:34 +01:00
Marek Marczykowski-Górecki
624c94b9d6
dispvm: show error in tray when DispVM startup failed
...
Fixes QubesOS/qubes-issues#1457
2015-11-27 20:00:33 +01:00
Marek Marczykowski-Górecki
fef8761f01
qmemman: improve check whether VM is still running
...
In some cases it may happen that qmemman or other application using
xenstore will re-create VM directory in xenstore just after VM was
destroyed. For example when multiple VMs was destroyed at the same time,
but qmemman will kick off just at first @releaseDomain event - other VMs
will still be there (at xenstore-list time). This means that qmemman
will consider them when redistributing memory (of just destroyed one),
so will update memory/target entry of every "running" VM. And at this
point it may recreate VM directory of another already destroyed VM.
Generally fixing this race condition would require running all the
operations (from xenstore-ls, to setting memory/target) in a single
xenstore transaction. But this can be lengthly process. And if any other
modification happens in the meantime, transaction will rejected and
qmemman would need to redo all the changes. Not worth the effort.
Fixes QubesOS/qubes-issues#1409
2015-11-27 20:00:33 +01:00
Marek Marczykowski-Górecki
f525a58134
core: adjust for updated stubdom support in libvirt
...
Fixes QubesOS/qubes-issues#1456
2015-11-27 20:00:33 +01:00
Marek Marczykowski-Górecki
2fdbf51ccc
core: have QubesVmCollection.unlock_db no-op if not locked
2015-11-27 20:00:19 +01:00
Bahtiar `kalkin-` Gadimov
f5cef35cdf
Fix circular deps workaround in Pool.vmdir_path()
2015-11-25 16:01:28 +01:00
Bahtiar `kalkin-` Gadimov
85421e3f48
Move device names from XenStorage to QubesVmStorage
2015-11-25 12:49:56 +01:00
Bahtiar `kalkin-` Gadimov
9b23576ff6
Provide method format_disk_dev() to all storages
...
The method XenStorage._format_disk_dev() generates the xml config for a device.
It is not specific to the Xen file storage implementation. It can and must be
reused by other storage implementations
2015-11-25 12:48:47 +01:00
Bahtiar `kalkin-` Gadimov
feaaaa75fa
Move the vmdir logic from XenPool to Pool
...
Any storage implementation needs this logic for saving the vm config and
`*.desktop` files.
2015-11-25 12:47:25 +01:00
Marek Marczykowski-Górecki
cc3ab7aaa1
Merge remote-tracking branch 'qubesos/pr/11'
...
* qubesos/pr/11:
libvirtError in _update_libvirt_domain is no longer silently swallowed.
2015-11-25 03:46:55 +01:00
Marek Marczykowski-Górecki
aeec42dacf
tests: PV Grub: ensure that latest packages are installed
...
Flush yum case before that.
2015-11-25 03:16:24 +01:00
Marek Marczykowski-Górecki
64343572c1
tests: handle older df
version in resize private.img tests
...
df --output=size isn't available in Debian (7, 8).
2015-11-25 03:15:23 +01:00
Marek Marczykowski-Górecki
a14e1cc86f
tests: move enter_keys_in_window to base SystemTestsMixin class
...
This ways it will be available also in DispVM tests (already referenced
there), and others.
2015-11-25 03:14:23 +01:00
Marek Marczykowski-Górecki
de275cc917
core: leave volatile.img structure creation for the VM
...
This is already handled by a script in initramfs.
Fixes QubesOS/qubes-issues#1308
2015-11-25 01:35:04 +01:00
Marek Marczykowski-Górecki
564ea5d64c
tests: check if qvm-move-to-vm properly fails in case of out of disk space
...
Regression test for QubesOS/qubes-issues#1355
2015-11-25 01:35:04 +01:00
Marek Marczykowski-Górecki
d7ab2d985d
tests: use wait_for_window/enter_keys_in_window wrappers when applicable
...
Reduce code duplication.
2015-11-25 01:35:04 +01:00
Marek Marczykowski-Górecki
db35e03aa7
tests: backup to VM tests
...
Regression tests for QubesOS/qubes-issues#1371 and
QubesOS/qubes-issues#1359
Fixes QubesOS/qubes-issues#1435
2015-11-25 01:35:04 +01:00
Marek Marczykowski-Górecki
736e278865
tests: fix wait_for_window function
...
The `show` parameter wasn't handled (show=False was assumed...)
2015-11-25 01:35:04 +01:00
Marek Marczykowski-Górecki
760786d999
tests: minor formating
2015-11-25 01:35:04 +01:00
Marek Marczykowski-Górecki
0c476f014d
backup: avoid deadlock when VM process fails
...
If SendWorker queue is full, check if that thread is still alive.
Otherwise it would deadlock on putting an entry to that queue.
This also requires that SendWorker must ensure that the main thread
isn't currently waiting for queue space when it fails. We can do this by
simply removing an entry from a queue - so on the next iteration
SendWorker would be already dead and main thread would notice it.
Getting an entry from queue in such (error) situation is harmless,
because other checks will notice it's an error condition.
Fixes QubesOS/qubes-issues#1359
2015-11-25 01:35:04 +01:00
Marek Marczykowski-Górecki
c6df81ccff
Merge remote-tracking branch 'qubesos/pr/6'
2015-11-25 01:34:36 +01:00
Marek Marczykowski-Górecki
c337494ba6
Add qvm-pci --add-class option for adding all devices of given class
...
This should reduce code duplication in most of initial setup like places
- currently firstboot and live image setup.
2015-11-25 01:34:15 +01:00
Vít Šesták
eb97c5652f
libvirtError in _update_libvirt_domain is no longer silently swallowed.
...
I had some issue with fstrim and the missing else had caused the code to continue and fail later with a non-descriptive error message. This commit makes the error message more descriptive and helpful.
2015-11-25 01:16:27 +01:00
Bahtiar `kalkin-` Gadimov
2ebd20049d
Refactor appmenus paths to core-admin-linux
2015-11-22 12:21:40 +01:00
Bahtiar `kalkin-` Gadimov
885dc5cd81
Rename storage dir to dir_path, type to driver
...
Bad idea to use attributes which are named after built in functions.
2015-11-21 14:46:23 +01:00
Bahtiar `kalkin-` Gadimov
9eee00c6d7
QubesNetVm and subclasses use servicevm/ as vmdir
2015-11-17 21:21:02 +01:00
Bahtiar `kalkin-` Gadimov
1934f06869
XenStorage add DisposableVm handling
2015-11-17 21:15:13 +01:00
Bahtiar `kalkin-` Gadimov
989eab1d72
Add file image tests to tests/storage.py
2015-11-17 19:37:21 +01:00
Bahtiar `kalkin-` Gadimov
0ba0259d1a
Extend documentation test/storage.py
2015-11-17 19:37:21 +01:00
Bahtiar `kalkin-` Gadimov
710b95a6ac
Fix app icons errors
2015-11-17 19:37:20 +01:00
Bahtiar `kalkin-` Gadimov
76224dac86
Path to the Vm images is set by the storage
...
- This moves the logic for setting the path to the storage specific class like
XenStore
2015-11-17 19:37:20 +01:00
Bahtiar `kalkin-` Gadimov
348030bf9c
Add --storage-pool option to qvm-create
2015-11-17 19:37:20 +01:00
Bahtiar `kalkin-` Gadimov
0bc0bc9045
XenStorage make sure subdirs exist in pool dir
2015-11-17 19:37:20 +01:00
Bahtiar `kalkin-` Gadimov
58f23ca392
Add configurable pool_dir to XenPool
2015-11-17 19:37:20 +01:00
Bahtiar `kalkin-` Gadimov
16d480cf4c
Add storage add_pool & remove_pool
2015-11-17 19:37:19 +01:00
Bahtiar `kalkin-` Gadimov
26711e7e9a
Use default pool_config if pool name is 'default'
2015-11-17 19:37:19 +01:00
Bahtiar `kalkin-` Gadimov
78891dd70f
QubesVm save the name of the storage pool used
2015-11-17 19:37:19 +01:00
Bahtiar `kalkin-` Gadimov
d1685a13df
Add storage.pool_exists
2015-11-17 19:37:19 +01:00
Bahtiar `kalkin-` Gadimov
8e0207a199
Rename QubesXenVmStorage to XenStorage
2015-11-17 19:37:19 +01:00
Bahtiar `kalkin-` Gadimov
bfaf37dae5
Add pool config parsing
2015-11-17 19:37:18 +01:00