[libvirt] xml format for openvz driver

Evgeniy Sokolov evg at openvz.org
Tue Jul 22 15:15:06 UTC 2008


> On Tue, Jul 22, 2008 at 05:21:41PM +0400, Evgeniy Sokolov wrote:
>> Hello!
> 
>   Hi Evgeniy
> 
>> I made review of domain XML format for driver in libvirt.
>> And I have several questions and additions.
>>
>>
>> For tag domain:
>> need to add "vmid" or "id" - currenly tag "name" is used for ID.
>> OpenVZ has mandatory parameter ID, but it also support optional
>> parameter "name", which is not implemented for openvz driver now. I plan
>> to support of "name" in future.
> 
>   Hum ...
> the id is usually added as @id in the domain - assuming it is running.
> The decision to go for the numerical id for the <name> value was that
> it was supposed to be permanent and no extra high level naming scheme
> would appear.
> IIRC the 'id' name was the one of the subdirectory for the OpenVZ container.
> How is the new name support added on top of that ? Unless the directory
> names can now be allocated as name I don't see how the mapping is done.
'id' is name of subdirectory and is prefix of config file
'name' is saved in config and then can be used.

# vzctl set 105 --name test_vm --save
Name test_vm assigned
Saved parameters for VE 105
# vzctl status test_vm
VEID 105 exist mounted running
# grep test_vm /etc/sysconfig/vz-scripts/105.conf
NAME="test_vm"

container is still in the same directory /vz/root/105.

> 
> If the new external name is as good as the old id then just replace the
> id with the external name in <name> otherwise i wonder what the value
> of this new naming scheme is and would ignore it
'id' is requred.
Other choice is to generate id during creation of container.
> 
>> For tag domain/os:
>> need to add "ostemplate"
>> desirable "config"
>>
>> For tag domain/devices/disk:
>> need to add "diskspace"
>> desirable "diskinodes" - it is optional because of "disknodes" are over
>> very rarely.
> 
>   Hum, could you describe those new fields a bit more ?
> 
>> For tag domain/devices/interface:
>> How to describe, if want to add ip addresses for routing network?
> 
>   http://libvirt.org/formatdomain.html#elementsNICS
> and
>   http://libvirt.org/formatnetwork.html#examplesRoute
I think it is not the same.
OpenVZ has simple way to add/remove IPs to VM

# vzctl set 150 --ipadd 2.2.2.2 --save
Saved parameters for VE 150

It mean that traffic for all VMs is going via virtual adapter from VM to 
harware node and then spread over via eth.
> 
> in general in libvirt the networking capabilities are not described 
> per domain but as a separate set of networks with their own definitions.
> Maybe the OpenVZ driver would have to dynamically add/remove them
> as domain are instanciated. 
i.e. create device and then attach them to VM?
> It would be good to see how the LXC containers
> plans things too, if we need to extend the model, they should be kept as
> compatible as possible.

Also, bridge may be used. It looks like
# vzctl set 105 --netif_add 
eth15,00:11:00:00:00:11,node_eth15,22:11:00:00:00:11 --save

It can be desribed as
<interface type='bridge'>
	    <source bridge='eth15'/>
	    <mac address='00:11:00:00:00:11'/>	
   </interface>
Host device name and host MAC are optional and will be generated.

> 
>> Also, OpenVZ may move network adapter to VM (for example, eth1), adapter
>>  becomes inaccessible on harware node. How to describe it? Is it
>> ethernet type?
> 
>   Hum, i don't know how i would express that in libvirt 
> 
> Daniel
> 




More information about the libvir-list mailing list