[Libvirt-cim] [PATCH] Add LibvirtVersion to VSMS

Richard Maciel rmaciel at linux.vnet.ibm.com
Mon Aug 10 20:07:51 UTC 2009


+1

On 08/07/2009 08:42 PM, Jim Fehlig wrote:
> # HG changeset patch
> # User Jim Fehlig<jfehlig at novell.com>
> # Date 1249688466 21600
> # Node ID cca9b991128c170d03177e33b88e1b5bac930bd6
> # Parent  8c9cb3efdbad40890a5408267bc6a0d7b4b3de6e
> Add LibvirtVersion to VSMS
>
> I've had users ask for libvirt version available through libvirt-cim.
> This patch add LibvirtVersion property to VSMS, which is a proxy for
> libvirt and seems the most appropriate place to add the property.
>
> I consider VSMSC, but that class describes what the associated service
> is capable of as opposed to version information about the service.
>
>       Signed-off-by: Jim Fehlig<jfehlig at novell.com>
>
> diff -r 8c9cb3efdbad -r cca9b991128c schema/VirtualSystemManagementService.mof
> --- a/schema/VirtualSystemManagementService.mof	Wed Aug 05 14:07:00 2009 -0300
> +++ b/schema/VirtualSystemManagementService.mof	Fri Aug 07 17:41:06 2009 -0600
> @@ -11,6 +11,9 @@
>
>      [Description("Package Version")]
>      string Release;
> +
> +   [Description("libvirt Version")]
> +   string LibvirtVersion;
>   };
>
>   [Provider("cmpi::Virt_VirtualSystemManagementService")]
> @@ -24,6 +27,9 @@
>
>      [Description("Package Version")]
>      string Release;
> +
> +   [Description("libvirt Version")]
> +   string LibvirtVersion;
>   };
>
>   [Provider("cmpi::Virt_VirtualSystemManagementService")]
> @@ -37,4 +43,7 @@
>
>      [Description("Package Version")]
>      string Release;
> +
> +   [Description("libvirt Version")]
> +   string LibvirtVersion;
>   };
> diff -r 8c9cb3efdbad -r cca9b991128c src/Virt_VirtualSystemManagementService.c
> --- a/src/Virt_VirtualSystemManagementService.c	Wed Aug 05 14:07:00 2009 -0300
> +++ b/src/Virt_VirtualSystemManagementService.c	Fri Aug 07 17:41:06 2009 -0600
> @@ -2418,8 +2418,10 @@
>           const char *ccname = NULL;
>           virConnectPtr conn = NULL;
>           unsigned long hv_version = 0;
> +        unsigned long lv_version = 0;
>           const char * hv_type = NULL;
>           char *caption = NULL;
> +        char *lv_version_string = NULL;
>           CMPIArray *array;
>           uint16_t op_status;
>
> @@ -2483,6 +2485,25 @@
>                   CMSetProperty(inst, "Caption",
>                                 (CMPIValue *)"Unknown Hypervisor", CMPI_chars);
>
> +	if (virGetVersion(&lv_version, hv_type,&hv_version)<  0) {
> +                CU_DEBUG("Unable to get libvirt version");
> +                lv_version= 0;
> +                hv_version= 0;
> +        }
> +
> +        if (asprintf(&lv_version_string, "%lu.%lu.%lu",
> +                     lv_version / 1000000,
> +                     (lv_version % 1000000) / 1000,
> +                     (lv_version % 1000000) % 1000) == -1)
> +                lv_version_string = NULL;
> +
> +        if (lv_version_string != NULL)
> +                CMSetProperty(inst, "LibvirtVersion",
> +                              (CMPIValue *)lv_version_string, CMPI_chars);
> +        else
> +                CMSetProperty(inst, "LibvirtVersion",
> +                              (CMPIValue *)"Unknown libvirt", CMPI_chars);
> +
>           CMSetProperty(inst, "Name",
>                         (CMPIValue *)"Management Service", CMPI_chars);
>
> @@ -2522,6 +2543,7 @@
>                      "");
>    out:
>           free(caption);
> +        free(lv_version_string);
>           virConnectClose(conn);
>           *_inst = inst;
>
>
> _______________________________________________
> Libvirt-cim mailing list
> Libvirt-cim at redhat.com
> https://www.redhat.com/mailman/listinfo/libvirt-cim


-- 
Richard Maciel, MSc
IBM Linux Technology Center
rmaciel at linux.vnet.ibm.com




More information about the Libvirt-cim mailing list