+1
Looks good, Tests passed.
Except for this message - msg = "Failed to create graphics is string";
But I don't think we should redo the patch just to fix this message.
Regards,
Sharad Mishra
Open Virtualization
Linux Technology Center
IBM
libvirt-cim-bounces(a)redhat.com wrote on 05/18/2011 01:33:29 PM:
Chip Vincent <cvincent(a)linux.vnet.ibm.com>
Sent by: libvirt-cim-bounces(a)redhat.com
05/18/2011 01:33 PM
Please respond to
List for discussion and development of libvirt CIM
<libvirt-cim(a)redhat.com>
To
libvirt-cim(a)redhat.com
cc
Subject
[Libvirt-cim] [PATCH] Fix for VirtualSystemManagementService/
13_refconfig_additional_devs.py
# HG changeset patch
# User Chip Vincent <cvincent(a)us.ibm.com>
# Date 1305746372 14400
# Node ID 7432d45a1fae6ef499f53a36e24b66df29bcf7f9
# Parent 90f8c9f2388e0563baa311c84024ca41a61e1890
Fix for VirtualSystemManagementService/13_refconfig_additional_devs.py
The cimtest case was failing because libvirt-cim improperly
processed graphics devices present in the ReferenceClass parameter
in DefineSystem. Rather than overrdiing them, it was appending them.
With this patch, the test case now passes and the debug log shows
the following correct messages.
Virt_VirtualSystemManagementService.c(1184): graphics = vnc
Virt_VirtualSystemManagementService.c(1326): Overriding device vnc
from refconf
Signed-off-by: Chip Vincent <cvincent(a)us.ibm.com>
diff --git a/src/Virt_VirtualSystemManagementService.c b/src/
Virt_VirtualSystemManagementService.c
--- a/src/Virt_VirtualSystemManagementService.c
+++ b/src/Virt_VirtualSystemManagementService.c
@@ -1162,17 +1162,26 @@
msg = "GraphicsRASD field Address not valid";
goto out;
}
- } else {
+ } else {
CU_DEBUG("Unsupported graphics type %s",
dev->dev.graphics.type);
msg = "Unsupported graphics type";
goto out;
- }
-
- CU_DEBUG("graphics = %s:%s:%s",
- dev->dev.graphics.type,
- dev->dev.graphics.host,
- dev->dev.graphics.port);
+ }
+
+ free(dev->id);
+ if (STREQC(dev->dev.graphics.type, "vnc"))
+ ret = asprintf(&dev->id, "%s",
dev->dev.graphics.type);
+ else
+ ret = asprintf(&dev->id, "%s:%s",
+ dev->dev.graphics.type,
dev->dev.graphics.port);
+
+ if (ret == -1) {
+ msg = "Failed to create graphics is string";
+ goto out;
+ }
+
+ CU_DEBUG("graphics = %s", dev->id);
out:
return msg;
@@ -1313,9 +1322,6 @@
"DiskResourceAllocationSettingData
in a single "
"guest";
- if (dev->type == CIM_RES_TYPE_GRAPHICS)
- continue;
-
if (STREQC(ptr->id, dev->id)) {
CU_DEBUG("Overriding device %s from
refconf", ptr->id);
cleanup_virt_device(ptr);
@@ -1425,7 +1431,7 @@
&domain->
dev_net_ct);
} else if (type == CIM_RES_TYPE_GRAPHICS) {
struct virt_device dev;
- int ncount = count + domain->dev_graphics_ct;
+ int gcount = count + domain->dev_graphics_ct;
memset(&dev, 0, sizeof(dev));
msg = rasd_to_vdev(inst,
@@ -1435,7 +1441,7 @@
if (msg == NULL)
msg = add_device_nodup(&dev,
domain->dev_graphics,
- ncount,
+ gcount,
&domain->
dev_graphics_ct);
} else if (type == CIM_RES_TYPE_INPUT) {
domain->dev_input_ct = 1;
_______________________________________________
Libvirt-cim mailing list
Libvirt-cim(a)redhat.com
https://www.redhat.com/mailman/listinfo/libvirt-cim