[Libguestfs] [PATCH] common/mltools: Add a debug statement when we try to run a non-existent program.

Richard W.M. Jones rjones at redhat.com
Tue Nov 20 09:08:56 UTC 2018


On Tue, Nov 20, 2018 at 10:06:53AM +0100, Pino Toscano wrote:
> On Monday, 19 November 2018 20:09:34 CET Richard W.M. Jones wrote:
> > Previously:
> > 
> >   $ virt-v2v -v -x -i disk fedora-28.img -o openstack -oo server-id=foo
> >   virt-v2v: libguestfs 1.39.11fedora=29,release=1.fc29,libvirt (x86_64)
> >   libvirt version: 4.5.0
> >   virt-v2v: error: openstack: precheck failed, there may be a problem with
> >   authentication, see earlier error messages
> >   rm -rf '/var/tmp/null.dTxRFN'
> > 
> > Notice there is no "earlier error message".
> > 
> > After this commit the error changes to:
> > 
> >   openstack: executable not found
> >   virt-v2v: error: openstack: precheck failed, there may be a problem with
> >   authentication, see earlier error messages
> > ---
> >  common/mltools/tools_utils.ml | 8 +++++---
> >  1 file changed, 5 insertions(+), 3 deletions(-)
> > 
> > diff --git a/common/mltools/tools_utils.ml b/common/mltools/tools_utils.ml
> > index ad08d05eb..298d89b4d 100644
> > --- a/common/mltools/tools_utils.ml
> > +++ b/common/mltools/tools_utils.ml
> > @@ -420,9 +420,11 @@ and do_run ?(echo_cmd = true) ?stdout_fd ?stderr_fd args =
> >      Either (pid, app, stdout_fd, stderr_fd)
> >    with
> >    | Executable_not_found _ ->
> > -    Or 127
> > -  | Unix.Unix_error (errcode, _, _) when errcode = Unix.ENOENT ->
> > -    Or 127
> > +     debug "%s: executable not found" app;
> > +     Or 127
> > +  | Unix.Unix_error (errcode, fn, _) when errcode = Unix.ENOENT ->
> > +     debug "%s: %s: executable not found" app fn;
> > +     Or 127
> 
> This is OK.
> 
> Though, in the specific case of output_openstack#precheck I'd still
> check for the existance of the "openstack" executable first, just like
> what Python_script.error_unless_python_interpreter_found does.  This
> way there is a better error message to cover the case described in the
> commit message, even in case -v is not passed.

Yup, I'll push this one and propose an extra patch for
virt-v2v to check for the executable.

Rich.

-- 
Richard Jones, Virtualization Group, Red Hat http://people.redhat.com/~rjones
Read my programming and virtualization blog: http://rwmj.wordpress.com
Fedora Windows cross-compiler. Compile Windows programs, test, and
build Windows installers. Over 100 libraries supported.
http://fedoraproject.org/wiki/MinGW




More information about the Libguestfs mailing list