<div dir="ltr">Xav,<div><br></div><div>The discussion is very important, and hence why both Kyle and I have been posting these questions on the operator (and dev) lists. Unfortunately, I wasn't subscribed to the operator's list and missed some responses to Kyle's message, which were posted only to that list.</div><div><br></div><div>As a result, I had an incomplete picture and posted this thread to see if it was OK to do this without backward compatibility, based on the (incorrect) assumption that there was no production use. That is corrected now, and I'm getting all the messages and thanks to everyone, have input on messages I missed.</div><div><br></div><div>So given that, let's try a reset on the discussion, so that I can better understand the issues...</div><div><br></div><div>Do you feel that not having backward compatibility (but having a migration path) would seriously affect you or would it be manageable?</div><div><br></div><div>Is there pain for the customers beyond learning about the new API changes and capabilities (something that would apply whether there is backward compatibility or not)?</div><div><br></div><div>I was thinking that backward incompatible changes would adversely affect people who were using client scripts/apps to configure (a large number of) IPsec connections, where they'd have to have client scripts/apps in-place to support the new API.</div><div><br></div><div>Would there be customers that would fall into that category, or are customers manually configuring IPSec connections in that they could just use the new API?</div><div><br></div><div>Are there other adverse effects of not having backward compatibility that need to be considered?</div><div><br></div><div>Specifically, we're talking about the VPN service create API no longer taking a subnet ID (instead an endpoint group is create that contains the subnet ID), and the IPSec site-to-site connection create API would no longer take a list of peer CIDRs, but instead would take a pair of endpoint group IDs (one for the local subnet(s) formally specified by the service API, and one for peer CIDRs).</div><div><br></div><div><br></div><div>Regards,</div><div><br></div><div>Paul Michali (pc_m)</div><div><br></div></div><br><div class="gmail_quote"><div dir="ltr">On Mon, Aug 24, 2015 at 5:32 PM Xav Paice <<a href="mailto:xavpaice@gmail.com">xavpaice@gmail.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr">I'm sure I'm not the only one that finds the vast amount of traffic in the dev list to be completely unmanageable to catch the important messages - the ops list is much lower traffic, and as an operator I pay a bunch more attention to it. The discussion of deprecating an API is something that HAS to be discussed with operators, on the operators list or highlighted somehow so that people get attention drawn to the message.<div><br></div><div>Let's be clear - I fully appreciate the extra effort that would be required in supporting both the new and the old APIs, and also would absolutely love to see the new feature. I do think we need to be able to support our customers in the transition, and extra pain for them results in lower uptake of the services we provide.</div></div><div class="gmail_extra"><br><div class="gmail_quote">On 25 August 2015 at 09:27, Xav Paice <span dir="ltr"><<a href="mailto:xavpaice@gmail.com" target="_blank">xavpaice@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 dir="ltr"><div>Also:</div><div><br></div><a href="http://lists.openstack.org/pipermail/openstack-operators/2015-August/007928.html" target="_blank">http://lists.openstack.org/pipermail/openstack-operators/2015-August/007928.html</a><br><div><a href="http://lists.openstack.org/pipermail/openstack-operators/2015-August/007891.html" target="_blank">http://lists.openstack.org/pipermail/openstack-operators/2015-August/007891.html</a><br></div><div><br></div></div><div><div><div class="gmail_extra"><br><div class="gmail_quote">On 25 August 2015 at 09:09, Kevin Benton <span dir="ltr"><<a href="mailto:blak111@gmail.com" target="_blank">blak111@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 dir="ltr">It sounds like you might have missed a couple responses:<div><br></div><div><a href="http://lists.openstack.org/pipermail/openstack-operators/2015-August/007903.html" target="_blank">http://lists.openstack.org/pipermail/openstack-operators/2015-August/007903.html</a><br></div><div><a href="http://lists.openstack.org/pipermail/openstack-operators/2015-August/007910.html" target="_blank">http://lists.openstack.org/pipermail/openstack-operators/2015-August/007910.html</a><br></div><div><br></div></div><div class="gmail_extra"><div><div><br><div class="gmail_quote">On Mon, Aug 24, 2015 at 1:53 PM, Paul Michali <span dir="ltr"><<a href="mailto:pc@michali.net" target="_blank">pc@michali.net</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr">Xav,<div><br></div><div>In the email, there were no responses of anyone using VPNaaS <b>in a production environment</b>. Summary from responders:<br></div><div><br></div><div>Erik M - Tried in Juno with no success. Will retry.</div><div>Edgar M - said no reports from operators about VPNaaS code</div><div dir="ltr"><div>Sam S - Using VPN in VMs and not VPNaaS</div><div>Kevin B - Not used. Use VMs instead</div><div>Sriram S - Indicating not used.</div><div><br></div><div>If I misread the responses, or if someone has not spoken up, right now is the time to let us know of your situation and the impact this proposal would have on your use of VPNaaS IPSec site-to-site connections.</div><div><br></div><div>The request here, is that if operators are not using this in a production deployment where they need backward compatibility, then we'd like to avoid having to provide the complexity needed to support backward compatibility.</div><div><br></div><div>In the proposal, there are two APIs that would be changed with this enhancement. It's detailed in reference [1], and I can elaborate, if needed.<br></div><div><br></div><div>Please keep in mind, that users/operators using previous versions, can upgrade to the new version, and any existing VPNaaS configuration will be automatically migrated to the new table structures, so that existing IPSec connections would continue to operate with the new release.</div><div><br></div><div>The proposal would not support using the older APIs, once the new APIs are available. Client apps/scripts would need to be updated to use the new API (neutron client and the Horizon dashboard will be updated as part of the overall effort).</div></div><div dir="ltr"><div dir="ltr"><div><br>I hope that clarifies the discussion.</div><div><br></div><div>Regards,</div><div><br></div><div>Paul Michali (pc_m)</div><div><div><div><br></div><div><br><div class="gmail_quote"><div dir="ltr">On Mon, Aug 24, 2015 at 3:50 PM Xav Paice <<a href="mailto:xavpaice@gmail.com" target="_blank">xavpaice@gmail.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div bgcolor="#FFFFFF" text="#000000">
<div>On 25/08/15 06:32, Paul Michali wrote:<br>
</div>
<blockquote type="cite">
<div dir="ltr">As part of the effort to provide support for
multiple local subnets for VPNaaS IPSec connections, there are
three API changes planned [1].
<div><br>
</div>
<div>One is to add a new "endpoint groups" API that will
describe what is being connected. This is the place were local
and peer subnets will be specified. It will allow future VPN
flavors to reuse this API for other types of VPN endpoints.</div>
<div><br>
</div>
<div>The second is to modify the IPSec site connection API to
make use of this new endpoint groups API and no longer use the
peer CIDRs arguments.</div>
<div><br>
</div>
<div>The third is to remove the subnet ID from the VPN service
API, and again, use the new endpoint groups API for this
information (and to allow >1).</div>
<div><br>
</div>
<div>A previous email send out from Kyle Mestery, asking about
the production usage of VPNaaS, did not indicate that this
service was used in production by operators.</div>
<div><br>
</div>
</div>
</blockquote>
<br></div><div bgcolor="#FFFFFF" text="#000000">
Not true. There were replies indicating that it is indeed in use,
but perhaps not from operators of installations deemed significant
enough - what's the criteria here?</div><div bgcolor="#FFFFFF" text="#000000"><br>
<br>
<blockquote type="cite">
<div dir="ltr">
<div>As a result, we'd like to propose making this change as a
non-backward compatible change, which greatly reduces the
effort.</div>
<div><br>
</div>
<div>The change WILL support migration, so older databases can
be migrated to the new schema and continue to operate, with
future changes using the new API. This gives a smooth upgrade
path to the new capability.</div>
<div><br>
</div>
<div>The change would NOT support the older API in parallel with
the new API, so users upgrading would need to also update any
client scripts/tools to use the revised/new VPN API.</div>
</div>
</blockquote>
<br></div><div bgcolor="#FFFFFF" text="#000000">
How will this integrate with Horizon? The majority of our users
don't use the API directly, but use Horizon for the config, does
this mean we'll be tied in to using a particular version of Horizon
to match Neutron?<br>
<br>
<blockquote type="cite"></blockquote></div><div bgcolor="#FFFFFF" text="#000000"><blockquote type="cite">
<div dir="ltr">
<div><br>
</div>
<div>If this is acceptable to operators, we'd like to go forward
with these plans. Please respond within 7 days of this email,
if you have concerns about the proposal.</div>
<div><br>
</div>
<div>Regards,</div>
<div><br>
</div>
<div>Paul Michali (IRC pc_m)</div>
<div>VPNaaS Core</div>
<div><br>
</div>
<div>Ref: <a href="https://review.openstack.org/#/c/191944/" target="_blank">https://review.openstack.org/#/c/191944/</a></div>
</div>
<br>
<fieldset></fieldset>
<br>
</blockquote></div><div bgcolor="#FFFFFF" text="#000000"><blockquote type="cite"><pre>__________________________________________________________________________
OpenStack Development Mailing List (not for usage questions)
Unsubscribe: <a href="mailto:OpenStack-dev-request@lists.openstack.org?subject:unsubscribe" target="_blank">OpenStack-dev-request@lists.openstack.org?subject:unsubscribe</a>
<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>
</pre>
</blockquote>
<br>
</div>
__________________________________________________________________________<br>
OpenStack Development Mailing List (not for usage questions)<br>
Unsubscribe: <a href="http://OpenStack-dev-request@lists.openstack.org?subject:unsubscribe" rel="noreferrer" target="_blank">OpenStack-dev-request@lists.openstack.org?subject:unsubscribe</a><br>
<a href="http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev" rel="noreferrer" target="_blank">http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev</a><br>
</blockquote></div></div></div></div></div></div></div>
<br>__________________________________________________________________________<br>
OpenStack Development Mailing List (not for usage questions)<br>
Unsubscribe: <a href="http://OpenStack-dev-request@lists.openstack.org?subject:unsubscribe" rel="noreferrer" target="_blank">OpenStack-dev-request@lists.openstack.org?subject:unsubscribe</a><br>
<a href="http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev" rel="noreferrer" target="_blank">http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev</a><br>
<br></blockquote></div><br><br clear="all"><div><br></div></div></div><span><font color="#888888">-- <br><div><div>Kevin Benton</div></div>
</font></span></div>
<br>__________________________________________________________________________<br>
OpenStack Development Mailing List (not for usage questions)<br>
Unsubscribe: <a href="http://OpenStack-dev-request@lists.openstack.org?subject:unsubscribe" rel="noreferrer" target="_blank">OpenStack-dev-request@lists.openstack.org?subject:unsubscribe</a><br>
<a href="http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev" rel="noreferrer" target="_blank">http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev</a><br>
<br></blockquote></div><br></div>
</div></div></blockquote></div><br></div>
__________________________________________________________________________<br>
OpenStack Development Mailing List (not for usage questions)<br>
Unsubscribe: <a href="http://OpenStack-dev-request@lists.openstack.org?subject:unsubscribe" rel="noreferrer" target="_blank">OpenStack-dev-request@lists.openstack.org?subject:unsubscribe</a><br>
<a href="http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev" rel="noreferrer" target="_blank">http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev</a><br>
</blockquote></div>