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

Pavel Hrdina phrdina at redhat.com
Tue Mar 24 12:17:56 UTC 2015


On Mon, Mar 23, 2015 at 01:33:52PM -0400, Cole Robinson wrote:
> 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 for review and pushing it.

Pavel

> Thanks,
> Cole




More information about the virt-tools-list mailing list