[openstack-dev] [neutron] BGP Dynamic Routing Development Going Forward

Vikram Choudhary vikschw at gmail.com
Mon Mar 21 09:35:45 UTC 2016


Hi All,

I would like to reopen this mail tread for 'N' release. It's really great
that we are able to ship 'BGP Dynamic Routing' functionality as part of
Mitaka. Thanks to everyone who has contributed and helped in making this a
reality ;)

For 'N' cycle, couple of RFE's [1] are already being lined up. In this
regard we would like to hear from the community on what will be the best
way moving forward:

1. Spun out 'BGP Dynamic Routing functionality' as a separate stadium
project?
(FYI: We already initiated this during Mitaka via [2] & [3])

2. Keep developing in the neutron repo till we reach to a decision?
(As we have done in Mitaka so far)

[1] https://bugs.launchpad.net/neutron/+bugs?field.tag=l3-bgp
[2] https://review.openstack.org/#/c/268726/
[3] https://review.openstack.org/#/c/268727/

Thanks
Vikram


On Tue, Jan 26, 2016 at 3:33 AM, Armando M. <armamig at gmail.com> wrote:

>
>
> On 25 January 2016 at 08:23, Tidwell, Ryan <ryan.tidwell at hpe.com> wrote:
>
>> Responses inline
>>
>>
>>
>> *From:* Gal Sagie [mailto:gal.sagie at gmail.com]
>> *Sent:* Friday, January 22, 2016 9:49 PM
>> *To:* OpenStack Development Mailing List (not for usage questions)
>> *Subject:* Re: [openstack-dev] [neutron] BGP Dynamic Routing Development
>> Going Forward
>>
>>
>>
>> The real question that needs to be asked (at least for me) is how this
>> feature can work with other plugins/ML2 drivers
>>
>> that are not the reference implementation.
>>
>>
>>
>> -                      Regardless of the ML2 drivers you use, ML2 is
>> supported with the reference implementation.  The code we have only works
>> with ML2 though, which is a concern for putting this in the main repo.
>>
>>
>>
>> How hard (possible) it is to take the API part (or maybe even the agent)
>> and use that in another Neutron implementation.
>>
>> Then focus on which ever option that works best to achieve this.
>>
>>
>>
>> -          The agent is actually very portable in my opinion.  The
>> server-side code is not so portable, as mentioned above only ML2 is
>> supported.  Identifying next-hops is done by querying the DB, it’s hard to
>> make that portable between plugins.
>>
>>
>>
>> I personally think that if the long term goal is to have this in a
>> separate repo then this should happen right now.
>>
>> "We will do this later" just won't work, it will be harder and it will
>> just not happen (or it will cause a lot of pain to people
>>
>> that started deploying this)
>>
>> At least thats my opinion, of course it depends a lot on the people who
>> actually work on this...
>>
>>
>>
>> -                      I completely agree which is why I’m not too
>> excited about deferring a split.  It doesn’t really set us back in our
>> development efforts to move out to a separate repo.  We’re quickly closing
>> in on being functionally complete and this code peels out of the main repo
>> rather cleanly, so I feel we really lose nothing by just moving to out of
>> the main repo immediately if that’s the direction we go for the long haul.
>> As you point out it saves users some pain in during a future upgrade.
>>
>
> In my humble opinion, you should get yourselves be guided by the ones who
> have the most hands-on experience with the Neutron codebase. By all means,
> we do make mistakes, but we're the ones who have been dealing with the
> hurdles caused by those mistakes. If we advised you for a strategy, then
> this strategy is most likely the direct consequence of a past/ongoing
> experience; if you continue ignoring this simple fact in your judgement,
> then this discussion is pointless.
>
>>
>>
>> Gal.
>>
>>
>>
>> On Sat, Jan 23, 2016 at 2:15 AM, Vikram Choudhary <vikschw at gmail.com>
>> wrote:
>>
>> I agree with Armando and feel option 2 would be viable if we really want
>> to deliver this feature in Mitaka time frame. Adding a new stadium project
>> invites more work and can be done in N release.
>>
>> Thanks
>> Vikram
>>
>> On Jan 22, 2016 11:47 PM, "Armando M." <armamig at gmail.com> wrote:
>>
>>
>>
>>
>>
>> On 22 January 2016 at 08:57, Tidwell, Ryan <ryan.tidwell at hpe.com> wrote:
>>
>> I wanted to raise the question of whether to develop BGP dynamic routing
>> in the Neutron repo or spin it out to as a stadium project.  This question
>> has been raised recently on reviews and in offline discussions.  For those
>> unfamiliar with this work, BGP efforts in Neutron entail admin-only API’s
>> for configuring and propagating BGP announcements of next-hops for floating
>> IP’s, tenant networks, and host routes for each compute port when using
>> DVR.  As we are getting late in the Mitaka cycle, I would like to be sure
>> there is consensus on the approach for Mitaka.  As I see it, we have 3
>> courses of action:
>>
>> 1. Continue with development in the main repo without any intention of
>> spinning out to a stadium project
>>
>> 2. Continue on the current development course for Mitaka while targeting
>> a spin-out to a stadium project during the N cycle
>>
>> 3. Spin out to a stadium project immediately
>>
>>
>>
>> Each has pros and cons.  This question seems to have arisen while looking
>> at the sheer amount code being proposed, its place in the Neutron model,
>> and questioning whether we really want to bring that code into Neutron.  As
>> such, continuing with option 1 definitely requires us to come to some
>> consensus.  Let me be clear that I’m not opposed to any of these options,
>> I’m simply looking for some guidance.  With that said, if the end game is a
>> stadium project I do question whether #2 makes sense.
>>
>>
>>
>> Not sure if you followed the latest discussion on [1,2] ([1] capturing
>> the latest events). Delivering something production worthy goes a lot more
>> beyond simply posting code upstream. We, as a community, have promised to
>> deliver BGP capabilities for many cycles, and failed so far. Choosing 3 is
>> clearly going to defer this to N or even O because of the amount of effort
>> required to set it all up (release, docs, testing, etc). Option 2, as
>> painful as it may sound, gives us the ability to get immediate access to
>> all that's required to deliver something to users so that they can play
>> with it at the end of Mitaka if they choose to. In the meantime that will
>> give us some breathing room to get ready as soon as N opens up.
>>
>>
>>
>> I am operating under the assumption that what you guys have been working
>> on is close to being functionally complete. If we don't even have that,
>> then we're in trouble no matter which option we choose and we can defer
>> this yet again :/
>>
>>
>>
>> Having said that, we can all agree that option #1 is not what we all
>> want. Just to be clear, I am in favor of #2.
>>
>>
>>
>> Cheers,
>>
>> Armando
>>
>>
>>
>> [1] https://review.openstack.org/#/c/268727/
>>
>> [2] https://review.openstack.org/#/c/268726/
>>
>>
>>
>>
>>
>> -Ryan
>>
>>
>>
>> https://review.openstack.org/#/c/201621/
>>
>> https://review.openstack.org/#/q/topic:bp/bgp-dynamic-routing
>>
>>
>>
>>
>> __________________________________________________________________________
>> OpenStack Development Mailing List (not for usage questions)
>> Unsubscribe:
>> OpenStack-dev-request at lists.openstack.org?subject:unsubscribe
>> http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev
>>
>>
>>
>>
>> __________________________________________________________________________
>> OpenStack Development Mailing List (not for usage questions)
>> Unsubscribe:
>> OpenStack-dev-request at lists.openstack.org?subject:unsubscribe
>> http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev
>>
>>
>> __________________________________________________________________________
>> OpenStack Development Mailing List (not for usage questions)
>> Unsubscribe:
>> OpenStack-dev-request at lists.openstack.org?subject:unsubscribe
>> http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev
>>
>>
>>
>>
>>
>> --
>>
>> Best Regards ,
>>
>> The G.
>>
>> __________________________________________________________________________
>> OpenStack Development Mailing List (not for usage questions)
>> Unsubscribe:
>> OpenStack-dev-request at lists.openstack.org?subject:unsubscribe
>> http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev
>>
>>
>
> __________________________________________________________________________
> OpenStack Development Mailing List (not for usage questions)
> Unsubscribe: OpenStack-dev-request at lists.openstack.org?subject:unsubscribe
> http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.openstack.org/pipermail/openstack-dev/attachments/20160321/158d46b7/attachment.html>


More information about the OpenStack-dev mailing list