On Tue, Jul 29, 2008 at 05:09:37PM +0100, John Levon wrote:
On Tue, Jul 29, 2008 at 05:00:27PM +0100, Richard W.M. Jones wrote:
> > Isn't the *right* solution to this problem to finally add property
> > set/get interface for the things people actually want to modify, like
> > boot flags?
>
> Do you mean things like the current 'virsh attach-device' / 'virsh
> detach-device' interface?
I hope not... that's just as bad as editing the domain XML.
> I'm responding here to a need that sysadmins feel they have -- to edit
> the configuration file (even if it's XML). Witness an endless series
> of questions on this subject on the #virt channel yesterday.
Right. But to my mind you're fixing the symptom not the problem. *Why*
do they need to edit the XML? I ask this of everybody who complains at
me about having to edit XML: 99% of the time it's wanting to change boot
flags, but it's also stuff like turning off ACPI, setting on_crash, etc.
Editing XML is absolutely not user friendly, and adding 'edit' just
papers over the real problems IMHO.
When I did the storage APIs, I had the traditional commands 'create'
and 'define' which took XML documents. I then also add a 'create-as'
and 'define-as' command which took a list of named arguments. virsh
then turned these into XML docs.
eg, to create an LVM backed storage pool from /dev/hda2,
you could do something like
virsh pool-define-as --source-path /dev/hda2 MyVolGroup lvm
And it'd create
<pool type='lvm'>
<name>MyVolGroup</name>
<source>
<device path='/dev/hda2'/>
</source>
</pool>
This only deals with creation, or defining a new config, not updating
an existing config - in the latter you'd only want to specify the bits
which are actually changing - for that we'd want an 'edit-as' command
which reads the XML, updates the bits that are changing, and saves the
XML back into libvirt
We could try todo a similar thing for domains too, though obviously
we're going to have a huge number of options to handle to get decent
coverage. We'd also need to have an 'edit-as'
Daniel
--
|: Red Hat, Engineering, London -o-
http://people.redhat.com/berrange/ :|
|:
http://libvirt.org -o-
http://virt-manager.org -o-
http://ovirt.org :|
|:
http://autobuild.org -o-
http://search.cpan.org/~danberr/ :|
|: GnuPG: 7D3B9505 -o- F3C9 553F A1DA 4AC2 5648 23C1 B3DF F742 7D3B 9505 :|