lbaas tables not created in dabase

asked 2014-03-20 05:47:26 -0500

atze.devries gravatar image

updated 2014-03-24 04:01:07 -0500

Hi There,

We did a clean installation of openstack havana (1 controller with all the services and a set of compute nodes, all on ubuntu 12.04). We use neutron and l3. The database backend is mysql. Why are trying the enable the lbaas feature but on enabling the service (configure it in neutron.conf (using http://docs.openstack.org/admin-guide-cloud/content/install_neutron-lbaas-agent.html (openstack lbaas docs)) the neutron-server stop working. The neutron server log returns:

ProgrammingError: (ProgrammingError) (1146, "Table 'neutron.pools' doesn't exist") 'SELECT pools.tenant_id AS pools_tenant_id, pools.id AS pools_id, pools.status AS pools_status, pools.status_description AS pools_status_description, pools.vip_id AS pools_vip_id, pools.name AS pools_name, pools.description AS pools_description, pools.subnet_id AS pools_subnet_id, pools.protocol AS pools_protocol, pools.lb_method AS pools_lb_method, pools.admin_state_up AS pools_admin_state_up, providerresourceassociations_1.provider_name AS providerresourceassociations_1_provider_name, providerresourceassociations_1.resource_id AS providerresourceassociations_1_resource_id \nFROM pools LEFT OUTER JOIN providerresourceassociations AS providerresourceassociations_1 ON pools.id = providerresourceassociations_1.resource_id' ()
2014-03-19 16:10:18.585 10703 TRACE neutron.service
2014-03-19 16:10:18.594 10703 CRITICAL neutron [-] (ProgrammingError) (1146, "Table 'neutron.pools' doesn't exist") 'SELECT pools.tenant_id AS pools_tenant_id, pools.id AS pools_id, pools.status AS pools_status, pools.status_description AS pools_status_description, pools.vip_id AS pools_vip_id, pools.name AS pools_name, pools.description AS pools_description, pools.subnet_id AS pools_subnet_id, pools.protocol AS pools_protocol, pools.lb_method AS pools_lb_method, pools.admin_state_up AS pools_admin_state_up, providerresourceassociations_1.provider_name AS providerresourceassociations_1_provider_name, providerresourceassociations_1.resource_id AS providerresourceassociations_1_resource_id \nFROM pools LEFT OUTER JOIN providerresourceassociations AS providerresourceassociations_1 ON pools.id = providerresourceassociations_1.resource_id' ()

The table pools doens not exists in the neutorn database. None of the lbaas databases are created. There are the tables in the neutron database

+------------------------------+
| Tables_in_neutron            |
+------------------------------+
| agents                       |
| alembic_version              |
| allowedaddresspairs          |
| dnsnameservers               |
| externalnetworks             |
| extradhcpopts                |
| floatingips                  |
| healthmonitors               |
| ipallocationpools            |
| ipallocations                |
| ipavailabilityranges         |
| networkdhcpagentbindings     |
| networks                     |
| ovs_network_bindings         |
| ovs_tunnel_allocations       |
| ovs_tunnel_endpoints         |
| ovs_vlan_allocations         |
| portbindingports             |
| ports                        |
| providerresourceassociations |
| quotas                       |
| routerl3agentbindings        |
| routerroutes                 |
| routers                      |
| securitygroupportbindings    |
| securitygrouprules           |
| securitygroups               |
| servicedefinitions           |
| servicetypes                 |
| subnetroutes                 |
| subnets                      |
+------------------------------+

Does anybody have any idea why the lbaas tables are not created? And more importantly how to create the lbaas tables?

Here is some more information (after answer of mpetason):

Thnx for your answer. We do have a guideline setup of openstack with a controller and sperate compute nodes. The setup is installed via the stackforge-puppet puppet modules. We edited the neutron.conf and restarted the service. It then shows the error messages shown in my previous message.

This is our neutron.conf:

[DEFAULT]
debug = False
verbose = False
state_path = /var/lib/neutron
lock_path = $state_path/lock
use_syslog = False
log_dir =/var/log/neutron
bind_host = 0.0.0.0
bind_port = 9696
core_plugin = neutron.plugins.openvswitch.ovs_neutron_plugin.OVSNeutronPluginV2
auth_strategy = keystone
base_mac = fa:16:3e:00:00:00
mac_generation_retries = 16
dhcp_lease_duration = 120
allow_bulk = True
allow_pagination = False
allow_sorting = False
allow_overlapping_ips = True
rpc_backend = neutron.openstack.common.rpc.impl_kombu
control_exchange = neutron

rabbit_host = 127.0.0.1
rabbit_password = masked_by_me
rabbit_port = 5672
rabbit_hosts = 127.0.0.1:5672
rabbit_userid = openstack
rabbit_virtual_host = /
rabbit_ha_queues = False

notification_driver = neutron.openstack.common.notifier.rpc_notifier
agent_down_time = 9
router_scheduler_driver = neutron.scheduler.l3_agent_scheduler.ChanceScheduler
dhcp_agents_per_network = 1
api_workers = 0
report_interval=4

service_plugins = neutron.services.loadbalancer.plugin.LoadBalancerPlugin

[quotas]

[agent]
root_helper = sudo /usr/bin/neutron-rootwrap /etc/neutron/rootwrap.conf

[keystone_authtoken]
auth_host ...
(more)
edit retag flag offensive close merge delete

Comments

Are you running neutron-server on the controller like most guides show? If so you'll need to modify neutron.conf on the controller, /etc/init.d/neutron-server restart. That should update the database after it knows that lbaas is enabled. I haven't found a "neutron-server db sync" option.

mpetason gravatar imagempetason ( 2014-03-20 08:54:55 -0500 )edit

added some more information to the origianl question

atze.devries gravatar imageatze.devries ( 2014-03-24 04:01:48 -0500 )edit

I was able to get it work after reading this:

http://openstack.redhat.com/forum/dis...

I commented it out. then made sure the other settings were correct.

Did you edit the lbaas_agent.ini file to make it awaare of the interface/device drivers?

mpetason gravatar imagempetason ( 2014-03-24 09:05:36 -0500 )edit

I also ran into an issue on Centos wehre the user_grup was showing up as "nogroup" so I uncommented:

user_group = nobody

That might be your next error ;).

mpetason gravatar imagempetason ( 2014-03-24 09:06:08 -0500 )edit

the error you describe in the redhad link is related to a redhad package which results in a double entry of the service_plugin entry. This is not applicaple to our problem.

atze.devries gravatar imageatze.devries ( 2014-03-25 07:25:45 -0500 )edit