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

Daniel Veillard veillard at redhat.com
Fri Nov 13 09:30:53 UTC 2009


On Thu, Nov 12, 2009 at 03:00:51PM +0000, Daniel P. Berrange wrote:
> 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;

  Ah, right, ACK !

Daniel

-- 
Daniel Veillard      | libxml Gnome XML XSLT toolkit  http://xmlsoft.org/
daniel at veillard.com  | Rpmfind RPM search engine http://rpmfind.net/
http://veillard.com/ | virtualization library  http://libvirt.org/




More information about the libvir-list mailing list