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