On Sat, 2007-02-17 at 14:12 +0800, Daniel Veillard wrote:
Agreed let's not mix policies and data. However I assume the API
would allow
to define directories for autostarted configs. I guess having predefined dirs for
such data is a common concept. And trying to hard code it like /etc/xen is
really not the best. IIRC we already have a config file now for some daemons,
can we have such directories entries in the config file ? I guess it would give
the flexibility required for most uses while keeping a relatively sane API and
avoiding putting the policy in the data themselve.
I don't think this is specific to the autostart support - i.e. we
already define /etc/libvirt/qemu as the location for qemud domain
definitions and don't have a configurable way of allowing other
directories.
I've no objection to allowing multiple locations and making that
configurable, but there is a few things to bear in mind:
- The common idiom for this is a stack of directories where
definitions in later dirs higher in the stack override definitions
in lower dirs
- When a definition is saved, should it be saved in the highest dir
in the stack, or where it was originally defined, or the later if
it's writable but fall back to the former?
- What about the mismatch between filenames and domain names?
1) Identical filenames with different domain names - if you have
domain Foo in /etc/libvirt/qemud/foo.xml and domain Bar in
/mydomains/foo.xml, should both domains be loaded or just the
highest foo.xml in the stack?
(If the former - think about saving. If e.g. you save Foo, it
may be saved to /mydomains/foo.xml, overwriting the definition
for Bar)
2) Identical domain names with different file names - if you have
domain Foo defined in /etc/libvirt/qemud/foo.xml and another
definition of domain Foo from /mydomains/bar.xml, should the
highest definition win?
Cheers,
Mark.