)]}'
{"octavia/amphorae/backends/agent/api_server/certificate_update.py":[{"author":{"_account_id":17419,"name":"Banashankar k","email":"banveerad@gmail.com","username":"banveerad"},"change_message_id":"b2a84fe1c1d4bc0614b02f0b3c3ccc21d3cf1280","unresolved":false,"context_lines":[{"line_number":25,"context_line":""},{"line_number":26,"context_line":"def upload_server_cert():"},{"line_number":27,"context_line":"    stream \u003d flask.request.stream"},{"line_number":28,"context_line":"    with open(CONF.haproxy_amphora.agent_server_cert, \u0027w\u0027) as crt_file:"},{"line_number":29,"context_line":"        b \u003d stream.read(BUFFER)"},{"line_number":30,"context_line":"        while (b):"},{"line_number":31,"context_line":"            crt_file.write(b)"}],"source_content_type":"text/x-python","patch_set":1,"id":"1a4dcd0f_87903cee","line":28,"updated":"2015-08-03 21:45:41.000000000","message":"may be append ?","commit_id":"d829bf68fcf256bc1dced818f6016a25df2a7942"},{"author":{"_account_id":17419,"name":"Banashankar k","email":"banveerad@gmail.com","username":"banveerad"},"change_message_id":"aef2f19430c4ed74f9942bc885527b7da94a712e","unresolved":false,"context_lines":[{"line_number":25,"context_line":""},{"line_number":26,"context_line":"def upload_server_cert():"},{"line_number":27,"context_line":"    stream \u003d flask.request.stream"},{"line_number":28,"context_line":"    with open(CONF.haproxy_amphora.agent_server_cert, \u0027w\u0027) as crt_file:"},{"line_number":29,"context_line":"        b \u003d stream.read(BUFFER)"},{"line_number":30,"context_line":"        while (b):"},{"line_number":31,"context_line":"            crt_file.write(b)"}],"source_content_type":"text/x-python","patch_set":1,"id":"1a4dcd0f_dfeeffeb","line":28,"in_reply_to":"1a4dcd0f_392b8832","updated":"2015-08-04 03:13:23.000000000","message":"but below we are reading the buffer and writing it to the file. If we are writing the data multiple times in the while loop, wont it overwrite the previous data? or thats what is needed?","commit_id":"d829bf68fcf256bc1dced818f6016a25df2a7942"},{"author":{"_account_id":10850,"name":"German Eichberger","email":"german.eichberger@gmail.com","username":"german"},"change_message_id":"6156221ab7693dccf696d8edd5249e83220901b0","unresolved":false,"context_lines":[{"line_number":25,"context_line":""},{"line_number":26,"context_line":"def upload_server_cert():"},{"line_number":27,"context_line":"    stream \u003d flask.request.stream"},{"line_number":28,"context_line":"    with open(CONF.haproxy_amphora.agent_server_cert, \u0027w\u0027) as crt_file:"},{"line_number":29,"context_line":"        b \u003d stream.read(BUFFER)"},{"line_number":30,"context_line":"        while (b):"},{"line_number":31,"context_line":"            crt_file.write(b)"}],"source_content_type":"text/x-python","patch_set":1,"id":"1a4dcd0f_392b8832","line":28,"in_reply_to":"1a4dcd0f_87903cee","updated":"2015-08-03 22:45:35.000000000","message":"no. It should be replaced with a completely new one. This is to cycle the certificates for the controller-amphora communication","commit_id":"d829bf68fcf256bc1dced818f6016a25df2a7942"},{"author":{"_account_id":17419,"name":"Banashankar k","email":"banveerad@gmail.com","username":"banveerad"},"change_message_id":"b2a84fe1c1d4bc0614b02f0b3c3ccc21d3cf1280","unresolved":false,"context_lines":[{"line_number":29,"context_line":"        b \u003d stream.read(BUFFER)"},{"line_number":30,"context_line":"        while (b):"},{"line_number":31,"context_line":"            crt_file.write(b)"},{"line_number":32,"context_line":"            b \u003d stream.read(BUFFER)"},{"line_number":33,"context_line":"        os.fchmod(crt_file.fileno(), 0o600)  # only accessible by owner"},{"line_number":34,"context_line":""},{"line_number":35,"context_line":"    return  flask.make_response(flask.jsonify({"}],"source_content_type":"text/x-python","patch_set":1,"id":"1a4dcd0f_67065022","line":32,"updated":"2015-08-03 21:45:41.000000000","message":"Should close the file.","commit_id":"d829bf68fcf256bc1dced818f6016a25df2a7942"},{"author":{"_account_id":10850,"name":"German Eichberger","email":"german.eichberger@gmail.com","username":"german"},"change_message_id":"6156221ab7693dccf696d8edd5249e83220901b0","unresolved":false,"context_lines":[{"line_number":29,"context_line":"        b \u003d stream.read(BUFFER)"},{"line_number":30,"context_line":"        while (b):"},{"line_number":31,"context_line":"            crt_file.write(b)"},{"line_number":32,"context_line":"            b \u003d stream.read(BUFFER)"},{"line_number":33,"context_line":"        os.fchmod(crt_file.fileno(), 0o600)  # only accessible by owner"},{"line_number":34,"context_line":""},{"line_number":35,"context_line":"    return  flask.make_response(flask.jsonify({"}],"source_content_type":"text/x-python","patch_set":1,"id":"1a4dcd0f_99f17cd0","line":32,"in_reply_to":"1a4dcd0f_67065022","updated":"2015-08-03 22:45:35.000000000","message":"as soon as the with block finishes it will be closed automatically. Open acts as a context manager.","commit_id":"d829bf68fcf256bc1dced818f6016a25df2a7942"},{"author":{"_account_id":17419,"name":"Banashankar k","email":"banveerad@gmail.com","username":"banveerad"},"change_message_id":"b2a84fe1c1d4bc0614b02f0b3c3ccc21d3cf1280","unresolved":false,"context_lines":[{"line_number":30,"context_line":"        while (b):"},{"line_number":31,"context_line":"            crt_file.write(b)"},{"line_number":32,"context_line":"            b \u003d stream.read(BUFFER)"},{"line_number":33,"context_line":"        os.fchmod(crt_file.fileno(), 0o600)  # only accessible by owner"},{"line_number":34,"context_line":""},{"line_number":35,"context_line":"    return  flask.make_response(flask.jsonify({"},{"line_number":36,"context_line":"        \u0027message\u0027: \u0027OK\u0027}), 201)"}],"source_content_type":"text/x-python","patch_set":1,"id":"1a4dcd0f_c2f632d7","line":33,"updated":"2015-08-03 21:45:41.000000000","message":"can use stat values instead of 0o600 or some constant.","commit_id":"d829bf68fcf256bc1dced818f6016a25df2a7942"},{"author":{"_account_id":10850,"name":"German Eichberger","email":"german.eichberger@gmail.com","username":"german"},"change_message_id":"6156221ab7693dccf696d8edd5249e83220901b0","unresolved":false,"context_lines":[{"line_number":30,"context_line":"        while (b):"},{"line_number":31,"context_line":"            crt_file.write(b)"},{"line_number":32,"context_line":"            b \u003d stream.read(BUFFER)"},{"line_number":33,"context_line":"        os.fchmod(crt_file.fileno(), 0o600)  # only accessible by owner"},{"line_number":34,"context_line":""},{"line_number":35,"context_line":"    return  flask.make_response(flask.jsonify({"},{"line_number":36,"context_line":"        \u0027message\u0027: \u0027OK\u0027}), 201)"}],"source_content_type":"text/x-python","patch_set":1,"id":"1a4dcd0f_79bfd0d0","line":33,"in_reply_to":"1a4dcd0f_c2f632d7","updated":"2015-08-03 22:45:35.000000000","message":"will turn into constant","commit_id":"d829bf68fcf256bc1dced818f6016a25df2a7942"},{"author":{"_account_id":17419,"name":"Banashankar k","email":"banveerad@gmail.com","username":"banveerad"},"change_message_id":"b2a84fe1c1d4bc0614b02f0b3c3ccc21d3cf1280","unresolved":false,"context_lines":[{"line_number":33,"context_line":"        os.fchmod(crt_file.fileno(), 0o600)  # only accessible by owner"},{"line_number":34,"context_line":""},{"line_number":35,"context_line":"    return  flask.make_response(flask.jsonify({"},{"line_number":36,"context_line":"        \u0027message\u0027: \u0027OK\u0027}), 201)"}],"source_content_type":"text/x-python","patch_set":1,"id":"1a4dcd0f_e2b32e09","line":36,"updated":"2015-08-03 21:45:41.000000000","message":"is 201 the correct code?  Since we are just returning message as ok, I think 200 is the better response code.","commit_id":"d829bf68fcf256bc1dced818f6016a25df2a7942"},{"author":{"_account_id":17419,"name":"Banashankar k","email":"banveerad@gmail.com","username":"banveerad"},"change_message_id":"aef2f19430c4ed74f9942bc885527b7da94a712e","unresolved":false,"context_lines":[{"line_number":33,"context_line":"        os.fchmod(crt_file.fileno(), 0o600)  # only accessible by owner"},{"line_number":34,"context_line":""},{"line_number":35,"context_line":"    return  flask.make_response(flask.jsonify({"},{"line_number":36,"context_line":"        \u0027message\u0027: \u0027OK\u0027}), 201)"}],"source_content_type":"text/x-python","patch_set":1,"id":"1a4dcd0f_9fa637c0","line":36,"in_reply_to":"1a4dcd0f_b9c5585c","updated":"2015-08-04 03:13:23.000000000","message":"As I read, 201 should be returned only if we are passing the URI of the newly created data in the response.","commit_id":"d829bf68fcf256bc1dced818f6016a25df2a7942"},{"author":{"_account_id":10850,"name":"German Eichberger","email":"german.eichberger@gmail.com","username":"german"},"change_message_id":"6156221ab7693dccf696d8edd5249e83220901b0","unresolved":false,"context_lines":[{"line_number":33,"context_line":"        os.fchmod(crt_file.fileno(), 0o600)  # only accessible by owner"},{"line_number":34,"context_line":""},{"line_number":35,"context_line":"    return  flask.make_response(flask.jsonify({"},{"line_number":36,"context_line":"        \u0027message\u0027: \u0027OK\u0027}), 201)"}],"source_content_type":"text/x-python","patch_set":1,"id":"1a4dcd0f_b9c5585c","line":36,"in_reply_to":"1a4dcd0f_e2b32e09","updated":"2015-08-03 22:45:35.000000000","message":"Yep, spec says so + for the change to be effective it needs to restart the service...","commit_id":"d829bf68fcf256bc1dced818f6016a25df2a7942"},{"author":{"_account_id":17419,"name":"Banashankar k","email":"banveerad@gmail.com","username":"banveerad"},"change_message_id":"19d8dfd7a4e915841953242770dff43fc498080d","unresolved":false,"context_lines":[{"line_number":27,"context_line":""},{"line_number":28,"context_line":"def upload_server_cert():"},{"line_number":29,"context_line":"    stream \u003d flask.request.stream"},{"line_number":30,"context_line":"    with open(CONF.haproxy_amphora.agent_server_cert, \u0027w\u0027) as crt_file:"},{"line_number":31,"context_line":"        b \u003d stream.read(BUFFER)"},{"line_number":32,"context_line":"        while (b):"},{"line_number":33,"context_line":"            crt_file.write(b)"}],"source_content_type":"text/x-python","patch_set":3,"id":"1a4dcd0f_25f328a0","line":30,"updated":"2015-08-04 17:52:12.000000000","message":"Sorry for my previous comment, just figured it out \u0027w\u0027 works fine and it appends the data in the while loop.","commit_id":"2da5ef826550474a93ff60b535533a301359b20e"}]}
