<html>
<head>
<style><!--
.hmmessage P
{
margin:0px;
padding:0px
}
body.hmmessage
{
font-size: 12pt;
font-family:Calibri
}
--></style></head>
<body class='hmmessage'><div dir='ltr'>Thank you very much.  I got it.<br><br><div>> Date: Wed, 8 Jan 2014 04:42:04 -0600<br>> From: rohara@redhat.com<br>> To: bderzhavets@hotmail.com<br>> CC: pbrady@redhat.com; rdo-list@redhat.com<br>> Subject: Re: [Rdo-list] Attempt to enable LBaaS on two node Havana 2 Cluster (Controller+Compute) CentOS 6.5<br>> <br>> On Tue, Jan 07, 2014 at 04:37:09PM -0500, Boris Derzhavets wrote:<br>> > <br>> > <br>> > Follow  http://openstack.redhat.com/forum/discussion/comment/2178   <br>> >   and    http://openstack.redhat.com/Load_Balance_OpenStack_API#HAProxy<br>> <br>> The first link is a discussion about LBaaS and the second is a<br>> write-up about how to setup HAProxy to load balancer OpenStack API<br>> services. These are two entirely different things.<br>> <br>> > Edit /etc/neutron/neutron.conf and add the following in the default section:<br>> > <br>> > [DEFAULT]<br>> > service_plugins = neutron.services.loadbalancer.plugin.LoadBalancerPlugin<br>> > <br>> > Already there<br>> > <br>> > Then edit the /etc/openstack-dashboard/local_settings file and search for enable_lb and set it to true:<br>> > <br>> > OPENSTACK_NEUTRON_NETWORK = { <br>> >     'enable_lb': True<br>> > }<br>> > <br>> > Done<br>> > <br>> > # yum install haproxy - already installed<br>> > # vi /etc/neutron/lbaas_agent.ini - already done no changes<br>> > <br>> > device_driver=neutron.services.loadbalancer.drivers.haproxy.namespace_driver.HaproxyNSDriver<br>> > interface_driver=neutron.agent.linux.interface.OVSInterfaceDriver <br>> > user_group=haproxy<br>> > <br>> > Comment out the line in the service_providers section: <br>> > <br>> > service_provider=LOADBALANCER:Haproxy:neutron.services.loadbalancer.drivers.haproxy.plugin_driver.HaproxyOnHostPluginDriver:default<br>> > <br>> > Nothing to remove<br>> > <br>> > service neutron-lbaas-agent start - already running , restarted<br>> > chkconfig neutron-lbaas-agent on  - skipped<br>> > service neutron-server restart  - done<br>> > service httpd restart  - done <br>> <br>> So far you've setup LBaaS and everything looks fine.<br>> <br>> > HA enabled via keepalived , Virtual IP 192.168.1.132.<br>> <br>> Keepalived has nothing to do with LBaaS, so we've diverged a bit here.<br>> <br>> > Follow http://openstack.redhat.com/Load_Balance_OpenStack_API#HAProxy  <br>> > and http://openstack.redhat.com/forum/discussion/798/enabling-lbaas-in-havana-and-why-is-it-not-on-by-default#Item_4  replacing "quantum" by "neutron" and using virirtual IP for one server creating /etc/haproxy/haproxy.cfg. Haproxy fails to start reporting:<br>> > <br>> > <br>> > Starting haproxy: <br>> > <br>> > [ALERT] 006/135903 (12988) : Starting frontend keystone-admin-vip: cannot bind socket<br>> > <br>> > [ALERT] 006/135903 (12988) : Starting frontend keystone-public-vip: cannot bind socket<br>> > <br>> <br>> Where are you starting haproxy? I am guessing that you're starting<br>> this on the controller, which will be a problem since the OpenStack<br>> services themselves are setup to listen on 0.0.0.0:<PORT> which means<br>> haproxy cannot also listen on that port on the same node.<br>> <br>> > <br>> > Really , for any port mentioned in haproxy.cfg :-<br>> > <br>> > # netstat -lnp | grep 35357 tcp 0 0 0.0.0.0:35357 0.0.0.0:* LISTEN 4189/python<br>> > # netstat -lnp | grep 5000 tcp 0 0 0.0.0.0:5000 0.0.0.0:*     LISTEN 4189/python <br>> > . . . . . .  <br>> > <br>> > Haproxy may be started ahead of openstack services, but in this case<br>> > openstack services fail to start.  I am missing something here <br>> <br>> First, what is it you want to do? If you want to setup LBaaS, you were<br>> on the right track. Once LBaaS is configured and the agent is running,<br>> use the Neutron API to create a load-balancer. This will load-balancer<br>> traffic to your virtual machines.<br>> <br>> The write-up you referenced on the RDO page describes how to use<br>> haproxy and keepalived to achieve a highly-available load-balancer for<br>> your OpenStack services. For example, you might have many controllers,<br>> each running neutron, keystone, nova API services, etc. and you can<br>> put a load-balancer in front of these services for scalability and<br>> availability.<br>> <br>> Let me know if you have questions.<br>> <br>> Ryan<br>> <br></div>                                        </div></body>
</html>