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