"DBNonExistentTable: (sqlite3.OperationalError) no such table: services" when starting nova-metadata under uwsgi
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
OpenStack Compute (nova) |
Confirmed
|
Medium
|
Unassigned | ||
Pike |
Triaged
|
Medium
|
Unassigned | ||
Queens |
Triaged
|
Medium
|
Unassigned | ||
Rocky |
Triaged
|
Medium
|
Unassigned |
Bug Description
Jens Harbott reported this in devstack:
https:/
He's running the n-api-meta service in the subnode per the multinode guide:
https:/
However with current devstack, which doesn't configure nova.conf with database access on the subnode, n-api-meta fails with this:
http://
Feb 07 13:33:32 jh-devstack01a <email address hidden>[22651]: CRITICAL nova [None req-538e6b11-
Feb 07 13:33:32 jh-devstack01a <email address hidden>[22651]: ERROR nova Traceback (most recent call last):
Feb 07 13:33:32 jh-devstack01a <email address hidden>[22651]: ERROR nova File "/usr/local/
Feb 07 13:33:32 jh-devstack01a <email address hidden>[22651]: ERROR nova application = init_application()
Feb 07 13:33:32 jh-devstack01a <email address hidden>[22651]: ERROR nova File "/opt/stack/
Feb 07 13:33:32 jh-devstack01a <email address hidden>[22651]: ERROR nova return wsgi_app.
Feb 07 13:33:32 jh-devstack01a <email address hidden>[22651]: ERROR nova File "/opt/stack/
Feb 07 13:33:32 jh-devstack01a <email address hidden>[22651]: ERROR nova _setup_
Feb 07 13:33:32 jh-devstack01a <email address hidden>[22651]: ERROR nova File "/opt/stack/
Feb 07 13:33:32 jh-devstack01a <email address hidden>[22651]: ERROR nova ctxt, host, binary)
Feb 07 13:33:32 jh-devstack01a <email address hidden>[22651]: ERROR nova File "/usr/local/
Feb 07 13:33:32 jh-devstack01a <email address hidden>[22651]: ERROR nova result = fn(cls, context, *args, **kwargs)
Feb 07 13:33:32 jh-devstack01a <email address hidden>[22651]: ERROR nova File "/opt/stack/
Feb 07 13:33:32 jh-devstack01a <email address hidden>[22651]: ERROR nova host, binary)
Feb 07 13:33:32 jh-devstack01a <email address hidden>[22651]: ERROR nova File "/opt/stack/
Feb 07 13:33:32 jh-devstack01a <email address hidden>[22651]: ERROR nova return IMPL.service_
Feb 07 13:33:32 jh-devstack01a <email address hidden>[22651]: ERROR nova File "/opt/stack/
Feb 07 13:33:32 jh-devstack01a <email address hidden>[22651]: ERROR nova return f(context, *args, **kwargs)
Feb 07 13:33:32 jh-devstack01a <email address hidden>[22651]: ERROR nova File "/opt/stack/
Feb 07 13:33:32 jh-devstack01a <email address hidden>[22651]: ERROR nova filter_
Feb 07 13:33:32 jh-devstack01a <email address hidden>[22651]: ERROR nova File "/usr/local/
Feb 07 13:33:32 jh-devstack01a <email address hidden>[22651]: ERROR nova ret = list(self[0:1])
Feb 07 13:33:32 jh-devstack01a <email address hidden>[22651]: ERROR nova File "/usr/local/
Feb 07 13:33:32 jh-devstack01a <email address hidden>[22651]: ERROR nova return list(res)
Feb 07 13:33:32 jh-devstack01a <email address hidden>[22651]: ERROR nova File "/usr/local/
Feb 07 13:33:32 jh-devstack01a <email address hidden>[22651]: ERROR nova return self._execute_
Feb 07 13:33:32 jh-devstack01a <email address hidden>[22651]: ERROR nova File "/usr/local/
Feb 07 13:33:32 jh-devstack01a <email address hidden>[22651]: ERROR nova result = conn.execute(
Feb 07 13:33:32 jh-devstack01a <email address hidden>[22651]: ERROR nova File "/usr/local/
Feb 07 13:33:32 jh-devstack01a <email address hidden>[22651]: ERROR nova return meth(self, multiparams, params)
Feb 07 13:33:32 jh-devstack01a <email address hidden>[22651]: ERROR nova File "/usr/local/
Feb 07 13:33:32 jh-devstack01a <email address hidden>[22651]: ERROR nova return connection.
Feb 07 13:33:32 jh-devstack01a <email address hidden>[22651]: ERROR nova File "/usr/local/
Feb 07 13:33:32 jh-devstack01a <email address hidden>[22651]: ERROR nova distilled_params,
Feb 07 13:33:32 jh-devstack01a <email address hidden>[22651]: ERROR nova File "/usr/local/
Feb 07 13:33:32 jh-devstack01a <email address hidden>[22651]: ERROR nova e, statement, parameters, cursor, context
Feb 07 13:33:32 jh-devstack01a <email address hidden>[22651]: ERROR nova File "/usr/local/
Feb 07 13:33:32 jh-devstack01a <email address hidden>[22651]: ERROR nova util.raise_
Feb 07 13:33:32 jh-devstack01a <email address hidden>[22651]: ERROR nova File "/usr/local/
Feb 07 13:33:32 jh-devstack01a <email address hidden>[22651]: ERROR nova reraise(
Feb 07 13:33:32 jh-devstack01a <email address hidden>[22651]: ERROR nova File "/usr/local/
Feb 07 13:33:32 jh-devstack01a <email address hidden>[22651]: ERROR nova cursor, statement, parameters, context
Feb 07 13:33:32 jh-devstack01a <email address hidden>[22651]: ERROR nova File "/usr/local/
Feb 07 13:33:32 jh-devstack01a <email address hidden>[22651]: ERROR nova cursor.
Feb 07 13:33:32 jh-devstack01a <email address hidden>[22651]: ERROR nova DBNonExistentTable: (sqlite3.
Feb 07 13:33:32 jh-devstack01a <email address hidden>[22651]: ERROR nova
Feb 07 13:33:32 jh-devstack01a <email address hidden>[22651]: unable to load app 0 (mountpoint='') (callable not found or import error)
I believe this is due to the nova-metadata service not configuring the conductor indirection API when run in uwsgi mode like it is when run with eventlet:
It also appears that we don't have any multinode CI jobs that run with the n-api-meta service configured so we don't hit this in the gate.
The workaround which most deployments probably use is configuring nova.conf with database access and run n-api-meta with that, even from subnodes.
Changed in nova: | |
assignee: | Matt Riedemann (mriedem) → nobody |
status: | In Progress → Confirmed |
Fix proposed to branch: master /review. openstack. org/635577
Review: https:/