)]}'
{"ironic/drivers/modules/console_utils.py":[{"author":{"_account_id":7711,"name":"Yuriy Zveryanskyy","email":"yzveryanskyy@mirantis.com","username":"yuriyz"},"change_message_id":"ca025dce0b44ff0a3f26d39b3ec2cad20aa674c3","unresolved":false,"context_lines":[{"line_number":92,"context_line":"        utils.delete_if_exists(path)"},{"line_number":93,"context_line":"        with open(path, \u0027wb\u0027) as file:"},{"line_number":94,"context_line":"            file.write(password)"},{"line_number":95,"context_line":"        os.chmod(path, 0o600)"},{"line_number":96,"context_line":"        return path"},{"line_number":97,"context_line":"    except Exception as e:"},{"line_number":98,"context_line":"        utils.delete_if_exists(path)"}],"source_content_type":"text/x-python","patch_set":3,"id":"1ae5cdf2_63e31ba4","line":95,"updated":"2014-06-13 13:52:59.000000000","message":"Please do chmod() before write password, that guarantee that password cannot be accessible by others anytime.\n\n with open(path, \u0027wb\u0027) as file:\n     os.chmod(path, 0o600)\n     file.write(password)","commit_id":"eec297969493dd3ee72b7a0ed6e7bc331a279eb6"},{"author":{"_account_id":3099,"name":"David Shrewsbury","email":"dshrewsb@redhat.com","username":"dshrews"},"change_message_id":"117931a95eee419eaf5ed3db8ee4016d9ce8cfe4","unresolved":false,"context_lines":[{"line_number":92,"context_line":"        utils.delete_if_exists(path)"},{"line_number":93,"context_line":"        with open(path, \u0027wb\u0027) as file:"},{"line_number":94,"context_line":"            file.write(password)"},{"line_number":95,"context_line":"        os.chmod(path, 0o600)"},{"line_number":96,"context_line":"        return path"},{"line_number":97,"context_line":"    except Exception as e:"},{"line_number":98,"context_line":"        utils.delete_if_exists(path)"}],"source_content_type":"text/x-python","patch_set":3,"id":"1ae5cdf2_d6a2b84a","line":95,"in_reply_to":"1ae5cdf2_63e31ba4","updated":"2014-06-16 11:15:39.000000000","message":"Done","commit_id":"eec297969493dd3ee72b7a0ed6e7bc331a279eb6"}],"ironic/tests/drivers/test_console_utils.py":[{"author":{"_account_id":8125,"name":"Michael Davies","email":"michael@the-davies.net","username":"mrda"},"change_message_id":"3920d7fb75bcc06d43b41fd85c9374bab76344c7","unresolved":false,"context_lines":[{"line_number":122,"context_line":"        os.unlink(filepath)"},{"line_number":123,"context_line":""},{"line_number":124,"context_line":"    @mock.patch.object(os, \u0027chmod\u0027, autospec\u003dTrue)"},{"line_number":125,"context_line":"    def test_make_persistent_password_file_fail(self, mock_mknod):"},{"line_number":126,"context_line":"        mock_mknod.side_effect \u003d IOError()"},{"line_number":127,"context_line":"        filepath \u003d \u0027%(tempdir)s/%(node_uuid)s\u0027 % {"},{"line_number":128,"context_line":"                \u0027tempdir\u0027: tempfile.gettempdir(),"}],"source_content_type":"text/x-python","patch_set":2,"id":"1ae5cdf2_471ad86f","line":125,"updated":"2014-06-12 08:45:07.000000000","message":"Since we\u0027re now mocking something other thank mknod, can we please rename \u0027mock_mknod\u0027 to \u0027mock_chmod\u0027 and flow that on to where it\u0027s used?","commit_id":"6c3bf60d10ad7436cfd1a46dedf9a897fd574b0c"},{"author":{"_account_id":3099,"name":"David Shrewsbury","email":"dshrewsb@redhat.com","username":"dshrews"},"change_message_id":"fa4472dc86c189113e92277582001156e9344b87","unresolved":false,"context_lines":[{"line_number":122,"context_line":"        os.unlink(filepath)"},{"line_number":123,"context_line":""},{"line_number":124,"context_line":"    @mock.patch.object(os, \u0027chmod\u0027, autospec\u003dTrue)"},{"line_number":125,"context_line":"    def test_make_persistent_password_file_fail(self, mock_mknod):"},{"line_number":126,"context_line":"        mock_mknod.side_effect \u003d IOError()"},{"line_number":127,"context_line":"        filepath \u003d \u0027%(tempdir)s/%(node_uuid)s\u0027 % {"},{"line_number":128,"context_line":"                \u0027tempdir\u0027: tempfile.gettempdir(),"}],"source_content_type":"text/x-python","patch_set":2,"id":"1ae5cdf2_30a7c051","line":125,"in_reply_to":"1ae5cdf2_471ad86f","updated":"2014-06-12 11:10:19.000000000","message":"Doh! How silly of me to miss that. Thanks.","commit_id":"6c3bf60d10ad7436cfd1a46dedf9a897fd574b0c"}]}
