Re: [libvirt] [FeatureRequest/RFC] non-volitile domain defines

2008-07-23 Thread Daniel Veillard
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

2008-07-23 Thread Evgeniy Sokolov



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

2008-07-23 Thread Stefan de Konink

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

2008-07-23 Thread Daniel P. Berrange
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

2008-07-23 Thread Stefan de Konink

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

2008-07-23 Thread Daniel P. Berrange
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

2008-07-23 Thread Stefan de Konink

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

2008-07-23 Thread Daniel P. Berrange
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