<div dir="ltr"><br><div class="gmail_extra"><br><br><div class="gmail_quote">On Thu, May 30, 2013 at 9:16 AM, Jarret Raim <span dir="ltr"><<a href="mailto:jarret.raim@rackspace.com" target="_blank">jarret.raim@rackspace.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">



<div style="font-size:14px;font-family:Calibri,sans-serif;word-wrap:break-word">
<div>
<div>
<div>
<div>Both Logging (Meniscus) and Key Management (Barbican) are using Falcon (<a href="http://falconframework.org/" target="_blank">http://falconframework.org/</a>) right now. I'm not adverse to a change if needed, but have we addressed the performance issues from the Falcon
 page? If Pecan serves 9ish times fewer requests, that seems like a rather large red flag.</div></div></div></div></div></blockquote><div><br></div><div style>If you look very carefully at the benchmark scripts, you'll see that the numbers for falcon are artificially enhanced by the fact that the falcon test app is only looking at one regular expression when routing requests. Using more realistic number of patterns in the routing list, in a random order, makes the difference in performance much smaller. This was discussed somewhat in the previous thread on the topic on this mailing list (<a href="http://lists.openstack.org/pipermail/openstack-dev/2013-April/007709.html">http://lists.openstack.org/pipermail/openstack-dev/2013-April/007709.html</a>). There have also been changes in Pecan to improve its performance significantly (30% based on the benchmark app in the falcon repo).</div>
<div> </div><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"><div style="font-size:14px;font-family:Calibri,sans-serif;word-wrap:break-word">
<div><div><div>
</div>
</div>
</div>
<div><br>
</div>
<div>One benchmark is not enough data to make any decisions, but I didn't see any discussion of the performance of Pecan / WSME in the etherpad from the design summit. Has anyone done any performance testing of the proposed set up? </div>
</div></blockquote><div><br></div><div style>I am much more interested in the ease of use, since I don't see receiving and responding to the web request as the most expensive part of most API calls (especially not for anything that hits the database or makes RPC calls). We obviously don't want to ignore performance, but I would rather put effort into improving an existing project that is very easy to use than into building something new from scratch.</div>
<div style><br></div><div style>Doug</div><div> </div><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"><div style="font-size:14px;font-family:Calibri,sans-serif;word-wrap:break-word">

<div><br>
</div>
<div><br>
</div>
<div>Jarret </div>
<div><br>
</div>
<div><br>
</div>
<span>
<div style="border-width:1pt medium medium;border-style:solid none none;padding:3pt 0in 0in;text-align:left;font-size:11pt;font-family:Calibri;border-top-color:rgb(181,196,223)">
<span style="font-weight:bold">From: </span>Doug Hellmann <<a href="mailto:doug.hellmann@dreamhost.com" target="_blank">doug.hellmann@dreamhost.com</a>><br>
<span style="font-weight:bold">Reply-To: </span>OpenStack List <<a href="mailto:openstack-dev@lists.openstack.org" target="_blank">openstack-dev@lists.openstack.org</a>><br>
<span style="font-weight:bold">Date: </span>Wednesday, May 29, 2013 7:07 PM<br>
<span style="font-weight:bold">To: </span>OpenStack List <<a href="mailto:openstack-dev@lists.openstack.org" target="_blank">openstack-dev@lists.openstack.org</a>><br>
<span style="font-weight:bold">Subject: </span>[openstack-dev] [oslo] deprecating openstack.common.wsgi<br>
</div><div><div class="h5">
<div><br>
</div>
<div>
<div>
<div dir="ltr">I have -2ed several changes to the wsgi module in oslo-incubator in the last few weeks, and I wanted to bring it up on the list to explain the reasons more broadly.
<div><br>
</div>
<div>At the last summit we agreed that the goal was to start deprecating our home-grown WSGI service implementation in favor of moving to a new set of tools called Pecan and WSME (<a href="https://etherpad.openstack.org/havana-common-wsgi" target="_blank">https://etherpad.openstack.org/havana-common-wsgi</a>).
 While I understand that we can't just drop everything and build new API servers, I do feel strongly that we should not continue developing new features for the module we are deprecating.</div>
<div><br>
</div>
<div>I don't see any other projects with "wsgi" in their openstack-common.conf, nor did I find any copies of openstack/common/wsgi.py in any other projects. I did find several wsgi.py files in different directories in the projects. I take that to mean that
 we are/were still in the process of unifying the various forked versions of the module, and I propose that we just not bother doing more work on that. Since no project is already using Oslo's wsgi module, I'm not sure it makes sense to bring bug fixes into
 Oslo, either. If I've missed something, and projects are in fact using the module, then we should continue to deal with bug fixes.<br>
<div><br>
</div>
<div>To officially indicate the module as deprecated, Mark suggested moving it to openstack/common/deprecated/wsgi.py. I have done that in changeset <a href="https://review.openstack.org/#/c/30972/" target="_blank">https://review.openstack.org/#/c/30972/</a>. As the commit
 log message mentions, there is still some work to be done to remove the dependency between one or two of the middleware classes and the now deprecated module. I would appreciate any ideas about the best way to do that from folks who know about those modules.<br>

<div><br>
</div>
<div>As we move to the new tools, I am sure we will find new bits of code related to setting up those projects that we can share. For example, the code to configure the keystone middleware for an API service shouldn't need to be repeated across all
 of the projects. We should start a new module to hold those pieces, taken from the projects that are starting to use Pecan and WSME already. I volunteer to be the primary maintainer for that new module within Oslo.</div>

<div><br>
</div>
<div>Doug</div>
<div><br>
</div>
</div>
</div>
</div>
</div>
</div>
</div></div></span>
</div>

<br>_______________________________________________<br>
OpenStack-dev mailing list<br>
<a href="mailto:OpenStack-dev@lists.openstack.org">OpenStack-dev@lists.openstack.org</a><br>
<a href="http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev" target="_blank">http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev</a><br>
<br></blockquote></div><br></div></div>