Bug 1638292

Summary: Octavia services cannot connect to the database with composable roles
Product: Red Hat OpenStack Reporter: Carlos Goncalves <cgoncalves>
Component: openstack-tripleo-heat-templatesAssignee: Carlos Goncalves <cgoncalves>
Status: CLOSED ERRATA QA Contact: Alexander Stafeyev <astafeye>
Severity: urgent Docs Contact:
Priority: urgent    
Version: 13.0 (Queens)CC: aguetta, amuller, bbonguar, dalvarez, mariel, mburns, tfreger
Target Milestone: z4Keywords: Triaged, ZStream
Target Release: 13.0 (Queens)   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: openstack-tripleo-heat-templates-8.0.7-17.el7ost puppet-tripleo-8.3.6-6.el7ost puppet-octavia-12.4.0-7.el7ost Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of:
: 1638296 (view as bug list) Environment:
Last Closed: 2019-01-16 17:55:03 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Bug Depends On:    
Bug Blocks: 1624624, 1638296    

Description Carlos Goncalves 2018-10-11 09:36:01 UTC
Description of problem:

In a deployment with Octavia composable roles, the [database]/connection in octavia.conf is only being set in the octavia-api container. Other Octavia services (worker, health manager and housekeeping) also access to the database.

2018-10-10 09:32:39.072 21 INFO octavia.controller.queue.endpoint [-] Creating load balancer '3bc068e1-11c8-4102-80cc-749c237334ad'...
2018-10-10 09:32:39.140 21 ERROR oslo_messaging.rpc.server [-] Exception during message handling: DBNonExistentTable: (sqlite3.OperationalError) no such table: load_balancer [SQL: u'SELECT load_balancer.created_at AS load_balancer_created_at, load_balancer.updated_at AS load_balancer_updated_at, load_balancer.id AS load_balancer_id, load_balancer.project_id AS load_balancer_project_id, load_balancer.name AS load_balancer_name, load_balancer.description AS load_balancer_description, load_balancer.provisioning_status AS load_balancer_provisioning_status, load_balancer.operating_status AS load_balancer_operating_status, load_balancer.topology AS load_balancer_topology, load_balancer.enabled AS load_balancer_enabled, load_balancer.server_group_id AS load_balancer_server_group_id \nFROM load_balancer \nWHERE load_balancer.id = ?\n LIMIT ? OFFSET ?'] [parameters: (u'3bc068e1-11c8-4102-80cc-749c237334ad', 1, 0)] (Background on this error at: http://sqlalche.me/e/e3q8)
2018-10-10 09:32:39.140 21 ERROR oslo_messaging.rpc.server Traceback (most recent call last):
2018-10-10 09:32:39.140 21 ERROR oslo_messaging.rpc.server File "/usr/lib/python2.7/site-packages/oslo_messaging/rpc/server.py", line 163, in _process_incoming
2018-10-10 09:32:39.140 21 ERROR oslo_messaging.rpc.server res = self.dispatcher.dispatch(message)
2018-10-10 09:32:39.140 21 ERROR oslo_messaging.rpc.server File "/usr/lib/python2.7/site-packages/oslo_messaging/rpc/dispatcher.py", line 220, in dispatch
2018-10-10 09:32:39.140 21 ERROR oslo_messaging.rpc.server return self._do_dispatch(endpoint, method, ctxt, args)
2018-10-10 09:32:39.140 21 ERROR oslo_messaging.rpc.server File "/usr/lib/python2.7/site-packages/oslo_messaging/rpc/dispatcher.py", line 190, in _do_dispatch
2018-10-10 09:32:39.140 21 ERROR oslo_messaging.rpc.server result = func(ctxt, **new_args)
2018-10-10 09:32:39.140 21 ERROR oslo_messaging.rpc.server File "/usr/lib/python2.7/site-packages/octavia/controller/queue/endpoint.py", line 44, in create_load_balancer
2018-10-10 09:32:39.140 21 ERROR oslo_messaging.rpc.server self.worker.create_load_balancer(load_balancer_id)
2018-10-10 09:32:39.140 21 ERROR oslo_messaging.rpc.server File "/usr/lib/python2.7/site-packages/octavia/controller/worker/controller_worker.py", line 276, in create_load_balancer
2018-10-10 09:32:39.140 21 ERROR oslo_messaging.rpc.server lb = self._lb_repo.get(db_apis.get_session(), id=load_balancer_id)
2018-10-10 09:32:39.140 21 ERROR oslo_messaging.rpc.server File "/usr/lib/python2.7/site-packages/octavia/db/repositories.py", line 103, in get
2018-10-10 09:32:39.140 21 ERROR oslo_messaging.rpc.server model = session.query(self.model_class).filter_by(**filters).first()
2018-10-10 09:32:39.140 21 ERROR oslo_messaging.rpc.server File "/usr/lib64/python2.7/site-packages/sqlalchemy/orm/query.py", line 2778, in first
2018-10-10 09:32:39.140 21 ERROR oslo_messaging.rpc.server ret = list(self[0:1])
2018-10-10 09:32:39.140 21 ERROR oslo_messaging.rpc.server File "/usr/lib64/python2.7/site-packages/sqlalchemy/orm/query.py", line 2570, in __getitem__
2018-10-10 09:32:39.140 21 ERROR oslo_messaging.rpc.server return list(res)
2018-10-10 09:32:39.140 21 ERROR oslo_messaging.rpc.server File "/usr/lib64/python2.7/site-packages/sqlalchemy/orm/query.py", line 2878, in __iter__
2018-10-10 09:32:39.140 21 ERROR oslo_messaging.rpc.server return self._execute_and_instances(context)
2018-10-10 09:32:39.140 21 ERROR oslo_messaging.rpc.server File "/usr/lib64/python2.7/site-packages/sqlalchemy/orm/query.py", line 2901, in _execute_and_instances
2018-10-10 09:32:39.140 21 ERROR oslo_messaging.rpc.server result = conn.execute(querycontext.statement, self._params)
2018-10-10 09:32:39.140 21 ERROR oslo_messaging.rpc.server File "/usr/lib64/python2.7/site-packages/sqlalchemy/engine/base.py", line 948, in execute
2018-10-10 09:32:39.140 21 ERROR oslo_messaging.rpc.server return meth(self, multiparams, params)
2018-10-10 09:32:39.140 21 ERROR oslo_messaging.rpc.server File "/usr/lib64/python2.7/site-packages/sqlalchemy/sql/elements.py", line 269, in _execute_on_connection
2018-10-10 09:32:39.140 21 ERROR oslo_messaging.rpc.server return connection._execute_clauseelement(self, multiparams, params)
2018-10-10 09:32:39.140 21 ERROR oslo_messaging.rpc.server File "/usr/lib64/python2.7/site-packages/sqlalchemy/engine/base.py", line 1060, in _execute_clauseelement
2018-10-10 09:32:39.140 21 ERROR oslo_messaging.rpc.server compiled_sql, distilled_params
2018-10-10 09:32:39.140 21 ERROR oslo_messaging.rpc.server File "/usr/lib64/python2.7/site-packages/sqlalchemy/engine/base.py", line 1200, in _execute_context
2018-10-10 09:32:39.140 21 ERROR oslo_messaging.rpc.server context)
2018-10-10 09:32:39.140 21 ERROR oslo_messaging.rpc.server File "/usr/lib64/python2.7/site-packages/sqlalchemy/engine/base.py", line 1409, in _handle_dbapi_exception
2018-10-10 09:32:39.140 21 ERROR oslo_messaging.rpc.server util.raise_from_cause(newraise, exc_info)
2018-10-10 09:32:39.140 21 ERROR oslo_messaging.rpc.server File "/usr/lib64/python2.7/site-packages/sqlalchemy/util/compat.py", line 203, in raise_from_cause
2018-10-10 09:32:39.140 21 ERROR oslo_messaging.rpc.server reraise(type(exception), exception, tb=exc_tb, cause=cause)
2018-10-10 09:32:39.140 21 ERROR oslo_messaging.rpc.server File "/usr/lib64/python2.7/site-packages/sqlalchemy/engine/base.py", line 1193, in _execute_context
2018-10-10 09:32:39.140 21 ERROR oslo_messaging.rpc.server context)
2018-10-10 09:32:39.140 21 ERROR oslo_messaging.rpc.server File "/usr/lib64/python2.7/site-packages/sqlalchemy/engine/default.py", line 507, in do_execute
2018-10-10 09:32:39.140 21 ERROR oslo_messaging.rpc.server cursor.execute(statement, parameters)
2018-10-10 09:32:39.140 21 ERROR oslo_messaging.rpc.server DBNonExistentTable: (sqlite3.OperationalError) no such table: load_balancer [SQL: u'SELECT load_balancer.created_at AS load_balancer_created_at, load_balancer.updated_at AS load_balancer_updated_at, load_balancer.id AS load_balancer_id, load_balancer.project_id AS load_balancer_project_id, load_balancer.name AS load_balancer_name, load_balancer.description AS load_balancer_description, load_balancer.provisioning_status AS load_balancer_provisioning_status, load_balancer.operating_status AS load_balancer_operating_status, load_balancer.topology AS load_balancer_topology, load_balancer.enabled AS load_balancer_enabled, load_balancer.server_group_id AS load_balancer_server_group_id \nFROM load_balancer \nWHERE load_balancer.id = ?\n LIMIT ? OFFSET ?'] [parameters: (u'3bc068e1-11c8-4102-80cc-749c237334ad', 1, 0)] (Background on this error at: http://sqlalche.me/e/e3q8)
2018-10-10 09:32:39.140 21 ERROR oslo_messaging.rpc.server


How reproducible: 100%

Comment 29 errata-xmlrpc 2019-01-16 17:55:03 UTC
Since the problem described in this bug report should be
resolved in a recent advisory, it has been closed with a
resolution of ERRATA.

For information on the advisory, and where to find the updated
files, follow the link below.

If the solution does not work for you, open a new bug report.

https://access.redhat.com/errata/RHBA-2019:0068