As discussed on the xen-cim call on 3/31, the Xen CIM provider needs
some additional entry points in libvirt. I would like to open a
discussion about adding the following entry points to libvirt.
virDomainSetConfig(virConnectPtr conn, const char *xmlDesc)
Stores the domU config data in xenstore. The domU is not running yet
but enumerating domains would return the config for the domain as well
as any running domains. This would support the notion of a defined but
inactive virtual machine. Daniel noted that the config could be cached
in libvirt, preventing (to some degree) modifying the config out-of-band
prior to activating the domain. Note that the current
virConnectListDomains() implies enumerating only running domains since a
list of domain IDs is returned. Perhaps virConnectListDomains() will
have to be expanded to include defined domains or another entry point to
enumerate defined domains.
Related would be activating a defined domain. Would clients get the
domain config (via virDomainGetXMLDesc()) and subsequently pass it to
virDomainCreateLinux() or another entry point to create a defined domain?
virDomainDeleteConfig(virConnectPtr conn, const char *name)
Removed domU config from xenstore (or cache). DomU no longer "exists".
What if domain is active upon invocation?
virDomainSetCurrentMemory(virDomainPtr domain, unsigned long memory)
Adjust the current memory usage for a domain.
virDomainReboot(virDomainPtr domain)
Reboot the domain.
virDomainMigrate(virDomainPtr domain, const char *host)
?? Not sure what can of worms might be opened by this one :-).
Thoughts?
BTW, I can certainly help with the effort if an agreement is reached on
adding this functionality.
Regards,
Jim