----- Original Message -----
> From: "Vratislav Podzimek" <vpodzime(a)redhat.com>
> To: anaconda-patches(a)lists.fedorahosted.org
> Sent: Thursday, October 30, 2014 8:01:57 AM
> Subject: [blivet][master] Do not mix stdout and stderr when running utilities
>
> We only gather data from stdout and stderr contents may confuse our parsing
> code. But we may still be interested in the stderr so log it.
>
> Signed-off-by: Vratislav Podzimek <vpodzime(a)redhat.com>
> ---
> blivet/util.py | 10 ++++++++--
> 1 file changed, 8 insertions(+), 2 deletions(-)
>
> diff --git a/blivet/util.py b/blivet/util.py
> index a69b694..01a4548 100644
> --- a/blivet/util.py
> +++ b/blivet/util.py
> @@ -44,15 +44,21 @@ def _run_program(argv, root='/', stdin=None,
> env_prune=None):
> proc = subprocess.Popen(argv,
> stdin=stdin,
> stdout=subprocess.PIPE,
> - stderr=subprocess.STDOUT,
> + stderr=subprocess.PIPE,
> close_fds=True,
> preexec_fn=chroot, cwd=root, env=env)
>
> - out = proc.communicate()[0]
> + out, err = proc.communicate()
> if out:
> + program_log.info("stdout:")
> for line in out.splitlines():
> program_log.info("%s", line)
>
> + if err:
> + program_log.info("stderr:")
> + for line in err.splitlines():
> + program_log.info("%s", line)
> +
> except OSError as e:
> program_log.error("Error running %s: %s", argv[0],
e.strerror)
> raise
> --
> 1.9.3
>
> _______________________________________________
> anaconda-patches mailing list
> anaconda-patches(a)lists.fedorahosted.org
>
https://lists.fedorahosted.org/mailman/listinfo/anaconda-patches
>
I do not like conflating standard out and standard error.
So, generally speaking, I'm in favor of this change.
I also do not see any methods in devicelibs that seem to expect to read
stderr from stdout. This doesn't mean there are none, but it's heartening.
I looked around outside devicelibs and found a number of calls to
util.*capture_output* methods that were worth investigating.
However, only fcoe.fcoe.addSan() seems to me to contain
some calls which seem to expect that
out will contain stderr.
Not that I have much chance to understand what's
going on there, but
I'll have a look at that call.
--
Vratislav Podzimek
Anaconda Rider | Red Hat, Inc. | Brno - Czech Republic