+1 test was successful.

Sharad Mishra
Open Virtualization
Linux Technology Center
IBM

libvirt-cim-bounces@redhat.com wrote on 03/15/2011 05:33:20 PM:

> Chip Vincent <cvincent@linux.vnet.ibm.com>

> Sent by: libvirt-cim-bounces@redhat.com
>

> 03/15/2011 05:33 PM
>
> Please respond to
> List for discussion and development of libvirt CIM <libvirt-cim@redhat.com>

>
> To

>
> libvirt-cim@redhat.com

>
> cc

>
> Subject

>
> [Libvirt-cim] [PATCH] Add support for Pegasus OOP grouping

>
> # HG changeset patch
> # User Chip Vincent <cvincent@us.ibm.com>
> # Date 1300235494 14400
> # Node ID 6cdfba0135e08b8b5878075dff77b5e03107c614
> # Parent  eea958fbf1d965bc1053850f59df4005e64093ac
> Add support for Pegasus OOP grouping
>
> Update Pegasus ProviderModule registration to include support for
> ModuleGroupProperty. This will allow all libvirt-cim provider to
> load into a single process when the CIMOM is configured to run
> providers outside the CIMOM process.
>
> Signed-off-by: Chip Vincent <cvincent@us.ibm.com>
>
> diff --git a/provider-register.sh b/provider-register.sh
> --- a/provider-register.sh
> +++ b/provider-register.sh
> @@ -32,6 +32,43 @@
>      return 1
>  }
>  
> +pegasus_version()
> +{
> +    CIMSERVER=`pegasus_path cimserver`
> +    if test $? != 0
> +    then
> +        echo "Error: cimserver not found" >&2
> +        return 1
> +    fi
> +
> +    VERSION=`$CIMSERVER --version`
> +    if test $? != 0
> +    then
> +        echo "Error: could not determine cimserver version" >&2
> +        return 1
> +    fi
> +
> +    echo $VERSION
> +    return 0
> +}
> +
> +compare_version()
> +{
> +    source=`echo "$1" | awk -F. '{printf("%02d%02d%02d\n", $1,$2,$3); }'`
> +    target=`echo "$2" | awk -F. '{printf("%02d%02d%02d\n", $1,$2,$3); }'`
> +
> +    if test $source \<  $target
> +    then
> +         chatter $source " < " $target
> +         echo "true"
> +         return 0
> +    else
> +         chatter $source " >= " $target
> +         echo "false"
> +         return 1
> +    fi
> +}
> +
>  pegasus_transform()
>  {
>      OUTFILE=$1
> @@ -49,10 +86,15 @@
>      
>  # produce ProviderModules
>      echo > $OUTFILE
> -    chatter "Processing provider modules:" $PROVIDERMODULES
> -    for pm in $PROVIDERMODULES
> -    do
> -      cat >> $OUTFILE <<EOFPM
> +    version=`pegasus_version`
> +    chatter "cimserver version is " $version
> +    if compare_version "$version" "2.11.0"
> +    then
> +        chatter "Processing provider modules (w/o ModuleGroupName):" \
> +   $PROVIDERMODULES
> +        for pm in $PROVIDERMODULES
> +        do
> +           cat >> $OUTFILE <<EOFPM
>  instance of PG_ProviderModule
>  {
>     Name = "$pm";
> @@ -65,7 +107,29 @@
>  
>  EOFPM
>      done
> +
> +    else
> +        chatter "Processing provider modules (w/ ModuleGroupName):" \
> +   $PROVIDERMODULES
> +        for pm in $PROVIDERMODULES
> +        do
> +           cat >> $OUTFILE <<EOFPM
> +instance of PG_ProviderModule
> +{
> +   Name = "$pm";
> +   Location = "$pm";
> +   Vendor = "SBLIM";
> +   Version = "2.0.0";
> +   InterfaceType = "CMPI";
> +   InterfaceVersion = "2.0.0";
> +   ModuleGroupName = "libvirt-cim";
> +};
> +
> +EOFPM
> +    done
>      
> +    fi
> +
>  # produce Providers
>      set -- $PROVIDERS
>      while test x$1 != x
> @@ -170,6 +234,7 @@
>      myregs=
>      mofmode=1
>      namespace=$1
> +    version=`pegasus_version`
>      shift
>  
>      while test x$1 != x
> @@ -206,7 +271,7 @@
>  
>      if pegasus_transform $_REGFILENAME $namespace $myregs
>      then
> -   chatter Registering providers with $state cimserver
> +   chatter Registering providers with $state cimserver '('$version')'
>     $CIMMOF -uc -I $mofpath -n $namespace $mymofs &&
>     $CIMMOF -uc -n root/PG_Interop $_REGFILENAME
>      else
>
> _______________________________________________
> Libvirt-cim mailing list
> Libvirt-cim@redhat.com
> https://www.redhat.com/mailman/listinfo/libvirt-cim