Ask Your Question
0

Neutron lbaas- Could not load neutron_lbaas.services.loadbalancer.plugin.LoadBalancerPluginv2

asked 2017-03-12 15:12:34 -0500

rvinkovic gravatar image

Hi, i'm trying to install lbaas for my openstack. Im on ubuntu16.04 Openstack Newton with 3 node OVS deploy. Following this guide for lbaas https://docs.openstack.org/ocata/networking-guide/config-lbaas.html (https://docs.openstack.org/ocata/netw...)

Controller

 aptitude search neutron-lbaas
p   neutron-lbaas-agent                                                                                            - Neutron is a virtual network service for Openstack - LBaaS agent                                                         
i A neutron-lbaas-common                                                                                           - Neutron is a virtual network service for Openstack - common                                                              
i   neutron-lbaasv2-agent                                                                                          - Neutron is a virtual network service for Openstack - LBaaSv2 agent                                                       
i A python-neutron-lbaas                                                                                           - Loadbalancer-as-a-Service driver for OpenStack Neu

so neutron-lbaas-common neutron-lbaasv2-agent python-neutron-lbaas are installed. Agent is probably not necessary on the controller node but just in case...

/etc/neutron/neutron.conf

[DEFAULT]
debug= true
core_plugin = ml2
service_plugins = router,neutron_lbaas.services.loadbalancer.plugin.LoadBalancerPluginv2
allow_overlapping_ips = True


dhcp_agents_per_network = 1


transport_url = rabbit://openstack:mjvnzq8@controller
auth_strategy = keystone
notify_nova_on_port_status_changes = True
notify_nova_on_port_data_changes = True
core_plugin = ml2
[agent]
root_helper = sudo /usr/bin/neutron-rootwrap /etc/neutron/rootwrap.conf
[cors]
[cors.subdomain]
[database]
connection = mysql+pymysql://neutron:mjvnzq8@controller/neutron
[keystone_authtoken]
auth_uri = http://controller:5000
auth_url = http://controller:35357
memcached_servers = controller:11211
auth_type = password
project_domain_name = default
user_domain_name = default
project_name = service
username = neutron
password = *****
[matchmaker_redis]
[nova]
auth_url = http://controller:35357
auth_type = password
project_domain_name = default
user_domain_name = default
region_name = RegionOne
project_name = service
username = nova
password = *****
[oslo_concurrency]
[oslo_messaging_amqp]
[oslo_messaging_notifications]
[oslo_messaging_rabbit]
[oslo_messaging_zmq]
[oslo_policy]
[qos]
[quotas]
[ssl]

[service_providers]
service_provider = LOADBALANCERV2:Haproxy:neutron_lbaas.drivers.haproxy.plugin_driver.HaproxyOnHostPluginDriver:default

So that is the server side, after i restart it wont work anymore because it cant load the lbaas driver

/var/log/neutron/neutron-server.log

2017-03-12 20:55:16.464 769 INFO neutron.common.config [-] Logging enabled!
2017-03-12 20:55:16.464 769 INFO neutron.common.config [-] /usr/bin/neutron-server version 9.0.0
2017-03-12 20:55:16.464 769 INFO neutron.common.config [-] Logging enabled!
2017-03-12 20:55:16.465 769 INFO neutron.common.config [-] /usr/bin/neutron-server version 9.0.0
2017-03-12 20:55:16.473 769 INFO neutron.manager [-] Loading core plugin: ml2
2017-03-12 20:55:16.669 769 INFO neutron.plugins.ml2.managers [-] Configured type driver names: ['flat', 'vlan', 'vxlan']
2017-03-12 20:55:16.678 769 INFO neutron.plugins.ml2.drivers.type_flat [-] Allowable flat physical_network names: ['provider']
2017-03-12 20:55:16.681 769 INFO neutron.plugins.ml2.drivers.type_vlan [-] Network VLAN ranges: {'provider': []}
2017-03-12 20:55:16.684 769 INFO neutron.plugins.ml2.managers [-] Loaded type driver names: ['flat', 'vlan', 'vxlan']
2017-03-12 20:55:16.684 769 INFO neutron.plugins.ml2.managers [-] Registered types: ['flat', 'vlan', 'vxlan']
2017-03-12 20:55:16.685 769 INFO neutron.plugins.ml2.managers [-] Tenant network_types: ['vxlan']
2017-03-12 20:55:16.685 769 INFO neutron.plugins.ml2.managers [-] Configured extension driver names: ['port_security']
2017-03-12 20:55:16.689 769 INFO neutron.plugins.ml2.managers [-] Loaded extension driver names: ['port_security']
2017-03-12 20:55:16.690 769 INFO neutron.plugins.ml2.managers [-] Registered extension drivers: ['port_security']
2017-03-12 20:55:16.690 769 INFO neutron.plugins.ml2.managers [-] Configured mechanism driver names: ['openvswitch', 'l2population']
2017-03-12 20:55:16.692 769 WARNING neutron.agent.securitygroups_rpc [-] Driver configuration doesn't match with enable_security_group
2017-03-12 20 ...
(more)
edit retag flag offensive close merge delete

Comments

If I understand aptitude correctly, this

p   neutron-lbaas-agent

means that the HAproxy agent is not installed. Which should explain why the driver refuses to be loaded.

Bernd Bausch gravatar imageBernd Bausch ( 2017-03-12 18:22:54 -0500 )edit

If i understand correctly this version 1 lbaas which is not supported in in openstack newton, so you need to use v2 agent which is installed. But should agent have any difference because neutron server wont start with that configuration and i dont think that agent has to do anything with it or?

rvinkovic gravatar imagervinkovic ( 2017-03-12 21:50:06 -0500 )edit

i instaled agent in controller to try things because i was getting deseperate. Wouldn't i need to install agent on nework node where my OVS is and on controller just tell neutron to activate the service and that lbaas agent will connect to it?

rvinkovic gravatar imagervinkovic ( 2017-03-12 21:52:25 -0500 )edit

Ooops you are right I didn't see it correctly. It seems that you did install the v2 agent.

I don't have an answer for the second question, where the agent should be deployed. This is a gap in the documentation, I think.

Bernd Bausch gravatar imageBernd Bausch ( 2017-03-12 22:25:22 -0500 )edit

1 answer

Sort by ยป oldest newest most voted
0

answered 2017-03-22 11:31:33 -0500

johnsom gravatar image

Hi rvinkovic,

So a couple of comments:

First, sorry I am not very familiar with what is packaged and available via aptitude, but I can talk about the upstream code which may help you.

One thing I noticed is a mix of the old haproxy driver (no HA, etc.) and the octavia driver. I would highly recommend using the octavia driver as it offers full HA, etc. I will try to address them both in my comments, but again recommend using the octavia driver (the reference driver upstream since liberty).

On your neutron configuration, for service plugin, you can simply specify "lbaasv2". Example from my devstack: neutron.conf:service_plugins = neutron.services.l3_router.l3_router_plugin.L3RouterPlugin,lbaasv2

Now if you are using the octavia driver, the neutron-lbaasv2-agent is not needed. Octavia does not use the agent, but instead has an HA control plane processes. With the old HAProxy driver, the agent does need to be on a network node with OVS.

For octavia, your service_provider would be: service_provider = LOADBALANCERV2:Octavia:neutron_lbaas.drivers.octavia.driver.OctaviaDriver:default Then you set your [octavia] base_url to point to your octavia API process IP/Port (or load balancer for your octavia API).

For the old haproxy driver, your service_provider would be: service_provider = LOADBALANCERV2:Haproxy:neutron_lbaas.drivers.haproxy.plugin_driver.HaproxyOnHostPluginDriver:default You also need to setup the interface_driver to be openvswitch in the lbaas_agent.ini

I hope that helps, Michael

edit flag offensive delete link more

Your Answer

Please start posting anonymously - your entry will be published after you log in or create a new account.

Add Answer

Get to know Ask OpenStack

Resources for moderators

Question Tools

1 follower

Stats

Asked: 2017-03-12 15:12:34 -0500

Seen: 982 times

Last updated: Mar 22 '17