Marek Marczykowski-Górecki
b91714b204
qubes/features: handle recursive templates
...
Have features.check_with_template() check the template recursively.
The longest path (currently) is: DispVM -> AppVM -> TemplateVM.
2016-10-31 02:04:27 +01:00
Wojtek Porczyk
9dc37c1ee7
Add possibility to override libvirt config
...
This is the equivalent of "custom config" from R3.x.
fixes QubesOS/qubes-issues#1798
2016-10-04 11:31:31 +02:00
Marek Marczykowski-Górecki
e01f7b97d9
qubes/vm: plug in new firewall code, create QubesDB entries
...
QubesOS/qubes-issues#1815
2016-09-19 20:36:31 +02:00
Marek Marczykowski-Górecki
d7a3c0d319
qubes: new devices API
...
Allow device plugin to list attached and available devices. Enforce
at API level every device being exposed by some domain.
This commit only changes devices API, but not update existing users
(pci) yet.
QubesOS/qubes-issues#2257
2016-09-03 20:40:39 +02:00
Marek Marczykowski-Górecki
0293c1c7ef
qubes/vm: move misc XML tags loading to separate method
2016-08-18 11:57:11 +02:00
Marek Marczykowski-Górecki
53b2b30c0a
qubes: fix some error messages
2016-08-17 02:13:59 +02:00
Marek Marczykowski-Górecki
460f0849a7
qubes/features: handle recursive templates in check_with_template
...
This is the case for DispVMs: DispVM -> AppVM -> TemplateVM
2016-08-17 00:47:32 +02:00
Bahtiar `kalkin-` Gadimov
9d30bb132a
Fix umask
2016-08-03 02:57:44 +02:00
Bahtiar `kalkin-` Gadimov
7ccba17a38
qubes.vm.__init__ Replace TODOs with SEE: #1815
2016-06-16 17:01:34 +02:00
Bahtiar `kalkin-` Gadimov
ec9550c7cc
qubes.vm.__init__ Remove debug xml file creation
2016-06-16 17:01:34 +02:00
Bahtiar `kalkin-` Gadimov
94d9fd040f
qubes.vm.__init__ Add docstrings
2016-06-16 17:01:34 +02:00
Bahtiar `kalkin-` Gadimov
77d54b55ad
qubes.vm.__init__ Fix pylint warnings
2016-06-16 17:01:34 +02:00
Bahtiar `kalkin-` Gadimov
f318871279
qubes.vm.__init__ Remove uses_custom_config bits
2016-06-16 17:01:34 +02:00
Bahtiar `kalkin-` Gadimov
b5fe49f422
qubes.vm.__init__ Remove unneeded imports
2016-06-16 17:01:34 +02:00
Wojtek Porczyk
677a3e51f4
Move libvirt XML network device to jinja
2016-06-16 13:29:15 +02:00
Wojtek Porczyk
ba20254888
Rewrite PCI attaching/detaching from xl to libvirt
...
The only remaining part is querying vm-side BDF. That can't be done
in libvirt.
2016-06-16 13:29:15 +02:00
Wojtek Porczyk
63c09a090c
qubes: Combat import cycles
...
This commit eliminates import statements happening in the middle of the
file (between two classes definition). The cycles are still there. The
only magic module is qubes itself.
2016-05-05 14:33:09 +02:00
Marek Marczykowski-Górecki
7f5feac98b
qubes/vm: fixes for features handling
...
Properly handle 'None' value, there is no difference between empty
string (<x></x>) and no content at all (<x/>).
2016-04-07 13:03:30 +02:00
Marek Marczykowski-Górecki
8da7416f30
vm: Remove reference to old libvirt config template
...
This file isn't installed anymore
2016-03-21 11:44:54 +01:00
Wojtek Porczyk
5eaf03c4a2
HVM part 1
2016-03-21 11:44:46 +01:00
Marek Marczykowski-Górecki
9567f7b40b
vm: rename 'yum-proxy-setup' feature to 'updates-proxy-setup'
...
The 'yum-proxy-setup' is deprecated since R3.0, so finally remove old
name.
But add it to R3.x compatibility layer.
2016-03-21 11:43:33 +01:00
Wojtek Porczyk
0f03b257ce
qubes/vm: Fix features coercion
2016-03-21 11:43:33 +01:00
Marek Marczykowski-Górecki
3b1238f7cf
vm: stub for new firewall API
...
- introduce 'firewall-changed' event
- add reload_firewall_for_vm stub function
Should that function be private, called only from appropriate event
handlers?
QubesOS/qubes-issues#1815
2016-03-21 11:43:33 +01:00
Marek Marczykowski-Górecki
c99a47d192
vm: fix handling firewall_conf path
...
It may be (and by default is) path relative to VM directory.
This code will be gone in the final version, after merging firewall
configuration into qubes.xml. But for now have something testable.
2016-03-21 11:43:33 +01:00
Marek Marczykowski-Górecki
12f778b539
qubes/vm: do not recursively use repr in BaseVM.__repr__
...
This will easily end up in infinite recursion. For example
'sys-net'.template points at 'fedora-23', which itself has
'fedora-23'.netvm set to 'sys-net'.
2016-03-21 11:43:32 +01:00
Wojtek Porczyk
d09bd5ab6a
qubes: Convert QubesVM and Extension discovery to pkg_resources
...
QubesOS/qubes-issues#1238
2016-03-21 11:43:32 +01:00
Wojtek Porczyk
93686eae06
qubes/vm: change services to features
2016-03-21 11:43:32 +01:00
Marek Marczykowski-Górecki
4095f3c5eb
vm: disable uses_custom_config for now
2016-03-03 01:18:15 +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
e8bedcd7ba
qubes/vm: fix starting netvm
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
Wojtek Porczyk
96efb4568a
core3: add different exceptions
...
From now on there are different exceptions which can be raise on
different occasions.
fixes QubesOS/qubes-issues#1279
2015-10-17 00:17:12 +02:00
Wojtek Porczyk
ea44c0acf3
qubes: pylint fixes
...
Fix bunch of errors and warnings.
2015-10-05 23:49:39 +02:00
Wojtek Porczyk
c9cbf8ffe2
core3: fix mounting modules.img
2015-10-05 12:46:14 +02:00
Wojtek Porczyk
8628a984fc
qubes/vm: fix memory constraint while generating libvirt XML
2015-10-05 12:46:14 +02:00
Wojtek Porczyk
75c3f355db
qubes/vm/qubesvm: fix domain's UUID management
...
Now we generate UUID on domain's instantiation. This is needed, because
we sometimes don't update XML (like in qvm-start).
fixes QubesOS/qubes-issues#1236
2015-10-05 12:46:14 +02:00
Wojtek Porczyk
12329e7b35
qubes/vm/qubesvm: fix log initialisation
2015-10-05 12:46:14 +02:00
Wojtek Porczyk
80d664441d
core3: fixes from Marek
...
This is adapted from commit 90a50dca406e3d40c88ea338566e0460589df7a3.
2015-10-05 12:46:13 +02:00
Wojtek Porczyk
ea9a984fa7
qubes/vm: Fix instantiating QubesVM
...
vm.app attribute needs to be accessible before setting properties
2015-09-28 18:20:28 +02:00
Wojtek Porczyk
7f16e0a73b
qubes: disable events by default not to interfere with loading from XML
2015-06-29 17:39:28 +02:00
Wojtek Porczyk
6a4820c381
qubes/tools: qvm-ls
2015-06-29 17:39:28 +02:00
Wojtek Porczyk
e83d21c671
qubes: more documentation and doc fixes
2015-06-29 17:39:28 +02:00
Wojtek Porczyk
186b277418
qubes/vm: fix logging
2015-06-29 17:39:27 +02:00
Wojtek Porczyk
45977fc873
qubes: fix VM instantiation and loading
2015-06-29 17:39:27 +02:00
Wojtek Porczyk
8c437f4053
qubes: unify PropertyHolder API
...
get_props_list() -> property_list()
_init_property() -> _property_init()
2015-06-29 17:39:27 +02:00
Wojtek Porczyk
6798790e1f
qubes: pylint fixes (fix signatures)
2015-06-29 17:39:27 +02:00
Wojtek Porczyk
adb144acfe
qubes: pylint fixes (small mistakes and wrong names)
2015-06-29 17:39:27 +02:00
Wojtek Porczyk
4a85c823c3
qubes: pylint fixes (qualify imported variables)
2015-06-29 17:39:27 +02:00
Wojtek Porczyk
bf29d5e5b5
qubes: pylint fixes (disable unfounded messages)
2015-06-29 17:39:27 +02:00
Wojtek Porczyk
ac1739df6b
qubes: pylint fixes (fix imports)
2015-06-29 17:39:27 +02:00