You have been subscribed to a public bug:
In Juno release (ubuntu packages), when you start nova-scheduler but
database is down, the service never reconnects, the stacktrace is as
follow :
AUDIT nova.service [-] Starting scheduler node (version 2014.2.2)
ERROR nova.openstack.common.threadgroup [-] (OperationalError) (2003, "Can't
connect to MySQL server on '10.128.30.11' (111)") None None
TRACE nova.openstack.common.threadgroup Traceback (most recent call last):
TRACE nova.openstack.common.threadgroup File
"/usr/lib/python2.7/dist-packages/nova/openstack/common/threadgroup.py", line
125, in wait
TRACE nova.openstack.common.threadgroup x.wait()
TRACE nova.openstack.common.threadgroup File
"/usr/lib/python2.7/dist-packages/nova/openstack/common/threadgroup.py", line
47, in wait
TRACE nova.openstack.common.threadgroup return self.thread.wait()
TRACE nova.openstack.common.threadgroup File
"/usr/local/lib/python2.7/dist-packages/eventlet/greenthread.py", line 173, in
wait
TRACE nova.openstack.common.threadgroup return self._exit_event.wait()
TRACE nova.openstack.common.threadgroup File
"/usr/local/lib/python2.7/dist-packages/eventlet/event.py", line 121, in wait
TRACE nova.openstack.common.threadgroup return hubs.get_hub().switch()
TRACE nova.openstack.common.threadgroup File
"/usr/local/lib/python2.7/dist-packages/eventlet/hubs/hub.py", line 293, in
switch
TRACE nova.openstack.common.threadgroup return self.greenlet.switch()
TRACE nova.openstack.common.threadgroup File
"/usr/local/lib/python2.7/dist-packages/eventlet/greenthread.py", line 212, in
main
TRACE nova.openstack.common.threadgroup result = function(*args, **kwargs)
TRACE nova.openstack.common.threadgroup File
"/usr/lib/python2.7/dist-packages/nova/openstack/common/service.py", line 490,
in run_service
TRACE nova.openstack.common.threadgroup service.start()
TRACE nova.openstack.common.threadgroup File
"/usr/lib/python2.7/dist-packages/nova/service.py", line 169, in start
TRACE nova.openstack.common.threadgroup self.host, self.binary)
TRACE nova.openstack.common.threadgroup File
"/usr/lib/python2.7/dist-packages/nova/conductor/api.py", line 161, in
service_get_by_args
TRACE nova.openstack.common.threadgroup binary=binary, topic=None)
TRACE nova.openstack.common.threadgroup File
"/usr/lib/python2.7/dist-packages/nova/utils.py", line 949, in wrapper
TRACE nova.openstack.common.threadgroup return func(*args, **kwargs)
TRACE nova.openstack.common.threadgroup File
"/usr/local/lib/python2.7/dist-packages/oslo/messaging/rpc/server.py", line
139, in inner
TRACE nova.openstack.common.threadgroup return func(*args, **kwargs)
TRACE nova.openstack.common.threadgroup File
"/usr/lib/python2.7/dist-packages/nova/conductor/manager.py", line 279, in
service_get_all_by
TRACE nova.openstack.common.threadgroup result =
self.db.service_get_by_args(context, host, binary)
TRACE nova.openstack.common.threadgroup File
"/usr/lib/python2.7/dist-packages/nova/db/api.py", line 136, in
service_get_by_args
TRACE nova.openstack.common.threadgroup return
IMPL.service_get_by_args(context, host, binary)
TRACE nova.openstack.common.threadgroup File
"/usr/lib/python2.7/dist-packages/nova/db/sqlalchemy/api.py", line 125, in
wrapper
TRACE nova.openstack.common.threadgroup return f(*args, **kwargs)
TRACE nova.openstack.common.threadgroup File
"/usr/lib/python2.7/dist-packages/nova/db/sqlalchemy/api.py", line 490, in
service_get_by_args
TRACE nova.openstack.common.threadgroup result = model_query(context,
models.Service).\
TRACE nova.openstack.common.threadgroup File
"/usr/lib/python2.7/dist-packages/nova/db/sqlalchemy/api.py", line 213, in
model_query
TRACE nova.openstack.common.threadgroup session = kwargs.get('session') or
get_session(use_slave=use_slave)
TRACE nova.openstack.common.threadgroup File
"/usr/lib/python2.7/dist-packages/nova/db/sqlalchemy/api.py", line 101, in
get_session
TRACE nova.openstack.common.threadgroup facade = _create_facade_lazily()
TRACE nova.openstack.common.threadgroup File
"/usr/lib/python2.7/dist-packages/nova/db/sqlalchemy/api.py", line 91, in
_create_facade_lazily
TRACE nova.openstack.common.threadgroup _ENGINE_FACADE =
db_session.EngineFacade.from_config(CONF)
TRACE nova.openstack.common.threadgroup File
"/usr/local/lib/python2.7/dist-packages/oslo/db/sqlalchemy/session.py", line
795, in from_config
TRACE nova.openstack.common.threadgroup
retry_interval=conf.database.retry_interval)
TRACE nova.openstack.common.threadgroup File
"/usr/local/lib/python2.7/dist-packages/oslo/db/sqlalchemy/session.py", line
711, in __init__
TRACE nova.openstack.common.threadgroup **engine_kwargs)
TRACE nova.openstack.common.threadgroup File
"/usr/local/lib/python2.7/dist-packages/oslo/db/sqlalchemy/session.py", line
386, in create_engine
TRACE nova.openstack.common.threadgroup connection_trace=connection_trace
TRACE nova.openstack.common.threadgroup File
"/usr/local/lib/python2.7/dist-packages/oslo/db/sqlalchemy/utils.py", line 890,
in __call__
TRACE nova.openstack.common.threadgroup self._url_from_target(target),
target, arg, kw)
TRACE nova.openstack.common.threadgroup File
"/usr/local/lib/python2.7/dist-packages/oslo/db/sqlalchemy/utils.py", line 927,
in _dispatch_on
TRACE nova.openstack.common.threadgroup return
self._dispatch_on_db_driver(dbname, driver, arg, kw)
TRACE nova.openstack.common.threadgroup File
"/usr/local/lib/python2.7/dist-packages/oslo/db/sqlalchemy/utils.py", line 981,
in _dispatch_on_db_driver
TRACE nova.openstack.common.threadgroup if self._invoke_fn(fn, arg, kw) is
not None:
TRACE nova.openstack.common.threadgroup File
"/usr/local/lib/python2.7/dist-packages/oslo/db/sqlalchemy/utils.py", line 930,
in _invoke_fn
TRACE nova.openstack.common.threadgroup return fn(*arg, **kw)
TRACE nova.openstack.common.threadgroup File
"/usr/local/lib/python2.7/dist-packages/oslo/db/sqlalchemy/session.py", line
456, in _init_events
TRACE nova.openstack.common.threadgroup realmode = engine.execute("SHOW
VARIABLES LIKE 'sql_mode'").fetchone()
TRACE nova.openstack.common.threadgroup File
"/usr/lib/python2.7/dist-packages/sqlalchemy/engine/base.py", line 1751, in
execute
TRACE nova.openstack.common.threadgroup connection =
self.contextual_connect(close_with_result=True)
TRACE nova.openstack.common.threadgroup File
"/usr/lib/python2.7/dist-packages/sqlalchemy/engine/base.py", line 1799, in
contextual_connect
TRACE nova.openstack.common.threadgroup self.pool.connect(),
TRACE nova.openstack.common.threadgroup File
"/usr/lib/python2.7/dist-packages/sqlalchemy/pool.py", line 338, in connect
TRACE nova.openstack.common.threadgroup return
_ConnectionFairy._checkout(self)
TRACE nova.openstack.common.threadgroup File
"/usr/lib/python2.7/dist-packages/sqlalchemy/pool.py", line 641, in _checkout
TRACE nova.openstack.common.threadgroup fairy =
_ConnectionRecord.checkout(pool)
TRACE nova.openstack.common.threadgroup File
"/usr/lib/python2.7/dist-packages/sqlalchemy/pool.py", line 440, in checkout
TRACE nova.openstack.common.threadgroup rec = pool._do_get()
TRACE nova.openstack.common.threadgroup File
"/usr/lib/python2.7/dist-packages/sqlalchemy/pool.py", line 961, in _do_get
TRACE nova.openstack.common.threadgroup return self._create_connection()
TRACE nova.openstack.common.threadgroup File
"/usr/lib/python2.7/dist-packages/sqlalchemy/pool.py", line 285, in
_create_connection
TRACE nova.openstack.common.threadgroup return _ConnectionRecord(self)
TRACE nova.openstack.common.threadgroup File
"/usr/lib/python2.7/dist-packages/sqlalchemy/pool.py", line 411, in __init__
TRACE nova.openstack.common.threadgroup self.connection = self.__connect()
TRACE nova.openstack.common.threadgroup File
"/usr/lib/python2.7/dist-packages/sqlalchemy/pool.py", line 537, in __connect
TRACE nova.openstack.common.threadgroup connection = self.__pool._creator()
TRACE nova.openstack.common.threadgroup File
"/usr/lib/python2.7/dist-packages/sqlalchemy/engine/strategies.py", line 96, in
connect
TRACE nova.openstack.common.threadgroup connection_invalidated=invalidated
TRACE nova.openstack.common.threadgroup File
"/usr/lib/python2.7/dist-packages/sqlalchemy/util/compat.py", line 199, in
raise_from_cause
TRACE nova.openstack.common.threadgroup reraise(type(exception), exception,
tb=exc_tb)
TRACE nova.openstack.common.threadgroup File
"/usr/lib/python2.7/dist-packages/sqlalchemy/engine/strategies.py", line 90, in
connect
TRACE nova.openstack.common.threadgroup return dialect.connect(*cargs,
**cparams)
TRACE nova.openstack.common.threadgroup File
"/usr/lib/python2.7/dist-packages/sqlalchemy/engine/default.py", line 377, in
connect
TRACE nova.openstack.common.threadgroup return self.dbapi.connect(*cargs,
**cparams)
TRACE nova.openstack.common.threadgroup File
"/usr/lib/python2.7/dist-packages/MySQLdb/__init__.py", line 81, in Connect
TRACE nova.openstack.common.threadgroup return Connection(*args, **kwargs)
TRACE nova.openstack.common.threadgroup File
"/usr/lib/python2.7/dist-packages/MySQLdb/connections.py", line 187, in __init__
TRACE nova.openstack.common.threadgroup super(Connection,
self).__init__(*args, **kwargs2)
TRACE nova.openstack.common.threadgroup OperationalError: (OperationalError)
(2003, "Can't connect to MySQL server on '10.128.30.11' (111)") None None
TRACE nova.openstack.common.threadgroup
That doesnt happen once nova-scheduler connects, and database is gone,
after the database is up again IT DOES reconnects, but the calls are
from different part of the code ( nova.servicegroup.drivers.db ) and
when it doesnt work its called from ( nova.openstack.common.threadgroup
), the stack when it works is as follow:
ERROR nova.servicegroup.drivers.db [-] model server went away
TRACE nova.servicegroup.drivers.db Traceback (most recent call last):
TRACE nova.servicegroup.drivers.db File
"/usr/lib/python2.7/dist-packages/nova/servicegroup/drivers/db.py", line 99, in
_report_state
TRACE nova.servicegroup.drivers.db service.service_ref, state_catalog)
TRACE nova.servicegroup.drivers.db File
"/usr/lib/python2.7/dist-packages/nova/conductor/api.py", line 180, in
service_update
TRACE nova.servicegroup.drivers.db return
self._manager.service_update(context, service, values)
TRACE nova.servicegroup.drivers.db File
"/usr/lib/python2.7/dist-packages/nova/utils.py", line 949, in wrapper
TRACE nova.servicegroup.drivers.db return func(*args, **kwargs)
TRACE nova.servicegroup.drivers.db File
"/usr/local/lib/python2.7/dist-packages/oslo/messaging/rpc/server.py", line
139, in inner
TRACE nova.servicegroup.drivers.db return func(*args, **kwargs)
TRACE nova.servicegroup.drivers.db File
"/usr/lib/python2.7/dist-packages/nova/conductor/manager.py", line 320, in
service_update
TRACE nova.servicegroup.drivers.db svc = self.db.service_update(context,
service['id'], values)
TRACE nova.servicegroup.drivers.db File
"/usr/lib/python2.7/dist-packages/nova/db/api.py", line 150, in service_update
TRACE nova.servicegroup.drivers.db return IMPL.service_update(context,
service_id, values)
TRACE nova.servicegroup.drivers.db File
"/usr/lib/python2.7/dist-packages/nova/db/sqlalchemy/api.py", line 125, in
wrapper
TRACE nova.servicegroup.drivers.db return f(*args, **kwargs)
TRACE nova.servicegroup.drivers.db File
"/usr/lib/python2.7/dist-packages/nova/db/sqlalchemy/api.py", line 181, in
wrapped
TRACE nova.servicegroup.drivers.db return f(*args, **kwargs)
TRACE nova.servicegroup.drivers.db File
"/usr/lib/python2.7/dist-packages/nova/db/sqlalchemy/api.py", line 524, in
service_update
TRACE nova.servicegroup.drivers.db with_compute_node=False, session=session)
TRACE nova.servicegroup.drivers.db File
"/usr/lib/python2.7/dist-packages/nova/db/sqlalchemy/api.py", line 424, in
_service_get
TRACE nova.servicegroup.drivers.db result = query.first()
TRACE nova.servicegroup.drivers.db File
"/usr/lib/python2.7/dist-packages/sqlalchemy/orm/query.py", line 2341, in first
TRACE nova.servicegroup.drivers.db ret = list(self[0:1])
TRACE nova.servicegroup.drivers.db File
"/usr/lib/python2.7/dist-packages/sqlalchemy/orm/query.py", line 2208, in
__getitem__
TRACE nova.servicegroup.drivers.db return list(res)
TRACE nova.servicegroup.drivers.db File
"/usr/lib/python2.7/dist-packages/sqlalchemy/orm/query.py", line 2412, in
__iter__
TRACE nova.servicegroup.drivers.db return
self._execute_and_instances(context)
TRACE nova.servicegroup.drivers.db File
"/usr/lib/python2.7/dist-packages/sqlalchemy/orm/query.py", line 2425, in
_execute_and_instances
TRACE nova.servicegroup.drivers.db close_with_result=True)
TRACE nova.servicegroup.drivers.db File
"/usr/lib/python2.7/dist-packages/sqlalchemy/orm/query.py", line 2416, in
_connection_from_session
TRACE nova.servicegroup.drivers.db **kw)
TRACE nova.servicegroup.drivers.db File
"/usr/lib/python2.7/dist-packages/sqlalchemy/orm/session.py", line 854, in
connection
TRACE nova.servicegroup.drivers.db close_with_result=close_with_result)
TRACE nova.servicegroup.drivers.db File
"/usr/lib/python2.7/dist-packages/sqlalchemy/orm/session.py", line 858, in
_connection_for_bind
TRACE nova.servicegroup.drivers.db return
self.transaction._connection_for_bind(engine)
TRACE nova.servicegroup.drivers.db File
"/usr/lib/python2.7/dist-packages/sqlalchemy/orm/session.py", line 329, in
_connection_for_bind
TRACE nova.servicegroup.drivers.db transaction = conn.begin()
TRACE nova.servicegroup.drivers.db File
"/usr/lib/python2.7/dist-packages/sqlalchemy/engine/base.py", line 420, in begin
TRACE nova.servicegroup.drivers.db self.__transaction =
RootTransaction(self)
TRACE nova.servicegroup.drivers.db File
"/usr/lib/python2.7/dist-packages/sqlalchemy/engine/base.py", line 1357, in
__init__
TRACE nova.servicegroup.drivers.db self.connection._begin_impl(self)
TRACE nova.servicegroup.drivers.db File
"/usr/lib/python2.7/dist-packages/sqlalchemy/engine/base.py", line 490, in
_begin_impl
TRACE nova.servicegroup.drivers.db self.dispatch.begin(self)
TRACE nova.servicegroup.drivers.db File
"/usr/lib/python2.7/dist-packages/sqlalchemy/event/attr.py", line 260, in
__call__
TRACE nova.servicegroup.drivers.db fn(*args, **kw)
TRACE nova.servicegroup.drivers.db File
"/usr/local/lib/python2.7/dist-packages/oslo/db/sqlalchemy/session.py", line
331, in _begin_ping_listener
TRACE nova.servicegroup.drivers.db connection.scalar(select([1]))
TRACE nova.servicegroup.drivers.db File
"/usr/lib/python2.7/dist-packages/sqlalchemy/engine/base.py", line 659, in
scalar
TRACE nova.servicegroup.drivers.db return self.execute(object,
*multiparams, **params).scalar()
TRACE nova.servicegroup.drivers.db File
"/usr/lib/python2.7/dist-packages/sqlalchemy/engine/base.py", line 729, in
execute
TRACE nova.servicegroup.drivers.db return meth(self, multiparams, params)
TRACE nova.servicegroup.drivers.db File
"/usr/lib/python2.7/dist-packages/sqlalchemy/sql/elements.py", line 321, in
_execute_on_connection
TRACE nova.servicegroup.drivers.db return
connection._execute_clauseelement(self, multiparams, params)
TRACE nova.servicegroup.drivers.db File
"/usr/lib/python2.7/dist-packages/sqlalchemy/engine/base.py", line 826, in
_execute_clauseelement
TRACE nova.servicegroup.drivers.db compiled_sql, distilled_params
TRACE nova.servicegroup.drivers.db File
"/usr/lib/python2.7/dist-packages/sqlalchemy/engine/base.py", line 893, in
_execute_context
TRACE nova.servicegroup.drivers.db None, None)
TRACE nova.servicegroup.drivers.db File
"/usr/lib/python2.7/dist-packages/sqlalchemy/engine/base.py", line 1169, in
_handle_dbapi_exception
TRACE nova.servicegroup.drivers.db dbapi_conn_wrapper = self.connection
TRACE nova.servicegroup.drivers.db File
"/usr/lib/python2.7/dist-packages/sqlalchemy/engine/base.py", line 236, in
connection
TRACE nova.servicegroup.drivers.db return self._revalidate_connection()
TRACE nova.servicegroup.drivers.db File
"/usr/lib/python2.7/dist-packages/sqlalchemy/engine/base.py", line 244, in
_revalidate_connection
TRACE nova.servicegroup.drivers.db self.__connection =
self.engine.raw_connection()
TRACE nova.servicegroup.drivers.db File
"/usr/lib/python2.7/dist-packages/sqlalchemy/engine/base.py", line 1848, in
raw_connection
TRACE nova.servicegroup.drivers.db return self.pool.unique_connection()
TRACE nova.servicegroup.drivers.db File
"/usr/lib/python2.7/dist-packages/sqlalchemy/pool.py", line 280, in
unique_connection
TRACE nova.servicegroup.drivers.db return _ConnectionFairy._checkout(self)
TRACE nova.servicegroup.drivers.db File
"/usr/lib/python2.7/dist-packages/sqlalchemy/pool.py", line 641, in _checkout
TRACE nova.servicegroup.drivers.db fairy = _ConnectionRecord.checkout(pool)
TRACE nova.servicegroup.drivers.db File
"/usr/lib/python2.7/dist-packages/sqlalchemy/pool.py", line 442, in checkout
TRACE nova.servicegroup.drivers.db dbapi_connection = rec.get_connection()
TRACE nova.servicegroup.drivers.db File
"/usr/lib/python2.7/dist-packages/sqlalchemy/pool.py", line 505, in
get_connection
TRACE nova.servicegroup.drivers.db self.connection = self.__connect()
TRACE nova.servicegroup.drivers.db File
"/usr/lib/python2.7/dist-packages/sqlalchemy/pool.py", line 537, in __connect
TRACE nova.servicegroup.drivers.db connection = self.__pool._creator()
TRACE nova.servicegroup.drivers.db File
"/usr/lib/python2.7/dist-packages/sqlalchemy/engine/strategies.py", line 96, in
connect
TRACE nova.servicegroup.drivers.db connection_invalidated=invalidated
TRACE nova.servicegroup.drivers.db File
"/usr/lib/python2.7/dist-packages/sqlalchemy/util/compat.py", line 199, in
raise_from_cause
TRACE nova.servicegroup.drivers.db reraise(type(exception), exception,
tb=exc_tb)
TRACE nova.servicegroup.drivers.db File
"/usr/lib/python2.7/dist-packages/sqlalchemy/engine/strategies.py", line 90, in
connect
TRACE nova.servicegroup.drivers.db return dialect.connect(*cargs, **cparams)
TRACE nova.servicegroup.drivers.db File
"/usr/lib/python2.7/dist-packages/sqlalchemy/engine/default.py", line 377, in
connect
TRACE nova.servicegroup.drivers.db return self.dbapi.connect(*cargs,
**cparams)
TRACE nova.servicegroup.drivers.db File
"/usr/lib/python2.7/dist-packages/MySQLdb/__init__.py", line 81, in Connect
TRACE nova.servicegroup.drivers.db return Connection(*args, **kwargs)
TRACE nova.servicegroup.drivers.db File
"/usr/lib/python2.7/dist-packages/MySQLdb/connections.py", line 187, in __init__
TRACE nova.servicegroup.drivers.db super(Connection, self).__init__(*args,
**kwargs2)
TRACE nova.servicegroup.drivers.db OperationalError: (OperationalError) (2003,
"Can't connect to MySQL server on '10.128.30.11' (111)") None None
TRACE nova.servicegroup.drivers.db
** Affects: nova
Importance: Undecided
Status: New
** Affects: nova (Ubuntu)
Importance: Undecided
Status: New
** Tags: juno nova nova-scheduler
--
nova-scheduler doesnt reconnect to databases when started and database is down
https://bugs.launchpad.net/bugs/1444532
You received this bug notification because you are a member of Ubuntu Server
Team, which is subscribed to nova in Ubuntu.
--
Ubuntu-server-bugs mailing list
[email protected]
Modify settings or unsubscribe at:
https://lists.ubuntu.com/mailman/listinfo/ubuntu-server-bugs