On Wed, Mar 18, 2009 at 10:26:01PM +0100, "Abel M?guez Rodr?guez" wrote:
Hi all,
I'm sorry, I apologize for the format used.
thanks,
> Hi all,
> We have updated the OpenNebula Driver to libvirt version 0.6.1.
> Now, the ONE driver is build at the libvirtd daemon, that is the natural place for
it.
> Please feel free to make any comment, to improve the driver's coherence with
libvirt's structure.
> I split the Patches in two e-mais:
> [PATCH 1/2] includes the patches to be applied to libvirt's sources and building
files.
> [PATCH 2/2] attached the "one driver" source files.
>All the patches are made to be applied at the git commit:
>"025b62" (Fix subsystem lookup for older HAL releases)
I've applied these patches and tried to build, but there's a number of
compilation problems
cc1: warnings being treated as errors
virterror.c: In function 'virErrorDomainName':
virterror.c:81: error: enumeration value 'VIR_FROM_ONE' not handled in switch
cc1: warnings being treated as errors
one_conf.c: In function 'oneSubmitVM':
one_conf.c:119: error: implicit declaration of function 'c_oneAllocate'
one_conf.c:119: error: nested extern declaration of 'c_oneAllocate'
one_conf.c: In function 'xmlOneTemplate':
one_conf.c:146: error: unused variable 'buf'
cc1: warnings being treated as errors
one_driver.c: In function 'oneDomainGetInfo':
one_driver.c:334: error: implicit declaration of function 'c_oneVmInfo'
one_driver.c:334: error: nested extern declaration of 'c_oneVmInfo'
one_driver.c: In function 'oneDomainStart':
one_driver.c:410: error: unused variable 'logfile'
one_driver.c:409: error: unused variable 'rc'
one_driver.c: In function 'oneDomainShutdown':
one_driver.c:496: error: implicit declaration of function 'c_oneShutdown'
one_driver.c:496: error: nested extern declaration of 'c_oneShutdown'
one_driver.c:505: error: too many arguments for format
one_driver.c: In function 'oneDomainDestroy':
one_driver.c:536: error: too many arguments for format
one_driver.c: In function 'oneDomainSuspend':
one_driver.c:565: error: implicit declaration of function 'c_oneSuspend'
one_driver.c:565: error: nested extern declaration of 'c_oneSuspend'
one_driver.c: In function 'oneDomainResume':
one_driver.c:598: error: implicit declaration of function 'c_oneResume'
one_driver.c:598: error: nested extern declaration of 'c_oneResume'
one_driver.c: In function 'oneStartup':
one_driver.c:634: error: implicit declaration of function 'c_oneStart'
one_driver.c:634: error: nested extern declaration of 'c_oneStart'
one_driver.c:623: error: unused variable 'i'
one_driver.c: In function 'oneShutdown':
one_driver.c:659: error: implicit declaration of function 'c_oneFree'
one_driver.c:659: error: nested extern declaration of 'c_oneFree'
one_driver.c: At top level:
one_driver.c:742: error: initialization from incompatible pointer type
one_driver.c:760: error: missing initializer
one_driver.c:760: error: (near initialization for 'oneDriver.nodeDeviceDettach')
make: *** [one_driver.lo] Error 1
If you run the 'configure' or 'autogen.sh' passing
--enable-compile-warnings=error
then you'll see these problems during compilation.
Also, when running 'make syntax-check' there are a number of new failures
introduced by this patch, when trailing whitespace in the files
src/Makefile.am:142: one_driver.c one_driver.h
src/domain_conf.c:59:
src/libvirt.c:836:#endif
Makefile.maint: found trailing blank(s)
make: *** [sc_trailing_blank] Error 1
diff --git a/src/domain_conf.h b/src/domain_conf.h
index dd61467..e8a2bff 100644
--- a/src/domain_conf.h
+++ b/src/domain_conf.h
@@ -48,6 +48,7 @@ enum virDomainVirtType {
VIR_DOMAIN_VIRT_TEST,
VIR_DOMAIN_VIRT_VMWARE,
VIR_DOMAIN_VIRT_HYPERV,
+ VIR_DOMAIN_VIRT_ONE,
VIR_DOMAIN_VIRT_LAST,
};
diff --git a/src/driver.h b/src/driver.h
index 62d6fbc..ed3eef7 100644
--- a/src/driver.h
+++ b/src/driver.h
@@ -20,6 +20,7 @@ typedef enum {
VIR_DRV_OPENVZ = 5,
VIR_DRV_LXC = 6,
VIR_DRV_UML = 7,
+ VIR_DRV_ONE = 8,
} virDrvNo;
diff --git a/src/libvirt.c b/src/libvirt.c
index bf3453a..cd4b5b7 100644
--- a/src/libvirt.c
+++ b/src/libvirt.c
@@ -830,6 +830,10 @@ virGetVersion(unsigned long *libVer, const char *type,
if (STRCASEEQ(type, "OpenVZ"))
*typeVer = LIBVIR_VERSION_NUMBER;
#endif
+#if WITH_ONE
+ if (STRCASEEQ(type, "ONE"))
+ *typeVer = LIBVIR_VERSION_NUMBER;
+#endif
#if WITH_UML
if (STRCASEEQ(type, "UML"))
*typeVer = LIBVIR_VERSION_NUMBER;
This patch all basically looks sane for integration into libvirt driver
code, aside from the warnings I mention above.
Regards,
Daniel
--
|: Red Hat, Engineering, London -o-
http://people.redhat.com/berrange/ :|
|:
http://libvirt.org -o-
http://virt-manager.org -o-
http://ovirt.org :|
|:
http://autobuild.org -o-
http://search.cpan.org/~danberr/ :|
|: GnuPG: 7D3B9505 -o- F3C9 553F A1DA 4AC2 5648 23C1 B3DF F742 7D3B 9505 :|