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