Commit Graph

3581 Commits

Author SHA1 Message Date
Marek Marczykowski-Górecki
7cbe2dbd38 qubes/vm: add passio_stderr argument to vm.run_service
This allows getting error messages from service call, to provide more
meaningful error messages.
2016-04-07 12:58:05 +02:00
Marek Marczykowski-Górecki
1cd6acd875 core/events: allow handlers return some value 2016-04-07 12:58:01 +02:00
Marek Marczykowski-Górecki
6052143735 tests: qvm-prefs
QubesOS/qubes-issues#1248
2016-04-07 12:57:57 +02:00
Marek Marczykowski-Górecki
e319639146 qubes/vm: add StandaloneVM class 2016-04-07 12:57:52 +02:00
Marek Marczykowski-Górecki
43435405e7 tests: update checking 'None' VM representation 2016-04-07 12:57:47 +02:00
Marek Marczykowski-Górecki
c17f86e659 qubes: fix handling DEFAULT special value for VMProperty 2016-04-07 12:03:40 +02:00
Wojtek Porczyk
267a78e4e0 Fix resetting attribute to default when it's already default
Based on marmarek's
  WIP fix resetting attribute to default when it's already default
2016-04-06 18:09:57 +02:00
Bahtiar `kalkin-` Gadimov
b1978abce5 Use entry_points for pool driver discovery
- Add qubes.storage entry point to setup.py
- Removed the old pool driver class loading logic
- Reworked pool tests
2016-04-06 10:11:19 +02:00
Wojtek Porczyk
42666e0ec5 Throw meaningful exception when qubes.xml is missing
Based on kalkin-'s Rais QubesException if qubes xml config is missing
2016-04-05 16:33:49 +02:00
Bahtiar `kalkin-` Gadimov
156ecf4163 Add missing import in qubes/__init__.py
This was: Fix qubes-create command
2016-04-05 16:25:51 +02:00
Bahtiar `kalkin-` Gadimov
49ec29a235 Fix bug in Qubes.get_vm_class() 2016-04-05 16:24:30 +02:00
Wojtek Porczyk
c375334c54 qubes/devices: calculate event names using +
This make static analysis of the events easier.
2016-03-23 09:08:13 +01:00
Wojtek Porczyk
349e218638 qubes/devices: devices class framework
This fixes loading PCI devices.
2016-03-23 09:08:13 +01:00
Wojtek Porczyk
a4fa1adb82 qubes/ext/gui: fix sending monitor layout at VM startup
Based on marmarek's commit 4edb42c1 under the same name.
2016-03-21 11:44:59 +01:00
Marek Marczykowski-Górecki
15e032cddb qubes/vm: fix handling "None" kernel
The "None" value still makes sense for HVM domains.
2016-03-21 11:44:59 +01:00
Marek Marczykowski-Górecki
a02f7a30fc qmemman: fix core3 API usage for sending events 2016-03-21 11:44:59 +01:00
Wojtek Porczyk
29d0baa944 qubes/vm/mix/net: By default MAC is constant
MAC address was one place, where qid was leaked to the VM. Different MAC
addresses are not needed, since we do routing, not switching.
2016-03-21 11:44:59 +01:00
Wojtek Porczyk
04cc2099f7 HVM part 2 2016-03-21 11:44:54 +01: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
Wojtek Porczyk
e0210130da qubes: Fix error in get_vms_based_on()
Not every vm has .template attribute.
2016-03-21 11:43:33 +01:00
Wojtek Porczyk
d766b8e110 qubes: Fix "unify event names" 2016-03-21 11:43:33 +01:00
Wojtek Porczyk
6c62559e86 contrib/check-events: Add tool for pairing events
This is QA tool for checking if names of the events are the same when
firing and handling. The core intentionaly has no provision for
registering the events, so another means are needed for checking them.
2016-03-21 11:43:33 +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
Marek Marczykowski-Górecki
b6d8c7fb81 ext/r3compatibility: features/services
QubesOS/qubes-issues#1812
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
c9fd57e7e4 ext/r3compatibility: move old firewall code to R3.x compat layer
QubesOS/qubes-issues#1812
2016-03-21 11:43:33 +01:00
Marek Marczykowski-Górecki
afd4573a02 ext/r3compatibility: create R3.x QubesDB entries
This allows the user to start VM based on "old" system (from R3.x) in
R4.0. For example after restoring from backup, or migration. This also
makes upgrade instruction much easier - no need complex recovery
instruction if one upgrade dom0 before upgrading all the templates.

QubesOS/qubes-issues#1812
2016-03-21 11:43:33 +01:00
Marek Marczykowski-Górecki
54784405bd tests: adjust networking tests 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
34fe4a2d71 tests: add function to provide real network to test case
Very few tests should use it, as it makes the test result somehow
dependent on outside world state. But still, some of them need it.
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
c9cad71d03 vm/mix/net: create vm.connected_vms dynamically
It is much less error-prone way. Previous approach didn't worked because
VMs weren't added here at 'domain-init'/'domain-loaded' event. And even
after adding such handlers it wasn't working because of
QubesOS/qubes-issues#1816.

It may be a little slower, but since it isn't used so often
(starting/stopping VM and reloading firewall), shouldn't be a problem.
2016-03-21 11:43:33 +01:00
Marek Marczykowski-Górecki
3e3213e7c7 Redo "core: do not reset firewal when setting netvm=none"
Apparently it got lost in merge.

QubesOS/qubes-issues#862
2016-03-21 11:43:33 +01:00
Marek Marczykowski-Górecki
736773dbec vm: remove obsolete firewall handling code
There is no vm.write_iptables_xenstore_entry().

QubesOS/qubes-issues#1815
2016-03-21 11:43:33 +01:00
Marek Marczykowski-Górecki
a0fa8fcc8e ext/qubesmanager: fix events signature
There is event itself passed just after VM object.
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
Marek Marczykowski-Górecki
422f30b969 tests: port network tests to core3 API 2016-03-21 11:43:32 +01:00
Marek Marczykowski-Górecki
df5562d2c7 tests: fix rename test to report FAIL instead of ERROR when really failed 2016-03-21 11:43:32 +01:00
Wojtek Porczyk
394fa1e5d3 qubes/tests: tests for qubes.devices 2016-03-21 11:43:32 +01:00
Wojtek Porczyk
0f9ca47d90 qubes/ext/guid: Move gui-related code to extension 2016-03-21 11:43:32 +01:00
Wojtek Porczyk
75dd882b83 qubes: Unify event names
Events will be named <object>-[pre-]-<verb>, where verb is in infinitive
form.
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
Wojtek Porczyk
bf78e662f6 Import qubesdb from the new module
fixes QubesOS/qubes-issues#1252
2016-03-03 01:18:17 +01:00
Marek Marczykowski-Górecki
5dca051b32 tests: enable storage tests 2016-03-03 01:18:17 +01:00
Marek Marczykowski-Górecki
8262f2ef4b storage: fix handling standalone VMs
Currently Standalone have template=None.
2016-03-03 01:18:17 +01:00
Marek Marczykowski-Górecki
a73c694f54 storage: access *_img directly from vm.storage object
Not through vm.something_img proxy.
2016-03-03 01:18:17 +01:00
Marek Marczykowski-Górecki
c0c0e0022e tests: convert storage tests to core3 API
QubesOS/qubes-issues#
2016-03-03 01:18:17 +01:00
Marek Marczykowski-Górecki
14f31134c0 tests: move make_vm_name to QubesTestCase
This function is often useful also in unit tests, not only integration
tests.
2016-03-03 01:18:17 +01:00