Hi, Thank you for your comment. On Fri, 11 May 2007 19:29:48 +0100 "Daniel P. Berrange" wrote: > On Fri, May 11, 2007 at 07:15:33PM +0100, Daniel P. Berrange wrote: > > > > If the guest was created by libvirt, then I consider it a bug if the XML > > dump does not allow re-creation in exact same config. > > > > If the guest was created by non-libvirt app, then there may be some xen > > specific bits we don't support in libvirt. So be it - there are some things > > we simply don't want to support. For any of the latter case, we can at > > least evaluate whether it makes sense to support them throughout libvirt, > > and/or accept patches. That means the libvirt basically supports a guest that was created by libvirt ( or virt-install ), right ? I think that would be a waste because we would miss an opportunity to get new customers. I personally want to support the guest was created by non-libvirt app too. > > The main flaw I see currently is that the vncpassword is missing from the > > XML. We left that out for security obviously. We definitely have to exclude > > it if using a read-only connection. For a read-write connection we should > > probably continue to exclude it by default, since apps often write the XML > > dump to logfiles. We do fortunately have a (currently unused) flags argument > > to virDomainGetXMLDesc > > > > char * virDomainGetXMLDesc (virDomainPtr domain, > > int flags); > > > > I propose we add a flag LIBVIRT_XML_INCLUDE_SENSITIVE or something like > > that. If that flag were used, then we could include the password in the > > returned XML. Any apps using that flag would be aware that the XML should > > be treated as sensitive & thus not logged. > > On this subject of XML dumps for live VMs, there is the option that the > live VM config will be different from the one on disk. Currently the > virDomainGetXMLDesc will always give you the live config if the guest > is running, and the disk config if the guest is not running. The option > missing here is obviously a way to get the disk config if the guest is > running. Now we have this convenient flags arg here still which we could > use: > > char *livexml = virDomainGetXMLDesc(dom, 0); > char *diskxml = virDomainGetXMLDesc(dom, VIR_DOMAIN_XML_INACTIVE); > > Once you have the real diskxml, then you can update it & use the > > virDomainDefineXML(dom, diskxml) > > to re-write it on disk, > > virDomainCreate(dom, diskxml) > > if you want to create a VM with the new config, without actually updating > the config on disk It is good idea to use that flags. I would like to use your idea when the fix of domainDumpXML is needed. But I am afraid that I am not in a position to go further, because I have not had a discussion about this RFC still enough. This is a important things, so I keep your idea in my mind ! Thanks, Saori Fukuta