Activity log for bug #1799406

Date Who What changed Old value New value Message
2018-10-23 10:27:00 Liam Young bug added bug
2018-10-23 19:28:18 Corey Bryant bug task added aodh
2018-10-23 19:28:26 Corey Bryant bug task added oslo.db
2018-10-23 19:28:41 Corey Bryant bug task added oslo.messaging
2018-10-24 12:23:37 Dmitrii Shcherbakov bug added subscriber Dmitrii Shcherbakov
2018-10-25 19:48:02 Corey Bryant bug task deleted oslo.messaging
2018-10-25 19:48:04 Corey Bryant bug task deleted oslo.db
2018-10-25 19:48:38 Corey Bryant bug task added oslo.i18n
2018-10-26 18:08:54 OpenStack Infra aodh: status New In Progress
2018-10-26 18:08:54 OpenStack Infra aodh: assignee Corey Bryant (corey.bryant)
2018-11-01 18:01:25 Corey Bryant description In a rocky deployment aodh is failing to raise alarms due to what seems like a locale issue. If I purge packages: apt-get purge aodh-api aodh-evaluator aodh-expirer aodh-notifier aodh-listener python3-aodh libapache2-mod-wsgi-py3 python-apt python-aodh python-memcache Then disable the AodhCharmRocky class and rerun install so that it pulls in the py2 packages then things start working. The error from /var/log/aodh/aodh-listener.log: http://paste.ubuntu.com/p/FCft2GGnfN/ ERROR oslo_db.sqlalchemy.exc_filters [-] DB exception wrapped.: AttributeError: 'list' object has no attribute 'lower' ERROR oslo_db.sqlalchemy.exc_filters Traceback (most recent call last): ERROR oslo_db.sqlalchemy.exc_filters File "/usr/lib/python3/dist-packages/sqlalchemy/engine/base.py", line 1193, in _execute_context ERROR oslo_db.sqlalchemy.exc_filters context) ERROR oslo_db.sqlalchemy.exc_filters File "/usr/lib/python3/dist-packages/sqlalchemy/engine/default.py", line 508, in do_execute ERROR oslo_db.sqlalchemy.exc_filters cursor.execute(statement, parameters) ERROR oslo_db.sqlalchemy.exc_filters File "/usr/lib/python3/dist-packages/pymysql/cursors.py", line 163, in execute ERROR oslo_db.sqlalchemy.exc_filters query = self.mogrify(query, args) ERROR oslo_db.sqlalchemy.exc_filters File "/usr/lib/python3/dist-packages/pymysql/cursors.py", line 142, in mogrify ERROR oslo_db.sqlalchemy.exc_filters query = query % self._escape_args(args, conn) ERROR oslo_db.sqlalchemy.exc_filters File "/usr/lib/python3/dist-packages/pymysql/cursors.py", line 122, in _escape_args ERROR oslo_db.sqlalchemy.exc_filters return dict((key, conn.literal(val)) for (key, val) in args.items()) ERROR oslo_db.sqlalchemy.exc_filters File "/usr/lib/python3/dist-packages/pymysql/cursors.py", line 122, in <genexpr> ERROR oslo_db.sqlalchemy.exc_filters return dict((key, conn.literal(val)) for (key, val) in args.items()) ERROR oslo_db.sqlalchemy.exc_filters File "/usr/lib/python3/dist-packages/pymysql/connections.py", line 819, in literal ERROR oslo_db.sqlalchemy.exc_filters return self.escape(obj, self.encoders) ERROR oslo_db.sqlalchemy.exc_filters File "/usr/lib/python3/dist-packages/pymysql/connections.py", line 806, in escape ERROR oslo_db.sqlalchemy.exc_filters return "'" + self.escape_string(obj) + "'" ERROR oslo_db.sqlalchemy.exc_filters File "/usr/lib/python3/dist-packages/pymysql/connections.py", line 825, in escape_string ERROR oslo_db.sqlalchemy.exc_filters return converters.escape_string(s) ERROR oslo_db.sqlalchemy.exc_filters File "/usr/lib/python3/dist-packages/pymysql/converters.py", line 73, in _escape_unicode ERROR oslo_db.sqlalchemy.exc_filters return value.translate(_escape_table) ERROR oslo_db.sqlalchemy.exc_filters File "/usr/lib/python3/dist-packages/oslo_i18n/_message.py", line 85, in translate ERROR oslo_db.sqlalchemy.exc_filters self.has_plural_form) ERROR oslo_db.sqlalchemy.exc_filters File "/usr/lib/python3/dist-packages/oslo_i18n/_message.py", line 117, in _translate_msgid ERROR oslo_db.sqlalchemy.exc_filters fallback=True) ERROR oslo_db.sqlalchemy.exc_filters File "/usr/lib/python3.6/gettext.py", line 525, in translation ERROR oslo_db.sqlalchemy.exc_filters mofiles = find(domain, localedir, languages, all=True) ERROR oslo_db.sqlalchemy.exc_filters File "/usr/lib/python3.6/gettext.py", line 482, in find ERROR oslo_db.sqlalchemy.exc_filters for nelang in _expand_lang(lang): ERROR oslo_db.sqlalchemy.exc_filters File "/usr/lib/python3.6/gettext.py", line 206, in _expand_lang ERROR oslo_db.sqlalchemy.exc_filters loc = locale.normalize(loc) ERROR oslo_db.sqlalchemy.exc_filters File "/usr/lib/python3.6/locale.py", line 397, in normalize ERROR oslo_db.sqlalchemy.exc_filters code = localename.lower() ERROR oslo_db.sqlalchemy.exc_filters AttributeError: 'list' object has no attribute 'lower' ERROR oslo_db.sqlalchemy.exc_filters ERROR aodh.evaluator [-] alarm state update failed: oslo_db.exception.DBError: 'list' object has no attribute 'lower' ERROR aodh.evaluator Traceback (most recent call last): ERROR aodh.evaluator File "/usr/lib/python3/dist-packages/sqlalchemy/engine/base.py", line 1193, in _execute_context ERROR aodh.evaluator context) ERROR aodh.evaluator File "/usr/lib/python3/dist-packages/sqlalchemy/engine/default.py", line 508, in do_execute ERROR aodh.evaluator cursor.execute(statement, parameters) ERROR aodh.evaluator File "/usr/lib/python3/dist-packages/pymysql/cursors.py", line 163, in execute ERROR aodh.evaluator query = self.mogrify(query, args) ERROR aodh.evaluator File "/usr/lib/python3/dist-packages/pymysql/cursors.py", line 142, in mogrify ERROR aodh.evaluator query = query % self._escape_args(args, conn) ERROR aodh.evaluator File "/usr/lib/python3/dist-packages/pymysql/cursors.py", line 122, in _escape_args ERROR aodh.evaluator return dict((key, conn.literal(val)) for (key, val) in args.items()) ERROR aodh.evaluator File "/usr/lib/python3/dist-packages/pymysql/cursors.py", line 122, in <genexpr> ERROR aodh.evaluator return dict((key, conn.literal(val)) for (key, val) in args.items()) ERROR aodh.evaluator File "/usr/lib/python3/dist-packages/pymysql/connections.py", line 819, in literal ERROR aodh.evaluator return self.escape(obj, self.encoders) ERROR aodh.evaluator File "/usr/lib/python3/dist-packages/pymysql/connections.py", line 806, in escape ERROR aodh.evaluator return "'" + self.escape_string(obj) + "'" ERROR aodh.evaluator File "/usr/lib/python3/dist-packages/pymysql/connections.py", line 825, in escape_string ERROR aodh.evaluator return converters.escape_string(s) ERROR aodh.evaluator File "/usr/lib/python3/dist-packages/pymysql/converters.py", line 73, in _escape_unicode ERROR aodh.evaluator return value.translate(_escape_table) ERROR aodh.evaluator File "/usr/lib/python3/dist-packages/oslo_i18n/_message.py", line 85, in translate ERROR aodh.evaluator self.has_plural_form) ERROR aodh.evaluator File "/usr/lib/python3/dist-packages/oslo_i18n/_message.py", line 117, in _translate_msgid ERROR aodh.evaluator fallback=True) ERROR aodh.evaluator File "/usr/lib/python3.6/gettext.py", line 525, in translation ERROR aodh.evaluator mofiles = find(domain, localedir, languages, all=True) ERROR aodh.evaluator File "/usr/lib/python3.6/gettext.py", line 482, in find ERROR aodh.evaluator for nelang in _expand_lang(lang): ERROR aodh.evaluator File "/usr/lib/python3.6/gettext.py", line 206, in _expand_lang ERROR aodh.evaluator loc = locale.normalize(loc) ERROR aodh.evaluator File "/usr/lib/python3.6/locale.py", line 397, in normalize ERROR aodh.evaluator code = localename.lower() ERROR aodh.evaluator AttributeError: 'list' object has no attribute 'lower' ERROR aodh.evaluator ERROR aodh.evaluator The above exception was the direct cause of the following exception: ERROR aodh.evaluator ERROR aodh.evaluator Traceback (most recent call last): ERROR aodh.evaluator File "/usr/lib/python3/dist-packages/aodh/evaluator/__init__.py", line 128, in _refresh ERROR aodh.evaluator self._storage_conn.update_alarm(alarm) ERROR aodh.evaluator File "/usr/lib/python3/dist-packages/aodh/storage/impl_sqlalchemy.py", line 273, in update_alarm ERROR aodh.evaluator alarm.as_dict()) ERROR aodh.evaluator File "/usr/lib/python3/dist-packages/sqlalchemy/orm/query.py", line 3426, in update ERROR aodh.evaluator update_op.exec_() ERROR aodh.evaluator File "/usr/lib/python3/dist-packages/sqlalchemy/orm/persistence.py", line 1326, in exec_ ERROR aodh.evaluator self._do_exec() ERROR aodh.evaluator File "/usr/lib/python3/dist-packages/sqlalchemy/orm/persistence.py", line 1493, in _do_exec ERROR aodh.evaluator self._execute_stmt(update_stmt) ERROR aodh.evaluator File "/usr/lib/python3/dist-packages/sqlalchemy/orm/persistence.py", line 1333, in _execute_stmt ERROR aodh.evaluator mapper=self.mapper) ERROR aodh.evaluator File "/usr/lib/python3/dist-packages/sqlalchemy/orm/session.py", line 1176, in execute ERROR aodh.evaluator bind, close_with_result=True).execute(clause, params or {}) ERROR aodh.evaluator File "/usr/lib/python3/dist-packages/sqlalchemy/engine/base.py", line 948, in execute ERROR aodh.evaluator return meth(self, multiparams, params) ERROR aodh.evaluator File "/usr/lib/python3/dist-packages/sqlalchemy/sql/elements.py", line 269, in _execute_on_connection ERROR aodh.evaluator return connection._execute_clauseelement(self, multiparams, params) ERROR aodh.evaluator File "/usr/lib/python3/dist-packages/sqlalchemy/engine/base.py", line 1060, in _execute_clauseelement ERROR aodh.evaluator compiled_sql, distilled_params ERROR aodh.evaluator File "/usr/lib/python3/dist-packages/sqlalchemy/engine/base.py", line 1200, in _execute_context ERROR aodh.evaluator context) ERROR aodh.evaluator File "/usr/lib/python3/dist-packages/sqlalchemy/engine/base.py", line 1409, in _handle_dbapi_exception ERROR aodh.evaluator util.raise_from_cause(newraise, exc_info) ERROR aodh.evaluator File "/usr/lib/python3/dist-packages/sqlalchemy/util/compat.py", line 203, in raise_from_cause ERROR aodh.evaluator reraise(type(exception), exception, tb=exc_tb, cause=cause) ERROR aodh.evaluator File "/usr/lib/python3/dist-packages/sqlalchemy/util/compat.py", line 186, in reraise ERROR aodh.evaluator raise value.with_traceback(tb) ERROR aodh.evaluator File "/usr/lib/python3/dist-packages/sqlalchemy/engine/base.py", line 1193, in _execute_context ERROR aodh.evaluator context) ERROR aodh.evaluator File "/usr/lib/python3/dist-packages/sqlalchemy/engine/default.py", line 508, in do_execute ERROR aodh.evaluator cursor.execute(statement, parameters) ERROR aodh.evaluator File "/usr/lib/python3/dist-packages/pymysql/cursors.py", line 163, in execute ERROR aodh.evaluator query = self.mogrify(query, args) ERROR aodh.evaluator File "/usr/lib/python3/dist-packages/pymysql/cursors.py", line 142, in mogrify ERROR aodh.evaluator query = query % self._escape_args(args, conn) ERROR aodh.evaluator File "/usr/lib/python3/dist-packages/pymysql/cursors.py", line 122, in _escape_args ERROR aodh.evaluator return dict((key, conn.literal(val)) for (key, val) in args.items()) ERROR aodh.evaluator File "/usr/lib/python3/dist-packages/pymysql/cursors.py", line 122, in <genexpr> ERROR aodh.evaluator return dict((key, conn.literal(val)) for (key, val) in args.items()) ERROR aodh.evaluator File "/usr/lib/python3/dist-packages/pymysql/connections.py", line 819, in literal ERROR aodh.evaluator return self.escape(obj, self.encoders) ERROR aodh.evaluator File "/usr/lib/python3/dist-packages/pymysql/connections.py", line 806, in escape ERROR aodh.evaluator return "'" + self.escape_string(obj) + "'" ERROR aodh.evaluator File "/usr/lib/python3/dist-packages/pymysql/connections.py", line 825, in escape_string ERROR aodh.evaluator return converters.escape_string(s) ERROR aodh.evaluator File "/usr/lib/python3/dist-packages/pymysql/converters.py", line 73, in _escape_unicode ERROR aodh.evaluator return value.translate(_escape_table) ERROR aodh.evaluator File "/usr/lib/python3/dist-packages/oslo_i18n/_message.py", line 85, in translate ERROR aodh.evaluator self.has_plural_form) ERROR aodh.evaluator File "/usr/lib/python3/dist-packages/oslo_i18n/_message.py", line 117, in _translate_msgid ERROR aodh.evaluator fallback=True) ERROR aodh.evaluator File "/usr/lib/python3.6/gettext.py", line 525, in translation ERROR aodh.evaluator mofiles = find(domain, localedir, languages, all=True) ERROR aodh.evaluator File "/usr/lib/python3.6/gettext.py", line 482, in find ERROR aodh.evaluator for nelang in _expand_lang(lang): ERROR aodh.evaluator File "/usr/lib/python3.6/gettext.py", line 206, in _expand_lang ERROR aodh.evaluator loc = locale.normalize(loc) ERROR aodh.evaluator File "/usr/lib/python3.6/locale.py", line 397, in normalize ERROR aodh.evaluator code = localename.lower() ERROR aodh.evaluator oslo_db.exception.DBError: 'list' object has no attribute 'lower' ERROR aodh.evaluator [Impact] In a rocky deployment aodh is failing to raise alarms due to what seems like a locale issue. If I purge packages: apt-get purge aodh-api aodh-evaluator aodh-expirer aodh-notifier aodh-listener python3-aodh libapache2-mod-wsgi-py3 python-apt python-aodh python-memcache Then disable the AodhCharmRocky class and rerun install so that it pulls in the py2 packages then things start working. The error from /var/log/aodh/aodh-listener.log: http://paste.ubuntu.com/p/FCft2GGnfN/ ERROR oslo_db.sqlalchemy.exc_filters [-] DB exception wrapped.: AttributeError: 'list' object has no attribute 'lower' ERROR oslo_db.sqlalchemy.exc_filters Traceback (most recent call last): ERROR oslo_db.sqlalchemy.exc_filters File "/usr/lib/python3/dist-packages/sqlalchemy/engine/base.py", line 1193, in _execute_context ERROR oslo_db.sqlalchemy.exc_filters context) ERROR oslo_db.sqlalchemy.exc_filters File "/usr/lib/python3/dist-packages/sqlalchemy/engine/default.py", line 508, in do_execute ERROR oslo_db.sqlalchemy.exc_filters cursor.execute(statement, parameters) ERROR oslo_db.sqlalchemy.exc_filters File "/usr/lib/python3/dist-packages/pymysql/cursors.py", line 163, in execute ERROR oslo_db.sqlalchemy.exc_filters query = self.mogrify(query, args) ERROR oslo_db.sqlalchemy.exc_filters File "/usr/lib/python3/dist-packages/pymysql/cursors.py", line 142, in mogrify ERROR oslo_db.sqlalchemy.exc_filters query = query % self._escape_args(args, conn) ERROR oslo_db.sqlalchemy.exc_filters File "/usr/lib/python3/dist-packages/pymysql/cursors.py", line 122, in _escape_args ERROR oslo_db.sqlalchemy.exc_filters return dict((key, conn.literal(val)) for (key, val) in args.items()) ERROR oslo_db.sqlalchemy.exc_filters File "/usr/lib/python3/dist-packages/pymysql/cursors.py", line 122, in <genexpr> ERROR oslo_db.sqlalchemy.exc_filters return dict((key, conn.literal(val)) for (key, val) in args.items()) ERROR oslo_db.sqlalchemy.exc_filters File "/usr/lib/python3/dist-packages/pymysql/connections.py", line 819, in literal ERROR oslo_db.sqlalchemy.exc_filters return self.escape(obj, self.encoders) ERROR oslo_db.sqlalchemy.exc_filters File "/usr/lib/python3/dist-packages/pymysql/connections.py", line 806, in escape ERROR oslo_db.sqlalchemy.exc_filters return "'" + self.escape_string(obj) + "'" ERROR oslo_db.sqlalchemy.exc_filters File "/usr/lib/python3/dist-packages/pymysql/connections.py", line 825, in escape_string ERROR oslo_db.sqlalchemy.exc_filters return converters.escape_string(s) ERROR oslo_db.sqlalchemy.exc_filters File "/usr/lib/python3/dist-packages/pymysql/converters.py", line 73, in _escape_unicode ERROR oslo_db.sqlalchemy.exc_filters return value.translate(_escape_table) ERROR oslo_db.sqlalchemy.exc_filters File "/usr/lib/python3/dist-packages/oslo_i18n/_message.py", line 85, in translate ERROR oslo_db.sqlalchemy.exc_filters self.has_plural_form) ERROR oslo_db.sqlalchemy.exc_filters File "/usr/lib/python3/dist-packages/oslo_i18n/_message.py", line 117, in _translate_msgid ERROR oslo_db.sqlalchemy.exc_filters fallback=True) ERROR oslo_db.sqlalchemy.exc_filters File "/usr/lib/python3.6/gettext.py", line 525, in translation ERROR oslo_db.sqlalchemy.exc_filters mofiles = find(domain, localedir, languages, all=True) ERROR oslo_db.sqlalchemy.exc_filters File "/usr/lib/python3.6/gettext.py", line 482, in find ERROR oslo_db.sqlalchemy.exc_filters for nelang in _expand_lang(lang): ERROR oslo_db.sqlalchemy.exc_filters File "/usr/lib/python3.6/gettext.py", line 206, in _expand_lang ERROR oslo_db.sqlalchemy.exc_filters loc = locale.normalize(loc) ERROR oslo_db.sqlalchemy.exc_filters File "/usr/lib/python3.6/locale.py", line 397, in normalize ERROR oslo_db.sqlalchemy.exc_filters code = localename.lower() ERROR oslo_db.sqlalchemy.exc_filters AttributeError: 'list' object has no attribute 'lower' ERROR oslo_db.sqlalchemy.exc_filters ERROR aodh.evaluator [-] alarm state update failed: oslo_db.exception.DBError: 'list' object has no attribute 'lower' ERROR aodh.evaluator Traceback (most recent call last): ERROR aodh.evaluator File "/usr/lib/python3/dist-packages/sqlalchemy/engine/base.py", line 1193, in _execute_context ERROR aodh.evaluator context) ERROR aodh.evaluator File "/usr/lib/python3/dist-packages/sqlalchemy/engine/default.py", line 508, in do_execute ERROR aodh.evaluator cursor.execute(statement, parameters) ERROR aodh.evaluator File "/usr/lib/python3/dist-packages/pymysql/cursors.py", line 163, in execute ERROR aodh.evaluator query = self.mogrify(query, args) ERROR aodh.evaluator File "/usr/lib/python3/dist-packages/pymysql/cursors.py", line 142, in mogrify ERROR aodh.evaluator query = query % self._escape_args(args, conn) ERROR aodh.evaluator File "/usr/lib/python3/dist-packages/pymysql/cursors.py", line 122, in _escape_args ERROR aodh.evaluator return dict((key, conn.literal(val)) for (key, val) in args.items()) ERROR aodh.evaluator File "/usr/lib/python3/dist-packages/pymysql/cursors.py", line 122, in <genexpr> ERROR aodh.evaluator return dict((key, conn.literal(val)) for (key, val) in args.items()) ERROR aodh.evaluator File "/usr/lib/python3/dist-packages/pymysql/connections.py", line 819, in literal ERROR aodh.evaluator return self.escape(obj, self.encoders) ERROR aodh.evaluator File "/usr/lib/python3/dist-packages/pymysql/connections.py", line 806, in escape ERROR aodh.evaluator return "'" + self.escape_string(obj) + "'" ERROR aodh.evaluator File "/usr/lib/python3/dist-packages/pymysql/connections.py", line 825, in escape_string ERROR aodh.evaluator return converters.escape_string(s) ERROR aodh.evaluator File "/usr/lib/python3/dist-packages/pymysql/converters.py", line 73, in _escape_unicode ERROR aodh.evaluator return value.translate(_escape_table) ERROR aodh.evaluator File "/usr/lib/python3/dist-packages/oslo_i18n/_message.py", line 85, in translate ERROR aodh.evaluator self.has_plural_form) ERROR aodh.evaluator File "/usr/lib/python3/dist-packages/oslo_i18n/_message.py", line 117, in _translate_msgid ERROR aodh.evaluator fallback=True) ERROR aodh.evaluator File "/usr/lib/python3.6/gettext.py", line 525, in translation ERROR aodh.evaluator mofiles = find(domain, localedir, languages, all=True) ERROR aodh.evaluator File "/usr/lib/python3.6/gettext.py", line 482, in find ERROR aodh.evaluator for nelang in _expand_lang(lang): ERROR aodh.evaluator File "/usr/lib/python3.6/gettext.py", line 206, in _expand_lang ERROR aodh.evaluator loc = locale.normalize(loc) ERROR aodh.evaluator File "/usr/lib/python3.6/locale.py", line 397, in normalize ERROR aodh.evaluator code = localename.lower() ERROR aodh.evaluator AttributeError: 'list' object has no attribute 'lower' ERROR aodh.evaluator ERROR aodh.evaluator The above exception was the direct cause of the following exception: ERROR aodh.evaluator ERROR aodh.evaluator Traceback (most recent call last): ERROR aodh.evaluator File "/usr/lib/python3/dist-packages/aodh/evaluator/__init__.py", line 128, in _refresh ERROR aodh.evaluator self._storage_conn.update_alarm(alarm) ERROR aodh.evaluator File "/usr/lib/python3/dist-packages/aodh/storage/impl_sqlalchemy.py", line 273, in update_alarm ERROR aodh.evaluator alarm.as_dict()) ERROR aodh.evaluator File "/usr/lib/python3/dist-packages/sqlalchemy/orm/query.py", line 3426, in update ERROR aodh.evaluator update_op.exec_() ERROR aodh.evaluator File "/usr/lib/python3/dist-packages/sqlalchemy/orm/persistence.py", line 1326, in exec_ ERROR aodh.evaluator self._do_exec() ERROR aodh.evaluator File "/usr/lib/python3/dist-packages/sqlalchemy/orm/persistence.py", line 1493, in _do_exec ERROR aodh.evaluator self._execute_stmt(update_stmt) ERROR aodh.evaluator File "/usr/lib/python3/dist-packages/sqlalchemy/orm/persistence.py", line 1333, in _execute_stmt ERROR aodh.evaluator mapper=self.mapper) ERROR aodh.evaluator File "/usr/lib/python3/dist-packages/sqlalchemy/orm/session.py", line 1176, in execute ERROR aodh.evaluator bind, close_with_result=True).execute(clause, params or {}) ERROR aodh.evaluator File "/usr/lib/python3/dist-packages/sqlalchemy/engine/base.py", line 948, in execute ERROR aodh.evaluator return meth(self, multiparams, params) ERROR aodh.evaluator File "/usr/lib/python3/dist-packages/sqlalchemy/sql/elements.py", line 269, in _execute_on_connection ERROR aodh.evaluator return connection._execute_clauseelement(self, multiparams, params) ERROR aodh.evaluator File "/usr/lib/python3/dist-packages/sqlalchemy/engine/base.py", line 1060, in _execute_clauseelement ERROR aodh.evaluator compiled_sql, distilled_params ERROR aodh.evaluator File "/usr/lib/python3/dist-packages/sqlalchemy/engine/base.py", line 1200, in _execute_context ERROR aodh.evaluator context) ERROR aodh.evaluator File "/usr/lib/python3/dist-packages/sqlalchemy/engine/base.py", line 1409, in _handle_dbapi_exception ERROR aodh.evaluator util.raise_from_cause(newraise, exc_info) ERROR aodh.evaluator File "/usr/lib/python3/dist-packages/sqlalchemy/util/compat.py", line 203, in raise_from_cause ERROR aodh.evaluator reraise(type(exception), exception, tb=exc_tb, cause=cause) ERROR aodh.evaluator File "/usr/lib/python3/dist-packages/sqlalchemy/util/compat.py", line 186, in reraise ERROR aodh.evaluator raise value.with_traceback(tb) ERROR aodh.evaluator File "/usr/lib/python3/dist-packages/sqlalchemy/engine/base.py", line 1193, in _execute_context ERROR aodh.evaluator context) ERROR aodh.evaluator File "/usr/lib/python3/dist-packages/sqlalchemy/engine/default.py", line 508, in do_execute ERROR aodh.evaluator cursor.execute(statement, parameters) ERROR aodh.evaluator File "/usr/lib/python3/dist-packages/pymysql/cursors.py", line 163, in execute ERROR aodh.evaluator query = self.mogrify(query, args) ERROR aodh.evaluator File "/usr/lib/python3/dist-packages/pymysql/cursors.py", line 142, in mogrify ERROR aodh.evaluator query = query % self._escape_args(args, conn) ERROR aodh.evaluator File "/usr/lib/python3/dist-packages/pymysql/cursors.py", line 122, in _escape_args ERROR aodh.evaluator return dict((key, conn.literal(val)) for (key, val) in args.items()) ERROR aodh.evaluator File "/usr/lib/python3/dist-packages/pymysql/cursors.py", line 122, in <genexpr> ERROR aodh.evaluator return dict((key, conn.literal(val)) for (key, val) in args.items()) ERROR aodh.evaluator File "/usr/lib/python3/dist-packages/pymysql/connections.py", line 819, in literal ERROR aodh.evaluator return self.escape(obj, self.encoders) ERROR aodh.evaluator File "/usr/lib/python3/dist-packages/pymysql/connections.py", line 806, in escape ERROR aodh.evaluator return "'" + self.escape_string(obj) + "'" ERROR aodh.evaluator File "/usr/lib/python3/dist-packages/pymysql/connections.py", line 825, in escape_string ERROR aodh.evaluator return converters.escape_string(s) ERROR aodh.evaluator File "/usr/lib/python3/dist-packages/pymysql/converters.py", line 73, in _escape_unicode ERROR aodh.evaluator return value.translate(_escape_table) ERROR aodh.evaluator File "/usr/lib/python3/dist-packages/oslo_i18n/_message.py", line 85, in translate ERROR aodh.evaluator self.has_plural_form) ERROR aodh.evaluator File "/usr/lib/python3/dist-packages/oslo_i18n/_message.py", line 117, in _translate_msgid ERROR aodh.evaluator fallback=True) ERROR aodh.evaluator File "/usr/lib/python3.6/gettext.py", line 525, in translation ERROR aodh.evaluator mofiles = find(domain, localedir, languages, all=True) ERROR aodh.evaluator File "/usr/lib/python3.6/gettext.py", line 482, in find ERROR aodh.evaluator for nelang in _expand_lang(lang): ERROR aodh.evaluator File "/usr/lib/python3.6/gettext.py", line 206, in _expand_lang ERROR aodh.evaluator loc = locale.normalize(loc) ERROR aodh.evaluator File "/usr/lib/python3.6/locale.py", line 397, in normalize ERROR aodh.evaluator code = localename.lower() ERROR aodh.evaluator oslo_db.exception.DBError: 'list' object has no attribute 'lower' ERROR aodh.evaluator [Test Case] 1) Deploy openstack with aodh (we're deploying with the development versions of the openstack charms which deploy py3 payloads) 2) Once deployed/configured create an alarm with: openstack alarm create \ --type event \ --name instance_off \ --description 'Instance powered OFF' \ --event-type "compute.instance.power_off.*" \ --enable True \ --query "traits.instance_id=string::INSTANCE_ID" \ --alarm-action 'log://' \ --ok-action 'log://' \ --insufficient-data-action 'log://' 3) create a server instance 4) power server instance off to trigger alarm 5) ensure alarm is successfully raised with no traceback (see /var/log/aodh/aodh-listener.log) [Regression Potential] The fix is a minimal fix that should result in low regression potential.
2018-11-01 18:01:39 Corey Bryant summary Alarms fail on Rocky [SRU] Alarms fail on Rocky
2018-11-01 19:41:55 Steve Langasek bug added subscriber Ubuntu Stable Release Updates Team
2018-11-01 19:41:59 Steve Langasek bug added subscriber SRU Verification
2018-11-01 19:42:03 Steve Langasek tags verification-needed verification-needed-cosmic
2018-11-01 19:43:06 Steve Langasek bug task added aodh (Ubuntu)
2018-11-01 19:43:22 Steve Langasek nominated for series Ubuntu Cosmic
2018-11-01 19:43:22 Steve Langasek bug task added aodh (Ubuntu Cosmic)
2018-11-01 19:43:43 Steve Langasek aodh (Ubuntu Cosmic): status New Fix Committed
2018-11-01 19:43:45 Steve Langasek aodh (Ubuntu): status New Fix Committed
2018-11-02 09:03:13 OpenStack Infra aodh: status In Progress Fix Released
2018-11-02 11:50:18 Corey Bryant bug task added cloud-archive
2018-11-02 11:50:30 Corey Bryant nominated for series cloud-archive/rocky
2018-11-02 11:50:30 Corey Bryant bug task added cloud-archive/rocky
2018-11-02 11:50:51 Corey Bryant cloud-archive: status New Fix Committed
2018-11-08 14:03:05 Corey Bryant tags verification-needed verification-needed-cosmic verification-done verification-done-cosmic
2018-11-08 14:03:11 Corey Bryant tags verification-done verification-done-cosmic verification-done verification-done-cosmic verification-rocky-done
2018-11-09 04:17:58 Launchpad Janitor aodh (Ubuntu): status Fix Committed Fix Released
2018-11-12 18:31:04 Brian Murray removed subscriber Ubuntu Stable Release Updates Team
2018-11-12 18:31:02 Launchpad Janitor aodh (Ubuntu Cosmic): status Fix Committed Fix Released
2018-11-13 15:40:19 Corey Bryant cloud-archive: status Fix Committed Fix Released
2018-11-23 09:31:48 Liam Young charm-aodh: status New Invalid
2018-11-23 09:31:55 Liam Young oslo.i18n: status New Invalid
2018-11-28 18:29:38 Ben Nemec oslo.i18n: status Invalid Confirmed
2018-11-28 18:30:06 Ben Nemec oslo.i18n: importance Undecided Medium