On 06/07/2012 03:04 AM, Osier Yang wrote:
I once thought the RFE is not a valid request from a command p.o.v
(if we provide too much options for the various config tags, it's
just duplicate work of tools like virt-install, and somehow it's
even not better than XML), but now IMHO it'd be wonderful if we
have the best default configuration template for each driver. And
if so, using the templates to implement the command will make sense.
The idea of templates has merit. I could see it being similar to how we
have <nwfilter> and even <network> as templates, where a <domain> can
refer to one of these other entities by name instead of calling out the
details itself. That is, we would add a new virDomainTemplatePtr, whose
XML is a subset of <domain> XML, then you could write a domain that uses
<domain template='xyz'>...</domain> which picks up defaults from
template xyz instead of the current default of omitting anything not
specified. A template could specify typical memory usage, things such
as default disk policy (cache='writethrough' vs. cache='none', use of
virtio, and so forth), a default graphics device (spice vs. vnc setup,
or serial console only), existence of the plumbing for a guest agent,
and so forth. I could also see libosinfo providing a set of templates
for use in conjunction with various guest OS, even having such things as
a template tuned for a guest acting as a mail hub vs. a different
template tuned for a guest acting as a database server, or a template
that knows Windows and Linux support a guest agent vs. a guest that
lacks an agent.
But it sounds like quite a bit of work, and it's not at the top of my
personal to-do list (since I have a lot on my plate for improving
snapshot and storage volume management). I'm more throwing the idea out
there in the hopes that someone else will be able to take and run with
it (I will gladly review patches, though!)
--
Eric Blake eblake(a)redhat.com +1-919-301-3266
Libvirt virtualization library
http://libvirt.org