<div dir="ltr"><div class="gmail_extra"><br><div class="gmail_quote">On Thu, Oct 22, 2015 at 6:16 AM, Matt Fischer <span dir="ltr"><<a href="mailto:matt@mattfischer.com" target="_blank">matt@mattfischer.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex">I thought we had code in other places that split out stderr and only logged it if there was an actual error but I cannot find the reference now. I think that matches the original proposal. Not sure I like idea #3.</blockquote></div><br>Matthew, this topic not about SSL. ANY warnings, ANY output to stderr from CLI may corrupt work of providers from puppet-* modules for openstack components. </div><div class="gmail_extra"><br></div><div class="gmail_extra">IMHO it's a very serious bug, that potential affect openstack puppet modules.</div><div class="gmail_extra"><br></div><div class="gmail_extra">I see 3 way for fix it:</div><div class="gmail_extra"><ol><li>Long way. big patch to puppet core for add ability to collect stderr and stdout separately. But most of existing puppet providers waits that stderr and stdout was mixed when handle errors of execution (non-zero return code). Such patch will broke backward compatibility, if will be enabled by default.</li><li>Middle way. We should write code for redefine 'commands' method. New commands should collect stderr and stdout separately, but if error happens return stderr (with ability access to stdout too).</li><li>Short way. Modify existing providers to use json output instead plain-text or csv. JSON output may be separated from any garbage (warnings) slightly. I make this patch as example of this way: <a href="https://review.openstack.org/#/c/238156/">https://review.openstack.org/#/c/238156/</a> . Anyway json more formalized format for data exchange, than plain text.</li></ol><div><div class="gmail_signature"><div>IMHO way #1 is a best solution, but not easy.</div><div dir="ltr"><br><div>/sv</div></div></div></div>
</div></div>