Re: [libvirt] [FeatureRequest/RFC] non-volitile domain defines
On Wed, Jul 23, 2008 at 03:16:57AM +0200, Stefan de Konink wrote: I think I have already sent an email about this to the list, but no reply on this specific point. Libvirt is currently capable of storing storage, networks, the only thing that is really missing is the direct storage of domains. I wonder if a patch would be accepted that stores defined domains (live) to disk upon change. Some sort of dumpxml per define/attach/etc. when a domain is undefined the file is removed. I'm not sure I understand. I would not want domain configuration files to be stored to a specific place in the tree. This generates a duplication of data problem and also possibly a dependancy on the given hypervisor. The acquisition/ modification of domain data should relly go though the API or virsh dumpxml and define commands. But maybe i didn't understand... Daniel -- Red Hat Virtualization group http://redhat.com/virtualization/ Daniel Veillard | virtualization library http://libvirt.org/ [EMAIL PROTECTED] | libxml GNOME XML XSLT toolkit http://xmlsoft.org/ http://veillard.com/ | Rpmfind RPM search engine http://rpmfind.net/ -- Libvir-list mailing list Libvir-list@redhat.com https://www.redhat.com/mailman/listinfo/libvir-list
Re: [libvirt] xml format for openvz driver
On Tue, Jul 22, 2008 at 08:41:36PM +0400, Evgeniy Sokolov wrote: For tag domain/os: need to add ostemplate desirable config Can you explain exactly what the semantics of the two desired attributes are used for ? config is name of sample config for container. It contains many parameters http://wiki.openvz.org/UBC_parameters_table It is desirable because of many customers like to use config. The problem including a 'config' parameter is that this data becomes totally opaque to the management app. Given a piece of XML describing a domain, including a config=' parameter, there's no way for the app to find out what the underlying resources settings are. Can we add to XML some parameters that is in config file? It is because of OpenVZ has no one parameter memory. It consist of many different parameters which can be configured separately: kernel memory, application memory, etc I suppose it will be not generic. How can we desing XML to tune more memory limits? For the filesystem stuff, for LXC we've got a section under devices whcih looks like filesystem type=mount source dir='/some/path'/ target dir='/'/ /filessytem Which says 'make /some/path be the root filesystem, using a bind mount'. I could imagine representing the idea of a template with a slight variation like filesystem type=template source name=template name/ target dir='/'/ /filesystem Yes, we can. But template name is not property of file system. Well, actually I'd argue that it is. The source element refers to the resource in the host OS that forms the source of the filesystem. So for a root filesystem instantiated from a template, I think template name is the most applicable. Sounds good from such point of view. Tag target is useless for OpenVZ. For tag domain/devices/interface: How to describe, if want to add ip addresses for routing network? We'll probably want todo something based on interface type='ethernet' which is a generic catch all config. Does OpenVZ support bridging, or NAT for containers ? bridging is supported. NAT can be configured via iptables. If it supports bridging that is sufficient. The libvirt networking APIs, allow us to implement NAT for any VM in terms of the generic bridge support. Basically libvirt creates a bridge device 'virbr0' and sets up NAT rules for that device. A guest VM simply needs to be connected to virbr0, and then NAT automagically works for it. Do I correctly undertand? For NAT we shoud use tag interface with type bridge and target dev=virbr0 / -- Libvir-list mailing list Libvir-list@redhat.com https://www.redhat.com/mailman/listinfo/libvir-list
Re: [libvirt] [FeatureRequest/RFC] non-volitile domain defines
Daniel P. Berrange schreef: On Wed, Jul 23, 2008 at 03:16:57AM +0200, Stefan de Konink wrote: I think I have already sent an email about this to the list, but no reply on this specific point. Libvirt is currently capable of storing storage, networks, the only thing that is really missing is the direct storage of domains. I wonder if a patch would be accepted that stores defined domains (live) to disk upon change. Some sort of dumpxml per define/attach/etc. when a domain is undefined the file is removed. The storage of persistent configurations is implementation defined. With some drivers libvirt takes care of it directly, with others it is delegated to the underlying hypervisor specific tools. We're not going to replicate that in libvirt because it'll cause interoperability problems with tools which aren't libvirt based DV: sorry, wrong webclient. DP: Would a patch be accepted that makes this configurable for *all* implementations? So that by after configuration a file is saved, and is queried after the platform specific implementation doesn't list the domain as defined? List Defined domains: - Query current implementation - If defined merge all non available domains. In principle what I want to see is that if a domain is not defined in the specific hypervisor, the domain file can be queried. I know I can implement this behavior in my own code, but I really thing this would be a cool thing for more people. Stefan -- Libvir-list mailing list Libvir-list@redhat.com https://www.redhat.com/mailman/listinfo/libvir-list
Re: [libvirt] [FeatureRequest/RFC] non-volitile domain defines
On Wed, Jul 23, 2008 at 11:54:11AM +0200, Stefan de Konink wrote: DP: Would a patch be accepted that makes this configurable for *all* implementations? So that by after configuration a file is saved, and is queried after the platform specific implementation doesn't list the domain as defined? List Defined domains: - Query current implementation - If defined merge all non available domains. In principle what I want to see is that if a domain is not defined in the specific hypervisor, the domain file can be queried. I know I can implement this behavior in my own code, but I really thing this would be a cool thing for more people. This doesn't make any sense. We have APIs for listing defining inactive domains. The individual drivers implement these APIs according to the required API contract, and the underlying impl is not something which any application using libvirt need know or care about. If your application is relying on the inactive domains being stored in files it is broken. Daniel -- |: Red Hat, Engineering, London -o- http://people.redhat.com/berrange/ :| |: http://libvirt.org -o- http://virt-manager.org -o- http://ovirt.org :| |: http://autobuild.org -o- http://search.cpan.org/~danberr/ :| |: GnuPG: 7D3B9505 -o- F3C9 553F A1DA 4AC2 5648 23C1 B3DF F742 7D3B 9505 :| -- Libvir-list mailing list Libvir-list@redhat.com https://www.redhat.com/mailman/listinfo/libvir-list
Re: [libvirt] [FeatureRequest/RFC] non-volitile domain defines
Daniel P. Berrange schreef: On Wed, Jul 23, 2008 at 11:54:11AM +0200, Stefan de Konink wrote: DP: Would a patch be accepted that makes this configurable for *all* implementations? So that by after configuration a file is saved, and is queried after the platform specific implementation doesn't list the domain as defined? List Defined domains: - Query current implementation - If defined merge all non available domains. In principle what I want to see is that if a domain is not defined in the specific hypervisor, the domain file can be queried. I know I can implement this behavior in my own code, but I really thing this would be a cool thing for more people. This doesn't make any sense. We have APIs for listing defining inactive domains. The individual drivers implement these APIs according to the required API contract, and the underlying impl is not something which any application using libvirt need know or care about. If your application is relying on the inactive domains being stored in files it is broken. Or you could say that libvirt is broken because it isn't able to distribute the inactive domains across the network in a consistent way. But I think we already had that discussion. Stefan -- Libvir-list mailing list Libvir-list@redhat.com https://www.redhat.com/mailman/listinfo/libvir-list
Re: [libvirt] [FeatureRequest/RFC] non-volitile domain defines
On Wed, Jul 23, 2008 at 12:43:25PM +0200, Stefan de Konink wrote: Daniel P. Berrange schreef: On Wed, Jul 23, 2008 at 11:54:11AM +0200, Stefan de Konink wrote: DP: Would a patch be accepted that makes this configurable for *all* implementations? So that by after configuration a file is saved, and is queried after the platform specific implementation doesn't list the domain as defined? List Defined domains: - Query current implementation - If defined merge all non available domains. In principle what I want to see is that if a domain is not defined in the specific hypervisor, the domain file can be queried. I know I can implement this behavior in my own code, but I really thing this would be a cool thing for more people. This doesn't make any sense. We have APIs for listing defining inactive domains. The individual drivers implement these APIs according to the required API contract, and the underlying impl is not something which any application using libvirt need know or care about. If your application is relying on the inactive domains being stored in files it is broken. Or you could say that libvirt is broken because it isn't able to distribute the inactive domains across the network in a consistent way. No, because that is not libvirt's job. The goal of libvirt is to provide an API for managing virtualization capabilities on a host. Data center or network management is an application level problem, out of scope for libvirt. Daniel -- |: Red Hat, Engineering, London -o- http://people.redhat.com/berrange/ :| |: http://libvirt.org -o- http://virt-manager.org -o- http://ovirt.org :| |: http://autobuild.org -o- http://search.cpan.org/~danberr/ :| |: GnuPG: 7D3B9505 -o- F3C9 553F A1DA 4AC2 5648 23C1 B3DF F742 7D3B 9505 :| -- Libvir-list mailing list Libvir-list@redhat.com https://www.redhat.com/mailman/listinfo/libvir-list
Re: [libvirt] [FeatureRequest/RFC] non-volitile domain defines
Daniel P. Berrange schreef: On Wed, Jul 23, 2008 at 12:43:25PM +0200, Stefan de Konink wrote: Daniel P. Berrange schreef: On Wed, Jul 23, 2008 at 11:54:11AM +0200, Stefan de Konink wrote: DP: Would a patch be accepted that makes this configurable for *all* implementations? So that by after configuration a file is saved, and is queried after the platform specific implementation doesn't list the domain as defined? List Defined domains: - Query current implementation - If defined merge all non available domains. In principle what I want to see is that if a domain is not defined in the specific hypervisor, the domain file can be queried. I know I can implement this behavior in my own code, but I really thing this would be a cool thing for more people. This doesn't make any sense. We have APIs for listing defining inactive domains. The individual drivers implement these APIs according to the required API contract, and the underlying impl is not something which any application using libvirt need know or care about. If your application is relying on the inactive domains being stored in files it is broken. Or you could say that libvirt is broken because it isn't able to distribute the inactive domains across the network in a consistent way. No, because that is not libvirt's job. The goal of libvirt is to provide an API for managing virtualization capabilities on a host. Data center or network management is an application level problem, out of scope for libvirt. That calls for a libvirt-fork that does implement what is needed to consistently providing a replicated pool of domains; call it libvirt-datacenter-edition. I think it is the biggest non sense for implementing shortcommings/management in kvm/qemu, but don't provide these to the other hypervisors 'just because they implement it theirselves locally'. It is non-trivial to provide a 'xenstored' for the complete network, while it is relatively easy to put an NFS dir on the libvirt xml configs. Stefan -- Libvir-list mailing list Libvir-list@redhat.com https://www.redhat.com/mailman/listinfo/libvir-list
Re: [libvirt] [FeatureRequest/RFC] non-volitile domain defines
On Wed, Jul 23, 2008 at 01:00:08PM +0200, Stefan de Konink wrote: Daniel P. Berrange schreef: On Wed, Jul 23, 2008 at 12:43:25PM +0200, Stefan de Konink wrote: Daniel P. Berrange schreef: On Wed, Jul 23, 2008 at 11:54:11AM +0200, Stefan de Konink wrote: DP: Would a patch be accepted that makes this configurable for *all* implementations? So that by after configuration a file is saved, and is queried after the platform specific implementation doesn't list the domain as defined? List Defined domains: - Query current implementation - If defined merge all non available domains. In principle what I want to see is that if a domain is not defined in the specific hypervisor, the domain file can be queried. I know I can implement this behavior in my own code, but I really thing this would be a cool thing for more people. This doesn't make any sense. We have APIs for listing defining inactive domains. The individual drivers implement these APIs according to the required API contract, and the underlying impl is not something which any application using libvirt need know or care about. If your application is relying on the inactive domains being stored in files it is broken. Or you could say that libvirt is broken because it isn't able to distribute the inactive domains across the network in a consistent way. No, because that is not libvirt's job. The goal of libvirt is to provide an API for managing virtualization capabilities on a host. Data center or network management is an application level problem, out of scope for libvirt. That calls for a libvirt-fork that does implement what is needed to consistently providing a replicated pool of domains; call it libvirt-datacenter-edition. I think it is the biggest non sense for implementing shortcommings/management in kvm/qemu, but don't provide these to the other hypervisors 'just because they implement it theirselves locally'. It is non-trivial to provide a 'xenstored' for the complete network, while it is relatively easy to put an NFS dir on the libvirt xml configs. This is an appliction specific use case which can be implemented outside of libvirt. All management apps which manage more than one host have a need for a global data store with details of all virtual machines. They do not all wish to store XML on NFS for this purpose - I know of apps using libvirt which store inactive VMs in SQL databases, LDAP directory and clustered/network filesystems. libvirt provides APIs sufficient to allow you to track global state in the manner most suitable to your application's needs without imposing a specific impl for cross-host management. Daniel -- |: Red Hat, Engineering, London -o- http://people.redhat.com/berrange/ :| |: http://libvirt.org -o- http://virt-manager.org -o- http://ovirt.org :| |: http://autobuild.org -o- http://search.cpan.org/~danberr/ :| |: GnuPG: 7D3B9505 -o- F3C9 553F A1DA 4AC2 5648 23C1 B3DF F742 7D3B 9505 :| -- Libvir-list mailing list Libvir-list@redhat.com https://www.redhat.com/mailman/listinfo/libvir-list