Xen Domain Management CIM-Provider

I am trying to understand the provider implementation for Xen VM lifecycle management. Does the xen provider (libvirt/xen-cim) uses the xenstore to access/change the configuration information regarding the domains. e.g if Xen Client has to changes the memory allocation for any of the domain (i assume discover of domain/UUID/domid is already done) then can it uses xenstore to perform the operation in following way. *xenstore-write /local/domain/domid/memory/target <value> (balloon watch node)* Or Is there any other method to perform the same operations. thanks in advance for any information or pointers Tej

T> Does the xen provider (libvirt/xen-cim) uses the xenstore to T> access/change the configuration information regarding the domains. T> e.g if Xen Client has to changes the memory allocation for any of T> the domain (i assume discover of domain/UUID/domid is already done) T> then can it uses xenstore to perform the operation in following T> way. We use libvirt to perform things like this, so your question is really one of "how does libvirt change the memory for a Xen guest". I believe that libvirt goes through xend to make such changes, but I could be wrong. There are three drivers in libvirt that provide different paths to make certain changes. Some things are done directly against the hypervisor, while others go to xend directly. By default, a combination of those drivers are used. From a quick look at the libvirt code, I think the virDomainSetMemory() call is being sent to xend. Hope that helps... -- Dan Smith IBM Linux Technology Center Open Hypervisor Team email: danms@us.ibm.com

On Wed, Jul 23, 2008 at 8:56 PM, Dan Smith <danms@us.ibm.com> wrote:
T> Does the xen provider (libvirt/xen-cim) uses the xenstore to T> access/change the configuration information regarding the domains. T> e.g if Xen Client has to changes the memory allocation for any of T> the domain (i assume discover of domain/UUID/domid is already done) T> then can it uses xenstore to perform the operation in following T> way.
We use libvirt to perform things like this, so your question is really one of "how does libvirt change the memory for a Xen guest".
yaa
I believe that libvirt goes through xend to make such changes, but I could be wrong. There are three drivers in libvirt that provide different paths to make certain changes. Some things are done directly against the hypervisor, while others go to xend directly. By default, a combination of those drivers are used. From a quick look at the libvirt code, I think the virDomainSetMemory() call is being sent to xend.
basically i want to know that is xend manipulate the xenstore to change the VM's memory or there any other mechanism which dom0 follows. If ballooning of memory happens through xend, it means two paths which i am not sure how it happens. 1. Xenstore shared memory page and event channel is mapped to dom0 memory area. Now xend enamurate all the VM's in xenstore thorough xen bus. Now change the balloon watch node for the concern domain, i.e /local/domain/domaid/memory/target <value> 2. Instead of using the xen bus interface, xend directly uses the xenstore API (i.e. xenstore-write) to manipulate the xenstore node. my best guess is the path 1. sorry for my little understanding on xend code.
Hope that helps...
thanks for your quick reply. -tej
-- Dan Smith IBM Linux Technology Center Open Hypervisor Team email: danms@us.ibm.com
_______________________________________________ Libvirt-cim mailing list Libvirt-cim@redhat.com https://www.redhat.com/mailman/listinfo/libvirt-cim

T> basically i want to know that is xend manipulate the xenstore to T> change the VM's memory or there any other mechanism which dom0 T> follows. That is quite offtopic for this list. I suggest you go ask on xen-devel. T> If ballooning of memory happens through xend, it means two paths which T> i am not sure how it happens. T> 1. Xenstore shared memory page and event channel is mapped to dom0 T> memory area. Now xend enamurate all the VM's in xenstore thorough xen T> bus. Now change the balloon watch node for the concern domain, i.e T> /local/domain/domaid/memory/target <value> T> 2. Instead of using the xen bus interface, xend directly uses the T> xenstore API (i.e. xenstore-write) to manipulate the xenstore node. I don't really see how these are different, but yes, xend writes to the xenstore node to set the memory target. -- Dan Smith IBM Linux Technology Center Open Hypervisor Team email: danms@us.ibm.com

On Wed, Jul 23, 2008 at 11:15 PM, Dan Smith <danms@us.ibm.com> wrote:
T> basically i want to know that is xend manipulate the xenstore to T> change the VM's memory or there any other mechanism which dom0 T> follows.
That is quite offtopic for this list. I suggest you go ask on xen-devel.
sorry for the noise in this list
T> If ballooning of memory happens through xend, it means two paths which T> i am not sure how it happens.
T> 1. Xenstore shared memory page and event channel is mapped to dom0 T> memory area. Now xend enamurate all the VM's in xenstore thorough xen T> bus. Now change the balloon watch node for the concern domain, i.e T> /local/domain/domaid/memory/target <value>
T> 2. Instead of using the xen bus interface, xend directly uses the T> xenstore API (i.e. xenstore-write) to manipulate the xenstore node.
I don't really see how these are different, but yes, xend writes to the xenstore node to set the memory target.
this will help me. thanks Tej
-- Dan Smith IBM Linux Technology Center Open Hypervisor Team email: danms@us.ibm.com
_______________________________________________ Libvirt-cim mailing list Libvirt-cim@redhat.com https://www.redhat.com/mailman/listinfo/libvirt-cim
participants (2)
-
Dan Smith
-
Tej