mirror of https://gitee.com/openkylin/libvirt.git
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
This commit is contained in:
parent
007f016b2d
commit
c7a8e1bf74
|
@ -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;
|
||||
|
|
Loading…
Reference in New Issue