)]}'
{"bin/trove-taskmanager":[{"author":{"_account_id":8188,"name":"Ilya Sviridov","email":"sviridov.ilya@gmail.com","username":"isviridov"},"change_message_id":"cfc99729780b1ca7ca90fde135767bc7ed6ea69f","unresolved":false,"context_lines":[{"line_number":49,"context_line":"    cfg.parse_args(sys.argv)"},{"line_number":50,"context_line":"    logging.setup(None)"},{"line_number":51,"context_line":""},{"line_number":52,"context_line":"    debug_utils.setup()"},{"line_number":53,"context_line":""},{"line_number":54,"context_line":"    # Patch \u0027thread\u0027 module if debug is disabled"},{"line_number":55,"context_line":"    if not debug_utils.enabled():"}],"source_content_type":"application/octet-stream","patch_set":3,"id":"AAAASn%2F%2Fd6I%3D","line":52,"updated":"2013-09-04 13:35:29.000000000","message":"Why not to move it to debug_utils and call during import?","commit_id":"91a19439b3360db2b284e758629102b96dc2f70a"},{"author":{"_account_id":8601,"name":"Dmitriy Ukhlov","email":"dukhlov@mirantis.com","username":"dukhlov"},"change_message_id":"efc5301771a56073642698a42d68bcd46a471f45","unresolved":false,"context_lines":[{"line_number":49,"context_line":"    cfg.parse_args(sys.argv)"},{"line_number":50,"context_line":"    logging.setup(None)"},{"line_number":51,"context_line":""},{"line_number":52,"context_line":"    debug_utils.setup()"},{"line_number":53,"context_line":""},{"line_number":54,"context_line":"    # Patch \u0027thread\u0027 module if debug is disabled"},{"line_number":55,"context_line":"    if not debug_utils.enabled():"}],"source_content_type":"application/octet-stream","patch_set":3,"id":"AAAASn%2F%2Fdv8%3D","line":52,"in_reply_to":"AAAASn%2F%2Fd6I%3D","updated":"2013-09-04 14:02:52.000000000","message":"Because it is necessary to perform remote debugger setup when config options are parsed (after cfg.parse_args(sys.argv)). If we move setup code to debug_utils module initialization, we need to make in additional the next:\n1) import debug_utils module only after   \u0027cfg.parse_args(sys.argv)\u0027 line\n2) move configuration option registration from debug_utils to trove/common.cfg (because its should be registered before \u0027cfg.parse_args(sys.argv)\u0027 line)\n\nSo I guess current solution is resonable","commit_id":"91a19439b3360db2b284e758629102b96dc2f70a"},{"author":{"_account_id":8415,"name":"Denis M.","email":"lildee1991@gmail.com","username":"dmakogon"},"change_message_id":"40bc1fc6b763cc21e6d51008d5181b673cd51e12","unresolved":false,"context_lines":[{"line_number":58,"context_line":"    from trove.common import rpc"},{"line_number":59,"context_line":"    from trove.openstack.common import service"},{"line_number":60,"context_line":"    from trove.db import get_db_api"},{"line_number":61,"context_line":""},{"line_number":62,"context_line":"    try:"},{"line_number":63,"context_line":"        get_db_api().configure_db(CONF)"},{"line_number":64,"context_line":"        server \u003d rpc.RpcService(manager\u003dCONF.taskmanager_manager)"}],"source_content_type":"application/octet-stream","patch_set":7,"id":"AAAAS3%2F%2Fj0k%3D","line":61,"updated":"2013-09-24 17:28:32.000000000","message":"Should be this imports placed few lines above ?","commit_id":"f45b6dd1779db9242c0f26e411af0157b4a4d077"},{"author":{"_account_id":1375,"name":"Ed Cranford","email":"ed.cranford@gmail.com","username":"ed--cranford"},"change_message_id":"b2d5750e42b266e6dac47d72564159462dc68248","unresolved":false,"context_lines":[{"line_number":27,"context_line":"from trove.openstack.common import log as logging"},{"line_number":28,"context_line":"from trove.common import debug_utils"},{"line_number":29,"context_line":""},{"line_number":30,"context_line":"# Apply whole eventlet.mankey_patch excluding \u0027thread\u0027 module."},{"line_number":31,"context_line":"# Decision for \u0027thread\u0027 module patching will be made"},{"line_number":32,"context_line":"# after debug_utils setting up"},{"line_number":33,"context_line":"eventlet.monkey_patch(all\u003dTrue, thread\u003dFalse)"}],"source_content_type":"application/octet-stream","patch_set":8,"id":"AAAAS3%2F%2FO%2FM%3D","line":30,"updated":"2013-10-01 20:05:30.000000000","message":"You probably meant monkey_patch.","commit_id":"f642220909b5871a7796110ad0548ad1453e3074"}],"etc/trove/trove-taskmanager.conf.sample":[{"author":{"_account_id":7593,"name":"Haomai Wang","email":"haomaiwang@gmail.com","username":"HaomaiWang"},"change_message_id":"583a56b87adc865749c37744775e21829991a950","unresolved":false,"context_lines":[{"line_number":86,"context_line":"#log_dir \u003d /integration/report"},{"line_number":87,"context_line":"#log_file \u003d trove-taskmanager.log"},{"line_number":88,"context_line":""},{"line_number":89,"context_line":"# \u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d PyDev remote dubugging \u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":90,"context_line":"pydev_debug \u003d auto"},{"line_number":91,"context_line":"#pydev_debug_host \u003d localhost"},{"line_number":92,"context_line":"#pydev_debug_port \u003d 5678"}],"source_content_type":"application/octet-stream","patch_set":5,"id":"AAAASn%2F%2FZm8%3D","line":89,"updated":"2013-09-05 06:21:13.000000000","message":"may need some comments about \u0027auto\u0027, \u0027enable\u0027, \u0027disable\u0027 copied from debug_utils.py","commit_id":"4809f04b13af02995250e343db351d8d5b69e466"},{"author":{"_account_id":8601,"name":"Dmitriy Ukhlov","email":"dukhlov@mirantis.com","username":"dukhlov"},"change_message_id":"7126bdc94ee19101cdab44396f6d0dae10130370","unresolved":false,"context_lines":[{"line_number":86,"context_line":"#log_dir \u003d /integration/report"},{"line_number":87,"context_line":"#log_file \u003d trove-taskmanager.log"},{"line_number":88,"context_line":""},{"line_number":89,"context_line":"# \u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d PyDev remote dubugging \u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":90,"context_line":"pydev_debug \u003d auto"},{"line_number":91,"context_line":"#pydev_debug_host \u003d localhost"},{"line_number":92,"context_line":"#pydev_debug_port \u003d 5678"}],"source_content_type":"application/octet-stream","patch_set":5,"id":"AAAASn%2F%2FX%2BM%3D","line":89,"in_reply_to":"AAAASn%2F%2FZm8%3D","updated":"2013-09-05 14:31:29.000000000","message":"ok, will be fixed in case of other important change","commit_id":"4809f04b13af02995250e343db351d8d5b69e466"},{"author":{"_account_id":1375,"name":"Ed Cranford","email":"ed.cranford@gmail.com","username":"ed--cranford"},"change_message_id":"03a2d9513264f086a6ac77721c5e1d14a4745ade","unresolved":false,"context_lines":[{"line_number":98,"context_line":"#pydev_debug_host \u003d localhost"},{"line_number":99,"context_line":"#pydev_debug_port \u003d 5678"},{"line_number":100,"context_line":""},{"line_number":101,"context_line":"# path to pydevd library. It will be used if pydevd is absent in sys.path "},{"line_number":102,"context_line":"#pydev_path \u003d \u003cpath\u003e"}],"source_content_type":"application/octet-stream","patch_set":6,"id":"AAAAS3%2F%2F9Cg%3D","line":101,"updated":"2013-09-16 16:43:38.000000000","message":"Trailing whitespace","commit_id":"729e4e4b103641b5bc0130f316a97322d15f4f15"},{"author":{"_account_id":739,"name":"Michael Basnight","email":"mbasnight@gmail.com","username":"hubcap"},"change_message_id":"46ebe182d61ab4ca86d447b68adf46e0f4c68271","unresolved":false,"context_lines":[{"line_number":92,"context_line":"# There are three values allowed: \u0027disable\u0027, \u0027enable\u0027 and \u0027auto\u0027"},{"line_number":93,"context_line":"# If value is \u0027auto\u0027 tries to connect to remote debugger server,"},{"line_number":94,"context_line":"# but in case of error continue running with disabled debugging"},{"line_number":95,"context_line":"pydev_debug \u003d auto"},{"line_number":96,"context_line":""},{"line_number":97,"context_line":"# remote debug server host and port options"},{"line_number":98,"context_line":"#pydev_debug_host \u003d localhost"}],"source_content_type":"application/octet-stream","patch_set":7,"id":"AAAAS3%2F%2FjzU%3D","line":95,"updated":"2013-09-24 17:32:23.000000000","message":"Id prefer to not set up debugging by default in the config. Can we set this to disable, or even comment it out and let the default config value work. Id prefer to comment it out.","commit_id":"f45b6dd1779db9242c0f26e411af0157b4a4d077"}],"trove/common/debug_utils.py":[{"author":{"_account_id":8491,"name":"Illia Khudoshyn","email":"ikhudoshyn@mirantis.com","username":"ikhudoshyn"},"change_message_id":"aafd4f8b4a0aa7dd7c5bd2bc7432d1600c84b026","unresolved":false,"context_lines":[{"line_number":24,"context_line":""},{"line_number":25,"context_line":"__debug_state \u003d None"},{"line_number":26,"context_line":""},{"line_number":27,"context_line":"pydev_dubug_opts \u003d ["},{"line_number":28,"context_line":"    cfg.StrOpt(\"pydev_debug\","},{"line_number":29,"context_line":"               choices\u003d(\"disabled\", \"enabled\", \"auto\"),"},{"line_number":30,"context_line":"               default\u003d\"disabled\","}],"source_content_type":"text/x-python","patch_set":3,"id":"AAAASn%2F%2Fdcs%3D","line":27,"updated":"2013-09-04 14:46:11.000000000","message":"is it a typo? or you mean it?","commit_id":"91a19439b3360db2b284e758629102b96dc2f70a"},{"author":{"_account_id":7593,"name":"Haomai Wang","email":"haomaiwang@gmail.com","username":"HaomaiWang"},"change_message_id":"583a56b87adc865749c37744775e21829991a950","unresolved":false,"context_lines":[{"line_number":16,"context_line":""},{"line_number":17,"context_line":"\"\"\"Help utilities for debugging\"\"\""},{"line_number":18,"context_line":""},{"line_number":19,"context_line":"import sys"},{"line_number":20,"context_line":"from oslo.config import cfg"},{"line_number":21,"context_line":"from trove.openstack.common import log"},{"line_number":22,"context_line":"LOG \u003d log.getLogger(__name__)"}],"source_content_type":"text/x-python","patch_set":5,"id":"AAAASn%2F%2FZnc%3D","line":19,"updated":"2013-09-05 06:21:13.000000000","message":"one blank line","commit_id":"4809f04b13af02995250e343db351d8d5b69e466"},{"author":{"_account_id":8601,"name":"Dmitriy Ukhlov","email":"dukhlov@mirantis.com","username":"dukhlov"},"change_message_id":"7126bdc94ee19101cdab44396f6d0dae10130370","unresolved":false,"context_lines":[{"line_number":16,"context_line":""},{"line_number":17,"context_line":"\"\"\"Help utilities for debugging\"\"\""},{"line_number":18,"context_line":""},{"line_number":19,"context_line":"import sys"},{"line_number":20,"context_line":"from oslo.config import cfg"},{"line_number":21,"context_line":"from trove.openstack.common import log"},{"line_number":22,"context_line":"LOG \u003d log.getLogger(__name__)"}],"source_content_type":"text/x-python","patch_set":5,"id":"AAAASn%2F%2FX%2BY%3D","line":19,"in_reply_to":"AAAASn%2F%2FZnc%3D","updated":"2013-09-05 14:31:29.000000000","message":"ok, will be fixed in case of other important change","commit_id":"4809f04b13af02995250e343db351d8d5b69e466"},{"author":{"_account_id":7593,"name":"Haomai Wang","email":"haomaiwang@gmail.com","username":"HaomaiWang"},"change_message_id":"583a56b87adc865749c37744775e21829991a950","unresolved":false,"context_lines":[{"line_number":18,"context_line":""},{"line_number":19,"context_line":"import sys"},{"line_number":20,"context_line":"from oslo.config import cfg"},{"line_number":21,"context_line":"from trove.openstack.common import log"},{"line_number":22,"context_line":"LOG \u003d log.getLogger(__name__)"},{"line_number":23,"context_line":"CONF \u003d cfg.CONF"},{"line_number":24,"context_line":""}],"source_content_type":"text/x-python","patch_set":5,"id":"AAAASn%2F%2FZnM%3D","line":21,"updated":"2013-09-05 06:21:13.000000000","message":"ditto","commit_id":"4809f04b13af02995250e343db351d8d5b69e466"},{"author":{"_account_id":8601,"name":"Dmitriy Ukhlov","email":"dukhlov@mirantis.com","username":"dukhlov"},"change_message_id":"7126bdc94ee19101cdab44396f6d0dae10130370","unresolved":false,"context_lines":[{"line_number":18,"context_line":""},{"line_number":19,"context_line":"import sys"},{"line_number":20,"context_line":"from oslo.config import cfg"},{"line_number":21,"context_line":"from trove.openstack.common import log"},{"line_number":22,"context_line":"LOG \u003d log.getLogger(__name__)"},{"line_number":23,"context_line":"CONF \u003d cfg.CONF"},{"line_number":24,"context_line":""}],"source_content_type":"text/x-python","patch_set":5,"id":"AAAASn%2F%2FX%2B0%3D","line":21,"in_reply_to":"AAAASn%2F%2FZnM%3D","updated":"2013-09-05 14:31:29.000000000","message":"ok, will be fixed in case of other important change","commit_id":"4809f04b13af02995250e343db351d8d5b69e466"},{"author":{"_account_id":7593,"name":"Haomai Wang","email":"haomaiwang@gmail.com","username":"HaomaiWang"},"change_message_id":"585e5595306540cc45f699fedd383b28dc388e1c","unresolved":false,"context_lines":[{"line_number":17,"context_line":"\"\"\"Help utilities for debugging\"\"\""},{"line_number":18,"context_line":""},{"line_number":19,"context_line":"import sys"},{"line_number":20,"context_line":""},{"line_number":21,"context_line":""},{"line_number":22,"context_line":"from oslo.config import cfg"},{"line_number":23,"context_line":"from trove.openstack.common import log"}],"source_content_type":"text/x-python","patch_set":6,"id":"AAAAS3%2F%2F5dA%3D","line":20,"updated":"2013-09-17 14:31:10.000000000","message":"extra blank line","commit_id":"729e4e4b103641b5bc0130f316a97322d15f4f15"},{"author":{"_account_id":7593,"name":"Haomai Wang","email":"haomaiwang@gmail.com","username":"HaomaiWang"},"change_message_id":"585e5595306540cc45f699fedd383b28dc388e1c","unresolved":false,"context_lines":[{"line_number":19,"context_line":"import sys"},{"line_number":20,"context_line":""},{"line_number":21,"context_line":""},{"line_number":22,"context_line":"from oslo.config import cfg"},{"line_number":23,"context_line":"from trove.openstack.common import log"},{"line_number":24,"context_line":""},{"line_number":25,"context_line":""}],"source_content_type":"text/x-python","patch_set":6,"id":"AAAAS3%2F%2F5c4%3D","line":22,"updated":"2013-09-17 14:31:10.000000000","message":"need blank line","commit_id":"729e4e4b103641b5bc0130f316a97322d15f4f15"},{"author":{"_account_id":7593,"name":"Haomai Wang","email":"haomaiwang@gmail.com","username":"HaomaiWang"},"change_message_id":"585e5595306540cc45f699fedd383b28dc388e1c","unresolved":false,"context_lines":[{"line_number":99,"context_line":"            pydev_debug_host\u003dpydev_debug_host,"},{"line_number":100,"context_line":"            pydev_debug_port\u003dpydev_debug_port,"},{"line_number":101,"context_line":"            pydev_path\u003dpydev_path)"},{"line_number":102,"context_line":"    except Exception, e:"},{"line_number":103,"context_line":"        LOG.info(\"Cann\u0027t connect to remote debug server. Continue working in \""},{"line_number":104,"context_line":"                 \"standard mode. Error: %s\", e)"},{"line_number":105,"context_line":"        return False"}],"source_content_type":"text/x-python","patch_set":6,"id":"AAAAS3%2F%2F5bs%3D","line":102,"updated":"2013-09-17 14:31:10.000000000","message":"I suppose to adopt python3 compatibility\nexcept Exception as e:","commit_id":"729e4e4b103641b5bc0130f316a97322d15f4f15"},{"author":{"_account_id":1375,"name":"Ed Cranford","email":"ed.cranford@gmail.com","username":"ed--cranford"},"change_message_id":"b2d5750e42b266e6dac47d72564159462dc68248","unresolved":false,"context_lines":[{"line_number":128,"context_line":"        import pydevd"},{"line_number":129,"context_line":"        LOG.debug(\"pydevd module was imported from system path\")"},{"line_number":130,"context_line":"    except ImportError:"},{"line_number":131,"context_line":"        LOG.debug(\"Cann\u0027t load pydevd module from system path. Try load it \""},{"line_number":132,"context_line":"                  \"from pydev_path: %s\", pydev_path)"},{"line_number":133,"context_line":"        assert pydev_path, \"pydev_path is not set\""},{"line_number":134,"context_line":"        if pydev_path not in sys.path:"}],"source_content_type":"text/x-python","patch_set":8,"id":"AAAAS3%2F%2FO%2F0%3D","line":131,"updated":"2013-10-01 20:05:30.000000000","message":"Should probably be \"Cannot\" or \"Can\u0027t\"","commit_id":"f642220909b5871a7796110ad0548ad1453e3074"}]}
