Daniel Veillard wrote:
On Thu, Nov 01, 2007 at 03:09:00AM +0100, Daniel Hokka Zakrisson wrote:
Daniel Veillard wrote:
On Wed, Oct 31, 2007 at 02:39:05PM +0100, Daniel Hokka Zakrisson wrote:
Daniel Veillard wrote:
I looked at the code, that seems clean but I have a concern about the
overall XML format. Could you paste a couple of examples. Also I think
Linux-VServer and OpenVZ kind of configuration may end up with the same
kind of limitations or differences, so I would like to try to harmonize
both format when possible.
Currently, the XML format is really limited. Are there any docs on what
should be there, or should I just look at the other drivers? As far as
harmonizing with the OpenVZ driver, I'm fine with that, but it seems to
be pretty limited and, to some degree at least, ugly.
Harmonizing the XML formats shouldn't be that hard ...
We discussed the OpenVZ format there
http://www.redhat.com/archives/libvir-list/2007-July/msg00347.html
and around there earlier:
http://www.redhat.com/archives/libvir-list/2007-March/msg00193.html
For network settings
http://www.redhat.com/archives/libvir-list/2007-July/msg00366.html
<snip>
After looking at the various drivers, this is what I propose:
<domain type='vserver' id='2000'>
<name>testvm</name>
<memory>500000</memory>
<scheduler fill_rate1='100' interval1='1000'>
<cpu id='0' fill_rate1='0'/>
<cpu id='1' fill_rate1='250' interval1='1000' idle_time='1'
fill_rate2='250' interval2='1000'/>
</scheduler>
<container>
<uts hostname='testvm' machine='i586'/>
<distribution method='debootstrap' release='etch'/>
</container>
<devices>
<disk type='path' device='path'>
<source path='/vservers/testvm'/>
<target path='/'/>
</disk>
<disk type='block' device='path'>
<source dev='/dev/hda4'/>
<target path='/var'/>
</disk>
<disk type='path' device='path'>
<source path='/home/testvm'/>
<target path='/home'/>
</disk>
<interface type='vserver'>
<ip family='IPv4' address='1.2.3.4' prefix='24' interface='eth0'/>
</interface>
<interface type='vserver'>
<ip family='IPv4' address='4.3.2.1' address2='4.3.2.200'
prefix='24' type='range'/>
</interface>
<interface type='vserver'>
<ip family='IPv6' address='dead:beef:dead:beef::1' prefix='64'
interface='eth0'/>
</interface>
</devices>
</domain>
That looks mostly fine to me except a few doubts about:
- <scheduler> this is tuning and we need a global discussion about this
we allowed something similar for OpenVZ but this need to be discussed
more globally.
Okay.
- what are the ranges for the values of <container> elements and attributes
I don't understand what this question means.
<uts> seems to be OS metadata, we already have an <os> element in
existing configs why not reuse that.
Ah, yes, I missed that. How about:
<os>
<type machine='i586'>vserver</type>
<hostname>testvm</hostname>
<release>2.6.12</release>
<distribution method='debootstrap'>etch</distribution>
</os>
- some of the <ip> args are new, i.e. have no equivalent in existing
config file uses:
+ family: that looks okay to me, is that mandatory ? Could that
be guessed from one of the addresses given ?
Yes.
+ address2: what does that mean ? I understand one IP address being
served but since there is not really a notion of physical interface
why attach 2 address instead of defining 2 <interface> ?
This is only valid for the type='range' IPs, meaning all addresses in
the range address-address2 are assigned to the guest.
+ prefix: could you explain what this means ? if it's a netmask
let's use something like netmask="255.255.255.0" instead of
prefix="24"
I realize this is not at all similar to what the OpenVZ driver does, but
if necessary I could update that to use a similar scheme (though limited
in testing).
--
Daniel Hokka Zakrisson
--
Libvir-list mailing list
Libvir-list@xxxxxxxxxx
https://www.redhat.com/mailman/listinfo/libvir-list