[libvirt] [PATCH 1/2] [Plain text ] OpenNebula driver, libvirt-0.6.1

Daniel P. Berrange berrange at redhat.com
Thu Mar 19 11:50:20 UTC 2009


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 :|




More information about the libvir-list mailing list