
Looks good. Just correct indentation. Use spaces instead of tabs. Thanks Sharad Mishra Open Virtualization Linux Technology Center IBM libvirt-cim-bounces@redhat.com wrote on 12/08/2010 10:32:17 AM:
Chip Vincent <cvincent@linux.vnet.ibm.com> Sent by: libvirt-cim-bounces@redhat.com
12/08/2010 10:32 AM
Please respond to List for discussion and development of libvirt CIM <libvirt-cim@redhat.com>
To
List for discussion and development of libvirt CIM <libvirt-cim@redhat.com>
cc
Subject
[Libvirt-cim] [PATCH] Add domain UUID and timestamp ComputerSystem and MigrationJob indications
# HG changeset patch # User Chip Vincent <cvincent@us.ibm.com> # Date 1291832982 18000 # Node ID 00c3b5396d9cd7c4396b8b72fdb09257a0328116 # Parent e82f482d4bd2eae19970f9b9a42caecaf46ebeab Add domain UUID and timestamp to ComputerSystem and MigrationJob Indications
This patch allows clients to better correlate indications by domain and enables sequencing using the indication datetime.
Signed-off-by: Chip Vincent <cvincent@us.ibm.com>
diff -r e82f482d4bd2 -r 00c3b5396d9c src/Virt_ComputerSystemIndication.c --- a/src/Virt_ComputerSystemIndication.c Tue Nov 30 13:33:45 2010 -0500 +++ b/src/Virt_ComputerSystemIndication.c Wed Dec 08 13:29:42 2010 -0500 @@ -232,6 +232,8 @@ CMPIObjectPath *affected_op; CMPIObjectPath *ind_op; CMPIInstance *ind; + CMPIData uuid; + CMPIDateTime *timestamp; CMPIStatus s; bool ret = true;
@@ -278,7 +280,15 @@ } CMSetNameSpace(affected_op, args->ns);
- if (ind_type == CS_MODIFIED) { + uuid = CMGetProperty(affected_inst, "UUID", &s); + CMSetProperty(ind, "IndicationIdentifier", + (CMPIValue *)&uuid, CMPI_string); + + timestamp = CMNewDateTime(broker, &s); + CMSetProperty(ind, "IndicationTime", + (CMPIValue *)timestamp, CMPI_dateTime); + + if (ind_type == CS_MODIFIED) { CMSetProperty(ind, "PreviousInstance", (CMPIValue *)&prev_inst, CMPI_instance); } diff -r e82f482d4bd2 -r 00c3b5396d9c src/Virt_VSMigrationService.c --- a/src/Virt_VSMigrationService.c Tue Nov 30 13:33:45 2010 -0500 +++ b/src/Virt_VSMigrationService.c Wed Dec 08 13:29:42 2010 -0500 @@ -811,8 +811,11 @@ CMPIInstance *ind = NULL; CMPIInstance *prev_inst = NULL; const char *pfx = NULL; - - ind_name = ind_type_to_name(ind_type); + virDomainPtr dom = NULL; + char uuid[VIR_UUID_STRING_BUFLEN]; + CMPIDateTime *timestamp = NULL; + + ind_name = ind_type_to_name(ind_type);
CU_DEBUG("Creating indication.");
@@ -827,6 +830,24 @@ job->ref_ns, pfx, ind_name); goto out; } + + dom = virDomainLookupByName(job->conn, job->domain); + if(dom == NULL) { + CU_DEBUG("Failed to connect to domain %s", job->domain); + goto out; + } + + if(virDomainGetUUIDString(dom, uuid) != 0) { + CU_DEBUG("Failed to get UUID from domain name"); + goto out; + } + + CMSetProperty(ind, "IndicationIdentifier", + (CMPIValue *)uuid, CMPI_chars); + + timestamp = CMNewDateTime(broker, s); + CMSetProperty(ind, "IndicationTime", + (CMPIValue *)timestamp, CMPI_dateTime);
if (ind_type == MIG_MODIFIED) { /* Need to copy job inst before attaching as PreviousInstance @@ -844,6 +865,7 @@ }
out: + virDomainFree(dom); return ind; }
-- Chip Vincent Open Virtualization, Linux Technology Center IBM Systems & Technology Group phone: 919-254-4482, T/L 444-4482 email: cvincent@us.ibm.com
_______________________________________________ Libvirt-cim mailing list Libvirt-cim@redhat.com https://www.redhat.com/mailman/listinfo/libvirt-cim