<div dir="ltr">What happens if you deploy multiple Neutron servers?</div><div class="gmail_extra"><br><div class="gmail_quote">On Fri, Jan 23, 2015 at 10:56 AM, Doug Wiegley <span dir="ltr"><<a href="mailto:dougw@a10networks.com" target="_blank">dougw@a10networks.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Get ready to vomit.<br>
<br>
The lbaasv2 code you’re pulling is a non-agent driver. Meaning, it runs<br>
haproxy on the *neutron controller* node, and only the controller node.<br>
It’s meant to be a POC for single node systems, not something you can<br>
deploy.<br>
<br>
In the upcoming mid-cycle, the driver will be agent-ified, like v1. I<br>
believe Phil from Rax will be leading that effort.<br>
<br>
Thanks,<br>
Doug<br>
<div class="HOEnZb"><div class="h5"><br>
<br>
<br>
On 1/23/15, 11:01 AM, "Al Miller" <<a href="mailto:ajmiller@ajmiller.net">ajmiller@ajmiller.net</a>> wrote:<br>
<br>
>I have been trying to set up LBaaS v2 in a juno-based environment.<br>
><br>
>I have successfully done this in devstack by setting it up based on<br>
>stable/juno, then grabbing <a href="https://review.openstack.org/#/c/123491/" target="_blank">https://review.openstack.org/#/c/123491/</a> and<br>
>the client from <a href="https://review.openstack.org/#/c/111475/" target="_blank">https://review.openstack.org/#/c/111475/</a>, and then<br>
>editing neutron.conf to include the<br>
>neutron.services.loadbalancer.plugin.LoadBalancerPluginv2 service_plugin<br>
>and<br>
>service_provider=LOADBALANCERV2:Haproxy:neutron.services.loadbalancer.driv<br>
>ers.haproxy.synchronous_namespace_driver.HaproxyNSDriver:default. I have<br>
>also enabled DVR,<br>
><br>
>With this setup in devstack, I can use the LBaaS V2 CLI commands to set<br>
>up a working V2 loadbalancer.<br>
><br>
>The problem comes in when I try to do this in an openstack installation.<br>
>I have set up a three node installation based on Ubuntu 14.04 following<br>
>the procedure in<br>
><a href="http://docs.openstack.org/juno/install-guide/install/apt/openstack-install" target="_blank">http://docs.openstack.org/juno/install-guide/install/apt/openstack-install</a><br>
>-guide-apt-juno.pdf. I have a controller node for the API services, a<br>
>network node, and a compute node. I can boot instances and create V1<br>
>loadbalancers.<br>
><br>
>When I bring in the LBaaS V2 code into this environment, it is more<br>
>complex. I need to add it to the neutron API server on the controller,<br>
>but also the compute node (the goal here is to test it with DVR). So on<br>
>the compute node I install the neutron-lbaas-agent package, bring in the<br>
>123491 patch, and make the neutron.conf edits. In this configuration,<br>
>the lbaas agent fails with an RPC timeout:<br>
><br>
>2015-01-22 16:10:52.712 14795 ERROR<br>
>neutron.services.loadbalancer.agent.agent_manager [-] Unable to retrieve<br>
>ready devices<br>
>2015-01-22 16:10:52.712 14795 TRACE<br>
>neutron.services.loadbalancer.agent.agent_manager Traceback (most recent<br>
>call last):<br>
>2015-01-22 16:10:52.712 14795 TRACE<br>
>neutron.services.loadbalancer.agent.agent_manager File<br>
>"/usr/lib/python2.7/dist-packages/neutron/services/loadbalancer/agent/agen<br>
>t_manager.py", line 148, in sync_state<br>
>2015-01-22 16:10:52.712 14795 TRACE<br>
>neutron.services.loadbalancer.agent.agent_manager ready_instances =<br>
>set(self.plugin_rpc.get_ready_devices())<br>
>2015-01-22 16:10:52.712 14795 TRACE<br>
>neutron.services.loadbalancer.agent.agent_manager File<br>
>"/usr/lib/python2.7/dist-packages/neutron/services/loadbalancer/agent/agen<br>
>t_api.py", line 38, in get_ready_devices<br>
>2015-01-22 16:10:52.712 14795 TRACE<br>
>neutron.services.loadbalancer.agent.agent_manager<br>
>self.make_msg('get_ready_devices', host=self.host)<br>
>2015-01-22 16:10:52.712 14795 TRACE<br>
>neutron.services.loadbalancer.agent.agent_manager File<br>
>"/usr/lib/python2.7/dist-packages/neutron/common/log.py", line 36, in<br>
>wrapper<br>
>2015-01-22 16:10:52.712 14795 TRACE<br>
>neutron.services.loadbalancer.agent.agent_manager return<br>
>method(*args, **kwargs)<br>
>2015-01-22 16:10:52.712 14795 TRACE<br>
>neutron.services.loadbalancer.agent.agent_manager File<br>
>"/usr/lib/python2.7/dist-packages/neutron/common/rpc.py", line 175, in<br>
>call<br>
>2015-01-22 16:10:52.712 14795 TRACE<br>
>neutron.services.loadbalancer.agent.agent_manager context, msg,<br>
>rpc_method='call', **kwargs)<br>
>2015-01-22 16:10:52.712 14795 TRACE<br>
>neutron.services.loadbalancer.agent.agent_manager File<br>
>"/usr/lib/python2.7/dist-packages/neutron/common/rpc.py", line 201, in<br>
>__call_rpc_method<br>
>2015-01-22 16:10:52.712 14795 TRACE<br>
>neutron.services.loadbalancer.agent.agent_manager return<br>
>func(context, msg['method'], **msg['args'])<br>
>2015-01-22 16:10:52.712 14795 TRACE<br>
>neutron.services.loadbalancer.agent.agent_manager File<br>
>"/usr/lib/python2.7/dist-packages/oslo/messaging/rpc/client.py", line<br>
>389, in call<br>
>2015-01-22 16:10:52.712 14795 TRACE<br>
>neutron.services.loadbalancer.agent.agent_manager return<br>
>self.prepare().call(ctxt, method, **kwargs)<br>
>2015-01-22 16:10:52.712 14795 TRACE<br>
>neutron.services.loadbalancer.agent.agent_manager File<br>
>"/usr/lib/python2.7/dist-packages/oslo/messaging/rpc/client.py", line<br>
>152, in call<br>
>2015-01-22 16:10:52.712 14795 TRACE<br>
>neutron.services.loadbalancer.agent.agent_manager retry=self.retry)<br>
>2015-01-22 16:10:52.712 14795 TRACE<br>
>neutron.services.loadbalancer.agent.agent_manager File<br>
>"/usr/lib/python2.7/dist-packages/oslo/messaging/transport.py", line 90,<br>
>in _send<br>
>2015-01-22 16:10:52.712 14795 TRACE<br>
>neutron.services.loadbalancer.agent.agent_manager timeout=timeout,<br>
>retry=retry)<br>
>2015-01-22 16:10:52.712 14795 TRACE<br>
>neutron.services.loadbalancer.agent.agent_manager File<br>
>"/usr/lib/python2.7/dist-packages/oslo/messaging/_drivers/amqpdriver.py",<br>
>line 408, in send<br>
>2015-01-22 16:10:52.712 14795 TRACE<br>
>neutron.services.loadbalancer.agent.agent_manager retry=retry)<br>
>2015-01-22 16:10:52.712 14795 TRACE<br>
>neutron.services.loadbalancer.agent.agent_manager File<br>
>"/usr/lib/python2.7/dist-packages/oslo/messaging/_drivers/amqpdriver.py",<br>
>line 397, in _send<br>
>2015-01-22 16:10:52.712 14795 TRACE<br>
>neutron.services.loadbalancer.agent.agent_manager result =<br>
>self._waiter.wait(msg_id, timeout)<br>
>2015-01-22 16:10:52.712 14795 TRACE<br>
>neutron.services.loadbalancer.agent.agent_manager File<br>
>"/usr/lib/python2.7/dist-packages/oslo/messaging/_drivers/amqpdriver.py",<br>
>line 285, in wait<br>
>2015-01-22 16:10:52.712 14795 TRACE<br>
>neutron.services.loadbalancer.agent.agent_manager reply, ending =<br>
>self._poll_connection(msg_id, timeout)<br>
>2015-01-22 16:10:52.712 14795 TRACE<br>
>neutron.services.loadbalancer.agent.agent_manager File<br>
>"/usr/lib/python2.7/dist-packages/oslo/messaging/_drivers/amqpdriver.py",<br>
>line 235, in _poll_connection<br>
>2015-01-22 16:10:52.712 14795 TRACE<br>
>neutron.services.loadbalancer.agent.agent_manager % msg_id)<br>
>2015-01-22 16:10:52.712 14795 TRACE<br>
>neutron.services.loadbalancer.agent.agent_manager MessagingTimeout: Timed<br>
>out waiting for a reply to message ID e928ae87e89e442790b84f053a75f58f<br>
>2015-01-22 16:10:52.712 14795 TRACE<br>
>neutron.services.loadbalancer.agent.agent_manager<br>
><br>
>Digging into this, I see that it is running the v1 namespace_driver (not<br>
>synchronous_namespace_driver), so I edited the lbaas-agent.conf to load<br>
>synchronous_namespace_driver), and when I do that it fails to load<br>
>because __init__() takes two arguments instead of three.<br>
><br>
>I'm clearly missing something here, does anyone have any suggestions? I<br>
>would appreciate any advice, and can provide more details as needed.<br>
><br>
>Thanks,<br>
><br>
>Al<br>
><br>
><br>
><br>
><br>
><br>
><br>
><br>
><br>
>__________________________________________________________________________<br>
>OpenStack Development Mailing List (not for usage questions)<br>
>Unsubscribe: <a href="http://OpenStack-dev-request@lists.openstack.org?subject:unsubscribe" target="_blank">OpenStack-dev-request@lists.openstack.org?subject:unsubscribe</a><br>
><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><br>
<br>
__________________________________________________________________________<br>
OpenStack Development Mailing List (not for usage questions)<br>
Unsubscribe: <a href="http://OpenStack-dev-request@lists.openstack.org?subject:unsubscribe" target="_blank">OpenStack-dev-request@lists.openstack.org?subject:unsubscribe</a><br>
<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><br>
</div></div></blockquote></div><br><br clear="all"><div><br></div>-- <br><div class="gmail_signature"><div>Kevin Benton</div></div>
</div>