<div dir="ltr"><div class="gmail_default" style="font-size:small"><br></div><div class="gmail_extra"><br><br><div class="gmail_quote">On Wed, Mar 19, 2014 at 9:55 AM, Jay Pipes <span dir="ltr"><<a href="mailto:jaypipes@gmail.com" target="_blank">jaypipes@gmail.com</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div class="">On Wed, 2014-03-19 at 14:25 +0100, victor stinner wrote:<br>
> Hi,<br>
><br>
> According to the following table, paste is blocking many OpenStack servers to be ported to Python 3:<br>
><br>
>    <a href="https://wiki.openstack.org/wiki/Python3#Core_OpenStack_projects" target="_blank">https://wiki.openstack.org/wiki/Python3#Core_OpenStack_projects</a><br>
><br>
> The author of paste, Ian Bicking, gave me the commit permission to paste. I integrated patches from Debian and my colleague Cyril Roelandt, and I added even more patches. All these changes are just for the Python 3 syntax (import, except as, print, etc.). It looks like paste doesn't know anything about Python 3 and WSGI 1.0.1 (PEP 3333):<br>

><br>
>     <a href="http://legacy.python.org/dev/peps/pep-3333/" target="_blank">http://legacy.python.org/dev/peps/pep-3333/</a><br>
><br>
> A function handling a web page must return bytes (b'data' in Python 3), whereas nativate string can be used in Python 2. It looks like paste is old (last release was 4 years ago, version 1.7.5.1 in 2010). Even the author of paste suggest to use something else like WebOb:<br>

><br>
>    "Paste has been under development for a while, and has lots of code in it. Too much code! The code is largely decoupled except for some core functions shared by many parts of the code. Those core functions are largely replaced in WebOb, and replaced with better implementations."<br>

><br>
>    <a href="http://pythonpaste.org/future.html#introduction" target="_blank">http://pythonpaste.org/future.html#introduction</a><br>
><br>
> What is the plan for OpenStack? Should we use something else?<br>
<br>
</div>AFAIK, we only use paste.deploy, and we use WebOb already (even though<br>
it has a host of issues itself...)<br>
<br>
Best,<br>
-jay<br>
<div class="HOEnZb"><div class="h5"><br>
<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>
</div></div></blockquote></div><br></div><div class="gmail_extra"><div class="gmail_default" style="font-size:small">As part of one of the Python 3 discussions at either the folsom or grizzly summits we discussed dropping paste.deploy as a *required* part of deploying OpenStack. In addition to the lack of Python 3 support, it was pointed out that the paste file is a "code-like" file that deployers may need to modify as a configuration file to set up the right pipelines, but that we should be standardizing those (especially in light of the ongoing DefCore and "designated sections" discussion).</div>
<div class="gmail_default" style="font-size:small"><br></div><div class="gmail_default" style="font-size:small">If we're moving to a web framework that supports python 3, and that doesn't *need* paste.deploy, then we can drop it as a blocking dependency for porting. Deployers who want to do things like add a middleware around an OpenStack API endpoint will still be able to either use a paste-like replacement tool, or do the wrapping directly in the WSGI configuration file they use to tie the OpenStack service to the web server.</div>
</div><div class="gmail_extra"><br></div><div class="gmail_extra"><div class="gmail_default" style="font-size:small">Doug</div><br></div></div>