[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