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
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
349e218638
qubes/devices: devices class framework
...
This fixes loading PCI devices.
2016-03-23 09:08:13 +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
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
Marek Marczykowski-Górecki
5375dce90d
Prefer human readable output in qvm-prefs and qubes-prefs tools
2016-03-03 01:18:17 +01:00
Wojtek Porczyk
c80e89d47e
qubes: support QUBES_XML_PATH environment variable
...
This is reworked
core: load default qubes.xml location from QUBES_XML_PATH env variable
QubesOS/qubes-issues#1730
2016-03-03 01:18:17 +01:00
Marek Marczykowski-Górecki
9633573408
core: adjust units comment for host.memory_total, and fix related places
...
QubesOS/qubes-issues#1737
2016-03-03 01:18:16 +01:00
Wojtek Porczyk
88a63cbe3a
qubes/vm/qubesvm: do not clone VM-specific properties
...
This is reworked
core: do not clone VM-unique identifiers in clone_properties
by Marek Marczykowski-Górecki <marmarek@invisiblethingslab.com>
2016-03-03 01:18:16 +01:00
Marek Marczykowski-Górecki
64260f5844
core: handle default template
...
Fixes QubesOS/qubes-issues#1559
2016-03-03 01:18:15 +01:00
Marek Marczykowski-Górecki
15192ede42
core: allow not having clockvm/updatevm
2016-03-03 01:18:15 +01:00
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
db20581340
storage: few more merge fixes
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
e4a0cfc8c8
qubes: fix instantiating with no or empty qubes.xml
...
There is always dom0 (domid=0) added, but it has None as self.xml.
2015-12-23 14:34:54 +01:00
Wojtek Porczyk
b54305bff1
qubes: fix qubes-create regression
...
Previous commit, which changed the handling of qubes.xml again, broke
bootstrapping.
2015-12-23 14:34:54 +01:00
Wojtek Porczyk
58608864c1
qubes: fix saving qubes.xml
2015-12-23 14:34:54 +01:00
Wojtek Porczyk
d693964ab9
qubes: fix deleting domain
2015-12-23 14:34:53 +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
17ac6cb225
core3: boolean properties can be set explicitely
2015-10-05 12:46:14 +02:00
Wojtek Porczyk
b4d51b016b
core3: some properties can be set only once
...
Some properties should not be changed by user at will (like UUID). The
solution is to make them write-once, so they will be set when loading
from XML and frozen for the lifespan of the object holding the property.
When desperately needed, users may edit XML by hand.
fixes QubesOS/qubes-issues#1235
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
0fbee4dc10
core3: more fixes
2015-10-05 12:46:13 +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
6241859dc8
qubes: Fix PropertyHolder.property_get_default
...
And test cases, some of them stubs.
2015-09-28 18:20:28 +02:00
Wojtek Porczyk
136b3b36b8
qubes/tools/qubes-create: add --property option
2015-09-28 18:20:28 +02:00
Wojtek Porczyk
cb62545007
qubes: fix qid generation
2015-09-28 18:20:07 +02:00
Wojtek Porczyk
ff7d89700a
qubes/tools: port qvm-create
2015-06-30 17:18:24 +02:00
Wojtek Porczyk
7832f23d5d
qubes: minor fix
2015-06-29 17:39:29 +02:00
Wojtek Porczyk
d4147c52bd
qubes: Fix property-set events signature
2015-06-29 17:39:29 +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
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
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
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
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
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
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
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
7971342811
qubes: Make get_props_list a classmethod
...
Same for get_property_def.
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
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
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
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
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