)]}'
{"etc/ironic/ironic.conf.sample":[{"author":{"_account_id":2889,"name":"Aeva Black","email":"aeva.online@gmail.com","username":"tenbrae"},"change_message_id":"9eec7e80af7fbbdf326d487f86d5a7494b20c8ef","unresolved":false,"context_lines":[{"line_number":768,"context_line":"# binding is needed to be allowed. Finally the name of a"},{"line_number":769,"context_line":"# binding method that must be present in tokens. (string"},{"line_number":770,"context_line":"# value)"},{"line_number":771,"context_line":"#enforce_token_bind\u003dpermissive"},{"line_number":772,"context_line":""},{"line_number":773,"context_line":""},{"line_number":774,"context_line":"[glance]"}],"source_content_type":"application/octet-stream","patch_set":5,"id":"AAAAUH%2F9rsk%3D","line":771,"updated":"2014-02-05 01:18:02.000000000","message":"You should rebase on the current master -- this change has already landed. When I tested rebasing this, it didn\u0027t conflict... but it\u0027s not part of your change and isn\u0027t needed now.","commit_id":"f153ecd69fb74ad6c86e2611d3aa262d9000182f"},{"author":{"_account_id":6773,"name":"Lucas Alvares Gomes","email":"lucasagomes@gmail.com","username":"lucasagomes"},"change_message_id":"03cc318bf8e759ce3646876e8f7770bb9158b95a","unresolved":false,"context_lines":[{"line_number":768,"context_line":"# binding is needed to be allowed. Finally the name of a"},{"line_number":769,"context_line":"# binding method that must be present in tokens. (string"},{"line_number":770,"context_line":"# value)"},{"line_number":771,"context_line":"#enforce_token_bind\u003dpermissive"},{"line_number":772,"context_line":""},{"line_number":773,"context_line":""},{"line_number":774,"context_line":"[glance]"}],"source_content_type":"application/octet-stream","patch_set":5,"id":"AAAAUH%2F9pl0%3D","line":771,"in_reply_to":"AAAAUH%2F9rsk%3D","updated":"2014-02-05 10:56:56.000000000","message":"+1 will remove, I just added cause the pep8 test in the gate complained, but I will rebase and remove it :)","commit_id":"f153ecd69fb74ad6c86e2611d3aa262d9000182f"}],"ironic/api/controllers/v1/chassis.py":[{"author":{"_account_id":8968,"name":"Max Lobur","email":"max_lobur@outlook.com","username":"max_lobur"},"change_message_id":"834909562e59cbc3033b8d94d2e2d94092c8ff2e","unresolved":false,"context_lines":[{"line_number":213,"context_line":"        try:"},{"line_number":214,"context_line":"            chassis \u003d Chassis(**jsonpatch.apply_patch(rpc_chassis.as_dict(),"},{"line_number":215,"context_line":"                                                   jsonpatch.JsonPatch(patch)))"},{"line_number":216,"context_line":"        except utils.jsonpatch_exceptions as e:"},{"line_number":217,"context_line":"            raise exception.PatchError(patch\u003dpatch, reason\u003de)"},{"line_number":218,"context_line":""},{"line_number":219,"context_line":"        # Update only the fields that have changed"}],"source_content_type":"text/x-python","patch_set":3,"id":"AAAAUH%2F9v30%3D","line":216,"updated":"2014-02-04 12:41:52.000000000","message":"Would it make sense to create the import alias \"api_utils\" to be consistent with node and port files?","commit_id":"ec6c5b7bcf52b79d307a1d157aa750b64ca7a93e"},{"author":{"_account_id":6773,"name":"Lucas Alvares Gomes","email":"lucasagomes@gmail.com","username":"lucasagomes"},"change_message_id":"cc95fb5d0f7ae801dc6201aaf97d283c1853f358","unresolved":false,"context_lines":[{"line_number":213,"context_line":"        try:"},{"line_number":214,"context_line":"            chassis \u003d Chassis(**jsonpatch.apply_patch(rpc_chassis.as_dict(),"},{"line_number":215,"context_line":"                                                   jsonpatch.JsonPatch(patch)))"},{"line_number":216,"context_line":"        except utils.jsonpatch_exceptions as e:"},{"line_number":217,"context_line":"            raise exception.PatchError(patch\u003dpatch, reason\u003de)"},{"line_number":218,"context_line":""},{"line_number":219,"context_line":"        # Update only the fields that have changed"}],"source_content_type":"text/x-python","patch_set":3,"id":"AAAAUH%2F9vqc%3D","line":216,"in_reply_to":"AAAAUH%2F9v30%3D","updated":"2014-02-04 13:24:20.000000000","message":"+1 I will update it and add a note to the commit message","commit_id":"ec6c5b7bcf52b79d307a1d157aa750b64ca7a93e"}],"ironic/api/controllers/v1/utils.py":[{"author":{"_account_id":2889,"name":"Aeva Black","email":"aeva.online@gmail.com","username":"tenbrae"},"change_message_id":"9eec7e80af7fbbdf326d487f86d5a7494b20c8ef","unresolved":false,"context_lines":[{"line_number":24,"context_line":"CONF \u003d cfg.CONF"},{"line_number":25,"context_line":""},{"line_number":26,"context_line":""},{"line_number":27,"context_line":"jsonpatch_exceptions \u003d (jsonpatch.JsonPatchException,"},{"line_number":28,"context_line":"                        jsonpatch.JsonPointerException,"},{"line_number":29,"context_line":"                        KeyError)"},{"line_number":30,"context_line":""}],"source_content_type":"text/x-python","patch_set":5,"id":"AAAAUH%2F9rtU%3D","line":27,"updated":"2014-02-05 01:18:02.000000000","message":"module constant should be in caps: http://www.python.org/dev/peps/pep-0008/#constants\n\nalternately, you could create a method which returns this tuple and use lower_case for that.","commit_id":"f153ecd69fb74ad6c86e2611d3aa262d9000182f"},{"author":{"_account_id":6773,"name":"Lucas Alvares Gomes","email":"lucasagomes@gmail.com","username":"lucasagomes"},"change_message_id":"03cc318bf8e759ce3646876e8f7770bb9158b95a","unresolved":false,"context_lines":[{"line_number":24,"context_line":"CONF \u003d cfg.CONF"},{"line_number":25,"context_line":""},{"line_number":26,"context_line":""},{"line_number":27,"context_line":"jsonpatch_exceptions \u003d (jsonpatch.JsonPatchException,"},{"line_number":28,"context_line":"                        jsonpatch.JsonPointerException,"},{"line_number":29,"context_line":"                        KeyError)"},{"line_number":30,"context_line":""}],"source_content_type":"text/x-python","patch_set":5,"id":"AAAAUH%2F9pmI%3D","line":27,"in_reply_to":"AAAAUH%2F9rtU%3D","updated":"2014-02-05 10:56:56.000000000","message":"Ahh, great! Thanks\n\nI will stick to the constant, I think it looks better than having a function for it. Thanks for the suggestion","commit_id":"f153ecd69fb74ad6c86e2611d3aa262d9000182f"}],"ironic/tests/api/test_chassis.py":[{"author":{"_account_id":8968,"name":"Max Lobur","email":"max_lobur@outlook.com","username":"max_lobur"},"change_message_id":"834909562e59cbc3033b8d94d2e2d94092c8ff2e","unresolved":false,"context_lines":[{"line_number":234,"context_line":"        self.assertEqual(result[\u0027uuid\u0027], cdict[\u0027uuid\u0027])"},{"line_number":235,"context_line":"        self.assertEqual(result[\u0027description\u0027], cdict[\u0027description\u0027])"},{"line_number":236,"context_line":""},{"line_number":237,"context_line":"    def test_remove_fail(self):"},{"line_number":238,"context_line":"        cdict \u003d dbutils.get_test_chassis()"},{"line_number":239,"context_line":"        response \u003d self.patch_json(\u0027/chassis/%s\u0027 % cdict[\u0027uuid\u0027],"},{"line_number":240,"context_line":"                             [{\u0027path\u0027: \u0027/extra/non-existent\u0027, \u0027op\u0027: \u0027remove\u0027}],"}],"source_content_type":"text/x-python","patch_set":3,"id":"AAAAUH%2F9v1Y%3D","line":237,"updated":"2014-02-04 12:41:52.000000000","message":"test_remove_non_existent_property_fail :)","commit_id":"ec6c5b7bcf52b79d307a1d157aa750b64ca7a93e"},{"author":{"_account_id":6773,"name":"Lucas Alvares Gomes","email":"lucasagomes@gmail.com","username":"lucasagomes"},"change_message_id":"cc95fb5d0f7ae801dc6201aaf97d283c1853f358","unresolved":false,"context_lines":[{"line_number":234,"context_line":"        self.assertEqual(result[\u0027uuid\u0027], cdict[\u0027uuid\u0027])"},{"line_number":235,"context_line":"        self.assertEqual(result[\u0027description\u0027], cdict[\u0027description\u0027])"},{"line_number":236,"context_line":""},{"line_number":237,"context_line":"    def test_remove_fail(self):"},{"line_number":238,"context_line":"        cdict \u003d dbutils.get_test_chassis()"},{"line_number":239,"context_line":"        response \u003d self.patch_json(\u0027/chassis/%s\u0027 % cdict[\u0027uuid\u0027],"},{"line_number":240,"context_line":"                             [{\u0027path\u0027: \u0027/extra/non-existent\u0027, \u0027op\u0027: \u0027remove\u0027}],"}],"source_content_type":"text/x-python","patch_set":3,"id":"AAAAUH%2F9vqM%3D","line":237,"in_reply_to":"AAAAUH%2F9v1Y%3D","updated":"2014-02-04 13:24:20.000000000","message":"hah thanks!\n\n/me is really bad naming methods","commit_id":"ec6c5b7bcf52b79d307a1d157aa750b64ca7a93e"},{"author":{"_account_id":8106,"name":"Haomeng,Wang","email":"wanghaomeng@gmail.com","username":"whaom"},"change_message_id":"cb2c7f9f451133ff0f74b02e8f324fc711c2cabf","unresolved":false,"context_lines":[{"line_number":239,"context_line":"        response \u003d self.patch_json(\u0027/chassis/%s\u0027 % cdict[\u0027uuid\u0027],"},{"line_number":240,"context_line":"                             [{\u0027path\u0027: \u0027/extra/non-existent\u0027, \u0027op\u0027: \u0027remove\u0027}],"},{"line_number":241,"context_line":"                             expect_errors\u003dTrue)"},{"line_number":242,"context_line":"        self.assertEqual(response.content_type, \u0027application/json\u0027)"},{"line_number":243,"context_line":"        self.assertEqual(response.status_code, 400)"},{"line_number":244,"context_line":"        self.assertTrue(response.json[\u0027error_message\u0027])"},{"line_number":245,"context_line":""}],"source_content_type":"text/x-python","patch_set":6,"id":"AAAAUH%2F9kK0%3D","line":242,"updated":"2014-02-06 01:04:22.000000000","message":"Lucas, I remember the first parameter is the expected value, and 2nd one is the actual value, so suggest:\n    \n    self.assertEqual( \u0027application/json\u0027, response.content_type)\n\nThis comments can be apply all new assertEqual lines in this patch.","commit_id":"c52781df05b41687d31a5c769f1d35d96adf7f44"}],"ironic/tests/api/test_nodes.py":[{"author":{"_account_id":6773,"name":"Lucas Alvares Gomes","email":"lucasagomes@gmail.com","username":"lucasagomes"},"change_message_id":"cc95fb5d0f7ae801dc6201aaf97d283c1853f358","unresolved":false,"context_lines":[{"line_number":434,"context_line":"        self.mock_update_node.assert_called_once_with("},{"line_number":435,"context_line":"                mock.ANY, mock.ANY, \u0027test-topic\u0027)"},{"line_number":436,"context_line":""},{"line_number":437,"context_line":"    def test_remove_fail(self):"},{"line_number":438,"context_line":"        response \u003d self.patch_json(\u0027/nodes/%s\u0027 % self.node[\u0027uuid\u0027],"},{"line_number":439,"context_line":"                             [{\u0027path\u0027: \u0027/extra/non-existent\u0027, \u0027op\u0027: \u0027remove\u0027}],"},{"line_number":440,"context_line":"                             expect_errors\u003dTrue)"}],"source_content_type":"text/x-python","patch_set":3,"id":"AAAAUH%2F9vp0%3D","line":437,"updated":"2014-02-04 13:24:20.000000000","message":"test_remove_non_existent_property_fail :)\n\nWill rename this one","commit_id":"ec6c5b7bcf52b79d307a1d157aa750b64ca7a93e"}],"ironic/tests/api/test_ports.py":[{"author":{"_account_id":6773,"name":"Lucas Alvares Gomes","email":"lucasagomes@gmail.com","username":"lucasagomes"},"change_message_id":"cc95fb5d0f7ae801dc6201aaf97d283c1853f358","unresolved":false,"context_lines":[{"line_number":257,"context_line":"        self.assertEqual(result[\u0027uuid\u0027], pdict[\u0027uuid\u0027])"},{"line_number":258,"context_line":"        self.assertEqual(result[\u0027address\u0027], pdict[\u0027address\u0027])"},{"line_number":259,"context_line":""},{"line_number":260,"context_line":"    def test_remove_fail(self):"},{"line_number":261,"context_line":"        response \u003d self.patch_json(\u0027/ports/%s\u0027 % self.pdict[\u0027uuid\u0027],"},{"line_number":262,"context_line":"                             [{\u0027path\u0027: \u0027/extra/non-existent\u0027, \u0027op\u0027: \u0027remove\u0027}],"},{"line_number":263,"context_line":"                             expect_errors\u003dTrue)"}],"source_content_type":"text/x-python","patch_set":3,"id":"AAAAUH%2F9vqE%3D","line":260,"updated":"2014-02-04 13:24:20.000000000","message":"test_remove_non_existent_property_fail :)\n\nWill update this one as well","commit_id":"ec6c5b7bcf52b79d307a1d157aa750b64ca7a93e"}]}
