<div dir="ltr">Yep, I believe we did this in the past when we first started down this path with Octavia, but we may have been too early -- maybe now is a better time to do it. I will be at the summit and more than happy to attend a related meeting.<div>But, I agree with Doug that we shouldn't stall this because of that -- can we go ahead and vote the official OpenStack way: comments and +1/-1 on <a href="https://review.openstack.org/#/c/386790/">https://review.openstack.org/#/c/386790/</a> ? I also feel like commenting there is a better way to keep track of this discussion for posterity, as the ML feels much more ephemeral to me. I can always go look up a CR as it's directly linked to the commit. :)<div><br></div><div>--Adam</div></div></div><br><div class="gmail_quote"><div dir="ltr">On Wed, Oct 19, 2016 at 3:24 AM Doug Wiegley <<a href="mailto:dougwig@parksidesoftware.com">dougwig@parksidesoftware.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div style="word-wrap:break-word" class="gmail_msg"><div class="gmail_msg"><blockquote type="cite" class="gmail_msg"><div class="gmail_msg">On Oct 18, 2016, at 12:10 PM, Doug Hellmann <<a href="mailto:doug@doughellmann.com" class="gmail_msg" target="_blank">doug@doughellmann.com</a>> wrote:</div><br class="m_-6574290940711791254Apple-interchange-newline gmail_msg"><div class="gmail_msg"><span style="font-family:Helvetica;font-size:12px;font-style:normal;font-variant-caps:normal;font-weight:normal;letter-spacing:normal;text-align:start;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px;float:none;display:inline!important" class="gmail_msg">Excerpts from Doug Wiegley's message of 2016-10-18 12:00:35 -0600:</span><br style="font-family:Helvetica;font-size:12px;font-style:normal;font-variant-caps:normal;font-weight:normal;letter-spacing:normal;text-align:start;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px" class="gmail_msg"><blockquote type="cite" style="font-family:Helvetica;font-size:12px;font-style:normal;font-variant-caps:normal;font-weight:normal;letter-spacing:normal;text-align:start;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px" class="gmail_msg"><br class="gmail_msg"><blockquote type="cite" class="gmail_msg">On Oct 18, 2016, at 11:30 AM, Doug Hellmann <<a href="mailto:doug@doughellmann.com" class="gmail_msg" target="_blank">doug@doughellmann.com</a>> wrote:<br class="gmail_msg"><br class="gmail_msg">Excerpts from Doug Wiegley's message of 2016-10-18 09:59:54 -0600:<br class="gmail_msg"><blockquote type="cite" class="gmail_msg"><br class="gmail_msg"><blockquote type="cite" class="gmail_msg">On Oct 18, 2016, at 5:14 AM, Ian Cordasco <<a href="mailto:sigmavirus24@gmail.com" class="gmail_msg" target="_blank">sigmavirus24@gmail.com</a><span class="m_-6574290940711791254Apple-converted-space gmail_msg"> </span><<a href="mailto:sigmavirus24@gmail.com" class="gmail_msg" target="_blank">mailto:sigmavirus24@gmail.com</a>>> wrote:<br class="gmail_msg"><br class="gmail_msg"><br class="gmail_msg"><br class="gmail_msg">-----Original Message-----<br class="gmail_msg">From: Thierry Carrez <<a href="mailto:thierry@openstack.org" class="gmail_msg" target="_blank">thierry@openstack.org</a><span class="m_-6574290940711791254Apple-converted-space gmail_msg"> </span><<a href="mailto:thierry@openstack.org" class="gmail_msg" target="_blank">mailto:thierry@openstack.org</a>> <<a href="mailto:thierry@openstack.org" class="gmail_msg" target="_blank">mailto:thierry@openstack.org</a><span class="m_-6574290940711791254Apple-converted-space gmail_msg"> </span><<a href="mailto:thierry@openstack.org" class="gmail_msg" target="_blank">mailto:thierry@openstack.org</a>>>><br class="gmail_msg">Reply: OpenStack Development Mailing List (not for usage questions) <<a href="mailto:openstack-dev@lists.openstack.org" class="gmail_msg" target="_blank">openstack-dev@lists.openstack.org</a><span class="m_-6574290940711791254Apple-converted-space gmail_msg"> </span><<a href="mailto:openstack-dev@lists.openstack.org" class="gmail_msg" target="_blank">mailto:openstack-dev@lists.openstack.org</a>> <<a href="mailto:openstack-dev@lists.openstack.org" class="gmail_msg" target="_blank">mailto:openstack-dev@lists.openstack.org</a><span class="m_-6574290940711791254Apple-converted-space gmail_msg"> </span><<a href="mailto:openstack-dev@lists.openstack.org" class="gmail_msg" target="_blank">mailto:openstack-dev@lists.openstack.org</a>>>><br class="gmail_msg">Date: October 18, 2016 at 03:55:41<br class="gmail_msg">To:<span class="m_-6574290940711791254Apple-converted-space gmail_msg"> </span><a href="mailto:openstack-dev@lists.openstack.org" class="gmail_msg" target="_blank">openstack-dev@lists.openstack.org</a><span class="m_-6574290940711791254Apple-converted-space gmail_msg"> </span><<a href="mailto:openstack-dev@lists.openstack.org" class="gmail_msg" target="_blank">mailto:openstack-dev@lists.openstack.org</a>> <<a href="mailto:openstack-dev@lists.openstack.org" class="gmail_msg" target="_blank">mailto:openstack-dev@lists.openstack.org</a><span class="m_-6574290940711791254Apple-converted-space gmail_msg"> </span><<a href="mailto:openstack-dev@lists.openstack.org" class="gmail_msg" target="_blank">mailto:openstack-dev@lists.openstack.org</a>>> <<a href="mailto:openstack-dev@lists.openstack.org" class="gmail_msg" target="_blank">openstack-dev@lists.openstack.org</a><<a href="mailto:openstack-dev@lists.openstack.org" class="gmail_msg" target="_blank">mailto:openstack-dev@lists.openstack.org</a>> <<a href="mailto:openstack-dev@lists.openstack.org" class="gmail_msg" target="_blank">mailto:openstack-dev@lists.openstack.org</a><span class="m_-6574290940711791254Apple-converted-space gmail_msg"> </span><<a href="mailto:openstack-dev@lists.openstack.org" class="gmail_msg" target="_blank">mailto:openstack-dev@lists.openstack.org</a>>>><br class="gmail_msg">Subject:  Re: [openstack-dev] [requirements][lbaas] gunicorn to g-r<br class="gmail_msg"><br class="gmail_msg"><blockquote type="cite" class="gmail_msg">Doug Wiegley wrote:<br class="gmail_msg"><blockquote type="cite" class="gmail_msg">[...] Paths forward:<br class="gmail_msg"><br class="gmail_msg">1. Add gunicorn to global requirements.<br class="gmail_msg"><br class="gmail_msg">2. Create a project specific “amphora-requirements.txt” file for the<br class="gmail_msg">service VM packages (this is actually my preference.) It has been<br class="gmail_msg">pointed out that this wouldn’t be kept up-to-date by the bot. We could<br class="gmail_msg">modify the bot to include it in some way, or do it manually, or with a<br class="gmail_msg">project specific job.<br class="gmail_msg"><br class="gmail_msg">3. Split our service VM builds into another repo, to keep a clean<br class="gmail_msg">separation between API services and the backend. But, even this new<br class="gmail_msg">repo’s standlone requirements.txt file will have the g-r issue from #1.<br class="gmail_msg"><br class="gmail_msg">4. Boot the backend out of OpenStack entirely.<br class="gmail_msg"></blockquote><br class="gmail_msg">All those options sound valid to me, so the requirements team should<br class="gmail_msg">pick what they are the most comfortable with.<br class="gmail_msg"><br class="gmail_msg">My 2c: yes g-r is mostly about runtime dependencies and ensuring<br class="gmail_msg">co-installability. However it also includes test/build-time deps, and<br class="gmail_msg">generally converging dependencies overall sounds like a valid goal. Is<br class="gmail_msg">there any drawback in adding gunicorn to g-r (option 1) ?<br class="gmail_msg"></blockquote><br class="gmail_msg">The drawback (in my mind) is that new projects might start using it giving operators yet another thing to learn about when deploying a new component (eventlet, gevent, gunicorn, ...).<br class="gmail_msg"><br class="gmail_msg">On the flip, what's the benefit of adding it to g-r?<br class="gmail_msg"></blockquote><br class="gmail_msg">The positive benefit is the same as Octavia’s use case: it provides an alternative for any non-frontline-api service to run a lightweight http/wsgi service as needed (service VMs, health monitor agents, etc). And something better than the built-in debug servers in most of the frameworks.<br class="gmail_msg"><br class="gmail_msg">On the proliferation point, it is certainly a risk, though I’ve personally heard pretty strong guidance that all main API services in our community should be trending towards pecan.<br class="gmail_msg"></blockquote><br class="gmail_msg">Pecan is a way to build WSGI applications. Gunicorn is a way to deploy<br class="gmail_msg">them. So they're not mutually exclusive.<br class="gmail_msg"></blockquote><br class="gmail_msg">Right, agreed.<br class="gmail_msg"><br class="gmail_msg">What we’re trying to convey here is:<br class="gmail_msg"><br class="gmail_msg">- The normal way of making a REST endpoint in OpenStack is to use pecan (or flask or falcon), and let the deployer or packager worry about the runtime wsgi and/or reverse proxy.<br class="gmail_msg"><br class="gmail_msg">- This isn't a “normal” OpenStack endpoint, because it’s a microservice inside a service VM, and thus has different needs, and is much less likely to be customized by a non-dev, to boot. And it needs to be “deploy ready” as a simple matter of it being a service VM black box. It’s part of the data plane, not the control plane.<br class="gmail_msg"><br class="gmail_msg">Thanks,<br class="gmail_msg">doug<br class="gmail_msg"></blockquote><br style="font-family:Helvetica;font-size:12px;font-style:normal;font-variant-caps:normal;font-weight:normal;letter-spacing:normal;text-align:start;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px" class="gmail_msg"><span style="font-family:Helvetica;font-size:12px;font-style:normal;font-variant-caps:normal;font-weight:normal;letter-spacing:normal;text-align:start;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px;float:none;display:inline!important" class="gmail_msg">That all seems reasonable.</span><br style="font-family:Helvetica;font-size:12px;font-style:normal;font-variant-caps:normal;font-weight:normal;letter-spacing:normal;text-align:start;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px" class="gmail_msg"><br style="font-family:Helvetica;font-size:12px;font-style:normal;font-variant-caps:normal;font-weight:normal;letter-spacing:normal;text-align:start;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px" class="gmail_msg"><span style="font-family:Helvetica;font-size:12px;font-style:normal;font-variant-caps:normal;font-weight:normal;letter-spacing:normal;text-align:start;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px;float:none;display:inline!important" class="gmail_msg">We have a proliferation of these service VMs. It would be good to</span><br style="font-family:Helvetica;font-size:12px;font-style:normal;font-variant-caps:normal;font-weight:normal;letter-spacing:normal;text-align:start;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px" class="gmail_msg"><span style="font-family:Helvetica;font-size:12px;font-style:normal;font-variant-caps:normal;font-weight:normal;letter-spacing:normal;text-align:start;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px;float:none;display:inline!important" class="gmail_msg">get some of the folks involved together to start a working group</span><br style="font-family:Helvetica;font-size:12px;font-style:normal;font-variant-caps:normal;font-weight:normal;letter-spacing:normal;text-align:start;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px" class="gmail_msg"><span style="font-family:Helvetica;font-size:12px;font-style:normal;font-variant-caps:normal;font-weight:normal;letter-spacing:normal;text-align:start;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px;float:none;display:inline!important" class="gmail_msg">to see if there are some commonalities that can lead to shared</span><br style="font-family:Helvetica;font-size:12px;font-style:normal;font-variant-caps:normal;font-weight:normal;letter-spacing:normal;text-align:start;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px" class="gmail_msg"><span style="font-family:Helvetica;font-size:12px;font-style:normal;font-variant-caps:normal;font-weight:normal;letter-spacing:normal;text-align:start;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px;float:none;display:inline!important" class="gmail_msg">processes or tools.</span><br style="font-family:Helvetica;font-size:12px;font-style:normal;font-variant-caps:normal;font-weight:normal;letter-spacing:normal;text-align:start;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px" class="gmail_msg"></div></blockquote><div class="gmail_msg"><br class="gmail_msg"></div></div></div><div style="word-wrap:break-word" class="gmail_msg"><div class="gmail_msg"><div class="gmail_msg">That’s a good idea. I wonder if we can organize something in time for next week. I don’t think we should wait to make forward progress for that, but there is definitely some commonality we should be defining and striving towards.</div></div></div><div style="word-wrap:break-word" class="gmail_msg"><div class="gmail_msg"><div class="gmail_msg"><br class="gmail_msg"></div><div class="gmail_msg">doug</div></div></div><div style="word-wrap:break-word" class="gmail_msg"><div class="gmail_msg"><div class="gmail_msg"><br class="gmail_msg"></div><br class="gmail_msg"><blockquote type="cite" class="gmail_msg"><div class="gmail_msg"><br style="font-family:Helvetica;font-size:12px;font-style:normal;font-variant-caps:normal;font-weight:normal;letter-spacing:normal;text-align:start;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px" class="gmail_msg"><span style="font-family:Helvetica;font-size:12px;font-style:normal;font-variant-caps:normal;font-weight:normal;letter-spacing:normal;text-align:start;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px;float:none;display:inline!important" class="gmail_msg">Doug</span><br style="font-family:Helvetica;font-size:12px;font-style:normal;font-variant-caps:normal;font-weight:normal;letter-spacing:normal;text-align:start;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px" class="gmail_msg"><br style="font-family:Helvetica;font-size:12px;font-style:normal;font-variant-caps:normal;font-weight:normal;letter-spacing:normal;text-align:start;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px" class="gmail_msg"><blockquote type="cite" style="font-family:Helvetica;font-size:12px;font-style:normal;font-variant-caps:normal;font-weight:normal;letter-spacing:normal;text-align:start;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px" class="gmail_msg"><br class="gmail_msg"><blockquote type="cite" class="gmail_msg"><br class="gmail_msg">Doug<br class="gmail_msg"><br class="gmail_msg"><blockquote type="cite" class="gmail_msg"><br class="gmail_msg">Thanks,<br class="gmail_msg">doug<br class="gmail_msg"><br class="gmail_msg"><blockquote type="cite" class="gmail_msg"><br class="gmail_msg">--  <br class="gmail_msg">Ian Cordasco<br class="gmail_msg"><br class="gmail_msg"><br class="gmail_msg">__________________________________________________________________________<br class="gmail_msg">OpenStack Development Mailing List (not for usage questions)<br class="gmail_msg">Unsubscribe:<span class="m_-6574290940711791254Apple-converted-space gmail_msg"> </span><a href="mailto:OpenStack-dev-request@lists.openstack.org" class="gmail_msg" target="_blank">OpenStack-dev-request@lists.openstack.org</a><span class="m_-6574290940711791254Apple-converted-space gmail_msg"> </span><<a href="mailto:OpenStack-dev-request@lists.openstack.org" class="gmail_msg" target="_blank">mailto:OpenStack-dev-request@lists.openstack.org</a>> <<a href="mailto:OpenStack-dev-request@lists.openstack.org" class="gmail_msg" target="_blank">mailto:OpenStack-dev-request@lists.openstack.org</a><span class="m_-6574290940711791254Apple-converted-space gmail_msg"> </span><<a href="mailto:OpenStack-dev-request@lists.openstack.org" class="gmail_msg" target="_blank">mailto:OpenStack-dev-request@lists.openstack.org</a>>>?subject:unsubscribe<br class="gmail_msg"><a href="http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev" class="gmail_msg" target="_blank">http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev</a><span class="m_-6574290940711791254Apple-converted-space gmail_msg"> </span><<a href="http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev" class="gmail_msg" target="_blank">http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev</a>> <<a href="http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev" class="gmail_msg" target="_blank">http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev</a><span class="m_-6574290940711791254Apple-converted-space gmail_msg"> </span><<a href="http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev" class="gmail_msg" target="_blank">http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev</a>>><br class="gmail_msg"></blockquote></blockquote><br class="gmail_msg">__________________________________________________________________________<br class="gmail_msg">OpenStack Development Mailing List (not for usage questions)<br class="gmail_msg">Unsubscribe: <a href="mailto:OpenStack-dev-request@lists.openstack.org" class="gmail_msg" target="_blank">OpenStack-dev-request@lists.openstack.org</a> <<a href="mailto:OpenStack-dev-request@lists.openstack.org" class="gmail_msg" target="_blank">mailto:OpenStack-dev-request@lists.openstack.org</a>>?subject:unsubscribe<br class="gmail_msg"><a href="http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev" class="gmail_msg" target="_blank">http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev</a> <<a href="http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev" class="gmail_msg" target="_blank">http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev</a>><br class="gmail_msg"></blockquote></blockquote><br style="font-family:Helvetica;font-size:12px;font-style:normal;font-variant-caps:normal;font-weight:normal;letter-spacing:normal;text-align:start;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px" class="gmail_msg"><span style="font-family:Helvetica;font-size:12px;font-style:normal;font-variant-caps:normal;font-weight:normal;letter-spacing:normal;text-align:start;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px;float:none;display:inline!important" class="gmail_msg">__________________________________________________________________________</span><br style="font-family:Helvetica;font-size:12px;font-style:normal;font-variant-caps:normal;font-weight:normal;letter-spacing:normal;text-align:start;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px" class="gmail_msg"><span style="font-family:Helvetica;font-size:12px;font-style:normal;font-variant-caps:normal;font-weight:normal;letter-spacing:normal;text-align:start;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px;float:none;display:inline!important" class="gmail_msg">OpenStack Development Mailing List (not for usage questions)</span><br style="font-family:Helvetica;font-size:12px;font-style:normal;font-variant-caps:normal;font-weight:normal;letter-spacing:normal;text-align:start;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px" class="gmail_msg"><span style="font-family:Helvetica;font-size:12px;font-style:normal;font-variant-caps:normal;font-weight:normal;letter-spacing:normal;text-align:start;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px;float:none;display:inline!important" class="gmail_msg">Unsubscribe: <a href="mailto:OpenStack-dev-request@lists.openstack.org" class="gmail_msg" target="_blank">OpenStack-dev-request@lists.openstack.org</a>?subject:unsubscribe</span><br style="font-family:Helvetica;font-size:12px;font-style:normal;font-variant-caps:normal;font-weight:normal;letter-spacing:normal;text-align:start;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px" class="gmail_msg"><span style="font-family:Helvetica;font-size:12px;font-style:normal;font-variant-caps:normal;font-weight:normal;letter-spacing:normal;text-align:start;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px;float:none;display:inline!important" class="gmail_msg"><a href="http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev" class="gmail_msg" target="_blank">http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev</a></span></div></blockquote></div></div>__________________________________________________________________________<br class="gmail_msg">
OpenStack Development Mailing List (not for usage questions)<br class="gmail_msg">
Unsubscribe: <a href="http://OpenStack-dev-request@lists.openstack.org?subject:unsubscribe" rel="noreferrer" class="gmail_msg" target="_blank">OpenStack-dev-request@lists.openstack.org?subject:unsubscribe</a><br class="gmail_msg">
<a href="http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev" rel="noreferrer" class="gmail_msg" target="_blank">http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev</a><br class="gmail_msg">
</blockquote></div>