On Mon, Sep 26, 2011 at 03:59:05PM +0400, Dmitry Mishin wrote:
Parallels Server Bare Metal is a virtualization solution which allows
to run
both Containers (OpenVZ-like) and virtual machines (like any other hardware
hypervisor).
This patch implements initial driver stub with almost no functionality except an
ability to open and close driver. At the same time it contains initialization of
Parallels API and clearly demonstrates supposed approach to future driver
implementation. In particular, I suppose to use parallels-virtualization-sdk
library provisioned with the PSBM distribution (and separately also) for PSBM's
virtual servers management.
Signed-off-by: Dmitry Mishin <dim(a)parallels.com>
[...]
diff --git a/src/psbm/psbm_api.c b/src/psbm/psbm_api.c
new file mode 100644
index 0000000..b5a89f1
--- /dev/null
+++ b/src/psbm/psbm_api.c
@@ -0,0 +1,117 @@
+/*
+ * psbm_api.c: core driver methods for managing PSBM virtual servers
+ *
+ * Copyright (C) 2011 Parallels, Inc.
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2.1 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+ *
+ * Authors:
+ * Dmitry Mishin <dim(a)parallels.com>
+ *
+ */
Copyrights and licencing terms looks okay :)
+int psbmApiInit(struct psbm_driver *driver)
+{
+ const char *libname = "libprl_sdk.so";
+ void *handle = NULL;
+ PRL_RESULT res;
That I dislike, sorry this must not be dlopen'ed in at runtime,
but checked in at configure time and properly linked in. Also
means that proper dependancies and packaging have to be in place.
+ handle = dlopen(libname, RTLD_LAZY);
+ if (!handle) {
+ psbmError(VIR_ERR_INTERNAL_ERROR,
+ _("Failed to load SDK library %s %s"), libname, dlerror());
+ return VIR_ERR_INTERNAL_ERROR;
+ }
So what is that SDK library, how is it distributed and what is the
licencing for it ? As much as I like adding a driver, I would like to
make sure the deployement is clean and there is no licencing issues.
Any pointers ? All I found was
http://www.parallels.com/ptn/download/sdk/
and it's quite silent on code availability and Licence for the
libraries.
thanks in advance !
Daniel
--
Daniel Veillard | libxml Gnome XML XSLT toolkit
http://xmlsoft.org/
daniel(a)veillard.com | Rpmfind RPM search engine
http://rpmfind.net/
http://veillard.com/ | virtualization library
http://libvirt.org/