Marek Marczykowski-Górecki
f7f1038f57
core: add a stopgap detection for simultaneous qubes.xml access
...
For now simply throw an exception. Proper solution require some locking
QubesOS/qubes-issues#1729
2016-03-03 01:18:15 +01:00
Wojtek Porczyk
c531b0eac2
qubes: fix None serialisation for VMProperty
...
Note that None != default (no attribute in XML at all).
This is reworked
27eddcb WIP core: fix deserializing None for VMProperty
by Marek.
2016-03-03 01:18:15 +01:00
Marek Marczykowski-Górecki
843cf68c1a
core: return QubesVMNotFoundError when setting non-existent VM to VMProperty
...
Not sure about this one. Maybe it should be rather
QubesPropertyValueError?
2016-03-03 01:18:15 +01:00
Marek Marczykowski-Górecki
380ad74494
core: fix property.__eq__
2016-03-03 01:18:15 +01:00
Marek Marczykowski-Górecki
ee1e836523
core: fix clone_properties(proplist=something)
2016-03-03 01:18:15 +01:00
Marek Marczykowski-Górecki
929923164e
Move libvirt_conn.close to object destructor
...
Process exit is too late for long-running processes. Especially tests,
which create a lot of such objects which leads to depleting all
the file descriptors.
QubesOS/qubes-issues#1697
2016-03-03 01:18:15 +01:00
Marek Marczykowski-Górecki
ab469e4473
vm: fix calling monitor layout notifier
2016-03-03 01:18:15 +01:00
Marek Marczykowski-Górecki
4095f3c5eb
vm: disable uses_custom_config for now
2016-03-03 01:18:15 +01:00
Marek Marczykowski-Górecki
db20581340
storage: few more merge fixes
2016-03-03 01:18:15 +01:00
Marek Marczykowski-Górecki
926596cba7
Initialize vm.storage after loading all the properties
...
It needs at least vm.name to be set.
2016-03-03 01:18:15 +01:00
Marek Marczykowski-Górecki
3af71ab65d
storage: fix handling netvm and adminvm
...
@woju what was consensus on 'servicevms' dir? Since "being network
provider" is no longer separate type and can be changed during VM
lifetime, maybe we should abandon that idea? Or maybe just set it as VM
property (some storage pool config argument) - that way mgmt stack could
put all the sys-* VMs into separate directory, regardless of the type.
2016-03-03 01:18:06 +01:00
Marek Marczykowski-Górecki
d3f9c0b169
storage: fix loading default storage pool
...
qubes.config.defaults holds ['pool_drivers'] strings, not classes.
2016-03-03 01:14:54 +01:00
Wojtek Porczyk
c47e29ed50
Fix most errors from pylint
2016-03-03 01:14:54 +01:00
Wojtek Porczyk
9eafa57539
Merge remote-tracking branch 'marmarek/master' into core3-devel
...
The following list is bollocks. There were many, many more.
Conflicts:
core-modules/003QubesTemplateVm.py
core-modules/005QubesNetVm.py
core/qubes.py
core/storage/__init__.py
core/storage/xen.py
doc/qvm-tools/qvm-pci.rst
doc/qvm-tools/qvm-prefs.rst
qubes/tools/qmemmand.py
qvm-tools/qvm-create
qvm-tools/qvm-prefs
qvm-tools/qvm-start
tests/__init__.py
vm-config/xen-vm-template-hvm.xml
This commit took 2 days (26-27.01.2016) and put our friendship to test.
--Wojtek and Marek
2016-03-03 01:13:51 +01:00
Wojtek Porczyk
2d6ad3b60c
qubes/vm/qubesvm: remove prefixes from qubesdb keys
2016-03-03 00:46:05 +01:00
Wojtek Porczyk
e8bedcd7ba
qubes/vm: fix starting netvm
2016-03-03 00:46:05 +01:00
Wojtek Porczyk
6bc30b2e0b
qubes/tools/qvm_ls: fix getting columns from mixin
2016-03-03 00:46:05 +01:00
Wojtek Porczyk
21d6d51cbb
qubes/tools/qvm_ls: remove fmt= argument
...
Unneeded, added complexity.
2016-03-03 00:46:05 +01:00
Wojtek Porczyk
01319e391f
qubes: port netvm
...
From now, there are no separate NetVM and ProxyVM class, but property
"provides_network".
2016-03-03 00:46:05 +01:00
Marek Marczykowski-Górecki
3bef37f881
tests: PCI passthrough to HVM
...
A simple test which checks if the device is visible there at all.
Device set with QUBES_TEST_PCIDEV env variable is used - it should be
some unimportant device which can be freely detached from dom0.
QubesOS/qubes-issues#1659
2016-02-26 11:04:52 +01:00
Marek Marczykowski-Górecki
26443e1dd2
tests: add function to create minimal OS in HVM
...
SystemTestsMixin.prepare_hvm_system_linux creates minimal Linux
installation necessary to launch simple shell script. It installs:
- grub2
- kernel from dom0 (the same as the running one)
- dracut based initramfs, with provided script set as pre-pivot hook
Done in preparation for QubesOS/qubes-issues#1659 test
2016-02-26 10:59:20 +01:00
Zrubi
4ae52b037b
filename sanitization
2016-02-25 15:05:06 +01:00
Marek Marczykowski-Górecki
fa66fec684
version 3.1.13
2016-02-23 16:28:14 +01:00
Marek Marczykowski-Górecki
d3f83876eb
rpm: require new enough qubes-core-dom0-linux package
...
For qvm-sync-clock --force option.
2016-02-23 16:22:02 +01:00
Marek Marczykowski-Górecki
0fb69d39ca
tests: qvm-sync-clock is asynchronouse, take it into account
2016-02-23 16:20:18 +01:00
Marek Marczykowski-Górecki
3ece17a8cf
qvm-sync-clock: sync dom0 clock only when NTP sync succeeded, even with --force
...
Otherwise dom0 clock (initially almost ok) may be adjusted to totally
invalid timestamp of ClockVM (for example just after resume from S3
sleep).
2016-02-22 20:56:38 +01:00
Marek Marczykowski-Górecki
3f19157d2f
Merge remote-tracking branch 'qubesos/pr/16'
...
* qubesos/pr/16:
new --force option for qvm-sync-clock to be able to bypass time sync errors
2016-02-22 20:44:30 +01:00
Marek Marczykowski-Górecki
4658967d09
Merge remote-tracking branch 'qubesos/pr/17'
...
* qubesos/pr/17:
qvm-prefs: --get option was misspelled --gry
2016-02-22 20:44:00 +01:00
Marek Marczykowski-Górecki
0121cb2fd4
qmemman: make memory request handling more defensive
...
If getting memory for new VM fails for any reason, make sure that global
lock will be released. Otherwise qmemman will stop functioning at all.
QubesOS/qubes-issues#1636
2016-02-22 17:57:30 +01:00
Marek Marczykowski-Górecki
5546d679c0
dispvm: use try/finally to make sure that qubes.xml is unlocked
...
Even in case of some exception (in which case theoretically it should be
unlocked at qfile-daemon-dvm exit, but the script may wait for
something).
QubesOS/qubes-issues#1636
2016-02-21 12:41:13 +01:00
Jon Griffiths
9bd651faaa
qvm-prefs: --get option was misspelled --gry
2016-02-18 16:01:08 +13:00
Zrubi
2fcd3c6832
new --force option for qvm-sync-clock to be able to bypass time sync errors
2016-02-10 14:55:11 +01:00
Marek Marczykowski-Górecki
ae848d5369
version 3.1.12
2016-02-08 05:02:30 +01:00
Marek Marczykowski-Górecki
0e273276d3
qvm-run: warn if --localcmd used without --pass-io
2016-02-08 05:01:50 +01:00
Marek Marczykowski-Górecki
6378e2bd20
qvm-run: allow --localcmd with --pass-io, even when --all is given
...
With --localcmd, stdin/out are connected to that local process (instead
of a terminal), so it doesn't conflict with --all.
QubesOS/qubes-issues#1728
2016-02-08 04:50:05 +01:00
Marek Marczykowski-Górecki
9fa090b422
core: prevent VM renaming over already existing VM
...
Fixes QubesOS/qubes-issues#1723
2016-02-08 04:38:26 +01:00
Marek Marczykowski-Górecki
be231421de
tests: try to change name to conflicting value
...
QubesOS/qubes-issues#1723
2016-02-07 02:17:59 +01:00
Marek Marczykowski-Górecki
f13abc2ace
tests: rename domain when it is't defined libvirt
...
Regression test for QubesOS/qubes-issues#1632
2016-02-06 05:36:53 +01:00
Marek Marczykowski-Górecki
0b5bd060bb
Fix domain renaming when it wasn't defined in libvirt
...
Fixes QubesOS/qubes-issues#1632
2016-02-06 05:36:07 +01:00
Marek Marczykowski-Górecki
8ee909f08c
Caught unknown libvirt errors on getting runtime VM info
...
In some cases libvirt doesn't report error code at all. This probably
happens in some stage of domain startup/shutdown. Threat this the same
as domain not running.
Fixes QubesOS/qubes-issues#1537
2016-02-06 05:34:22 +01:00
Marek Marczykowski-Górecki
0d31306b90
tests: clearing 'updates pending' flag
...
QubesOS/qubes-issues#1685
2016-02-03 17:22:15 +01:00
Marek Marczykowski-Górecki
0d2e03389f
tests: qvm-open-in-vm and qvm-open-in-dvm tests for different file types
...
QubesOS/qubes-issues#1621
2016-01-29 21:31:49 +01:00
Marek Marczykowski-Górecki
be00d15d99
tests: do not crash when trying to log class setup/teardown fail
...
QubesOS/qubes-issues#1691
2016-01-29 21:30:11 +01:00
Marek Marczykowski-Górecki
84af7386f5
tests: support VMs cleaned up in tearDownClass, instead of tearDown
...
Usage: VMs with name created by self.make_vm_name(name,
class_teardown=True) will be cleaned up in tearDownClass. It should be
used only in setUpClass.
Fixes QubesOS/qubes-issues#1691
2016-01-26 03:34:27 +01:00
Wojtek Porczyk
638c31ce68
qubes/tests/vm/qubesvm: some more tests
2016-01-21 13:31:43 +01:00
Wojtek Porczyk
06cc064c8c
qubes/tests: split init to init1 and init2
...
This is to keep the correct order of the tests. The exact dependency
graph is somewhat complicated and contains several cycles.
2016-01-21 13:31:43 +01:00
Marek Marczykowski-Górecki
d2640b517f
backup: Allow to specify custom temporary directory
...
Using tmpfs-backed directory may speed up the backup process.
QubesOS/qubes-issues#1652
2016-01-20 03:35:35 +01:00
Marek Marczykowski-Górecki
31a3796ed3
dispvm: do not remove innocent files when cleaning up DispVM
...
Fixes QubesOS/qubes-issues#1662
2016-01-20 02:51:57 +01:00
Marek Marczykowski-Górecki
689df4afd3
dispvm: cleanup DispVM even if was already destroyed
...
dispvm.force_shutdown() throw an exception if the VM is already dead.
Fixes QubesOS/qubes-issues#1660
2016-01-20 02:50:47 +01:00
Marek Marczykowski-Górecki
176755d9e2
tests: DispVM cleanup
...
QubesOS/qubes-issues#1660
2016-01-20 02:48:46 +01:00