Commit Graph

152 Commits

Author SHA1 Message Date
Cole Robinson
3db5cb5f06 Use XMLBuilder for Interface XML
So we unify parsing and building the XML.

Since we already do this for vmmDomain, take the opportunity to move
the shared infrastructure into vmmLibvirtObject
2013-09-19 16:56:38 -04:00
Cole Robinson
cb06f7eb3d xmlbuilder: Ensure top level XML objects always end with a newline 2013-09-19 13:48:28 -04:00
Cole Robinson
1aaf41b201 xmlbuilder: A couple optimizations
This brings the test suite back to pre-refactor speeds
2013-09-19 13:31:33 -04:00
Cole Robinson
0be727e6bb xmlbuilder: Track singleton child properties explicitly
Things like Guest.Seclabel, VirtualDevice.VirtualAlias, etc.

Now we don't need to track a full xpath with each class, just its root
name and we build its hierarchy depending on its parent.
2013-09-19 13:31:33 -04:00
Cole Robinson
f5dab5cdfa xmlbuilder: Distinguish between parent xpath and object xpath
We want to add support for nested objects, like child interfaces
in virInterface definition. To do that we need to distinguish between
parent xpath and relative object path.

This causes a 10-15% slow down in the unit test suite for me. There's
probably opportunities for speeding this up.
2013-09-11 11:28:27 -04:00
Cole Robinson
eb4068cc47 xmlbuilder: Add infrastructure for parsing into subclasses
We already had this open coded in several classes with varying methods.
Now all someone has to do is

features = XMLChildProperty(CPUFeature)

The xmlbuilder code will pull the relevant xpath from the CPUFeature class,
handling parsing into instances of that class directly. The only
thing that needs to be manually added is the add_* remove_* functions.
2013-09-10 21:34:45 -04:00
Cole Robinson
10e608e9dd guest: Fix adding a parsed device to a built guest 2013-09-10 18:34:36 -04:00
Cole Robinson
37ec775daf xmlbuilder: Fix multiple overwrite of root_xpath
Nothing really triggers it right now, but future code may
2013-09-10 18:34:36 -04:00
Martin Kletzander
ab94df86c4 Typos fix and minor cleanup
Commit 57aab5de copy-pasted a typo, introduced a new one and used bad
order of parameters, so I'm fixing it so we're not stuck with it
forever.
2013-09-03 08:47:26 +02:00
Martin Kletzander
57aab5de17 Add support for multifunction address parameter 2013-09-03 08:08:06 +02:00
Cole Robinson
accff84ecc virtinst: Fix import ordering to standardize on relative imports
Kind of annoying that some imports were directly from files while
some were from the __init__.py convenience bits.
2013-08-08 20:49:50 -04:00
Cole Robinson
a23e30eb2d xmlbuilder: Fix clearing address.domain element
Our scheme for not unlinking a root node would cause issues if trying
to clear a @domain property when the root node was <domain>, even
if they are unrelated.
2013-07-29 10:45:37 -04:00
Cole Robinson
03bd6f024e xmlbuilder: Fix setting float value for is_int 2013-07-25 15:31:40 -04:00
Cole Robinson
695c4b7189 VirtualDisk: Make the driver/type auto changes opt-in
It was hard to get this right, so just require that any API users
which are changing the path of an existing disk call sync_path_props()
2013-07-25 15:04:47 -04:00
Cole Robinson
bdfb86fd06 xmlbuilder: Break out much of the xml handling to a separate class
Clears things up a bit.
2013-07-25 15:04:47 -04:00
Cole Robinson
bba3c93508 xmlbuilder: Always keep around an xml node, even if building from scratch
This further unifies the 'parse existing' vs. 'build new' case.
2013-07-25 10:59:23 -04:00
Cole Robinson
170595698e xmlbuilder: Drop is_tri property
It's a minor variation of is_bool which is better understood by using
defaults.
2013-07-24 12:51:53 -04:00
Cole Robinson
7a369a9802 xmlbuilder: Drop is_multi option
It complicates things quite a bit. And there's only one user, so just open
code it.
2013-07-24 12:36:44 -04:00
Cole Robinson
7411776c9a xmlbuilder: Simplify global XML vars
Just have classes specify a root XML path, and figure out root name,
indentation, and dumpxml path from there.
2013-07-24 12:36:10 -04:00
Cole Robinson
3cf7679beb Guest: Add get_install_xml for install handling 2013-07-24 11:32:30 -04:00
Cole Robinson
c7af25f7ae xmlbuilder: Drop cleanup_xml 2013-07-24 10:59:03 -04:00
Cole Robinson
e0190f7b5e XMLBuilder: Drop some is_parse checking 2013-07-24 10:40:35 -04:00
Cole Robinson
2ba3ec2684 Guest: Convert to new style XML prop, drop a bunch of XML infrastructure
Now every XML property is new style, without explicit local get/set
handlers. Drop a bunch of XML infrastructure that was helping with the
transition.
2013-07-24 07:54:04 -04:00
Cole Robinson
24e433a8de CPU: Convert to new style XML props 2013-07-23 17:34:33 -04:00
Cole Robinson
6af0848fb8 osxml: Convert to new style XML props 2013-07-23 17:34:33 -04:00
Cole Robinson
6127cac414 xmlbuilder: Allow is_int with custom converter options 2013-07-23 17:34:33 -04:00
Cole Robinson
aba9d82bac xmlbuilder: Improve error report if we might unlink root node 2013-07-23 17:34:32 -04:00
Cole Robinson
b18a29d8ff xmlbuilder: Add explicit support for yes/no XML options 2013-07-23 17:34:32 -04:00
Cole Robinson
326731cfc5 xmlbuilder: Remove order_elements hack 2013-07-23 17:34:32 -04:00
Cole Robinson
510d28e33b Seclabel: Convert to new style XML props. 2013-07-23 17:34:31 -04:00
Cole Robinson
e802eae07b VirtualCharDevice: Convert to new style XML props, rework API 2013-07-23 17:34:31 -04:00
Cole Robinson
a9296ec3ae VirtualController: Convert to new style XML props 2013-07-15 21:52:18 -04:00
Cole Robinson
b6f2d99db2 VirtualSmartCard: Convert to new style XML props 2013-07-15 12:36:57 -04:00
Cole Robinson
f3a37ba195 VirtualTPM: Convert to new style properties 2013-07-15 12:18:23 -04:00
Cole Robinson
6f61e30b18 VirtualWatchdog: Convert to new style XML props 2013-07-15 11:11:16 -04:00
Cole Robinson
e5230e90e9 VirtualAddress: Convert to new style XML properties
This adds a bunch of extra XML parsing infrastructure to make everything
work the same.
2013-07-15 10:40:12 -04:00
Cole Robinson
7cfe4ddb4d VirtualDisk: Move xml cleanup to a global xmlbuilder hook 2013-07-14 18:31:33 -04:00
Cole Robinson
1a74a8fda6 VirtualDisk: Convert 'type' to new style XML property 2013-07-14 18:15:47 -04:00
Cole Robinson
8ad9084e5f default rejiggering setup, no regression 2013-07-14 17:12:39 -04:00
Cole Robinson
2cea517823 xmlbuilder: Allow classes to specify order of certain xml elements
This will save us some test case churn. As an example, we now
do auto building of disk <target> XML and it doesn't alter things.
Without this bus and target are often swapped.
2013-07-14 16:45:28 -04:00
Cole Robinson
154bad0184 xmlbuilder: Simplify default getter/setter some more 2013-07-14 16:35:25 -04:00
Cole Robinson
2d460a98e5 xmlbuilder: Don't treat 0 as None in setter impl 2013-07-14 16:35:25 -04:00
Cole Robinson
328f98272c xmlbuilder: Add plumbing to track if a property is unset 2013-07-14 16:35:09 -04:00
Cole Robinson
d3dbbe9f54 xmlbuilder: Add explicit support for refreshing an XML prop 2013-07-14 16:34:54 -04:00
Cole Robinson
c12327cbd1 Guest: Switch memory units to KB to match default XML 2013-07-13 23:07:01 -04:00
Cole Robinson
69e1d66b53 xmlbuilder: Few misc cleanups and streamlinings 2013-07-13 22:51:54 -04:00
Cole Robinson
7d75a43e33 XMLProperty: Add convenience param is_int 2013-07-13 21:49:32 -04:00
Cole Robinson
5f58d05051 VirtualDisk: Convert more XMLProperties to the new world order 2013-07-13 21:40:54 -04:00
Cole Robinson
41afdfd9aa hostkeymap: Globally cache the host lookup
Rather than make the callers worry about it
2013-07-13 20:58:09 -04:00
Cole Robinson
ed826315a5 xmlbuilder: Simplify free'ing xpath contexts 2013-07-13 20:47:19 -04:00
Cole Robinson
02f35628fb VirtualDisk: Make get_xml_config not have side effects
Move all the defaults setting to a set_defaults function, wire it
up to Guest.get_xml_config.
2013-07-13 20:22:19 -04:00
Cole Robinson
b152e83fef virtinst: Rename XMLBuilderDomain.py -> xmlbuilder.py
And XMLBuilderDomain -> XMLBuilder
And _xml_property -> XMLProperty
2013-07-13 18:57:24 -04:00