[PATCH v2 12/13] hyperv: provide a more detailed error message for WSMan faults
Matt Coleman
mcoleman at datto.com
Tue Feb 2 00:48:47 UTC 2021
Signed-off-by: Matt Coleman <matt at datto.com>
---
src/hyperv/hyperv_wmi.c | 15 ++++++++++++---
1 file changed, 12 insertions(+), 3 deletions(-)
diff --git a/src/hyperv/hyperv_wmi.c b/src/hyperv/hyperv_wmi.c
index 4c1bd5e0d2..c14ff0e64a 100644
--- a/src/hyperv/hyperv_wmi.c
+++ b/src/hyperv/hyperv_wmi.c
@@ -789,9 +789,18 @@ hypervInvokeMethod(hypervPrivate *priv,
returnValue = ws_xml_get_xpath_value(response, returnValue_xpath);
if (!returnValue) {
- virReportError(VIR_ERR_INTERNAL_ERROR,
- _("Could not get return value for %s invocation"),
- params->method);
+ g_autofree char *faultReason_xpath = g_strdup("/s:Envelope/s:Body/s:Fault/s:Reason/s:Text");
+ g_autofree char *faultReason = ws_xml_get_xpath_value(response, faultReason_xpath);
+
+ if (faultReason)
+ virReportError(VIR_ERR_INTERNAL_ERROR,
+ _("WS-Management fault during %s invocation: %s"),
+ params->method, faultReason);
+ else
+ virReportError(VIR_ERR_INTERNAL_ERROR,
+ _("Could not get return value for %s invocation"),
+ params->method);
+
return -1;
}
--
2.30.0
More information about the libvir-list
mailing list