]> xenbits.xensource.com Git - libvirt.git/commitdiff
hyperv: Fix hypervInitConnection error reporting
authorLadi Prosek <lprosek@redhat.com>
Fri, 6 Oct 2017 06:47:33 +0000 (08:47 +0200)
committerJohn Ferlan <jferlan@redhat.com>
Mon, 16 Oct 2017 14:29:32 +0000 (10:29 -0400)
"%s is not a Hyper-V server" is not a correct generalization of all possible
error conditions of hypervEnumAndPull. For example:

  $ virsh --connect hyperv://localhost/?transport=http
  Enter username for localhost [administrator]:
  Enter administrator's password for localhost: <enters incorrect password>
  error: failed to connect to the hypervisor
  error: internal error: localhost is not a Hyper-V server

This commit removes the general virReportError from hypervInitConnection and
also the "Invalid query" virReportError from hypervSerializeEprParam, which
does not correctly describe the error either (virBufferCheckError has
already set a meaningful error message at that point).

The same scenario with the fix:

  $ virsh --connect hyperv://localhost/?transport=http
  Enter username for localhost [administrator]:
  Enter administrator's password for localhost: <enters incorrect password>
  error: failed to connect to the hypervisor
  error: internal error: Transport error during enumeration: User, password or
  similar was not accepted (26)

Signed-off-by: Ladi Prosek <lprosek@redhat.com>
src/hyperv/hyperv_driver.c
src/hyperv/hyperv_wmi.c

index 09912610c0881d05b9788d44de94d19eca2368ca..ed4a55da01b47ff313f40fd56d2ea1ba1cbc5edc 100644 (file)
@@ -104,11 +104,8 @@ hypervInitConnection(virConnectPtr conn, hypervPrivate *priv,
         /* fall back to V1 namespace (for Hyper-V 2008) */
         priv->wmiVersion = HYPERV_WMI_VERSION_V1;
 
-        if (hypervEnumAndPull(priv, &wqlQuery, &computerSystem) < 0) {
-            virReportError(VIR_ERR_INTERNAL_ERROR,
-                           _("%s is not a Hyper-V server"), conn->uri->server);
+        if (hypervEnumAndPull(priv, &wqlQuery, &computerSystem) < 0)
             goto cleanup;
-        }
     }
 
     ret = 0;
index 980a00e285d2af7a37ca94dd5cdcac4ef19e0c57..0b9431bfa8a002323630efcac176fc5bdad36b90 100644 (file)
@@ -514,7 +514,6 @@ hypervSerializeEprParam(hypervParamPtr p, hypervPrivate *priv,
     /* Get query and create filter based on it */
     if (virBufferCheckError(p->epr.query) < 0) {
         virBufferFreeAndReset(p->epr.query);
-        virReportError(VIR_ERR_INTERNAL_ERROR, "%s", _("Invalid query"));
         goto cleanup;
     }
     query_string = virBufferContentAndReset(p->epr.query);