)]}'
{"ceilometer/agent/manager.py":[{"author":{"_account_id":22739,"name":"Zhuangqing Xiao","email":"zhuangqing.xiao@easystack.cn","username":"xiaozhuangqing"},"change_message_id":"b6eccc741de0ff460dac75a9dfdaf3c35b2511e5","unresolved":false,"context_lines":[{"line_number":303,"context_line":"            # Extension raising ExtensionLoadError can be ignored,"},{"line_number":304,"context_line":"            # and ignore anything we can\u0027t import as a safety measure."},{"line_number":305,"context_line":"            if isinstance(exc, plugin_base.ExtensionLoadError):"},{"line_number":306,"context_line":"                LOG.exception(_(\"Skip loading extension for %s\") % ep.name)"},{"line_number":307,"context_line":"                return"},{"line_number":308,"context_line":"            if isinstance(exc, ImportError):"},{"line_number":309,"context_line":"                LOG.error(_(\"Failed to import extension for %(name)s: \""}],"source_content_type":"text/x-python","patch_set":6,"id":"fa7ab95a_785bb787","line":306,"range":{"start_line":306,"start_character":65,"end_line":306,"end_character":66},"updated":"2016-08-29 06:21:12.000000000","message":"miss this","commit_id":"071049c763d2be452ec98bcf2d59c5f2e09c6cf0"},{"author":{"_account_id":22998,"name":"XueFengLiu","email":"liu.xuefeng1@zte.com.cn","username":"sgfeng"},"change_message_id":"199c3ca027ed60bad372803b1d2c7ef23fb37b5b","unresolved":false,"context_lines":[{"line_number":303,"context_line":"            # Extension raising ExtensionLoadError can be ignored,"},{"line_number":304,"context_line":"            # and ignore anything we can\u0027t import as a safety measure."},{"line_number":305,"context_line":"            if isinstance(exc, plugin_base.ExtensionLoadError):"},{"line_number":306,"context_line":"                LOG.exception(_(\"Skip loading extension for %s\") % ep.name)"},{"line_number":307,"context_line":"                return"},{"line_number":308,"context_line":"            if isinstance(exc, ImportError):"},{"line_number":309,"context_line":"                LOG.error(_(\"Failed to import extension for %(name)s: \""}],"source_content_type":"text/x-python","patch_set":6,"id":"fa7ab95a_0b33f3ab","line":306,"range":{"start_line":306,"start_character":65,"end_line":306,"end_character":66},"in_reply_to":"fa7ab95a_1ce36a34","updated":"2016-08-30 02:52:54.000000000","message":"LOG.exception(_LE(\"Skip loading extension for %s\"), ep.name)","commit_id":"071049c763d2be452ec98bcf2d59c5f2e09c6cf0"},{"author":{"_account_id":6537,"name":"gordon chung","email":"gord@live.ca","username":"chungg"},"change_message_id":"a56dec54ffb6714adf7419564fecb85669293de7","unresolved":false,"context_lines":[{"line_number":303,"context_line":"            # Extension raising ExtensionLoadError can be ignored,"},{"line_number":304,"context_line":"            # and ignore anything we can\u0027t import as a safety measure."},{"line_number":305,"context_line":"            if isinstance(exc, plugin_base.ExtensionLoadError):"},{"line_number":306,"context_line":"                LOG.exception(_(\"Skip loading extension for %s\") % ep.name)"},{"line_number":307,"context_line":"                return"},{"line_number":308,"context_line":"            if isinstance(exc, ImportError):"},{"line_number":309,"context_line":"                LOG.error(_(\"Failed to import extension for %(name)s: \""}],"source_content_type":"text/x-python","patch_set":6,"id":"fa7ab95a_1ce36a34","line":306,"range":{"start_line":306,"start_character":65,"end_line":306,"end_character":66},"in_reply_to":"fa7ab95a_591c3577","updated":"2016-08-29 12:35:05.000000000","message":"yes, also add _LE if you can.","commit_id":"071049c763d2be452ec98bcf2d59c5f2e09c6cf0"},{"author":{"_account_id":22998,"name":"XueFengLiu","email":"liu.xuefeng1@zte.com.cn","username":"sgfeng"},"change_message_id":"11df35963ba167d8879c0e5ae79c83581c964b20","unresolved":false,"context_lines":[{"line_number":303,"context_line":"            # Extension raising ExtensionLoadError can be ignored,"},{"line_number":304,"context_line":"            # and ignore anything we can\u0027t import as a safety measure."},{"line_number":305,"context_line":"            if isinstance(exc, plugin_base.ExtensionLoadError):"},{"line_number":306,"context_line":"                LOG.exception(_(\"Skip loading extension for %s\") % ep.name)"},{"line_number":307,"context_line":"                return"},{"line_number":308,"context_line":"            if isinstance(exc, ImportError):"},{"line_number":309,"context_line":"                LOG.error(_(\"Failed to import extension for %(name)s: \""}],"source_content_type":"text/x-python","patch_set":6,"id":"fa7ab95a_9ea943e2","line":306,"range":{"start_line":306,"start_character":65,"end_line":306,"end_character":66},"in_reply_to":"fa7ab95a_785bb787","updated":"2016-08-29 06:57:04.000000000","message":"OK","commit_id":"071049c763d2be452ec98bcf2d59c5f2e09c6cf0"},{"author":{"_account_id":22998,"name":"XueFengLiu","email":"liu.xuefeng1@zte.com.cn","username":"sgfeng"},"change_message_id":"7bf2de559ecb7c2248031a9dc3fc7ad3dc399ff6","unresolved":false,"context_lines":[{"line_number":303,"context_line":"            # Extension raising ExtensionLoadError can be ignored,"},{"line_number":304,"context_line":"            # and ignore anything we can\u0027t import as a safety measure."},{"line_number":305,"context_line":"            if isinstance(exc, plugin_base.ExtensionLoadError):"},{"line_number":306,"context_line":"                LOG.exception(_(\"Skip loading extension for %s\") % ep.name)"},{"line_number":307,"context_line":"                return"},{"line_number":308,"context_line":"            if isinstance(exc, ImportError):"},{"line_number":309,"context_line":"                LOG.error(_(\"Failed to import extension for %(name)s: \""}],"source_content_type":"text/x-python","patch_set":6,"id":"fa7ab95a_591c3577","line":306,"range":{"start_line":306,"start_character":65,"end_line":306,"end_character":66},"in_reply_to":"fa7ab95a_9ea943e2","updated":"2016-08-29 07:46:15.000000000","message":"LOG.exception(_(\"Skip loading extension for %s\"), ep.name) ?","commit_id":"071049c763d2be452ec98bcf2d59c5f2e09c6cf0"},{"author":{"_account_id":6537,"name":"gordon chung","email":"gord@live.ca","username":"chungg"},"change_message_id":"a56dec54ffb6714adf7419564fecb85669293de7","unresolved":false,"context_lines":[{"line_number":506,"context_line":"                    LOG.error(_LE(\u0027Skipping %(name)s, keystone issue: \u0027"},{"line_number":507,"context_line":"                                  \u0027%(exc)s\u0027), {\u0027name\u0027: name, \u0027exc\u0027: e})"},{"line_number":508,"context_line":"                except Exception as err:"},{"line_number":509,"context_line":"                    LOG.exception(_(\u0027Unable to discover resources: %s\u0027) % err)"},{"line_number":510,"context_line":"            else:"},{"line_number":511,"context_line":"                LOG.warning(_LW(\u0027Unknown discovery extension: %s\u0027), name)"},{"line_number":512,"context_line":"        return resources"}],"source_content_type":"text/x-python","patch_set":6,"id":"fa7ab95a_5cd7b24a","line":509,"updated":"2016-08-29 12:35:05.000000000","message":"same as above","commit_id":"071049c763d2be452ec98bcf2d59c5f2e09c6cf0"},{"author":{"_account_id":22998,"name":"XueFengLiu","email":"liu.xuefeng1@zte.com.cn","username":"sgfeng"},"change_message_id":"0d77a57f0e1a4cf6af1457aac7624ba6d5ad0e22","unresolved":false,"context_lines":[{"line_number":506,"context_line":"                    LOG.error(_LE(\u0027Skipping %(name)s, keystone issue: \u0027"},{"line_number":507,"context_line":"                                  \u0027%(exc)s\u0027), {\u0027name\u0027: name, \u0027exc\u0027: e})"},{"line_number":508,"context_line":"                except Exception as err:"},{"line_number":509,"context_line":"                    LOG.exception(_(\u0027Unable to discover resources: %s\u0027) % err)"},{"line_number":510,"context_line":"            else:"},{"line_number":511,"context_line":"                LOG.warning(_LW(\u0027Unknown discovery extension: %s\u0027), name)"},{"line_number":512,"context_line":"        return resources"}],"source_content_type":"text/x-python","patch_set":6,"id":"fa7ab95a_93ac438e","line":509,"in_reply_to":"fa7ab95a_0b0cd3eb","updated":"2016-08-31 07:07:36.000000000","message":"When I modify to \"LOG.exception(_LE(\u0027Unable to discover resources: %s\u0027), err)\",tox can\u0027t pass.","commit_id":"071049c763d2be452ec98bcf2d59c5f2e09c6cf0"},{"author":{"_account_id":22998,"name":"XueFengLiu","email":"liu.xuefeng1@zte.com.cn","username":"sgfeng"},"change_message_id":"199c3ca027ed60bad372803b1d2c7ef23fb37b5b","unresolved":false,"context_lines":[{"line_number":506,"context_line":"                    LOG.error(_LE(\u0027Skipping %(name)s, keystone issue: \u0027"},{"line_number":507,"context_line":"                                  \u0027%(exc)s\u0027), {\u0027name\u0027: name, \u0027exc\u0027: e})"},{"line_number":508,"context_line":"                except Exception as err:"},{"line_number":509,"context_line":"                    LOG.exception(_(\u0027Unable to discover resources: %s\u0027) % err)"},{"line_number":510,"context_line":"            else:"},{"line_number":511,"context_line":"                LOG.warning(_LW(\u0027Unknown discovery extension: %s\u0027), name)"},{"line_number":512,"context_line":"        return resources"}],"source_content_type":"text/x-python","patch_set":6,"id":"fa7ab95a_0b0cd3eb","line":509,"in_reply_to":"fa7ab95a_5cd7b24a","updated":"2016-08-30 02:52:54.000000000","message":"Got it.\nLOG.exception(_LE(\u0027Unable to discover resources: %s\u0027), err)","commit_id":"071049c763d2be452ec98bcf2d59c5f2e09c6cf0"},{"author":{"_account_id":6537,"name":"gordon chung","email":"gord@live.ca","username":"chungg"},"change_message_id":"583a341135b477fe99d6a8817a49f423c42afd3a","unresolved":false,"context_lines":[{"line_number":303,"context_line":"            # Extension raising ExtensionLoadError can be ignored,"},{"line_number":304,"context_line":"            # and ignore anything we can\u0027t import as a safety measure."},{"line_number":305,"context_line":"            if isinstance(exc, plugin_base.ExtensionLoadError):"},{"line_number":306,"context_line":"                LOG.exception(_LE(\"Skip loading extension for %s\") % ep.name)"},{"line_number":307,"context_line":"                return"},{"line_number":308,"context_line":"            if isinstance(exc, ImportError):"},{"line_number":309,"context_line":"                LOG.error(_(\"Failed to import extension for %(name)s: \""}],"source_content_type":"text/x-python","patch_set":8,"id":"fa7ab95a_80bf52fb","line":306,"range":{"start_line":306,"start_character":66,"end_line":306,"end_character":68},"updated":"2016-08-31 19:23:08.000000000","message":"you forgot to change this s/%/,/","commit_id":"8c9c11d5c7c7c8257d5f081d1a1ab1751478d603"},{"author":{"_account_id":22998,"name":"XueFengLiu","email":"liu.xuefeng1@zte.com.cn","username":"sgfeng"},"change_message_id":"5d0c8202ef028e45e68fa53163020205efc52fc8","unresolved":false,"context_lines":[{"line_number":303,"context_line":"            # Extension raising ExtensionLoadError can be ignored,"},{"line_number":304,"context_line":"            # and ignore anything we can\u0027t import as a safety measure."},{"line_number":305,"context_line":"            if isinstance(exc, plugin_base.ExtensionLoadError):"},{"line_number":306,"context_line":"                LOG.exception(_LE(\"Skip loading extension for %s\") % ep.name)"},{"line_number":307,"context_line":"                return"},{"line_number":308,"context_line":"            if isinstance(exc, ImportError):"},{"line_number":309,"context_line":"                LOG.error(_(\"Failed to import extension for %(name)s: \""}],"source_content_type":"text/x-python","patch_set":8,"id":"9a89bdaa_5e332962","line":306,"range":{"start_line":306,"start_character":66,"end_line":306,"end_character":68},"in_reply_to":"9a89bdaa_270667ce","updated":"2016-09-07 00:31:04.000000000","message":"Yes,it is.\nIf need, I will researsh how to fix this test later.","commit_id":"8c9c11d5c7c7c8257d5f081d1a1ab1751478d603"},{"author":{"_account_id":6537,"name":"gordon chung","email":"gord@live.ca","username":"chungg"},"change_message_id":"1df23da3e6f410eb97d8b3a55dd64a3d31c86e37","unresolved":false,"context_lines":[{"line_number":303,"context_line":"            # Extension raising ExtensionLoadError can be ignored,"},{"line_number":304,"context_line":"            # and ignore anything we can\u0027t import as a safety measure."},{"line_number":305,"context_line":"            if isinstance(exc, plugin_base.ExtensionLoadError):"},{"line_number":306,"context_line":"                LOG.exception(_LE(\"Skip loading extension for %s\") % ep.name)"},{"line_number":307,"context_line":"                return"},{"line_number":308,"context_line":"            if isinstance(exc, ImportError):"},{"line_number":309,"context_line":"                LOG.error(_(\"Failed to import extension for %(name)s: \""}],"source_content_type":"text/x-python","patch_set":8,"id":"9a89bdaa_270667ce","line":306,"range":{"start_line":306,"start_character":66,"end_line":306,"end_character":68},"in_reply_to":"9a89bdaa_2b25c4aa","updated":"2016-09-06 19:08:31.000000000","message":"fix the test?","commit_id":"8c9c11d5c7c7c8257d5f081d1a1ab1751478d603"},{"author":{"_account_id":22998,"name":"XueFengLiu","email":"liu.xuefeng1@zte.com.cn","username":"sgfeng"},"change_message_id":"c5b06c129cb6053e929b12e6b2ad895023e2234f","unresolved":false,"context_lines":[{"line_number":303,"context_line":"            # Extension raising ExtensionLoadError can be ignored,"},{"line_number":304,"context_line":"            # and ignore anything we can\u0027t import as a safety measure."},{"line_number":305,"context_line":"            if isinstance(exc, plugin_base.ExtensionLoadError):"},{"line_number":306,"context_line":"                LOG.exception(_LE(\"Skip loading extension for %s\") % ep.name)"},{"line_number":307,"context_line":"                return"},{"line_number":308,"context_line":"            if isinstance(exc, ImportError):"},{"line_number":309,"context_line":"                LOG.error(_(\"Failed to import extension for %(name)s: \""}],"source_content_type":"text/x-python","patch_set":8,"id":"9a89bdaa_9e2851e4","line":306,"range":{"start_line":306,"start_character":66,"end_line":306,"end_character":68},"in_reply_to":"9a89bdaa_5e332962","updated":"2016-09-07 00:32:21.000000000","message":"Yes,it is.\nIf need, I will research how to fix this test later.","commit_id":"8c9c11d5c7c7c8257d5f081d1a1ab1751478d603"},{"author":{"_account_id":2813,"name":"Mehdi Abaakouk","email":"sileht@sileht.net","username":"sileht"},"change_message_id":"4f4fddac2b9ecbed9015b29f521d42c30ec2038f","unresolved":false,"context_lines":[{"line_number":303,"context_line":"            # Extension raising ExtensionLoadError can be ignored,"},{"line_number":304,"context_line":"            # and ignore anything we can\u0027t import as a safety measure."},{"line_number":305,"context_line":"            if isinstance(exc, plugin_base.ExtensionLoadError):"},{"line_number":306,"context_line":"                LOG.exception(_LE(\"Skip loading extension for %s\") % ep.name)"},{"line_number":307,"context_line":"                return"},{"line_number":308,"context_line":"            if isinstance(exc, ImportError):"},{"line_number":309,"context_line":"                LOG.error(_(\"Failed to import extension for %(name)s: \""}],"source_content_type":"text/x-python","patch_set":8,"id":"9a89bdaa_aa422566","line":306,"range":{"start_line":306,"start_character":66,"end_line":306,"end_character":68},"in_reply_to":"9a89bdaa_9e2851e4","updated":"2016-09-07 08:23:20.000000000","message":"you just have to replace the % by a , in the test too.","commit_id":"8c9c11d5c7c7c8257d5f081d1a1ab1751478d603"},{"author":{"_account_id":22998,"name":"XueFengLiu","email":"liu.xuefeng1@zte.com.cn","username":"sgfeng"},"change_message_id":"91a562f287d81122e789f7f3d07238316b061c56","unresolved":false,"context_lines":[{"line_number":303,"context_line":"            # Extension raising ExtensionLoadError can be ignored,"},{"line_number":304,"context_line":"            # and ignore anything we can\u0027t import as a safety measure."},{"line_number":305,"context_line":"            if isinstance(exc, plugin_base.ExtensionLoadError):"},{"line_number":306,"context_line":"                LOG.exception(_LE(\"Skip loading extension for %s\") % ep.name)"},{"line_number":307,"context_line":"                return"},{"line_number":308,"context_line":"            if isinstance(exc, ImportError):"},{"line_number":309,"context_line":"                LOG.error(_(\"Failed to import extension for %(name)s: \""}],"source_content_type":"text/x-python","patch_set":8,"id":"9a89bdaa_dbe9f9e7","line":306,"range":{"start_line":306,"start_character":66,"end_line":306,"end_character":68},"in_reply_to":"9a89bdaa_aa422566","updated":"2016-09-07 08:57:12.000000000","message":"I have do this before.It can\u0027nt pass.","commit_id":"8c9c11d5c7c7c8257d5f081d1a1ab1751478d603"},{"author":{"_account_id":22998,"name":"XueFengLiu","email":"liu.xuefeng1@zte.com.cn","username":"sgfeng"},"change_message_id":"2bb069e669b89939cfc306a26d37144c306d06af","unresolved":false,"context_lines":[{"line_number":303,"context_line":"            # Extension raising ExtensionLoadError can be ignored,"},{"line_number":304,"context_line":"            # and ignore anything we can\u0027t import as a safety measure."},{"line_number":305,"context_line":"            if isinstance(exc, plugin_base.ExtensionLoadError):"},{"line_number":306,"context_line":"                LOG.exception(_LE(\"Skip loading extension for %s\") % ep.name)"},{"line_number":307,"context_line":"                return"},{"line_number":308,"context_line":"            if isinstance(exc, ImportError):"},{"line_number":309,"context_line":"                LOG.error(_(\"Failed to import extension for %(name)s: \""}],"source_content_type":"text/x-python","patch_set":8,"id":"9a89bdaa_7776c6d9","line":306,"range":{"start_line":306,"start_character":66,"end_line":306,"end_character":68},"in_reply_to":"9a89bdaa_dbe9f9e7","updated":"2016-09-09 06:16:51.000000000","message":"I have rechecked.If I modify here, tox can\u0027t pass.\nAnd I try to synchronously modify uttest, I failed.\nIgnore here or who help me to pass this.","commit_id":"8c9c11d5c7c7c8257d5f081d1a1ab1751478d603"},{"author":{"_account_id":22998,"name":"XueFengLiu","email":"liu.xuefeng1@zte.com.cn","username":"sgfeng"},"change_message_id":"0da94d9305954161fa39142640ed8b9a00b21d5d","unresolved":false,"context_lines":[{"line_number":303,"context_line":"            # Extension raising ExtensionLoadError can be ignored,"},{"line_number":304,"context_line":"            # and ignore anything we can\u0027t import as a safety measure."},{"line_number":305,"context_line":"            if isinstance(exc, plugin_base.ExtensionLoadError):"},{"line_number":306,"context_line":"                LOG.exception(_LE(\"Skip loading extension for %s\") % ep.name)"},{"line_number":307,"context_line":"                return"},{"line_number":308,"context_line":"            if isinstance(exc, ImportError):"},{"line_number":309,"context_line":"                LOG.error(_(\"Failed to import extension for %(name)s: \""}],"source_content_type":"text/x-python","patch_set":8,"id":"9a89bdaa_2b25c4aa","line":306,"range":{"start_line":306,"start_character":66,"end_line":306,"end_character":68},"in_reply_to":"fa7ab95a_80bf52fb","updated":"2016-09-03 02:37:40.000000000","message":"Not forget.But tox can\u0027t pass.\nCaptured traceback:\n~~~~~~~~~~~~~~~~~~~\n    Traceback (most recent call last):\n      File \"/home/openstack/ceilometer/.tox/py27/local/lib/python2.7/site-packages/mock/mock.py\", line 1305, in patched\n        return func(*args, **keywargs)\n      File \"ceilometer/tests/unit/agent/test_manager.py\", line 124, in test_load_failed_plugins\n        LOG.exception.assert_has_calls(calls\u003dcalls, any_order\u003dTrue)\n      File \"/home/openstack/ceilometer/.tox/py27/local/lib/python2.7/site-packages/mock/mock.py\", line 983, in assert_has_calls\n        ), cause)\n      File \"/home/openstack/ceilometer/.tox/py27/local/lib/python2.7/site-packages/six.py\", line 718, in raise_from\n        raise value\n    AssertionError: (call(\u0027Skip loading extension for hardware.ipmi.node.power\u0027), call(\u0027Skip loading extension for hardware.ipmi.node.temperature\u0027), call(\u0027Skip loading extension for hardware.ipmi.node.outlet_temperature\u0027), call(\u0027Skip loading extension for hardware.ipmi.node.airflow\u0027), call(\u0027Skip loading extension for hardware.ipmi.node.cups\u0027), call(\u0027Skip loading extension for hardware.ipmi.node.cpu_util\u0027), call(\u0027Skip loading extension for hardware.ipmi.node.mem_util\u0027), call(\u0027Skip loading extension for hardware.ipmi.node.io_util\u0027)) not all found in call list","commit_id":"8c9c11d5c7c7c8257d5f081d1a1ab1751478d603"}],"ceilometer/api/app.py":[{"author":{"_account_id":22739,"name":"Zhuangqing Xiao","email":"zhuangqing.xiao@easystack.cn","username":"xiaozhuangqing"},"change_message_id":"b6eccc741de0ff460dac75a9dfdaf3c35b2511e5","unresolved":false,"context_lines":[{"line_number":114,"context_line":"            \u0027serving on 0.0.0.0:%(sport)s, view at http://127.0.0.1:%(vport)s\u0027)"},{"line_number":115,"context_line":"            % ({\u0027sport\u0027: port, \u0027vport\u0027: port}))"},{"line_number":116,"context_line":"    else:"},{"line_number":117,"context_line":"        LOG.info(_LI(\"serving on http://%(host)s:%(port)s\") % ("},{"line_number":118,"context_line":"                 {\u0027host\u0027: host, \u0027port\u0027: port}))"},{"line_number":119,"context_line":""},{"line_number":120,"context_line":"    serving.run_simple(cfg.CONF.api.host, cfg.CONF.api.port,"}],"source_content_type":"text/x-python","patch_set":6,"id":"fa7ab95a_38c84f22","line":117,"range":{"start_line":117,"start_character":60,"end_line":117,"end_character":61},"updated":"2016-08-29 06:21:12.000000000","message":"miss this","commit_id":"071049c763d2be452ec98bcf2d59c5f2e09c6cf0"},{"author":{"_account_id":22998,"name":"XueFengLiu","email":"liu.xuefeng1@zte.com.cn","username":"sgfeng"},"change_message_id":"199c3ca027ed60bad372803b1d2c7ef23fb37b5b","unresolved":false,"context_lines":[{"line_number":114,"context_line":"            \u0027serving on 0.0.0.0:%(sport)s, view at http://127.0.0.1:%(vport)s\u0027)"},{"line_number":115,"context_line":"            % ({\u0027sport\u0027: port, \u0027vport\u0027: port}))"},{"line_number":116,"context_line":"    else:"},{"line_number":117,"context_line":"        LOG.info(_LI(\"serving on http://%(host)s:%(port)s\") % ("},{"line_number":118,"context_line":"                 {\u0027host\u0027: host, \u0027port\u0027: port}))"},{"line_number":119,"context_line":""},{"line_number":120,"context_line":"    serving.run_simple(cfg.CONF.api.host, cfg.CONF.api.port,"}],"source_content_type":"text/x-python","patch_set":6,"id":"fa7ab95a_a31eabb8","line":117,"range":{"start_line":117,"start_character":60,"end_line":117,"end_character":61},"in_reply_to":"fa7ab95a_1c51aad8","updated":"2016-08-30 02:52:54.000000000","message":"I don\u0027t understand which problem here?‘%’should be \u0027,\u0027？\nOr \" should be changed to \u0027?\n\nreference is:\nAny message with more than one variable should use named interpolation instead of positional, to allow translators to move the variables around in the string to account for differences in grammar and writing direction.\n\nFor example, do not do this:\n\n# WRONG\nraise ValueError(_(\u0027some message: v1\u003d%s v2\u003d%s\u0027) % (v1, v2))\nInstead, use this style:\n\n# RIGHT\nraise ValueError(_(\u0027some message: v1\u003d%(v1)s v2\u003d%(v2)s\u0027) % {\u0027v1\u0027: v1, \u0027v2\u0027: v2})","commit_id":"071049c763d2be452ec98bcf2d59c5f2e09c6cf0"},{"author":{"_account_id":22998,"name":"XueFengLiu","email":"liu.xuefeng1@zte.com.cn","username":"sgfeng"},"change_message_id":"11df35963ba167d8879c0e5ae79c83581c964b20","unresolved":false,"context_lines":[{"line_number":114,"context_line":"            \u0027serving on 0.0.0.0:%(sport)s, view at http://127.0.0.1:%(vport)s\u0027)"},{"line_number":115,"context_line":"            % ({\u0027sport\u0027: port, \u0027vport\u0027: port}))"},{"line_number":116,"context_line":"    else:"},{"line_number":117,"context_line":"        LOG.info(_LI(\"serving on http://%(host)s:%(port)s\") % ("},{"line_number":118,"context_line":"                 {\u0027host\u0027: host, \u0027port\u0027: port}))"},{"line_number":119,"context_line":""},{"line_number":120,"context_line":"    serving.run_simple(cfg.CONF.api.host, cfg.CONF.api.port,"}],"source_content_type":"text/x-python","patch_set":6,"id":"fa7ab95a_deabcbd4","line":117,"range":{"start_line":117,"start_character":60,"end_line":117,"end_character":61},"in_reply_to":"fa7ab95a_38c84f22","updated":"2016-08-29 06:57:04.000000000","message":"OK","commit_id":"071049c763d2be452ec98bcf2d59c5f2e09c6cf0"},{"author":{"_account_id":6537,"name":"gordon chung","email":"gord@live.ca","username":"chungg"},"change_message_id":"a56dec54ffb6714adf7419564fecb85669293de7","unresolved":false,"context_lines":[{"line_number":114,"context_line":"            \u0027serving on 0.0.0.0:%(sport)s, view at http://127.0.0.1:%(vport)s\u0027)"},{"line_number":115,"context_line":"            % ({\u0027sport\u0027: port, \u0027vport\u0027: port}))"},{"line_number":116,"context_line":"    else:"},{"line_number":117,"context_line":"        LOG.info(_LI(\"serving on http://%(host)s:%(port)s\") % ("},{"line_number":118,"context_line":"                 {\u0027host\u0027: host, \u0027port\u0027: port}))"},{"line_number":119,"context_line":""},{"line_number":120,"context_line":"    serving.run_simple(cfg.CONF.api.host, cfg.CONF.api.port,"}],"source_content_type":"text/x-python","patch_set":6,"id":"fa7ab95a_1c51aad8","line":117,"range":{"start_line":117,"start_character":60,"end_line":117,"end_character":61},"in_reply_to":"fa7ab95a_79273964","updated":"2016-08-29 12:35:05.000000000","message":"please update as xiaozhuangqing suggested","commit_id":"071049c763d2be452ec98bcf2d59c5f2e09c6cf0"},{"author":{"_account_id":22998,"name":"XueFengLiu","email":"liu.xuefeng1@zte.com.cn","username":"sgfeng"},"change_message_id":"0d77a57f0e1a4cf6af1457aac7624ba6d5ad0e22","unresolved":false,"context_lines":[{"line_number":114,"context_line":"            \u0027serving on 0.0.0.0:%(sport)s, view at http://127.0.0.1:%(vport)s\u0027)"},{"line_number":115,"context_line":"            % ({\u0027sport\u0027: port, \u0027vport\u0027: port}))"},{"line_number":116,"context_line":"    else:"},{"line_number":117,"context_line":"        LOG.info(_LI(\"serving on http://%(host)s:%(port)s\") % ("},{"line_number":118,"context_line":"                 {\u0027host\u0027: host, \u0027port\u0027: port}))"},{"line_number":119,"context_line":""},{"line_number":120,"context_line":"    serving.run_simple(cfg.CONF.api.host, cfg.CONF.api.port,"}],"source_content_type":"text/x-python","patch_set":6,"id":"fa7ab95a_73ca5f70","line":117,"range":{"start_line":117,"start_character":60,"end_line":117,"end_character":61},"in_reply_to":"fa7ab95a_a31eabb8","updated":"2016-08-31 07:07:36.000000000","message":"This line confict with other.So I rollback the modification of this line.","commit_id":"071049c763d2be452ec98bcf2d59c5f2e09c6cf0"},{"author":{"_account_id":22998,"name":"XueFengLiu","email":"liu.xuefeng1@zte.com.cn","username":"sgfeng"},"change_message_id":"7bf2de559ecb7c2248031a9dc3fc7ad3dc399ff6","unresolved":false,"context_lines":[{"line_number":114,"context_line":"            \u0027serving on 0.0.0.0:%(sport)s, view at http://127.0.0.1:%(vport)s\u0027)"},{"line_number":115,"context_line":"            % ({\u0027sport\u0027: port, \u0027vport\u0027: port}))"},{"line_number":116,"context_line":"    else:"},{"line_number":117,"context_line":"        LOG.info(_LI(\"serving on http://%(host)s:%(port)s\") % ("},{"line_number":118,"context_line":"                 {\u0027host\u0027: host, \u0027port\u0027: port}))"},{"line_number":119,"context_line":""},{"line_number":120,"context_line":"    serving.run_simple(cfg.CONF.api.host, cfg.CONF.api.port,"}],"source_content_type":"text/x-python","patch_set":6,"id":"fa7ab95a_79273964","line":117,"range":{"start_line":117,"start_character":60,"end_line":117,"end_character":61},"in_reply_to":"fa7ab95a_deabcbd4","updated":"2016-08-29 07:46:15.000000000","message":"recheck.Maybe,here is ok?","commit_id":"071049c763d2be452ec98bcf2d59c5f2e09c6cf0"}],"ceilometer/publisher/http.py":[{"author":{"_account_id":6537,"name":"gordon chung","email":"gord@live.ca","username":"chungg"},"change_message_id":"f15a3cb303b653d2e4e7f46bd94c22dfdd975a7b","unresolved":false,"context_lines":[{"line_number":111,"context_line":"        content \u003d \u0027,\u0027.join([jsonutils.dumps(item) for item in data])"},{"line_number":112,"context_line":"        content \u003d \u0027[\u0027 + content + \u0027]\u0027"},{"line_number":113,"context_line":""},{"line_number":114,"context_line":"        LOG.debug((\u0027Data to be posted by HttpPublisher: %s\u0027), content)"},{"line_number":115,"context_line":""},{"line_number":116,"context_line":"        res \u003d session.post(self.target, data\u003dcontent, headers\u003dself.headers,"},{"line_number":117,"context_line":"                           timeout\u003dself.timeout)"}],"source_content_type":"text/x-python","patch_set":1,"id":"3ac371cc_cbc40d94","line":114,"updated":"2016-08-15 12:34:18.000000000","message":"why the extra brackets?","commit_id":"0c98d9e242a33fe0fa77736e9e4183b77eeddcc1"},{"author":{"_account_id":22998,"name":"XueFengLiu","email":"liu.xuefeng1@zte.com.cn","username":"sgfeng"},"change_message_id":"c4c4f205da72fd1102d4bcc7c889174ddfdbddbe","unresolved":false,"context_lines":[{"line_number":111,"context_line":"        content \u003d \u0027,\u0027.join([jsonutils.dumps(item) for item in data])"},{"line_number":112,"context_line":"        content \u003d \u0027[\u0027 + content + \u0027]\u0027"},{"line_number":113,"context_line":""},{"line_number":114,"context_line":"        LOG.debug((\u0027Data to be posted by HttpPublisher: %s\u0027), content)"},{"line_number":115,"context_line":""},{"line_number":116,"context_line":"        res \u003d session.post(self.target, data\u003dcontent, headers\u003dself.headers,"},{"line_number":117,"context_line":"                           timeout\u003dself.timeout)"}],"source_content_type":"text/x-python","patch_set":1,"id":"3ac371cc_d7266a15","line":114,"in_reply_to":"3ac371cc_579b9ac9","updated":"2016-08-15 13:49:10.000000000","message":"Thank you.","commit_id":"0c98d9e242a33fe0fa77736e9e4183b77eeddcc1"},{"author":{"_account_id":22998,"name":"XueFengLiu","email":"liu.xuefeng1@zte.com.cn","username":"sgfeng"},"change_message_id":"d7f722a38a0078220b7322864778973f08989151","unresolved":false,"context_lines":[{"line_number":111,"context_line":"        content \u003d \u0027,\u0027.join([jsonutils.dumps(item) for item in data])"},{"line_number":112,"context_line":"        content \u003d \u0027[\u0027 + content + \u0027]\u0027"},{"line_number":113,"context_line":""},{"line_number":114,"context_line":"        LOG.debug((\u0027Data to be posted by HttpPublisher: %s\u0027), content)"},{"line_number":115,"context_line":""},{"line_number":116,"context_line":"        res \u003d session.post(self.target, data\u003dcontent, headers\u003dself.headers,"},{"line_number":117,"context_line":"                           timeout\u003dself.timeout)"}],"source_content_type":"text/x-python","patch_set":1,"id":"3ac371cc_579b9ac9","line":114,"in_reply_to":"3ac371cc_cbc40d94","updated":"2016-08-15 13:40:46.000000000","message":"Done","commit_id":"0c98d9e242a33fe0fa77736e9e4183b77eeddcc1"}],"ceilometer/publisher/messaging.py":[{"author":{"_account_id":6537,"name":"gordon chung","email":"gord@live.ca","username":"chungg"},"change_message_id":"583a341135b477fe99d6a8817a49f423c42afd3a","unresolved":false,"context_lines":[{"line_number":93,"context_line":"            LOG.info(_LI(\u0027Publishing policy set to %s\u0027), self.policy)"},{"line_number":94,"context_line":"        else:"},{"line_number":95,"context_line":"            LOG.warning(_(\u0027Publishing policy is unknown (%s) force to \u0027"},{"line_number":96,"context_line":"                          \u0027default\u0027) % self.policy)"},{"line_number":97,"context_line":"            self.policy \u003d \u0027default\u0027"},{"line_number":98,"context_line":""},{"line_number":99,"context_line":"        self.retry \u003d 1 if self.policy in [\u0027queue\u0027, \u0027drop\u0027] else None"}],"source_content_type":"text/x-python","patch_set":8,"id":"fa7ab95a_8046721f","line":96,"range":{"start_line":96,"start_character":36,"end_line":96,"end_character":39},"updated":"2016-08-31 19:23:08.000000000","message":"s/%/,/","commit_id":"8c9c11d5c7c7c8257d5f081d1a1ab1751478d603"},{"author":{"_account_id":22998,"name":"XueFengLiu","email":"liu.xuefeng1@zte.com.cn","username":"sgfeng"},"change_message_id":"0da94d9305954161fa39142640ed8b9a00b21d5d","unresolved":false,"context_lines":[{"line_number":93,"context_line":"            LOG.info(_LI(\u0027Publishing policy set to %s\u0027), self.policy)"},{"line_number":94,"context_line":"        else:"},{"line_number":95,"context_line":"            LOG.warning(_(\u0027Publishing policy is unknown (%s) force to \u0027"},{"line_number":96,"context_line":"                          \u0027default\u0027) % self.policy)"},{"line_number":97,"context_line":"            self.policy \u003d \u0027default\u0027"},{"line_number":98,"context_line":""},{"line_number":99,"context_line":"        self.retry \u003d 1 if self.policy in [\u0027queue\u0027, \u0027drop\u0027] else None"}],"source_content_type":"text/x-python","patch_set":8,"id":"9a89bdaa_8806d61e","line":96,"range":{"start_line":96,"start_character":36,"end_line":96,"end_character":39},"in_reply_to":"fa7ab95a_8046721f","updated":"2016-09-03 02:37:40.000000000","message":"OK","commit_id":"8c9c11d5c7c7c8257d5f081d1a1ab1751478d603"}]}
