[Openstack] How to achieve HA and Scalability for Neutron
Li Ma
skywalker.nick at gmail.com
Sat Dec 28 08:03:08 UTC 2013
That's awesome!! I'll try and test the patch for grizzly and also the
new function of icehouse.
Many thanks, jay.
2013/12/27 Jay Pipes <jaypipes at gmail.com>:
> On 12/26/2013 02:22 PM, Diego Parrilla SantamarĂa wrote:
>>
>> That's really a nice stuff...
>
>
> So, to wrap up this particular mini-thread... here is the solution:
>
> If on Grizzly or Havana and you don't want use Pacemaker (so that you can
> spread L3 agent load across multiple nodes):
>
> 1) Apply this patch to Neutron:
>
> https://gist.github.com/jaypipes/8135839
>
> 2) Set the router_scheduler_driver in nova.conf to
> neutron.scheduler.l3_agent_scheduler.LeastUtilizedScheduler
>
> Reference:
> https://github.com/stackforge/cookbook-openstack-network/blob/master/templates/default/neutron.conf.erb#L232
>
> 3) Put this script into a cron job:
>
> https://github.com/stackforge/cookbook-openstack-network/blob/master/files/default/neutron-ha-tool.py
>
> If you're on Icehouse, simply do:
>
> 1) Set the router_scheduler_driver in nova.conf to
> neutron.scheduler.l3_agent_scheduler.LeastRoutersScheduler
>
> Reference:
> https://github.com/openstack/neutron/blob/master/etc/neutron.conf#L223
>
> 2) Put this script into a cron job:
>
> https://github.com/stackforge/cookbook-openstack-network/blob/master/files/default/neutron-ha-tool.py
>
> Best,
> -jay
>
>> On Thu, Dec 26, 2013 at 5:58 PM, Jay Pipes <jaypipes at gmail.com
>> <mailto:jaypipes at gmail.com>> wrote:
>>
>> On 12/26/2013 07:43 AM, skywalker.nick at gmail.com
>> <mailto:skywalker.nick at gmail.com> wrote:
>>
>> Hi stackers,
>> I'm preparing for an OpenStack cloud in the production system.
>> I've
>> achieved HA and load balancing for most of the components to a
>> certain
>> degree.
>> Finally I find it hard for Neutron to do such configuration. Are
>> there
>> any ways to run multiple l3-agents and dhcp-agents and cluster
>> them
>> together?
>>
>>
>> Right, the Neutron L3 agent is the only OpenStack service that is
>> not stateless, and therefore you cannot use traditional
>> load-balancing across a set of identical nodes.
>>
>> That said, there's nothing wrong with running multiple L3 nodes,
>> with routers for different tenants hosted on different L3 agents. We
>> do this successfully in our deployment using a custom Neutron
>> scheduler that my colleague Alan Meadows wrote [1] and a Python
>> script (also written by Alan) that runs in cron looking for failures
>> on an L3 agent and if found, moves the routers from the failed node
>> to a working one. [2]
>>
>> The advantage to this vs. something like pacemaker is that you
>> spread the L3 agent workload across many nodes -- accomplishing a
>> sort of poor-man's load balancing/sharding for L3 agent requests.
>>
>> Best,
>> -jay
>>
>> [1] https://gist.github.com/__jaypipes/8135839
>> <https://gist.github.com/jaypipes/8135839>
>> [2]
>>
>> https://github.com/stackforge/__cookbook-openstack-network/__blob/master/files/default/__neutron-ha-tool.py
>>
>> <https://github.com/stackforge/cookbook-openstack-network/blob/master/files/default/neutron-ha-tool.py>
>>
>>
>> _________________________________________________
>> Mailing list:
>> http://lists.openstack.org/__cgi-bin/mailman/listinfo/__openstack
>>
>> <http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack>
>> Post to : openstack at lists.openstack.org
>> <mailto:openstack at lists.openstack.org>
>> Unsubscribe :
>> http://lists.openstack.org/__cgi-bin/mailman/listinfo/__openstack
>> <http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack>
>>
>>
>
>
> _______________________________________________
> Mailing list: http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack
> Post to : openstack at lists.openstack.org
> Unsubscribe : http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack
--
Li Ma (Nick)
Architect of Stackinsider
Email: skywalker.nick at gmail.com
More information about the Openstack
mailing list