<html><body><p>Trying to summarize here... <br><br>  - There isn't much interest in keeping eventlet around.<br>  - Folks are OK with running keystone in a WSGI server, but feel they are constrained by Apache.<br>  - uWSGI could help to support multiple web servers.<br><br>My opinion:<br><br>  - Adding support for uWSGI definitely sounds like it's worth investigating, but not achievable in this release (unless someone already has something cooked up).<br>  - I'm tempted to let eventlet stick around another release, since it's causing pain on some of our operators.<br>  - Other folks have managed to run keystone in a web server (and hopefully not feel pain when doing so!), so it might be worth getting technical details on just how it was accomplished. If we get an OK from the operator community later on in mitaka, I'd still be OK with removing eventlet, but I don't want to break folks.<br><br>stevemar<br><br><font size="2" color="#5F5F5F">From:        </font><font size="2">John Dewey <john@dewey.ws></font><br><font face="Helvetica">100% agree.</font><br><br><font face="Helvetica">We should look at uwsgi as the reference architecture.  Nginx/Apache/etc should be interchangeable, and up to the operator which they choose to use.  Hell, with tcp load balancing now in opensource Nginx, I could get rid of Apache and HAProxy by utilizing uwsgi.</font><br><br><font face="Helvetica">John</font><p><font face="Helvetica">On November 30, 2015 at 1:05:26 PM, Paul Czarkowski (</font><a href="mailto:pczarkowski+openstackops@bluebox.net"><u><font color="#0000FF" face="Helvetica">pczarkowski+openstackops@bluebox.net</font></u></a><font face="Helvetica">) wrote:</font><ul><ul><font face="Helvetica">I don't have a problem with eventlet itself going away, but I do feel that keystone should pick a python based web server capable of running WSGI apps ( such as uWSGI ) for the reference implementation rather than Apache which can be declared appropriately in the requirements.txt of the project.   I feel it is important to allow the operator to make choices based on their organization's skill sets ( i.e. apache vs nginx ) to help keep complexity low. </font><br><br><font face="Helvetica">I understand there are some newer features that rely on Apache ( federation, etc )  but we should allow the need for those features inform the operators choice of web server rather than force it for everybody.</font><br><br><font face="Helvetica">Having a default implementation using uWSGI is also more inline with the 12 factor way of writing applications and will run a lot more comfortably in [application] containers than apache would which is probably an important consideration given how many people are focused on being able to run openstack projects inside containers.</font><br><br><font face="Helvetica">On Mon, Nov 30, 2015 at 2:36 PM, Jesse Keating <</font><a href="mailto:jlk@bluebox.net" target="_blank"><u><font color="#0000FF" face="Helvetica">jlk@bluebox.net</font></u></a><font face="Helvetica">> wrote:</font><ul><font face="Helvetica">I have an objection to eventlet going away. We have problems with running Apache and mod_wsgi with multiple python virtual environments. In some of our stacks we're running both Horizon and Keystone. Each get their own virtual environment. Apache mod_wsgi doesn't really work that way, so we'd have to do some ugly hacks to expose the python environments of both to Apache at the same time. </font><br><br><font face="Helvetica">I believe we spoke about this at Summit. Have you had time to look into this scenario and have suggestions?</font><br><br><br><font face="Helvetica">- jlk</font><br><br><font face="Helvetica">On Mon, Nov 30, 2015 at 10:26 AM, Steve Martinelli <</font><a href="mailto:stevemar@ca.ibm.com" target="_blank"><u><font color="#0000FF" face="Helvetica">stevemar@ca.ibm.com</font></u></a><font face="Helvetica">> wrote:</font><br><font face="Helvetica">This post is being sent again to the operators mailing list, and i apologize if it's duplicated for some folks. The original thread is here: </font><a href="http://lists.openstack.org/pipermail/openstack-dev/2015-November/080816.html" target="_blank"><u><font color="#0000FF" face="Helvetica">http://lists.openstack.org/pipermail/openstack-dev/2015-November/080816.html</font></u></a><font face="Helvetica"><br><br>In the Mitaka release, the keystone team will be removing functionality that was marked for deprecation in Kilo, and marking certain functions as deprecated in Mitaka (that may be removed in at least 2 cycles).<br><br>removing deprecated functionality<br>=====================<br><br>This is not a full list, but these are by and large the most contentious topics.<br><br>* Eventlet support: This was marked as deprecated back in Kilo and is currently scheduled to be removed in Mitaka in favor of running keystone in a WSGI server. This is currently how we test keystone in the gate, and based on the feedback we received at the summit, a lot of folks have moved to running keystone under Apache since we’ve announced this change. OpenStack's CI is configured to mainly test using this deployment model. See [0] for when we started to issue warnings.<br><br>* Using LDAP to store assignment data: Like eventlet support, this feature was also deprecated in Kilo and scheduled to be removed in Mitaka. To store assignment data (role assignments) we suggest using an SQL based backend rather than LDAP. See [1] for when we started to issue warnings.<br><br>* Using LDAP to store project and domain data: The same as above, see [2] for when we started to issue warnings.<br><br>* for a complete list: </font><a href="https://blueprints.launchpad.net/keystone/+spec/removed-as-of-mitaka" target="_blank"><u><font color="#0000FF" face="Helvetica">https://blueprints.launchpad.net/keystone/+spec/removed-as-of-mitaka</font></u></a><font face="Helvetica"><br><br>functions deprecated as of mitaka<br>=====================<br><br>The following will adhere to the TC’s new standard on deprecating functionality [3].<br><br>* LDAP write support for identity: We suggest simply not writing to LDAP for users and groups, this effectively makes create, delete and update of LDAP users and groups a no-op. It will be removed in the O release.<br><br>* PKI tokens: We suggest using UUID or fernet tokens instead. The PKI token format has had issues with security and causes problems with both horizon and swift when the token contains an excessively large service catalog. It will be removed in the O release.<br><br>* v2.0 of our API: Lastly, the keystone team recommends using v3 of our Identity API. We have had the intention of deprecating v2.0 for a while (since Juno actually), and have finally decided to formally deprecate v2.0. OpenStack’s CI runs successful v3 only jobs, there is complete feature parity with v2.0, and we feel the CLI exposed via openstackclient is mature enough to say with certainty that we can deprecate v2.0. It will be around for at least FOUR releases, with the authentication routes (POST /auth/tokens) potentially sticking around for longer.<br><br>* for a complete list: </font><a href="https://blueprints.launchpad.net/keystone/+spec/deprecated-as-of-mitaka" target="_blank"><u><font color="#0000FF" face="Helvetica">https://blueprints.launchpad.net/keystone/+spec/deprecated-as-of-mitaka</font></u></a><font face="Helvetica"><br><br><br>If you have ANY concern about the following, please speak up now and let us know!<br><br><br>Thanks!<br><br>Steve Martinelli<br>OpenStack Keystone Project Team Lead<br><br><br>[0] </font><a href="https://github.com/openstack/keystone/blob/b475040636ccc954949e6372a60dd86845644611/keystone/server/eventlet.py#L77-L80" target="_blank"><u><font color="#0000FF" face="Helvetica">https://github.com/openstack/keystone/blob/b475040636ccc954949e6372a60dd86845644611/keystone/server/eventlet.py#L77-L80</font></u></a><font face="Helvetica"><br>[1] </font><a href="https://github.com/openstack/keystone/blob/28a30f53a6c0d4e84d60795e08f137e8194abbe9/keystone/assignment/backends/ldap.py#L34" target="_blank"><u><font color="#0000FF" face="Helvetica">https://github.com/openstack/keystone/blob/28a30f53a6c0d4e84d60795e08f137e8194abbe9/keystone/assignment/backends/ldap.py#L34</font></u></a><font face="Helvetica"><br>[2] </font><a href="https://github.com/openstack/keystone/blob/28a30f53a6c0d4e84d60795e08f137e8194abbe9/keystone/resource/backends/ldap.py#L36-L39" target="_blank"><u><font color="#0000FF" face="Helvetica">https://github.com/openstack/keystone/blob/28a30f53a6c0d4e84d60795e08f137e8194abbe9/keystone/resource/backends/ldap.py#L36-L39</font></u></a><font face="Helvetica"><br>[3] </font><a href="http://governance.openstack.org/reference/tags/assert_follows-standard-deprecation.html" target="_blank"><u><font color="#0000FF" face="Helvetica">http://governance.openstack.org/reference/tags/assert_follows-standard-deprecation.html</font></u></a><font face="Helvetica"><br><br></font><br><br><font face="Helvetica">_______________________________________________<br>OpenStack-operators mailing list</font><u><font color="#0000FF" face="Helvetica"><br></font></u><a href="mailto:OpenStack-operators@lists.openstack.org" target="_blank"><u><font color="#0000FF" face="Helvetica">OpenStack-operators@lists.openstack.org</font></u></a><u><font color="#0000FF" face="Helvetica"><br></font></u><a href="http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-operators" target="_blank"><u><font color="#0000FF" face="Helvetica">http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-operators</font></u></a><font face="Helvetica"><br></font><br><br><font face="Helvetica"><br>_______________________________________________<br>OpenStack-operators mailing list</font><u><font color="#0000FF" face="Helvetica"><br></font></u><a href="mailto:OpenStack-operators@lists.openstack.org"><u><font color="#0000FF" face="Helvetica">OpenStack-operators@lists.openstack.org</font></u></a><u><font color="#0000FF" face="Helvetica"><br></font></u><a href="http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-operators" target="_blank"><u><font color="#0000FF" face="Helvetica">http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-operators</font></u></a><font face="Helvetica"><br></font></ul><br><font face="Helvetica">_______________________________________________ <br>OpenStack-operators mailing list <br>OpenStack-operators@lists.openstack.org <br></font><font face="Helvetica"><a href="http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-operators">http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-operators</a></font><font face="Helvetica"> </font><tt>_______________________________________________<br>OpenStack-operators mailing list<br>OpenStack-operators@lists.openstack.org<br></tt><tt><a href="http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-operators">http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-operators</a></tt><tt><br></tt><br><br></ul></ul><BR>
</body></html>