[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]

[libvirt] [PATCH 5/5] Check that domain is running when starting console



The 'virsh console' command did not check if the domain was
already running before attempting to fetch the XML and extract
the console PTY path. This caused a slightly unhelpful / misleading
error message for the user. The explicit check ensures the user
gets an explicit 'domain is not running' message.

* tools/virsh.c: Validate that state != VIR_DOMAIN_SHUTOFF in
  virsh console command
---
 tools/virsh.c |   11 +++++++++++
 1 files changed, 11 insertions(+), 0 deletions(-)

diff --git a/tools/virsh.c b/tools/virsh.c
index 0d0ebca..9faac35 100644
--- a/tools/virsh.c
+++ b/tools/virsh.c
@@ -523,6 +523,7 @@ cmdRunConsole(vshControl *ctl, virDomainPtr dom)
     char *doc;
     char *thatHost = NULL;
     char *thisHost = NULL;
+    virDomainInfo dominfo;
 
     if (!(thisHost = virGetHostname(ctl->conn))) {
         vshError(ctl, "%s", _("Failed to get local hostname"));
@@ -539,6 +540,16 @@ cmdRunConsole(vshControl *ctl, virDomainPtr dom)
         goto cleanup;
     }
 
+    if (virDomainGetInfo(dom, &dominfo) < 0) {
+        vshError(ctl, "%s", _("Unable to get domain status"));
+        goto cleanup;
+    }
+
+    if (dominfo.state == VIR_DOMAIN_SHUTOFF) {
+        vshError(ctl, "%s", _("The domain is not running"));
+        goto cleanup;
+    }
+
     doc = virDomainGetXMLDesc(dom, 0);
     if (!doc)
         goto cleanup;
-- 
1.6.2.5


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]