Bug 1638292 - Octavia services cannot connect to the database with composable roles
Summary: Octavia services cannot connect to the database with composable roles
Keywords:
Status: CLOSED ERRATA
Alias: None
Product: Red Hat OpenStack
Classification: Red Hat
Component: openstack-tripleo-heat-templates
Version: 13.0 (Queens)
Hardware: Unspecified
OS: Unspecified
urgent
urgent
Target Milestone: z4
: 13.0 (Queens)
Assignee: Carlos Goncalves
QA Contact: Alexander Stafeyev
URL:
Whiteboard:
Depends On:
Blocks: 1624624 1638296
TreeView+ depends on / blocked
 
Reported: 2018-10-11 09:36 UTC by Carlos Goncalves
Modified: 2022-08-17 13:38 UTC (History)
7 users (show)

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:
Clone Of:
: 1638296 (view as bug list)
Environment:
Last Closed: 2019-01-16 17:55:03 UTC
Target Upstream Version:
Embargoed:


Attachments (Terms of Use)


Links
System ID Private Priority Status Summary Last Updated
Launchpad 1797098 0 None None None 2018-10-11 09:36:01 UTC
OpenStack gerrit 609347 0 None MERGED Move set of database_connection to OctaviaBase 2021-01-04 15:10:54 UTC
OpenStack gerrit 611875 0 None MERGED Do not set inexistent haproxy_amphora/key_path 2021-01-04 15:10:54 UTC
OpenStack gerrit 612395 0 None MERGED Set common configuration options across services 2021-01-04 15:10:54 UTC
OpenStack gerrit 615963 0 None MERGED Do not set inexistent haproxy_amphora/key_path 2021-01-04 15:10:54 UTC
OpenStack gerrit 615964 0 None MERGED Set common configuration options across services 2021-01-04 15:11:31 UTC
OpenStack gerrit 618555 0 None MERGED Move set of database_connection to OctaviaBase 2021-01-04 15:10:55 UTC
Red Hat Issue Tracker OSP-4451 0 None None None 2022-08-17 13:38:11 UTC
Red Hat Product Errata RHBA-2019:0068 0 None None None 2019-01-16 17:55:17 UTC

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


Note You need to log in before you can comment on or make changes to this bug.