Hi, Michael & Adam:
    
    I only need to confirm the eventlet has no conflict with amphora-agent. Because I
    just need to use eventlet in amphora-agent.

    Michael:
    1、The os-ken is managed by OpenStack Community now, and neutron-dynamic-routing's
          default driver also is os-ken. I think we should be consistent with the community for later maintenance.
    2、For the current application scenario, exabgp is a bit too heavy. If use exabgp we need to manage an
          extra service and need to write adaption code for different Linux distributions.
    3、We can more accurately get the bgp speaker and bgp peer's status and statistics by use Os-Ken's functions,
          for example, peer_down_handler, peer_up_handler, neighbor_state_get. I didn't find similar function in Exabgp.
    4、Personally, I am more familiar with os-ken.

    Adam:
    Os-Ken is a python library, it implemented bgp protocol. Os-ken manages bgp speaker by starting a green thread.
     So, I need to use eventlet in amphora-agent code.

  Extra illustration:
     Last week, I found the monkey_patch of eventlet will result in gunicorn does not work properly. But now, I resolved
     the problem. We must pass `os=False` to eventlet.monkey_patch when we call eventlet.monkey_patch, if not, the
     gunicorn master process will not exit never.


Michael Johnson <johnsomor@gmail.com> 于2019年1月9日周三 上午1:00写道:
Yes, we do not allow eventlet in Octavia. It leads to a number of
conflicts and problems with the overall code base, including the use
of taskflow.
Is there a reason we need to use the os-ken BGP code as opposed to the
exabgp option that was being used before?
I remember we looked at those two options back when the other team was
developing the l3 option, but I don't remember all of the details of
why exabgp was selected.

Michael

On Mon, Jan 7, 2019 at 1:18 AM Jeff Yang <yjf1970231893@gmail.com> wrote:
>
> Hi Michael,
>     I found that you forbid import eventlet in octavia.[1]
>     I guess the eventlet has a conflict with gunicorn, is that?
>     But, I need to import eventlet for os-ken that used to implement bgp speaker.[2]
>     I am studying eventlet and gunicorn deeply. Have you some suggestions to resolve this conflict?
>
> [1] https://review.openstack.org/#/c/462334/
> [2] https://review.openstack.org/#/c/628915/
>
> Michael Johnson <johnsomor@gmail.com> 于2019年1月5日周六 上午8:02写道:
>>
>> Hi Jeff,
>>
>> Unfortunately the team that was working on that code had stopped due
>> to internal reasons.
>>
>> I hope to make the reference active/active blueprint a priority again
>> during the Train cycle. Following that I may be able to look at the L3
>> distributor option, but I cannot commit to that at this time.
>>
>> If you are interesting in picking up that work, please let me know and
>> we can sync up on that status of the WIP patches, etc.
>>
>> Michael
>>
>> On Thu, Jan 3, 2019 at 11:19 PM Jeff Yang <yjf1970231893@gmail.com> wrote:
>> >
>> > Dear Octavia team:
>> >       The email aims to ask the development progress about l3-active-active blueprint. I
>> > noticed that the work in this area has been stagnant for eight months.
>> > https://review.openstack.org/#/q/l3-active-active
>> >       I want to know the community's next work plan in this regard.
>> > Thanks.