Wojtek Porczyk
fd0107f11a
new tool: qubes-create
...
At present it just creates default qubes.xml (empty barring labels and AdminVM).
In the future it can be evolved into backend for firstboot.
2015-06-29 17:39:28 +02:00
Wojtek Porczyk
8e690c6858
qubes: fix saving Label
2015-06-29 17:39:28 +02:00
Wojtek Porczyk
d5f2e6ab74
qubes: rework qubes.xml handling
...
Now it more closely aligns with old core2 semantics. New semantics will
have to wait for qubesd.
2015-06-29 17:39:28 +02:00
Wojtek Porczyk
7c8cc14bec
core3: fix import
2015-06-29 17:39:28 +02:00
Wojtek Porczyk
9a5703d5ea
pylint fix
2015-06-29 17:39:28 +02:00
Wojtek Porczyk
142521317c
qubes: Documentation for qubes.tools
...
And first documentation for qubes.tools.qvm_ls.
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
5d9b92a039
qubes: pylint fixes (minor programming errors)
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
8d3edbf133
qubes/vm: fix kernels_dir
2015-06-29 17:39:27 +02:00
Wojtek Porczyk
a686e810b9
qubes/tests: enhance test runner report
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
Wojtek Porczyk
ee06e7d7a2
qubes: documentation and licence fixes
2015-06-29 17:39:27 +02:00
Wojtek Porczyk
cdc3df66c8
qubes: pylint fixes (mostly whitespace)
2015-06-29 17:39:27 +02:00
Wojtek Porczyk
d937d39c9e
qubes: fix Qubes instantiation
2015-06-29 17:39:26 +02:00
Wojtek Porczyk
8e16dd2b28
qubes/storage: fix storage instantiation
2015-06-29 17:39:26 +02:00
Wojtek Porczyk
8805db5e5f
core3 move: AdminVM class
2015-06-29 17:39:26 +02:00
Wojtek Porczyk
8afba4c5e9
core3 move: storage/*
2015-06-29 17:39:26 +02:00
Jason Mehring
0dbcdb8c0d
qubes: pep8 fixes
...
-------------------------------------------------------------------------------
ISSUES:
-------------------------------------------------------------------------------
- Some auto-corrected code (when line is too long) may still be over-indented.
It can be manually chaged and it will be left alone, or is it acceptable as
I am not sure how strict your rule is for under-indented lines for which
context. If you want this only indented 4 spaces, I can work on it some more.
[Also @ ~line:385 in new file]
For example, __init__.py:382
OLD:
def __contains__(self, key):
return any((key == vm or key == vm.qid or key == vm.name) for vm in self)
NEW:
def __contains__(self, key):
return any((key == vm or key == vm.qid or key == vm.name)
for vm in self)
- will not detect if there are more than 2 spaces between function methods
-------------------------------------------------------------------------------
FIXED:
-------------------------------------------------------------------------------
- Now uses the most horizontial space and does not use excessive lines when
splitting a line
- __init__:489
- '#' comments being indented for some lines and not others; would like no indent
- Only happens if line preceeding comment ends in a ':'
E128 - Fix visual indentation
E128 - Fix a badly indented line [Now allows under-indented lines]
E309 - Add missing blank line (after class declaration) [No longer adds it]
E303 - Remove extra blank lines [Now allows 2 blank lines between function defs]
[TODO: Create definition to enforce this]
Conflicts:
qubes/__init__.py
2015-06-29 17:39:26 +02:00
Jason Mehring
6504da9524
qubes: changed a test for None from == None to is None
...
Conflicts:
qubes/__init__.py
2015-06-29 17:39:26 +02:00
Jason Mehring
be3e888bbe
Fixed typos
2015-06-29 17:39:26 +02:00
Wojtek Porczyk
a13a41fbaf
qubes/tests: fix testrunner dependency on being run in specific directory
2015-06-29 17:39:26 +02:00
Wojtek Porczyk
e5d2b49fd6
qubes/tests: fix colourful testrunner
2015-06-29 17:39:26 +02:00
Wojtek Porczyk
7e12d0485d
add core3 to Makefiles and spec
2015-06-29 17:39:26 +02:00
Wojtek Porczyk
04c221e924
qubes/vm/qubesvm: fix env manipulation on qrexec-daemon start
2015-06-29 17:39:26 +02:00
Wojtek Porczyk
eda2f7cf73
qubes/tests: mark one test as expected failure
...
This is temporary, to be fixed in the future.
2015-06-29 17:39:26 +02:00
Wojtek Porczyk
af154b53fe
qubes: change names of XML generating methods
...
Methods returning lxml.etree.Elements are called xml_ or lvxml_, meant for
qubes.xml or libvirt respectively.
Acknowledgement:
This commit is a result of core3 review by Marek.
2015-06-29 17:39:26 +02:00
Wojtek Porczyk
92eca8edb9
qubes: Fix comments accross the code
...
Acknowledgement:
This commit is a result of core3 review by Marek.
2015-06-29 17:39:25 +02:00
Wojtek Porczyk
2e1696cb16
qubes: Fix XML validation test
2015-06-29 17:39:25 +02:00
Wojciech Zygmunt Porczyk
42d8e67556
doc: Add autogenerated qubes.xml documentation
2015-06-29 17:39:25 +02:00
Wojciech Zygmunt Porczyk
118edb6ac4
First RelaxNG schema of qubes.xml
...
Schema is most likely incomplete.
2015-06-29 17:39:25 +02:00
Wojtek Porczyk
091ffa5444
qubes: Add parser for property docstring
...
From now, docstrings in properties cannot contain sphinx-specific features,
because there is no sphinx in dom0.
2015-06-29 17:39:25 +02:00
Wojtek Porczyk
0a94762508
doc: Tutorial for qubes.events and fix
2015-06-29 17:39:25 +02:00
Wojtek Porczyk
99edcb56c1
qubes: fix event framework
...
Two important fixes are in this commit: handlers from decorators are added when
class is defined (and not when class is instantiated); also multiple events can
be specified in the decorator.
2015-06-29 17:39:25 +02:00
Wojtek Porczyk
7971342811
qubes: Make get_props_list a classmethod
...
Same for get_property_def.
2015-06-29 17:39:25 +02:00
Wojtek Porczyk
c0e3281d04
qubes: fix changing domain name
...
Changing name of running VM is wrong.
Acknowledgement:
This commit is a result of core3 review by Marek.
2015-06-29 17:39:25 +02:00
Wojtek Porczyk
1deb3221c7
qubes: fix netvm semantics WRT default values
...
Automatic acquiring default*_netvm, default_template and {clock,update}vm is no
more. This will be moved to firstboot. Advanced users (those, who elect not to
autoconfig their initial VMs) will have to deal with that.
Acknowledgement:
This commit is a result of core3 review by Marek.
2015-06-29 17:39:25 +02:00
Wojtek Porczyk
c2a35c02b4
qubes: Cache QubesHost requests, fix xen-specific members
...
Acknowledgement:
This commit is a result of core3 review by Marek.
2015-06-29 17:39:25 +02:00
Wojtek Porczyk
2a62780ea2
qubes: add property-del events
2015-06-29 17:39:25 +02:00
Wojtek Porczyk
6ec86ec9f7
qubes: property may be unset by assinging DEFAULT
...
Introducing qubes.property.DEFAULT special value, which may be assigned to any
property. Result is the same as del'ing a property.
2015-06-29 17:39:25 +02:00
Wojtek Porczyk
713ced8cd2
qubes/tests: add event asserts for qubes module
2015-06-29 17:39:25 +02:00
Wojtek Porczyk
74c3126b80
qubes/tests: add some tests for qubes.property
2015-06-29 17:39:25 +02:00
Wojtek Porczyk
eabc571102
qubes/tests: colourful test runner
2015-06-29 17:39:24 +02:00
Wojtek Porczyk
52c1be49ec
qubes/vm: remove unneccessary import
2015-06-29 17:39:24 +02:00
Wojtek Porczyk
de9eb60f61
Developer's documentation for qubes.tests
2015-06-29 17:39:24 +02:00
Wojtek Porczyk
8ace0fa634
qubes/tests: skipping tests outside dom0
...
New variable and decorator enable skipping tests outside dom0, that is, without
connection to libvirtd.
2015-06-29 17:39:24 +02:00
Wojtek Porczyk
613b03d277
qubes/tests: Common TestEmitter class
...
qubes.tests.TestEmitter is intended to check whether specific event fired on
given emitter.
2015-06-29 17:39:24 +02:00
Wojtek Porczyk
a82bf7cc54
qubes/tests: Move unit tests inside qubes/, add runner
2015-06-29 17:39:24 +02:00
Wojtek Porczyk
9fa3d60d0b
qubes/events: fix event handling order
...
Events are divided into "pre" and "post" events. "Pre" events fire handlers in
MRO, "post" fire them in reverse.
2015-06-29 17:39:24 +02:00
Wojtek Porczyk
41fef46db2
core3 move: QubesVM
...
This is a big commit and probably incomplete. Tests will follow.
2015-06-29 17:39:24 +02:00
Wojtek Porczyk
6b7860995b
qubes/events.py: Fire events from parent classes too
2015-06-29 17:39:24 +02:00
Wojtek Porczyk
f9658ae338
qubes/vm: remove old event methods that were overlooked
2015-06-29 17:39:24 +02:00
Wojtek Porczyk
f149c7b59b
qubes/vm: fixed __repr__ for BaseVM
...
Previously it could fail with AttributeError when any of the properties was unset.
2015-06-29 17:39:24 +02:00
Wojtek Porczyk
ef4f00dac0
qubes/vm: DeviceManager class for herding devices
...
collections.defaultdict was not enough, because it cannot pass any arguments to
factory. We need to pass domain object and device class to fire events on attach
and detach.
2015-06-29 17:39:24 +02:00
Wojtek Porczyk
1a032ecf2a
core3: basic global events and their documentation
2015-06-29 17:39:24 +02:00
Wojtek Porczyk
855a434879
core3: event framework adjusted for global Qubes object
...
From now, global events are emitted by qubes.Qubes object and handlers are registered there.
2015-06-29 17:39:24 +02:00
Wojtek Porczyk
b623a71d87
core3 move: QubesVmCollection
...
This got split to qubes.Qubes and qubes.VMCollection.
From now on, VMCollection is a stupid bag. Some parts went elsewhere.
2015-06-29 17:39:23 +02:00
Wojtek Porczyk
6146c8e466
QubesVmLabel: XML parsing
2015-06-29 17:39:23 +02:00
Wojtek Porczyk
6c68bd062e
qubes.dochelpers: Version check for manual pages
2015-06-29 17:39:23 +02:00
Wojtek Porczyk
96bff66546
qubes.dochelpers: Helpers for Sphinx documentation
...
Currently it is possible to refer to Qubes' tickets via 🎫 `#no`
2015-06-29 17:39:23 +02:00
Wojtek Porczyk
87ae0112eb
qubes/vm: New XML format loading
2015-06-29 17:39:23 +02:00
Wojtek Porczyk
f3673dd34c
core3 move: class QubesVmLabel
2015-06-29 17:39:23 +02:00
Wojtek Porczyk
778571fe8d
core3 move: class QubesHost
2015-06-29 17:39:23 +02:00
Wojtek Porczyk
c3dd13c0ab
qubes/log: logging routines
2015-06-29 17:39:23 +02:00
Wojtek Porczyk
320cb096f6
qubes: drop dry_run
2015-06-29 17:39:22 +02:00
Wojtek Porczyk
57d35fbc4c
qubes: fix qubes.QubesVMMConnection
...
fix logical error in resetting offline_mode
and drop redundant _common_getter()
2015-06-29 17:39:22 +02:00
Wojtek Porczyk
cec3db993d
core3 move: class QubesVMMConnection
2015-06-29 17:39:22 +02:00
Wojtek Porczyk
e1a6fb2859
core3 move: class QubesException
2015-06-29 17:39:22 +02:00
Wojtek Porczyk
65595e3b39
apidoc stub
2015-06-29 17:39:22 +02:00
Wojtek Porczyk
7f27d987cc
import framework for core3
2015-06-29 17:39:22 +02:00