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

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

 



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

--
Libvir-list mailing list
Libvir-list@xxxxxxxxxx
https://www.redhat.com/mailman/listinfo/libvir-list

[Index of Archives]     [Virt Tools]     [Libvirt Users]     [Lib OS Info]     [Fedora Users]     [Fedora Desktop]     [Fedora SELinux]     [Big List of Linux Books]     [Yosemite News]     [KDE Users]     [Fedora Tools]