From f3b1b9812146da2bd1bcf02512c7e837139488fa Mon Sep 17 00:00:00 2001 From: John Ferlan Date: Tue, 24 Jan 2017 13:53:08 -0500 Subject: [PATCH] tests: Add createVHBAByNodeDevice-parent-fabric-wwn to fchosttest Add a test that allows providing the parent fabric_wwn in the input XML in order to create the vHBA. This also fixes a mixed setting of the fabric_wwn field from the read test driver XML strings. --- src/conf/node_device_conf.c | 8 ++++++++ tests/fchosttest.c | 14 ++++++++++++++ 2 files changed, 22 insertions(+) diff --git a/src/conf/node_device_conf.c b/src/conf/node_device_conf.c index 31ca45646c..1c81b48053 100644 --- a/src/conf/node_device_conf.c +++ b/src/conf/node_device_conf.c @@ -37,9 +37,12 @@ #include "virbuffer.h" #include "viruuid.h" #include "virrandom.h" +#include "virlog.h" #define VIR_FROM_THIS VIR_FROM_NODEDEV +VIR_LOG_INIT("conf.node_device_conf"); + VIR_ENUM_IMPL(virNodeDevDevnode, VIR_NODE_DEV_DEVNODE_LAST, "dev", "link") @@ -1086,6 +1089,11 @@ virNodeDevCapSCSIHostParseXML(xmlXPathContextPtr ctxt, } } + if (virNodeDevCapsDefParseString("string(./fabric_wwn[1])", + ctxt, + &data->scsi_host.fabric_wwn) < 0) + VIR_DEBUG("No fabric_wwn defined for '%s'", def->name); + ctxt->node = orignode2; } else { diff --git a/tests/fchosttest.c b/tests/fchosttest.c index d083104dcb..51fdcbd478 100644 --- a/tests/fchosttest.c +++ b/tests/fchosttest.c @@ -64,6 +64,17 @@ static const char test9_xml[] = " " ""; +/* virNodeDeviceCreateXML using "" to find the + * vport capable HBA */ +static const char test10_xml[] = +"" +" " +" " +" " +" " +" " +""; + /* Test virIsVHBACapable */ static int test1(const void *data ATTRIBUTE_UNUSED) @@ -296,6 +307,9 @@ mymain(void) if (virTestRun("manageVHBAByNodeDevice-parent-wwn", manageVHBAByNodeDevice, test9_xml) < 0) ret = -1; + if (virTestRun("manageVHBAByNodeDevice-parent-fabric-wwn", + manageVHBAByNodeDevice, test10_xml) < 0) + ret = -1; cleanup: VIR_FREE(fchost_prefix); -- GitLab