[virt-tools-list] [PATCH virt-manager] virtinst/cli: don't use hard-coded path for binaries

Cole Robinson crobinso at redhat.com
Mon Mar 23 17:33:52 UTC 2015


On 03/23/2015 09:39 AM, Pavel Hrdina wrote:
> The binaries could be installed somewhere else and we should not
> hard-code the binary paths.  This patch allows non-root user to build
> their own virt-viewer/virsh, set the PATH env and run virt-manager
> tests.
> 
> Signed-off-by: Pavel Hrdina <phrdina at redhat.com>
> ---
> 
> This is required to run ./setup.py test using Jenkins on nodes without root
> privileges.  We are building upstream virt-viewer and libvirt by ourself and
> installing them to specific path, which is then exported correctly using
> environment variables.
> 
>  virtinst/cli.py | 10 +++++++---
>  1 file changed, 7 insertions(+), 3 deletions(-)
> 
> diff --git a/virtinst/cli.py b/virtinst/cli.py
> index 642e4eb..59628b6 100644
> --- a/virtinst/cli.py
> +++ b/virtinst/cli.py
> @@ -26,6 +26,7 @@ import os
>  import shlex
>  import sys
>  import traceback
> +import subprocess
>  
>  import libvirt
>  
> @@ -379,7 +380,7 @@ def _run_console(args):
>  
>  
>  def _gfx_console(guest):
> -    args = ["/usr/bin/virt-viewer",
> +    args = ["virt-viewer",
>              "--connect", guest.conn.uri,
>              "--wait", guest.name]
>  
> @@ -389,7 +390,7 @@ def _gfx_console(guest):
>  
>  
>  def _txt_console(guest):
> -    args = ["/usr/bin/virsh",
> +    args = ["virsh",
>              "--connect", guest.conn.uri,
>              "console", guest.name]
>  
> @@ -428,7 +429,10 @@ def get_console_cb(guest):
>          logging.debug("No viewer to launch for graphics type '%s'", gtype)
>          return
>  
> -    if not os.path.exists("/usr/bin/virt-viewer"):
> +    try:
> +        subprocess.check_output(["virt-viewer", "--version"],
> +                                stdout=subprocess.STDOUT)
> +    except OSError:
>          logging.warn(_("Unable to connect to graphical console: "
>                         "virt-viewer not installed. Please install "
>                         "the 'virt-viewer' package."))
> 

On F22 this raises:

ValueError: stdout argument not allowed, it will be overridden.

Dropping the stdout attribute makes things happy. Pushed with that change, and
a change to keep the imports alphabetized.

Thanks,
Cole




More information about the virt-tools-list mailing list