[libvirt] [PATCH 0/9] Add basic driver for Parallels Virtuozzo Server

Dmitry Guryanov dguryanov at parallels.com
Tue Apr 17 18:01:50 UTC 2012


On 04/16/2012 06:13 AM, Daniel Veillard wrote:
> On Fri, Apr 13, 2012 at 10:26:14PM +0400, Dmitry Guryanov wrote:
>> Parallels Virtuozzo Server is a cloud-ready virtualization
>> solution that allows users to simultaneously run multiple virtual
>> machines and containers on the same physical server.
>>
>> Current name of this product is Parallels Server Bare Metal and
>> more information about it can be found here -
>> http://www.parallels.com/products/server/baremetal/sp/.
>>
>> This driver will work with PVS version 6.0 , beta version
>> scheduled at 2012 Q2.
>    Okay, I started to review this version 2 of the driver. IIRC the
> first version was relying on an API which wasn't LGPL compatible so that
> was a no go.
>    What I understand from that second version is that now the driver
> talks to the prlctl command to get information back (using JSON). That
> looks acceptable, but before making further review can you fix the
> following things I found out in reviewing quickly patch 1-3
>
>    - the driver open doesn't seems to make any check about availability
>      of prlctl command, it should fail to open if this is not found at
>      Open() time.
>    - all the entry points in the driver structure are marked as 0.9.11,
>      since 0.9.11 is out already this would need to be bumped to 0.9.12
>      assuming that will be the next version and the patches make it in
>      time for that release (scheduled at the end of the month)
Ok, I'll correct these things.

>    - the configure check blindly assumes that if compiled on linux the
>      pvs driver should be activated. Since we rely on a command line tool
>      to provide the interface that's a relatively safe assumption, but
>      if I understand correctly Parrallels requires a modified kernel
>      version, which is not upstream, right ?
PVS is a full distribution, based on cloud linux and it
has modified kernel.
> To that extend you're at the
>      same level as the OpenVZ driver (you rely on it underneath, right ?)
>      Do you support all linux archs ? If not please improve the configure
>      time check to the architecture you actually support.
Ok, I'll add additional checks.
>
> In general I wonder why make it a new driver instead of ramping up the
> existing OpenVZ one, are the 2 really incompatible, or is the existing
> OpenVZ not proper for current versions ? Basically I wonder if we really
> need 2 drivers assuming the implementation of the hypervisor is based on
> the same core for both,
First, PVS and OpenVZ are different products, PVS includes
full virtualization support and OS level one, OpenVz supports
only OS level virtualization. In PVS both types of virtual
environments can be managed using single prlctl utility, while
vzctl can handle only containers. This version of pvs driver
supports only virtual machines, but support of containers
planned too.

Second, prlctl and vzctl+vzlist have completely different output,
command-line parameters also differ, especially in devices and
network parameters. I think that drivers, which supports two
types of virtualization and works with two different utilities
will be too complicated and it's better to have two separate
drivers.
Also OpenVZ driver works directly with containers config
files in some places, which is not possible while using prlctl.

Thanks for your response !
>
>    thanks !
>
> Daniel
>


-- 
Dmitry Guryanov




More information about the libvir-list mailing list