<div dir="ltr"><div class="gmail_msg">Hello everyone!<br><br>In Juno in Neutron was implemented L3 HA feature based on Keepalived (VRRP). During next cycles it was improved, we performed scale testing [1] to find weak places and tried to fix them. The only alternative for L3 HA with VRRP is router rescheduling performed by Neutron server, but it is significantly slower and depends on control plane.</div><div class="gmail_msg"><br></div><div class="gmail_msg">What issues we experienced with L3 HA VRRP?</div><div class="gmail_msg"><ol><li>Bugs in Keepalived (bad versions) [2] </li><li>Split brain [3]</li><li>Complex structure (ha networks, ha interfaces) - which actually cause races that we were fixing during Liberty, Mitaka and Newton.</li></ol>This all is not critical, but this is a bad experience and not everyone ready (or want) to use Keepalived approach.</div><div class="gmail_msg"><br></div><div class="gmail_msg">I think we can make things more flexible. For example, we can allow user to use external services like etcd instead of Keepalived to synchronize current HA state across agents. I've done several experiments and I've got failover time comparable to L3 HA with VRRP. Tooz [4] can be used to abstract from concrete backend. For example, it can allow us to use Zookeeper, Redis and other backends to store HA state. </div><br class="inbox-inbox-Apple-interchange-newline"><div class="gmail_msg">What I want to propose?</div><div class="gmail_msg"><br></div><div class="gmail_msg">I want to bring up idea that Neutron should have some general classes for L3 HA which will allow to use not only Keepalived but also other backends for HA state. This at least will make it easier to try some other approaches and compare them with existing ones.<br><br>Does this sound reasonable? <br><br>[1] - <a href="http://docs.openstack.org/developer/performance-docs/test_results/neutron_features/index.html">http://docs.openstack.org/developer/performance-docs/test_results/neutron_features/index.html</a></div><div class="gmail_msg">[2] - <a href="https://bugs.launchpad.net/neutron/+bug/1497272">https://bugs.launchpad.net/neutron/+bug/1497272</a> <a href="https://bugs.launchpad.net/neutron/+bug/1433172">https://bugs.launchpad.net/neutron/+bug/1433172</a></div><div class="gmail_msg">[3] - <a href="https://bugs.launchpad.net/neutron/+bug/1375625">https://bugs.launchpad.net/neutron/+bug/1375625</a></div><div class="gmail_msg">[4] - <a href="http://docs.openstack.org/developer/tooz/">http://docs.openstack.org/developer/tooz/</a><br><br><br></div><div class="gmail_msg"><br></div><div class="gmail_msg"><br></div></div><div dir="ltr">-- <br></div><div data-smartmail="gmail_signature"><div dir="ltr">Regards,<br>Ann Taraday</div></div>