<div dir="ltr"><div class="gmail_extra"><div class="gmail_quote">Interestingly enough, the distros are doing exactly what they don't want us to do, ie, rebuilding things to use 'their' tested version of dependencies rather than the included one...</div><div class="gmail_quote"><br></div><div class="gmail_quote">On Wed, Sep 17, 2014 at 2:42 PM, Ian Cordasco <span dir="ltr"><<a href="mailto:ian.cordasco@rackspace.com" target="_blank">ian.cordasco@rackspace.com</a>></span> wrote:<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
That aside, I’ve been mulling over how effectively the clients use<br>
requests. I haven’t investigated all of them, but many seem to reach into<br>
implementation details on their own. If I remember nova client has<br>
something it has commented as “connection pooling†while requests and<br>
urllib3 do that automatically. I haven’t started to investigate exactly<br>
why they do this. Likewise, glance client has custom certificate<br>
verification in glanceclient.common.https. Why? I’m not exactly certain<br>
yet. It seems for the most part from what little I’ve seen that requests<br>
is too high-level a library for OpenStack’s needs at best, and actively<br>
obscures details OpenStack developers need (or don’t realize requests<br>
provides in most cases).<br></blockquote><div><br></div><div>Part of that is my doing, the initial conversion from httplib2 to requests was intended to be as simple as possible in order to get the benefits of proper certificate verification. Â glanceclient never got this (maybe until recently?) because it uses OpenSSL. Â The come-back-and-clean-things-up work was intended to be Alessio's apiclient stuff that I think is still in oslo-incubator. Â That was never finished for a variety of reasons. Â Since that time you're seeing the results of other fixes (connection-pooling being one) that look at the existing code and not at the proper re-factor to push that stuff into requests.</div><div><br></div><div>The real fix for the clients is to start over and re-build them on top of (in this case) requests to utilize all that it brings. Â This is already happening...</div><div><br></div><div>FWIW I totally understand the desire for vendoring...I want to do the same thing with OSC because of the number of times we've been broken by requests, prettytable and others changing out from under us. Â It is easy enough for me to fix my box but a cloud user that just want to get his VMs running isn't going to be happy, especially on Windows.</div></div><div><br></div><div>dt</div><div><br></div>-- <br><br>Dean Troyer<br><a href="mailto:dtroyer@gmail.com">dtroyer@gmail.com</a><br>
</div></div>