)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":14760,"name":"John L. Villalovos","email":"openstack.org@sodarock.com","username":"jlvillal"},"change_message_id":"5c514932bfe7117cc3c30038b0c8e5d87f70a0b4","unresolved":false,"context_lines":[{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Remove unnecessary destroy call from Ironic virt driver"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"Closes-Bug: #1506234"},{"line_number":10,"context_line":""},{"line_number":11,"context_line":"To give some context, calling destroy [5] was added as a"},{"line_number":12,"context_line":"bug fix [1]. It was required back then because, Nova compute"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":1,"id":"1a26ad4f_620bfa8e","line":9,"updated":"2015-11-02 23:41:04.000000000","message":"nit: This should be done with \u0027Change-Id:\u0027","commit_id":"f4836db836f86bc9c051665cfa1c29d902c80aad"},{"author":{"_account_id":8515,"name":"Shraddha Pandhe","email":"shraddha.pandhe@yahoo.com","username":"spandhe"},"change_message_id":"15cdaf610c59cc77c8c1554687fd3c21ec831f37","unresolved":false,"context_lines":[{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Remove unnecessary destroy call from Ironic virt driver"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"Closes-Bug: #1506234"},{"line_number":10,"context_line":""},{"line_number":11,"context_line":"To give some context, calling destroy [5] was added as a"},{"line_number":12,"context_line":"bug fix [1]. It was required back then because, Nova compute"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":1,"id":"1a26ad4f_4ca86820","line":9,"in_reply_to":"1a26ad4f_620bfa8e","updated":"2015-11-03 17:49:45.000000000","message":"Done","commit_id":"f4836db836f86bc9c051665cfa1c29d902c80aad"},{"author":{"_account_id":14760,"name":"John L. Villalovos","email":"openstack.org@sodarock.com","username":"jlvillal"},"change_message_id":"24688b661b23e2418fdfaa96e7574b12035a1c2b","unresolved":false,"context_lines":[{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Remove unnecessary destroy call from Ironic virt driver"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"Closes-Bug: #1506234"},{"line_number":10,"context_line":""},{"line_number":11,"context_line":"To give some context, calling destroy [5] was added as a"},{"line_number":12,"context_line":"bug fix [1]. It was required back then because, Nova compute"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":1,"id":"1a26ad4f_a2ed92b8","line":9,"in_reply_to":"1a26ad4f_620bfa8e","updated":"2015-11-02 23:42:00.000000000","message":"I meant: down below with Change-Id section","commit_id":"f4836db836f86bc9c051665cfa1c29d902c80aad"},{"author":{"_account_id":8125,"name":"Michael Davies","email":"michael@the-davies.net","username":"mrda"},"change_message_id":"035b686b368c7df19af1b050de255bda6c0bdf66","unresolved":false,"context_lines":[{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Remove unnecessary destroy call from Ironic virt driver"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"Closes-Bug: #1506234"},{"line_number":10,"context_line":""},{"line_number":11,"context_line":"To give some context, calling destroy [5] was added as a"},{"line_number":12,"context_line":"bug fix [1]. It was required back then because, Nova compute"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":1,"id":"1a26ad4f_bb25b409","line":9,"in_reply_to":"1a26ad4f_a2ed92b8","updated":"2015-11-03 06:33:53.000000000","message":"I agree with John - the Closes-Bug line should be the line before the Change-Id.","commit_id":"f4836db836f86bc9c051665cfa1c29d902c80aad"},{"author":{"_account_id":8515,"name":"Shraddha Pandhe","email":"shraddha.pandhe@yahoo.com","username":"spandhe"},"change_message_id":"15cdaf610c59cc77c8c1554687fd3c21ec831f37","unresolved":false,"context_lines":[{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Remove unnecessary destroy call from Ironic virt driver"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"Closes-Bug: #1506234"},{"line_number":10,"context_line":""},{"line_number":11,"context_line":"To give some context, calling destroy [5] was added as a"},{"line_number":12,"context_line":"bug fix [1]. It was required back then because, Nova compute"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":1,"id":"1a26ad4f_6ca52445","line":9,"in_reply_to":"1a26ad4f_bb25b409","updated":"2015-11-03 17:49:45.000000000","message":"Done","commit_id":"f4836db836f86bc9c051665cfa1c29d902c80aad"},{"author":{"_account_id":6618,"name":"Ruby Loo","email":"opensrloo@gmail.com","username":"rloo"},"change_message_id":"a3d1040108a449b963af252179952685afa58db9","unresolved":false,"context_lines":[{"line_number":22,"context_line":"[2] https://github.com/openstack/nova/blob/2014.1.5/nova/compute/manager.py#L2116-L2118"},{"line_number":23,"context_line":"[3] https://github.com/openstack/nova/blob/master/nova/compute/manager.py#L2171-L2191"},{"line_number":24,"context_line":"[4] https://github.com/openstack/nova/blob/master/nova/virt/ironic/driver.py#L431-L462"},{"line_number":25,"context_line":"[5] https://github.com/openstack/nova/blob/master/nova/virt/ironic/driver.py#L823-L836"},{"line_number":26,"context_line":""},{"line_number":27,"context_line":"Closes-Bug: #1506234"},{"line_number":28,"context_line":""}],"source_content_type":"text/x-gerrit-commit-message","patch_set":2,"id":"fa80f949_35796494","line":25,"updated":"2015-11-03 17:34:00.000000000","message":"For links to files in master, it is better to use a specific version, since the code at the tip of master may change and then the line numbers won\u0027t make any sense.\n\nEg, for [5], https://github.com/openstack/nova/blob/1dfc36d7cb22d6636b0542fb87d735ea65ea1686/nova/virt/ironic/driver.py#L823-L836","commit_id":"8e5e8808e14a42720192f2245fc4f4941801a338"},{"author":{"_account_id":8515,"name":"Shraddha Pandhe","email":"shraddha.pandhe@yahoo.com","username":"spandhe"},"change_message_id":"b4aeae072bd7169923d537e848abbf9adf71bd4e","unresolved":false,"context_lines":[{"line_number":22,"context_line":"[2] https://github.com/openstack/nova/blob/2014.1.5/nova/compute/manager.py#L2116-L2118"},{"line_number":23,"context_line":"[3] https://github.com/openstack/nova/blob/master/nova/compute/manager.py#L2171-L2191"},{"line_number":24,"context_line":"[4] https://github.com/openstack/nova/blob/master/nova/virt/ironic/driver.py#L431-L462"},{"line_number":25,"context_line":"[5] https://github.com/openstack/nova/blob/master/nova/virt/ironic/driver.py#L823-L836"},{"line_number":26,"context_line":""},{"line_number":27,"context_line":"Closes-Bug: #1506234"},{"line_number":28,"context_line":""}],"source_content_type":"text/x-gerrit-commit-message","patch_set":2,"id":"fa80f949_6e4dd371","line":25,"in_reply_to":"fa80f949_35796494","updated":"2015-11-03 21:47:01.000000000","message":"Done","commit_id":"8e5e8808e14a42720192f2245fc4f4941801a338"},{"author":{"_account_id":8515,"name":"Shraddha Pandhe","email":"shraddha.pandhe@yahoo.com","username":"spandhe"},"change_message_id":"191e6f73ba449f72c0dda4dbc6c062cac9616be1","unresolved":false,"context_lines":[{"line_number":22,"context_line":"[2] https://github.com/openstack/nova/blob/2014.1.5/nova/compute/manager.py#L2116-L2118"},{"line_number":23,"context_line":"[3] https://github.com/openstack/nova/blob/master/nova/compute/manager.py#L2171-L2191"},{"line_number":24,"context_line":"[4] https://github.com/openstack/nova/blob/master/nova/virt/ironic/driver.py#L431-L462"},{"line_number":25,"context_line":"[5] https://github.com/openstack/nova/blob/master/nova/virt/ironic/driver.py#L823-L836"},{"line_number":26,"context_line":""},{"line_number":27,"context_line":"Closes-Bug: #1506234"},{"line_number":28,"context_line":""}],"source_content_type":"text/x-gerrit-commit-message","patch_set":2,"id":"fa80f949_076e73c9","line":25,"in_reply_to":"fa80f949_35796494","updated":"2015-11-03 17:50:52.000000000","message":"Makes sense. Will update the links. Thanks for the review.","commit_id":"8e5e8808e14a42720192f2245fc4f4941801a338"}],"nova/tests/unit/virt/ironic/test_driver.py":[{"author":{"_account_id":8125,"name":"Michael Davies","email":"michael@the-davies.net","username":"mrda"},"change_message_id":"035b686b368c7df19af1b050de255bda6c0bdf66","unresolved":false,"context_lines":[{"line_number":894,"context_line":"        fake_looping_call.wait.side_effect \u003d deploy_exc"},{"line_number":895,"context_line":"        self.assertRaises("},{"line_number":896,"context_line":"            exception.InstanceDeployFailure,"},{"line_number":897,"context_line":"            self.driver.spawn, self.ctx, instance, None, [], None)"},{"line_number":898,"context_line":""},{"line_number":899,"context_line":"    @mock.patch.object(FAKE_CLIENT.node, \u0027update\u0027)"},{"line_number":900,"context_line":"    def test__add_driver_fields_good(self, mock_update):"}],"source_content_type":"text/x-python","patch_set":1,"id":"1a26ad4f_1b7628a4","line":897,"updated":"2015-11-03 06:33:53.000000000","message":"Do we want to verify that mock_destroy isn\u0027t called? i.e. self.assertEqual(0, mock_destroy.call_count).  The alternative is to not mock destroy, but my preference would be to ensure that destroy isn\u0027t called, since that\u0027s the desired behaviour now.","commit_id":"f4836db836f86bc9c051665cfa1c29d902c80aad"},{"author":{"_account_id":8515,"name":"Shraddha Pandhe","email":"shraddha.pandhe@yahoo.com","username":"spandhe"},"change_message_id":"15cdaf610c59cc77c8c1554687fd3c21ec831f37","unresolved":false,"context_lines":[{"line_number":894,"context_line":"        fake_looping_call.wait.side_effect \u003d deploy_exc"},{"line_number":895,"context_line":"        self.assertRaises("},{"line_number":896,"context_line":"            exception.InstanceDeployFailure,"},{"line_number":897,"context_line":"            self.driver.spawn, self.ctx, instance, None, [], None)"},{"line_number":898,"context_line":""},{"line_number":899,"context_line":"    @mock.patch.object(FAKE_CLIENT.node, \u0027update\u0027)"},{"line_number":900,"context_line":"    def test__add_driver_fields_good(self, mock_update):"}],"source_content_type":"text/x-python","patch_set":1,"id":"1a26ad4f_0c97d0ec","line":897,"in_reply_to":"1a26ad4f_1b7628a4","updated":"2015-11-03 17:49:45.000000000","message":"Done","commit_id":"f4836db836f86bc9c051665cfa1c29d902c80aad"},{"author":{"_account_id":8125,"name":"Michael Davies","email":"michael@the-davies.net","username":"mrda"},"change_message_id":"035b686b368c7df19af1b050de255bda6c0bdf66","unresolved":false,"context_lines":[{"line_number":1126,"context_line":"        fake_net_info \u003d utils.get_test_network_info()"},{"line_number":1127,"context_line":"        self.assertRaises(ironic_exception.BadRequest,"},{"line_number":1128,"context_line":"                          self.driver.spawn, self.ctx, instance,"},{"line_number":1129,"context_line":"                          image_meta, [], None, fake_net_info)"},{"line_number":1130,"context_line":""},{"line_number":1131,"context_line":"    @mock.patch.object(configdrive, \u0027required_by\u0027)"},{"line_number":1132,"context_line":"    @mock.patch.object(loopingcall, \u0027FixedIntervalLoopingCall\u0027)"}],"source_content_type":"text/x-python","patch_set":1,"id":"1a26ad4f_fb700ca6","line":1129,"updated":"2015-11-03 06:33:53.000000000","message":"Do we want to verify that mock_destroy isn\u0027t called? i.e. self.assertEqual(0, mock_destroy.call_count).  The alternative is to not mock destroy, but my preference would be to ensure that destroy isn\u0027t called, since that\u0027s the desired behaviour now.","commit_id":"f4836db836f86bc9c051665cfa1c29d902c80aad"},{"author":{"_account_id":8515,"name":"Shraddha Pandhe","email":"shraddha.pandhe@yahoo.com","username":"spandhe"},"change_message_id":"15cdaf610c59cc77c8c1554687fd3c21ec831f37","unresolved":false,"context_lines":[{"line_number":1126,"context_line":"        fake_net_info \u003d utils.get_test_network_info()"},{"line_number":1127,"context_line":"        self.assertRaises(ironic_exception.BadRequest,"},{"line_number":1128,"context_line":"                          self.driver.spawn, self.ctx, instance,"},{"line_number":1129,"context_line":"                          image_meta, [], None, fake_net_info)"},{"line_number":1130,"context_line":""},{"line_number":1131,"context_line":"    @mock.patch.object(configdrive, \u0027required_by\u0027)"},{"line_number":1132,"context_line":"    @mock.patch.object(loopingcall, \u0027FixedIntervalLoopingCall\u0027)"}],"source_content_type":"text/x-python","patch_set":1,"id":"1a26ad4f_2c9c0c0e","line":1129,"in_reply_to":"1a26ad4f_fb700ca6","updated":"2015-11-03 17:49:45.000000000","message":"Done","commit_id":"f4836db836f86bc9c051665cfa1c29d902c80aad"}]}
