
Hi Daniel, On Tue, 2014-02-04 at 12:17 +0000, Daniel P. Berrange wrote:
On Thu, Jan 30, 2014 at 10:55:50AM +0100, Cédric Bosdonnat wrote:
This function aims at converting LXC configuration into a libvirt domain XML description to help users migrate from LXC to libvirt.
Here is an example of how the lxc configuration works: virsh -c lxc:/// domxml-from-native lxc /var/lib/lxc/migrate_test/config
+virDomainDefPtr +lxcParseConfigString(const char *config) +{ + virDomainDefPtr vmdef = NULL; + virConfPtr properties = NULL; + virConfValuePtr value; + + if (!(properties = virConfReadMem(config, 0, VIR_CONF_FLAG_LXC_FORMAT))) + return NULL; + + if (VIR_ALLOC(vmdef) < 0) + goto error; + + if (virUUIDGenerate(vmdef->uuid) < 0) { + virReportError(VIR_ERR_INTERNAL_ERROR, "%s", + _("failed to generate uuid")); + goto error; + } + vmdef->id = -1; + vmdef->mem.max_balloon = 64 * 1024;
I can't remember if the 'max_balloon' is a mandatory setting or not. If it isn't, perhaps we can just leave it out entirely.
It is mandatory, that's why I picked the same default value than the one in the qemu argv conversion code.
diff --git a/src/lxc/lxc_native.h b/src/lxc/lxc_native.h new file mode 100644 index 0000000..e43bd27 --- /dev/null +++ b/src/lxc/lxc_native.h
+ +# define LXC_CONFIG_FORMAT "lxc"
I wonder if we should call this 'lxc-tools' just to make it a little more precise - bare 'lxc' is such an overloaded term these days.
Indeed, lxc-tools would help disambiguate the thing. -- Cedric