)]}'
{"nova/tests/unit/virt/ironic/test_driver.py":[{"author":{"_account_id":14070,"name":"Eric Fried","email":"openstack@fried.cc","username":"efried"},"change_message_id":"8f5c0b966b421c08c0ac9e27d2d786a718fc07b1","unresolved":false,"context_lines":[{"line_number":2553,"context_line":""},{"line_number":2554,"context_line":"        self.driver._set_instance_id(node, instance)"},{"line_number":2555,"context_line":""},{"line_number":2556,"context_line":"        self.mock_conn.update_node.assert_called_once_with("},{"line_number":2557,"context_line":"            node, retry_on_conflict\u003dFalse, instance_id\u003dinstance.uuid)"},{"line_number":2558,"context_line":""},{"line_number":2559,"context_line":"    def test_prepare_for_spawn_invalid_instance(self):"}],"source_content_type":"text/x-python","patch_set":22,"id":"7faddb67_06ab6f1e","line":2556,"range":{"start_line":2556,"start_character":35,"end_line":2556,"end_character":58},"updated":"2019-08-22 17:34:27.000000000","message":"resolved merge conflict here","commit_id":"411fca9cc49333f8a80ce6dcc6bbf5c785fdc4c5"},{"author":{"_account_id":14070,"name":"Eric Fried","email":"openstack@fried.cc","username":"efried"},"change_message_id":"8f5c0b966b421c08c0ac9e27d2d786a718fc07b1","unresolved":false,"context_lines":[{"line_number":2600,"context_line":"        mock_stop_fw.assert_called_once_with(instance, None)"},{"line_number":2601,"context_line":"        expected_patch \u003d [{\u0027path\u0027: \u0027/instance_info\u0027, \u0027op\u0027: \u0027remove\u0027},"},{"line_number":2602,"context_line":"                          {\u0027path\u0027: \u0027/instance_uuid\u0027, \u0027op\u0027: \u0027remove\u0027}]"},{"line_number":2603,"context_line":"        mock_call.assert_called_once_with(\u0027node.update\u0027, node.uuid,"},{"line_number":2604,"context_line":"                                          expected_patch)"},{"line_number":2605,"context_line":""},{"line_number":2606,"context_line":"    @mock.patch.object(ironic_driver.IronicDriver, \u0027_stop_firewall\u0027)"}],"source_content_type":"text/x-python","patch_set":22,"id":"7faddb67_c6a4774e","line":2603,"range":{"start_line":2603,"start_character":18,"end_line":2603,"end_character":41},"updated":"2019-08-22 17:34:27.000000000","message":"resolved merge conflict here","commit_id":"411fca9cc49333f8a80ce6dcc6bbf5c785fdc4c5"}],"nova/virt/ironic/driver.py":[{"author":{"_account_id":12860,"name":"Dongcan Ye","email":"yedongcan@yeah.net","username":"yedongcan"},"change_message_id":"7f71c13d9a3a8c96e5f75f5895521e194b93a3bb","unresolved":false,"context_lines":[{"line_number":363,"context_line":"    def _set_instance_id(self, node, instance):"},{"line_number":364,"context_line":"        try:"},{"line_number":365,"context_line":"            self.ironicconn.update_node(node, retry_on_conflict\u003dFalse,"},{"line_number":366,"context_line":"                                        instance_id\u003dinstance.id)"},{"line_number":367,"context_line":"        except sdk_exc.SDKException:"},{"line_number":368,"context_line":"            msg \u003d (_(\"Failed to reserve node %(node)s \""},{"line_number":369,"context_line":"                     \"when provisioning the instance %(instance)s\")"}],"source_content_type":"text/x-python","patch_set":11,"id":"7faddb67_8eb60a3e","line":366,"range":{"start_line":366,"start_character":52,"end_line":366,"end_character":63},"updated":"2019-07-14 01:44:14.000000000","message":"instance.uuid?","commit_id":"172cd6228b57ac394eb3b46325b2c7112d1d96e8"},{"author":{"_account_id":29745,"name":"Dustin Cowles","email":"cowlesd@gmail.com","username":"dustinc","status":"inactive"},"change_message_id":"5595bcc71298a8b3b74123841d4577ba04214e6c","unresolved":false,"context_lines":[{"line_number":363,"context_line":"    def _set_instance_id(self, node, instance):"},{"line_number":364,"context_line":"        try:"},{"line_number":365,"context_line":"            self.ironicconn.update_node(node, retry_on_conflict\u003dFalse,"},{"line_number":366,"context_line":"                                        instance_id\u003dinstance.id)"},{"line_number":367,"context_line":"        except sdk_exc.SDKException:"},{"line_number":368,"context_line":"            msg \u003d (_(\"Failed to reserve node %(node)s \""},{"line_number":369,"context_line":"                     \"when provisioning the instance %(instance)s\")"}],"source_content_type":"text/x-python","patch_set":11,"id":"7faddb67_c1c36556","line":366,"range":{"start_line":366,"start_character":52,"end_line":366,"end_character":63},"in_reply_to":"7faddb67_8eb60a3e","updated":"2019-07-15 16:20:43.000000000","message":"oops, thanks","commit_id":"172cd6228b57ac394eb3b46325b2c7112d1d96e8"},{"author":{"_account_id":782,"name":"John Garbutt","email":"john@johngarbutt.com","username":"johngarbutt"},"change_message_id":"5a164bda617de892c277aadb230a7e7b4804d985","unresolved":false,"context_lines":[{"line_number":371,"context_line":"        patch \u003d [{\u0027path\u0027: \u0027/instance_uuid\u0027, \u0027op\u0027: \u0027add\u0027,"},{"line_number":372,"context_line":"                  \u0027value\u0027: instance.uuid}]"},{"line_number":373,"context_line":"        try:"},{"line_number":374,"context_line":"            # NOTE(TheJulia): Assert an instance UUID to lock the node"},{"line_number":375,"context_line":"            # from other deployment attempts while configuration is"},{"line_number":376,"context_line":"            # being set."},{"line_number":377,"context_line":"            self.ironicclient.call(\u0027node.update\u0027, node.uuid, patch,"},{"line_number":378,"context_line":"                                   retry_on_conflict\u003dFalse)"},{"line_number":379,"context_line":"        except ironic.exc.BadRequest:"}],"source_content_type":"text/x-python","patch_set":16,"id":"7faddb67_a4b333e9","side":"PARENT","line":376,"range":{"start_line":374,"start_character":0,"end_line":376,"end_character":24},"updated":"2019-08-12 10:54:10.000000000","message":"Can we please keep this really useful into?","commit_id":"116930ebc548d2a2191edc6d692a0f39687559b6"},{"author":{"_account_id":29745,"name":"Dustin Cowles","email":"cowlesd@gmail.com","username":"dustinc","status":"inactive"},"change_message_id":"012585e10856fe41742ff3cd2e9e19405ae41968","unresolved":false,"context_lines":[{"line_number":371,"context_line":"        patch \u003d [{\u0027path\u0027: \u0027/instance_uuid\u0027, \u0027op\u0027: \u0027add\u0027,"},{"line_number":372,"context_line":"                  \u0027value\u0027: instance.uuid}]"},{"line_number":373,"context_line":"        try:"},{"line_number":374,"context_line":"            # NOTE(TheJulia): Assert an instance UUID to lock the node"},{"line_number":375,"context_line":"            # from other deployment attempts while configuration is"},{"line_number":376,"context_line":"            # being set."},{"line_number":377,"context_line":"            self.ironicclient.call(\u0027node.update\u0027, node.uuid, patch,"},{"line_number":378,"context_line":"                                   retry_on_conflict\u003dFalse)"},{"line_number":379,"context_line":"        except ironic.exc.BadRequest:"}],"source_content_type":"text/x-python","patch_set":16,"id":"7faddb67_8d4dec9a","side":"PARENT","line":376,"range":{"start_line":374,"start_character":0,"end_line":376,"end_character":24},"in_reply_to":"7faddb67_a4b333e9","updated":"2019-08-13 04:27:42.000000000","message":"Done","commit_id":"116930ebc548d2a2191edc6d692a0f39687559b6"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"62c094ba55c37897d2e23c139c94ff136c936cd3","unresolved":false,"context_lines":[{"line_number":370,"context_line":"        try:"},{"line_number":371,"context_line":"            self.ironicconn.update_node(node, retry_on_conflict\u003dFalse,"},{"line_number":372,"context_line":"                                        instance_id\u003dinstance.uuid)"},{"line_number":373,"context_line":"        except sdk_exc.SDKException:"},{"line_number":374,"context_line":"            msg \u003d (_(\"Failed to reserve node %(node)s \""},{"line_number":375,"context_line":"                     \"when provisioning the instance %(instance)s\")"},{"line_number":376,"context_line":"                   % {\u0027node\u0027: node.id, \u0027instance\u0027: instance.uuid})"}],"source_content_type":"text/x-python","patch_set":16,"id":"7faddb67_3e044f7e","line":373,"range":{"start_line":373,"start_character":0,"end_line":373,"end_character":36},"updated":"2019-08-09 10:48:05.000000000","message":"I couldn\u0027t trace where this was coming from. Care to provide a link?","commit_id":"6faec66c66a13846a67360c9bf82e3d0ea7cbf71"},{"author":{"_account_id":29745,"name":"Dustin Cowles","email":"cowlesd@gmail.com","username":"dustinc","status":"inactive"},"change_message_id":"012585e10856fe41742ff3cd2e9e19405ae41968","unresolved":false,"context_lines":[{"line_number":370,"context_line":"        try:"},{"line_number":371,"context_line":"            self.ironicconn.update_node(node, retry_on_conflict\u003dFalse,"},{"line_number":372,"context_line":"                                        instance_id\u003dinstance.uuid)"},{"line_number":373,"context_line":"        except sdk_exc.SDKException:"},{"line_number":374,"context_line":"            msg \u003d (_(\"Failed to reserve node %(node)s \""},{"line_number":375,"context_line":"                     \"when provisioning the instance %(instance)s\")"},{"line_number":376,"context_line":"                   % {\u0027node\u0027: node.id, \u0027instance\u0027: instance.uuid})"}],"source_content_type":"text/x-python","patch_set":16,"id":"7faddb67_b257e726","line":373,"range":{"start_line":373,"start_character":0,"end_line":373,"end_character":36},"in_reply_to":"7faddb67_3e044f7e","updated":"2019-08-13 04:27:42.000000000","message":"It is the base exception type for all SDK exceptions.\nhttps://github.com/openstack/openstacksdk/blob/master/openstack/exceptions.py","commit_id":"6faec66c66a13846a67360c9bf82e3d0ea7cbf71"}]}
