)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":5046,"name":"Lance Bragstad","email":"lbragstad@redhat.com","username":"ldbragst"},"change_message_id":"77ef19effb1ef5ab1b2243e143eaa9d0982c2fe8","unresolved":false,"context_lines":[{"line_number":10,"context_line":"any exception and it makes operator to be confused when db_sync is failed"},{"line_number":11,"context_line":"since it does not emit any message at all."},{"line_number":12,"context_line":""},{"line_number":13,"context_line":"Print exception at the end of the any nova-manage command when exception"},{"line_number":14,"context_line":"occurs."},{"line_number":15,"context_line":""},{"line_number":16,"context_line":"Change-Id: I3e52e0ca012f3cca38e49849a2dd412111cdfa07"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":1,"id":"1f769fc5_4c02bfb6","line":13,"range":{"start_line":13,"start_character":38,"end_line":13,"end_character":42},"updated":"2018-12-27 21:57:22.000000000","message":"keystone*","commit_id":"6638dc786d3686ac88e550f32bf0321d3c44b901"},{"author":{"_account_id":26970,"name":"Yang Youseok","email":"ileixe@gmail.com","username":"ileixe"},"change_message_id":"21942c7cc0eedcf0b64446353af13305b5be7b0d","unresolved":false,"context_lines":[{"line_number":10,"context_line":"any exception and it makes operator to be confused when db_sync is failed"},{"line_number":11,"context_line":"since it does not emit any message at all."},{"line_number":12,"context_line":""},{"line_number":13,"context_line":"Print exception at the end of the any nova-manage command when exception"},{"line_number":14,"context_line":"occurs."},{"line_number":15,"context_line":""},{"line_number":16,"context_line":"Change-Id: I3e52e0ca012f3cca38e49849a2dd412111cdfa07"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":1,"id":"1f769fc5_4104b315","line":13,"range":{"start_line":13,"start_character":38,"end_line":13,"end_character":42},"in_reply_to":"1f769fc5_4c02bfb6","updated":"2019-01-02 01:36:44.000000000","message":"Done","commit_id":"6638dc786d3686ac88e550f32bf0321d3c44b901"}],"keystone/cmd/cli.py":[{"author":{"_account_id":5046,"name":"Lance Bragstad","email":"lbragstad@redhat.com","username":"ldbragst"},"change_message_id":"77ef19effb1ef5ab1b2243e143eaa9d0982c2fe8","unresolved":false,"context_lines":[{"line_number":1349,"context_line":"    keystone.conf.setup_logging()"},{"line_number":1350,"context_line":"    try:"},{"line_number":1351,"context_line":"        CONF.command.cmd_class.main()"},{"line_number":1352,"context_line":"    except Exception:"},{"line_number":1353,"context_line":"        print(_(\"An error has occurred:\\n%s\") % traceback.format_exc())"},{"line_number":1354,"context_line":"        return 1"}],"source_content_type":"text/x-python","patch_set":1,"id":"1f769fc5_ec138b0c","line":1352,"range":{"start_line":1352,"start_character":4,"end_line":1352,"end_character":21},"updated":"2018-12-27 21:57:22.000000000","message":"If we know the case we\u0027re dealing with is specific to sqlalchemy, then it would be nice to try target that exception specifically. Blanket try/excepts like this hard to debug since they are so broad in nature due to all exceptions subclassing Exception in some way.\n\nIs there a specific timeout exception we can use from sqlalchemy instead?","commit_id":"6638dc786d3686ac88e550f32bf0321d3c44b901"},{"author":{"_account_id":26970,"name":"Yang Youseok","email":"ileixe@gmail.com","username":"ileixe"},"change_message_id":"21942c7cc0eedcf0b64446353af13305b5be7b0d","unresolved":false,"context_lines":[{"line_number":1349,"context_line":"    keystone.conf.setup_logging()"},{"line_number":1350,"context_line":"    try:"},{"line_number":1351,"context_line":"        CONF.command.cmd_class.main()"},{"line_number":1352,"context_line":"    except Exception:"},{"line_number":1353,"context_line":"        print(_(\"An error has occurred:\\n%s\") % traceback.format_exc())"},{"line_number":1354,"context_line":"        return 1"}],"source_content_type":"text/x-python","patch_set":1,"id":"1f769fc5_a1126757","line":1352,"range":{"start_line":1352,"start_character":4,"end_line":1352,"end_character":21},"in_reply_to":"1f769fc5_ec138b0c","updated":"2019-01-02 01:36:44.000000000","message":"It\u0027s ImportError when operator use pymysql for the DB connection.\n\n  # keystone-manage --debug db_version\nTraceback (most recent call last):\n  File \"/opt/openstack/src/keystone/keystone/cmd/manage.py\", line 45, in main\n    cli.main(argv\u003dsys.argv, config_files\u003dconfig_files)\n  File \"/opt/openstack/src/keystone/keystone/cmd/cli.py\", line 1312, in main\n    CONF.command.cmd_class.main()\n  File \"/opt/openstack/src/keystone/keystone/cmd/cli.py\", line 489, in main\n    print(upgrades.get_db_version())\n  File \"/opt/openstack/src/keystone/keystone/common/sql/upgrades.py\", line 257, in get_db_version\n    with sql.session_for_read() as session:\n  File \"/opt/pyenv/versions/2.7.12/lib/python2.7/contextlib.py\", line 17, in __enter__\n    return self.gen.next()\n  File \"/opt/openstack/lib/python2.7/site-packages/oslo_db/sqlalchemy/enginefacade.py\", line 944, in _transaction_scope\n    allow_async\u003dself._allow_async) as resource:\n  File \"/opt/pyenv/versions/2.7.12/lib/python2.7/contextlib.py\", line 17, in __enter__\n    return self.gen.next()\n  File \"/opt/openstack/lib/python2.7/site-packages/oslo_db/sqlalchemy/enginefacade.py\", line 558, in _session\n    bind\u003dself.connection, mode\u003dself.mode)\n  File \"/opt/openstack/lib/python2.7/site-packages/oslo_db/sqlalchemy/enginefacade.py\", line 317, in _create_session\n    self._start()\n  File \"/opt/openstack/lib/python2.7/site-packages/oslo_db/sqlalchemy/enginefacade.py\", line 403, in _start\n    engine_args, maker_args)\n  File \"/opt/openstack/lib/python2.7/site-packages/oslo_db/sqlalchemy/enginefacade.py\", line 427, in _setup_for_connection\n    sql_connection\u003dsql_connection, **engine_kwargs)\n  File \"/opt/openstack/lib/python2.7/site-packages/oslo_db/sqlalchemy/engines.py\", line 134, in create_engine\n    engine \u003d sqlalchemy.create_engine(url, **engine_args)\n  File \"/opt/openstack/lib/python2.7/site-packages/sqlalchemy/engine/__init__.py\", line 386, in create_engine\n    return strategy.create(*args, **kwargs)\n  File \"/opt/openstack/lib/python2.7/site-packages/sqlalchemy/engine/strategies.py\", line 75, in create\n    dbapi \u003d dialect_cls.dbapi(**dbapi_args)\n  File \"/opt/openstack/lib/python2.7/site-packages/sqlalchemy/dialects/mysql/pymysql.py\", line 49, in dbapi\n    return __import__(\u0027pymysql\u0027)\n  ImportError: No module named pymsql\n\n\nI agree that the empty exception should be avoided, but I\u0027m not sure where I can add the debugging message. Currently, It just exited without any message and it makes confusing for me. I wonder how other project deal with it, and nova made empty exception check like   this. \n\nMay I add ImportError instead of Exception?","commit_id":"6638dc786d3686ac88e550f32bf0321d3c44b901"},{"author":{"_account_id":8482,"name":"Colleen Murphy","email":"colleen@gazlene.net","username":"krinkle"},"change_message_id":"f223aab4af6984a261d1c9777db26fc15a09b35f","unresolved":false,"context_lines":[{"line_number":1351,"context_line":"        CONF.command.cmd_class.main()"},{"line_number":1352,"context_line":"    except Exception:"},{"line_number":1353,"context_line":"        print(_(\"An error has occurred:\\n%s\") % traceback.format_exc())"},{"line_number":1354,"context_line":"        return 1"}],"source_content_type":"text/x-python","patch_set":3,"id":"1f769fc5_3e0e6d32","line":1354,"updated":"2019-01-02 10:09:19.000000000","message":"Any uncaught exception will already emit a traceback to the user, example: http://paste.openstack.org/show/739812/\n\nI feel that we should not actually be emitting tracebacks to the user, rather we should catch exceptions where they arise - not as a catch-all in this main function - and emit appropriate and helpful error messages, not tracebacks.","commit_id":"8bec9bdaa90d9ad1c4bc1780848e78b641227f66"}],"releasenotes/notes/bug-1809779-f400f369cf5e2584.yaml":[{"author":{"_account_id":8482,"name":"Colleen Murphy","email":"colleen@gazlene.net","username":"krinkle"},"change_message_id":"f223aab4af6984a261d1c9777db26fc15a09b35f","unresolved":false,"context_lines":[{"line_number":1,"context_line":"---"},{"line_number":2,"context_line":"fixes:"},{"line_number":3,"context_line":"  - |"},{"line_number":4,"context_line":"    Catch all exceptions at the end of the nova-manage commands and print"},{"line_number":5,"context_line":"    traceback. It makes unexpected exceptions to be printed for debugging."}],"source_content_type":"text/x-yaml","patch_set":3,"id":"1f769fc5_9b31d30e","line":4,"range":{"start_line":4,"start_character":43,"end_line":4,"end_character":54},"updated":"2019-01-02 10:09:19.000000000","message":"keystone-manage","commit_id":"8bec9bdaa90d9ad1c4bc1780848e78b641227f66"}]}
