)]}'
{"monasca_agent/collector/checks_d/ceph.py":[{"author":{"_account_id":10311,"name":"Joseph Davis","email":"joseph.davis@suse.com","username":"joadavis"},"change_message_id":"c955978d0bb099c08934e08612486d7758f90599","unresolved":false,"context_lines":[{"line_number":382,"context_line":"        metrics.update({\u0027ceph.cluster.pgs.scrubbing_count\u0027: 0,"},{"line_number":383,"context_line":"                        \u0027ceph.cluster.pgs.deep_scrubbing_count\u0027: 0})"},{"line_number":384,"context_line":"        for state in ceph_status[\u0027pgmap\u0027][\u0027pgs_by_state\u0027]:"},{"line_number":385,"context_line":"            statename \u003d state[\u0027state_name\u0027]"},{"line_number":386,"context_line":"            if sys.version_info[0] \u003c 3:"},{"line_number":387,"context_line":"                statename \u003d state[\u0027state_name\u0027].encode(\u0027ascii\u0027, \u0027ignore\u0027)"},{"line_number":388,"context_line":"            metrics[\u0027ceph.cluster.pgs.\u0027 + statename] \u003d state[\u0027count\u0027]"}],"source_content_type":"text/x-python","patch_set":7,"id":"9fb8cfa7_a069cc8b","line":385,"range":{"start_line":385,"start_character":12,"end_line":385,"end_character":43},"updated":"2019-06-06 20:28:31.000000000","message":"This line (without the following if \u003c3) actually passes unit tests in both py2 and py3, which makes me nervous that the unit test is not actually testing the encoding that is returned by the real ceph command.","commit_id":"13d385ddea9257878fb13606ab716ae09d8f03b2"},{"author":{"_account_id":26141,"name":"Adrian Czarnecki","email":"adrian.czarnecki@ts.fujitsu.com","username":"czarneckia"},"change_message_id":"88d0044b33fa855b0acb371d3363e4fe722afe8a","unresolved":false,"context_lines":[{"line_number":383,"context_line":"                        \u0027ceph.cluster.pgs.deep_scrubbing_count\u0027: 0})"},{"line_number":384,"context_line":"        for state in ceph_status[\u0027pgmap\u0027][\u0027pgs_by_state\u0027]:"},{"line_number":385,"context_line":"            statename \u003d state[\u0027state_name\u0027]"},{"line_number":386,"context_line":"            if sys.version_info[0] \u003c 3:"},{"line_number":387,"context_line":"                statename \u003d state[\u0027state_name\u0027].encode(\u0027ascii\u0027, \u0027ignore\u0027)"},{"line_number":388,"context_line":"            metrics[\u0027ceph.cluster.pgs.\u0027 + statename] \u003d state[\u0027count\u0027]"},{"line_number":389,"context_line":"            if \u0027scrubbing\u0027 in state[\u0027state_name\u0027]:"}],"source_content_type":"text/x-python","patch_set":11,"id":"7faddb67_d586f4db","line":386,"range":{"start_line":386,"start_character":15,"end_line":386,"end_character":38},"updated":"2019-07-11 13:22:01.000000000","message":"To find out python version, you can use six library(six.PY2 or six.PY3)","commit_id":"049cba3ef969144fe8b0bcff79678ed9b72cae2a"},{"author":{"_account_id":23735,"name":"sumitjami","email":"sjamgade@suse.com","username":"nthforloop"},"change_message_id":"ac0f1a303a0549f06a1a3f2704dc2b63ebdd7e90","unresolved":false,"context_lines":[{"line_number":383,"context_line":"                        \u0027ceph.cluster.pgs.deep_scrubbing_count\u0027: 0})"},{"line_number":384,"context_line":"        for state in ceph_status[\u0027pgmap\u0027][\u0027pgs_by_state\u0027]:"},{"line_number":385,"context_line":"            statename \u003d state[\u0027state_name\u0027]"},{"line_number":386,"context_line":"            if sys.version_info[0] \u003c 3:"},{"line_number":387,"context_line":"                statename \u003d state[\u0027state_name\u0027].encode(\u0027ascii\u0027, \u0027ignore\u0027)"},{"line_number":388,"context_line":"            metrics[\u0027ceph.cluster.pgs.\u0027 + statename] \u003d state[\u0027count\u0027]"},{"line_number":389,"context_line":"            if \u0027scrubbing\u0027 in state[\u0027state_name\u0027]:"}],"source_content_type":"text/x-python","patch_set":11,"id":"7faddb67_07d5291c","line":386,"range":{"start_line":386,"start_character":15,"end_line":386,"end_character":38},"in_reply_to":"7faddb67_cb164556","updated":"2019-07-12 15:40:01.000000000","message":"subprocess.checkoutput returns byte encoded string, and the rest of the stuff is \u0027str\u0027 typed string so iiuc we need safe_decode to convert the bytes to str type (this applies only for python3, python2 does everything in str type)\n\n(I hope they dont exile me for not knowing how to handle strings :-))","commit_id":"049cba3ef969144fe8b0bcff79678ed9b72cae2a"},{"author":{"_account_id":16222,"name":"witek","email":"witold.bedyk@suse.com","username":"witek"},"change_message_id":"4c231e026ac2a274957944a32a640ef8d70128a6","unresolved":false,"context_lines":[{"line_number":383,"context_line":"                        \u0027ceph.cluster.pgs.deep_scrubbing_count\u0027: 0})"},{"line_number":384,"context_line":"        for state in ceph_status[\u0027pgmap\u0027][\u0027pgs_by_state\u0027]:"},{"line_number":385,"context_line":"            statename \u003d state[\u0027state_name\u0027]"},{"line_number":386,"context_line":"            if sys.version_info[0] \u003c 3:"},{"line_number":387,"context_line":"                statename \u003d state[\u0027state_name\u0027].encode(\u0027ascii\u0027, \u0027ignore\u0027)"},{"line_number":388,"context_line":"            metrics[\u0027ceph.cluster.pgs.\u0027 + statename] \u003d state[\u0027count\u0027]"},{"line_number":389,"context_line":"            if \u0027scrubbing\u0027 in state[\u0027state_name\u0027]:"}],"source_content_type":"text/x-python","patch_set":11,"id":"7faddb67_cb164556","line":386,"range":{"start_line":386,"start_character":15,"end_line":386,"end_character":38},"in_reply_to":"7faddb67_d586f4db","updated":"2019-07-12 11:00:48.000000000","message":"+1\n\nAdditionally, there is oslo_utils.encodeutils.safe_encode which avoids if branches here.\n\nhttps://opendev.org/openstack/oslo.utils/src/branch/master/oslo_utils/encodeutils.py#L66\nhttps://wiki.openstack.org/wiki/Python3#safe_encode","commit_id":"049cba3ef969144fe8b0bcff79678ed9b72cae2a"},{"author":{"_account_id":16222,"name":"witek","email":"witold.bedyk@suse.com","username":"witek"},"change_message_id":"4c231e026ac2a274957944a32a640ef8d70128a6","unresolved":false,"context_lines":[{"line_number":423,"context_line":"            for mon in health_service[\u0027mons\u0027]:"},{"line_number":424,"context_line":"                store_stats \u003d mon[\u0027store_stats\u0027]"},{"line_number":425,"context_line":""},{"line_number":426,"context_line":"                mon[\u0027name\u0027] \u003d mon[\u0027name\u0027].encode(\u0027ascii\u0027, \u0027ignore\u0027)"},{"line_number":427,"context_line":"                if not sys.version_info[0] \u003c 3:"},{"line_number":428,"context_line":"                    mon[\u0027name\u0027] \u003d mon[\u0027name\u0027].decode(\u0027ascii\u0027)"},{"line_number":429,"context_line":""},{"line_number":430,"context_line":"                mon_metrics[mon[\u0027name\u0027]] \u003d {"},{"line_number":431,"context_line":"                    \u0027ceph.monitor.total_bytes\u0027: mon[\u0027kb_total\u0027] * 1e3,"}],"source_content_type":"text/x-python","patch_set":14,"id":"7faddb67_fd00a803","line":428,"range":{"start_line":426,"start_character":16,"end_line":428,"end_character":61},"updated":"2019-07-12 11:00:48.000000000","message":"Looks strange to me. encoding and decoding again?","commit_id":"d6a81f0c6f8eeb2b50017e13c6a3705081956bf0"},{"author":{"_account_id":16222,"name":"witek","email":"witold.bedyk@suse.com","username":"witek"},"change_message_id":"4c231e026ac2a274957944a32a640ef8d70128a6","unresolved":false,"context_lines":[{"line_number":456,"context_line":"        osd_metrics \u003d {}"},{"line_number":457,"context_line":"        for node in ceph_osd_df[\u0027nodes\u0027]:"},{"line_number":458,"context_line":"            nodename \u003d node[\u0027name\u0027]"},{"line_number":459,"context_line":"            if sys.version_info[0] \u003c 3:"},{"line_number":460,"context_line":"                nodename \u003d node[\u0027name\u0027].encode(\u0027ascii\u0027, \u0027ignore\u0027)"},{"line_number":461,"context_line":"            osd_metrics[nodename] \u003d {"},{"line_number":462,"context_line":"                \u0027ceph.osd.crush_weight\u0027: node[\u0027crush_weight\u0027],"}],"source_content_type":"text/x-python","patch_set":14,"id":"7faddb67_5d177c46","line":459,"range":{"start_line":459,"start_character":12,"end_line":459,"end_character":39},"updated":"2019-07-12 11:00:48.000000000","message":"Using six or oslo_utils is preferred.","commit_id":"d6a81f0c6f8eeb2b50017e13c6a3705081956bf0"},{"author":{"_account_id":16222,"name":"witek","email":"witold.bedyk@suse.com","username":"witek"},"change_message_id":"4c231e026ac2a274957944a32a640ef8d70128a6","unresolved":false,"context_lines":[{"line_number":512,"context_line":"            total_bytes \u003d stats[\u0027bytes_used\u0027] + stats[\u0027max_avail\u0027]"},{"line_number":513,"context_line":"            utilization_perc \u003d float(stats[\u0027bytes_used\u0027]) / total_bytes"},{"line_number":514,"context_line":""},{"line_number":515,"context_line":"            pname \u003d pool[\u0027name\u0027].encode(\u0027ascii\u0027, \u0027ignore\u0027)"},{"line_number":516,"context_line":"            if not sys.version_info[0] \u003c 3:"},{"line_number":517,"context_line":"                pname \u003d pname.decode(\u0027ascii\u0027)"},{"line_number":518,"context_line":""},{"line_number":519,"context_line":"            pool_metrics[pname] \u003d {"},{"line_number":520,"context_line":"                \u0027ceph.pool.used_bytes\u0027: stats[\u0027bytes_used\u0027],"}],"source_content_type":"text/x-python","patch_set":14,"id":"7faddb67_7d3d98c2","line":517,"range":{"start_line":515,"start_character":12,"end_line":517,"end_character":45},"updated":"2019-07-12 11:00:48.000000000","message":"See above.","commit_id":"d6a81f0c6f8eeb2b50017e13c6a3705081956bf0"},{"author":{"_account_id":16222,"name":"witek","email":"witold.bedyk@suse.com","username":"witek"},"change_message_id":"5e79f4fb5515e0cf00fece4967fd905823ba5120","unresolved":false,"context_lines":[{"line_number":384,"context_line":"        metrics.update({\u0027ceph.cluster.pgs.scrubbing_count\u0027: 0,"},{"line_number":385,"context_line":"                        \u0027ceph.cluster.pgs.deep_scrubbing_count\u0027: 0})"},{"line_number":386,"context_line":"        for state in ceph_status[\u0027pgmap\u0027][\u0027pgs_by_state\u0027]:"},{"line_number":387,"context_line":"            statename \u003d safe_decode(state[\u0027state_name\u0027])"},{"line_number":388,"context_line":"            metrics[\u0027ceph.cluster.pgs.\u0027 + statename] \u003d state[\u0027count\u0027]"},{"line_number":389,"context_line":"            if \u0027scrubbing\u0027 in state[\u0027state_name\u0027]:"},{"line_number":390,"context_line":"                if \u0027deep\u0027 in state[\u0027state_name\u0027]:"}],"source_content_type":"text/x-python","patch_set":15,"id":"7faddb67_c3b5b033","line":387,"updated":"2019-07-15 12:19:51.000000000","message":"Please add \u0027utf-8\u0027 as the second argument, because default incoming encoding can be different for Python 2 and 3.","commit_id":"3fc03127129208ae31c62f68c7ed762184bfee4c"},{"author":{"_account_id":16222,"name":"witek","email":"witold.bedyk@suse.com","username":"witek"},"change_message_id":"5e79f4fb5515e0cf00fece4967fd905823ba5120","unresolved":false,"context_lines":[{"line_number":422,"context_line":"                \u0027health_services\u0027]:"},{"line_number":423,"context_line":"            for mon in health_service[\u0027mons\u0027]:"},{"line_number":424,"context_line":"                store_stats \u003d mon[\u0027store_stats\u0027]"},{"line_number":425,"context_line":"                mon[\u0027name\u0027] \u003d safe_decode(mon[\u0027name\u0027])"},{"line_number":426,"context_line":""},{"line_number":427,"context_line":"                mon_metrics[mon[\u0027name\u0027]] \u003d {"},{"line_number":428,"context_line":"                    \u0027ceph.monitor.total_bytes\u0027: mon[\u0027kb_total\u0027] * 1e3,"}],"source_content_type":"text/x-python","patch_set":15,"id":"7faddb67_e3b22c49","line":425,"updated":"2019-07-15 12:19:51.000000000","message":"see above","commit_id":"3fc03127129208ae31c62f68c7ed762184bfee4c"},{"author":{"_account_id":16222,"name":"witek","email":"witold.bedyk@suse.com","username":"witek"},"change_message_id":"5e79f4fb5515e0cf00fece4967fd905823ba5120","unresolved":false,"context_lines":[{"line_number":453,"context_line":"        osd_metrics \u003d {}"},{"line_number":454,"context_line":"        for node in ceph_osd_df[\u0027nodes\u0027]:"},{"line_number":455,"context_line":"            nodename \u003d node[\u0027name\u0027]"},{"line_number":456,"context_line":"            nodename \u003d safe_decode(node[\u0027name\u0027])"},{"line_number":457,"context_line":"            osd_metrics[nodename] \u003d {"},{"line_number":458,"context_line":"                \u0027ceph.osd.crush_weight\u0027: node[\u0027crush_weight\u0027],"},{"line_number":459,"context_line":"                \u0027ceph.osd.depth\u0027: node[\u0027depth\u0027],"}],"source_content_type":"text/x-python","patch_set":15,"id":"7faddb67_8385785c","line":456,"updated":"2019-07-15 12:19:51.000000000","message":"see above","commit_id":"3fc03127129208ae31c62f68c7ed762184bfee4c"},{"author":{"_account_id":16222,"name":"witek","email":"witold.bedyk@suse.com","username":"witek"},"change_message_id":"5e79f4fb5515e0cf00fece4967fd905823ba5120","unresolved":false,"context_lines":[{"line_number":507,"context_line":"            stats \u003d pool[\u0027stats\u0027]"},{"line_number":508,"context_line":"            total_bytes \u003d stats[\u0027bytes_used\u0027] + stats[\u0027max_avail\u0027]"},{"line_number":509,"context_line":"            utilization_perc \u003d float(stats[\u0027bytes_used\u0027]) / total_bytes"},{"line_number":510,"context_line":"            pool[\u0027name\u0027] \u003d safe_decode(pool[\u0027name\u0027])"},{"line_number":511,"context_line":""},{"line_number":512,"context_line":"            pool_metrics[pool[\u0027name\u0027]] \u003d {"},{"line_number":513,"context_line":"                \u0027ceph.pool.used_bytes\u0027: stats[\u0027bytes_used\u0027],"}],"source_content_type":"text/x-python","patch_set":15,"id":"7faddb67_a38af466","line":510,"updated":"2019-07-15 12:19:51.000000000","message":"see above","commit_id":"3fc03127129208ae31c62f68c7ed762184bfee4c"},{"author":{"_account_id":26141,"name":"Adrian Czarnecki","email":"adrian.czarnecki@ts.fujitsu.com","username":"czarneckia"},"change_message_id":"a75dd342a63701d6d9a525ba6b6c7c6b8efafe05","unresolved":false,"context_lines":[{"line_number":452,"context_line":"        \"\"\""},{"line_number":453,"context_line":"        osd_metrics \u003d {}"},{"line_number":454,"context_line":"        for node in ceph_osd_df[\u0027nodes\u0027]:"},{"line_number":455,"context_line":"            nodename \u003d node[\u0027name\u0027]"},{"line_number":456,"context_line":"            nodename \u003d safe_decode(node[\u0027name\u0027], incoming\u003d\u0027utf-8\u0027)"},{"line_number":457,"context_line":"            osd_metrics[nodename] \u003d {"},{"line_number":458,"context_line":"                \u0027ceph.osd.crush_weight\u0027: node[\u0027crush_weight\u0027],"}],"source_content_type":"text/x-python","patch_set":16,"id":"7faddb67_6c53563a","line":455,"range":{"start_line":455,"start_character":12,"end_line":455,"end_character":35},"updated":"2019-07-18 11:03:42.000000000","message":"nodename is overridden in next line, i think you can delete this line or change next line to nodename \u003d safe_decode(nodename, incoming\u003d\u0027utf-8\u0027)","commit_id":"72a484b4c4c49913aa97bc3c3e77ca38a117608f"},{"author":{"_account_id":23735,"name":"sumitjami","email":"sjamgade@suse.com","username":"nthforloop"},"change_message_id":"01a7c8f5236429d3a4921f86f3a385e8a0a962e8","unresolved":false,"context_lines":[{"line_number":452,"context_line":"        \"\"\""},{"line_number":453,"context_line":"        osd_metrics \u003d {}"},{"line_number":454,"context_line":"        for node in ceph_osd_df[\u0027nodes\u0027]:"},{"line_number":455,"context_line":"            nodename \u003d node[\u0027name\u0027]"},{"line_number":456,"context_line":"            nodename \u003d safe_decode(node[\u0027name\u0027], incoming\u003d\u0027utf-8\u0027)"},{"line_number":457,"context_line":"            osd_metrics[nodename] \u003d {"},{"line_number":458,"context_line":"                \u0027ceph.osd.crush_weight\u0027: node[\u0027crush_weight\u0027],"}],"source_content_type":"text/x-python","patch_set":16,"id":"7faddb67_a25b92f3","line":455,"range":{"start_line":455,"start_character":12,"end_line":455,"end_character":35},"in_reply_to":"7faddb67_6c53563a","updated":"2019-07-18 14:10:15.000000000","message":"Done","commit_id":"72a484b4c4c49913aa97bc3c3e77ca38a117608f"}],"monasca_agent/common/util.py":[{"author":{"_account_id":16222,"name":"witek","email":"witold.bedyk@suse.com","username":"witek"},"change_message_id":"5e79f4fb5515e0cf00fece4967fd905823ba5120","unresolved":false,"context_lines":[{"line_number":419,"context_line":"                p \u003d subprocess.Popen([\u0027/bin/hostname\u0027, \u0027-f\u0027], stdout\u003dsubprocess.PIPE)"},{"line_number":420,"context_line":"                out, err \u003d p.communicate()"},{"line_number":421,"context_line":"                if p.returncode \u003d\u003d 0:"},{"line_number":422,"context_line":"                    return encodeutils.safe_decode(out.strip())"},{"line_number":423,"context_line":"            except Exception:"},{"line_number":424,"context_line":"                return None"},{"line_number":425,"context_line":""}],"source_content_type":"text/x-python","patch_set":15,"id":"7faddb67_c38e1078","line":422,"updated":"2019-07-15 12:19:51.000000000","message":"Please set incoming \u0027utf-8\u0027 encoding explicitly.","commit_id":"3fc03127129208ae31c62f68c7ed762184bfee4c"}],"tests/checks_d/test_json_plugin.py":[{"author":{"_account_id":23735,"name":"sumitjami","email":"sjamgade@suse.com","username":"nthforloop"},"change_message_id":"ac0f1a303a0549f06a1a3f2704dc2b63ebdd7e90","unresolved":false,"context_lines":[{"line_number":30,"context_line":"    # create a temp conf file"},{"line_number":31,"context_line":"    tempdir \u003d tempfile.mkdtemp()"},{"line_number":32,"context_line":"    conf_file \u003d os.path.join(tempdir, \u0027agent.yaml\u0027)"},{"line_number":33,"context_line":"    with open(conf_file, \u0027wb\u0027) as fd:"},{"line_number":34,"context_line":"        fd.write("},{"line_number":35,"context_line":"            \"\"\""},{"line_number":36,"context_line":"            Logging:"}],"source_content_type":"text/x-python","patch_set":11,"id":"7faddb67_87d279ff","line":33,"updated":"2019-07-12 15:40:01.000000000","message":"Because of wb fd.write is expecting data in \u0027byte\u0027 format.\n\nI do not understand why? I do NOT see any binary data being written.\n\nIs there any historical reason for having wb in there ?","commit_id":"049cba3ef969144fe8b0bcff79678ed9b72cae2a"},{"author":{"_account_id":16222,"name":"witek","email":"witold.bedyk@suse.com","username":"witek"},"change_message_id":"5e79f4fb5515e0cf00fece4967fd905823ba5120","unresolved":false,"context_lines":[{"line_number":30,"context_line":"    # create a temp conf file"},{"line_number":31,"context_line":"    tempdir \u003d tempfile.mkdtemp()"},{"line_number":32,"context_line":"    conf_file \u003d os.path.join(tempdir, \u0027agent.yaml\u0027)"},{"line_number":33,"context_line":"    with open(conf_file, \u0027wb\u0027) as fd:"},{"line_number":34,"context_line":"        fd.write("},{"line_number":35,"context_line":"            \"\"\""},{"line_number":36,"context_line":"            Logging:"}],"source_content_type":"text/x-python","patch_set":11,"id":"7faddb67_80bd6ed9","line":33,"in_reply_to":"7faddb67_87d279ff","updated":"2019-07-15 12:19:51.000000000","message":"I think it\u0027s for interoperability reasons of end-of-line characters.","commit_id":"049cba3ef969144fe8b0bcff79678ed9b72cae2a"}],"tests/checks_d/test_kibana.py":[{"author":{"_account_id":10311,"name":"Joseph Davis","email":"joseph.davis@suse.com","username":"joadavis"},"change_message_id":"c955978d0bb099c08934e08612486d7758f90599","unresolved":false,"context_lines":[{"line_number":155,"context_line":"    def test_check(self):"},{"line_number":156,"context_line":"        fixture_file \u003d os.path.dirname("},{"line_number":157,"context_line":"            os.path.abspath(__file__)) + \u0027/fixtures/test_kibana.json\u0027"},{"line_number":158,"context_line":"        response \u003d json.load(open(fixture_file))"},{"line_number":159,"context_line":""},{"line_number":160,"context_line":"        metrics \u003d [\u0027heap_size\u0027, \u0027heap_used\u0027, \u0027load\u0027,"},{"line_number":161,"context_line":"                   \u0027req_sec\u0027, \u0027resp_time_avg\u0027,"}],"source_content_type":"text/x-python","patch_set":7,"id":"9fb8cfa7_e06fc48f","line":158,"range":{"start_line":158,"start_character":29,"end_line":158,"end_character":33},"updated":"2019-06-06 20:28:31.000000000","message":"This works, but some pages I read indicate it should be io.open()","commit_id":"13d385ddea9257878fb13606ab716ae09d8f03b2"}],"tests/detection/test_mon.py":[{"author":{"_account_id":16222,"name":"witek","email":"witold.bedyk@suse.com","username":"witek"},"change_message_id":"4c231e026ac2a274957944a32a640ef8d70128a6","unresolved":false,"context_lines":[{"line_number":17,"context_line":"import logging"},{"line_number":18,"context_line":"import mock"},{"line_number":19,"context_line":"import psutil"},{"line_number":20,"context_line":"import sys"},{"line_number":21,"context_line":""},{"line_number":22,"context_line":"from monasca_setup.detection.plugins import mon"},{"line_number":23,"context_line":""}],"source_content_type":"text/x-python","patch_set":14,"id":"7faddb67_40bd4f00","line":20,"range":{"start_line":20,"start_character":0,"end_line":20,"end_character":10},"updated":"2019-07-12 11:00:48.000000000","message":"Consider six instead.","commit_id":"d6a81f0c6f8eeb2b50017e13c6a3705081956bf0"}],"tests/test_config.py":[{"author":{"_account_id":23735,"name":"sumitjami","email":"sjamgade@suse.com","username":"nthforloop"},"change_message_id":"4e872fdd44ebb2db2236da5002c11ca96072e0df","unresolved":false,"context_lines":[{"line_number":81,"context_line":"        conf_file \u003d os.path.join(tempdir, \u0027agent.yaml\u0027)"},{"line_number":82,"context_line":"        with open(conf_file, \u0027wb\u0027) as fd:"},{"line_number":83,"context_line":"            fd.write("},{"line_number":84,"context_line":"                b\"\"\""},{"line_number":85,"context_line":"                Logging:"},{"line_number":86,"context_line":"                  collector_log_file: /var/log/monasca/agent/collector.log"},{"line_number":87,"context_line":"                  forwarder_log_file: /var/log/monasca/agent/forwarder.log"}],"source_content_type":"text/x-python","patch_set":7,"id":"7faddb67_04e567a8","line":84,"updated":"2019-07-09 14:48:59.000000000","message":"why not leave it as it is ?\nand bytes has no format method in python3","commit_id":"13d385ddea9257878fb13606ab716ae09d8f03b2"}]}
