)]}'
{"nova/compute/manager.py":[{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"061749b9a5c09899602f1ed32b19e6a07aae4fcb","unresolved":false,"context_lines":[{"line_number":2801,"context_line":"                self._set_migration_status(migration, \u0027failed\u0027)"},{"line_number":2802,"context_line":"                # Since the claim failed, we need to remove the allocation"},{"line_number":2803,"context_line":"                # created against the destination node."},{"line_number":2804,"context_line":"                rt.delete_allocation_for_evacuated_instance("},{"line_number":2805,"context_line":"                    instance, scheduled_node, node_type\u003d\u0027destination\u0027)"},{"line_number":2806,"context_line":"                self._notify_instance_rebuild_error(context, instance, e)"},{"line_number":2807,"context_line":""}],"source_content_type":"text/x-python","patch_set":3,"id":"7f287b81_68b566cd","line":2804,"range":{"start_line":2804,"start_character":16,"end_line":2804,"end_character":60},"updated":"2017-09-01 18:13:05.000000000","message":"File \"nova/compute/manager.py\", line 2804, in rebuild_instance\n    rt.delete_allocation_for_evacuated_instance(\nUnboundLocalError: local variable \u0027rt\u0027 referenced before assignment","commit_id":"1ee36f5d3eb6299a8723b07ae30bae8add9c10e7"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"46709142180ff9b193869043263c3b93f5ba6c13","unresolved":false,"context_lines":[{"line_number":2801,"context_line":"                self._set_migration_status(migration, \u0027failed\u0027)"},{"line_number":2802,"context_line":"                # Since the claim failed, we need to remove the allocation"},{"line_number":2803,"context_line":"                # created against the destination node."},{"line_number":2804,"context_line":"                rt.delete_allocation_for_evacuated_instance("},{"line_number":2805,"context_line":"                    instance, scheduled_node, node_type\u003d\u0027destination\u0027)"},{"line_number":2806,"context_line":"                self._notify_instance_rebuild_error(context, instance, e)"},{"line_number":2807,"context_line":""}],"source_content_type":"text/x-python","patch_set":3,"id":"7f287b81_48f86a7b","line":2804,"range":{"start_line":2804,"start_character":16,"end_line":2804,"end_character":60},"in_reply_to":"7f287b81_68b566cd","updated":"2017-09-01 18:14:38.000000000","message":"Oh I see, test_rebuild_server_exc is using it as a stub, but it\u0027s wrong because rebuild won\u0027t actually do a claim so we couldn\u0027t get here.","commit_id":"1ee36f5d3eb6299a8723b07ae30bae8add9c10e7"},{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"9285496c3514d7330c6836673c8d5f61832a57c4","unresolved":false,"context_lines":[{"line_number":2801,"context_line":"                self._set_migration_status(migration, \u0027failed\u0027)"},{"line_number":2802,"context_line":"                # Since the claim failed, we need to remove the allocation"},{"line_number":2803,"context_line":"                # created against the destination node."},{"line_number":2804,"context_line":"                rt.delete_allocation_for_evacuated_instance("},{"line_number":2805,"context_line":"                    instance, scheduled_node, node_type\u003d\u0027destination\u0027)"},{"line_number":2806,"context_line":"                self._notify_instance_rebuild_error(context, instance, e)"},{"line_number":2807,"context_line":""}],"source_content_type":"text/x-python","patch_set":5,"id":"7f287b81_c54de03b","line":2804,"updated":"2017-09-07 15:00:18.000000000","message":"First I thought this deletion is problematic in case of same host rebuild. But in the same host rebuild case this code uses NopClaim that will never raise ComputeResourcesUnavailable exception. \nThis might worth a code comment.","commit_id":"b9611eb17f76cd1fd6f15b59589339eb59d71029"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"f46c3bc0d15ef3f448321cd8e7b797ee6a172e15","unresolved":false,"context_lines":[{"line_number":2801,"context_line":"                self._set_migration_status(migration, \u0027failed\u0027)"},{"line_number":2802,"context_line":"                # Since the claim failed, we need to remove the allocation"},{"line_number":2803,"context_line":"                # created against the destination node."},{"line_number":2804,"context_line":"                rt.delete_allocation_for_evacuated_instance("},{"line_number":2805,"context_line":"                    instance, scheduled_node, node_type\u003d\u0027destination\u0027)"},{"line_number":2806,"context_line":"                self._notify_instance_rebuild_error(context, instance, e)"},{"line_number":2807,"context_line":""}],"source_content_type":"text/x-python","patch_set":5,"id":"7f287b81_68a163f7","line":2804,"in_reply_to":"7f287b81_c54de03b","updated":"2017-09-07 15:17:42.000000000","message":"OK I can add one. I agree it\u0027s confusing.","commit_id":"b9611eb17f76cd1fd6f15b59589339eb59d71029"},{"author":{"_account_id":4393,"name":"Dan Smith","email":"dms@danplanet.com","username":"danms"},"change_message_id":"b55b87d48fce913417b701d21091908e6e76c8f2","unresolved":false,"context_lines":[{"line_number":2805,"context_line":"                # on the same host (not evacuate) uses the NopClaim which will"},{"line_number":2806,"context_line":"                # not raise ComputeResourcesUnavailable."},{"line_number":2807,"context_line":"                rt.delete_allocation_for_evacuated_instance("},{"line_number":2808,"context_line":"                    instance, scheduled_node, node_type\u003d\u0027destination\u0027)"},{"line_number":2809,"context_line":"                self._notify_instance_rebuild_error(context, instance, e)"},{"line_number":2810,"context_line":""},{"line_number":2811,"context_line":"                raise exception.BuildAbortException("}],"source_content_type":"text/x-python","patch_set":8,"id":"5f2577a7_516a2fb3","line":2808,"updated":"2017-09-12 19:26:32.000000000","message":"We really shouldn\u0027t be able to get here anymore if placement is doing its job. And, I want to remove this code soonly.","commit_id":"5bc137f7ebc266f8a73d6febc7c10d8d648924e0"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"1cc5b184afe7303bde9739d66a75521434795382","unresolved":false,"context_lines":[{"line_number":2805,"context_line":"                # on the same host (not evacuate) uses the NopClaim which will"},{"line_number":2806,"context_line":"                # not raise ComputeResourcesUnavailable."},{"line_number":2807,"context_line":"                rt.delete_allocation_for_evacuated_instance("},{"line_number":2808,"context_line":"                    instance, scheduled_node, node_type\u003d\u0027destination\u0027)"},{"line_number":2809,"context_line":"                self._notify_instance_rebuild_error(context, instance, e)"},{"line_number":2810,"context_line":""},{"line_number":2811,"context_line":"                raise exception.BuildAbortException("}],"source_content_type":"text/x-python","patch_set":8,"id":"5f2577a7_5177cfd5","line":2808,"in_reply_to":"5f2577a7_516a2fb3","updated":"2017-09-12 19:42:21.000000000","message":"Yeah, if we consult placement and then still fail the claim because of something like numa topology I guess (which we don\u0027t model/consult in placement). If you force a host on evacuate we bypass the scheduler and don\u0027t pass limits so the RT wouldn\u0027t raise ComputeResourcesUnavailable but that\u0027s not the same issue here.","commit_id":"5bc137f7ebc266f8a73d6febc7c10d8d648924e0"}],"nova/tests/functional/notification_sample_tests/test_instance.py":[{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"9285496c3514d7330c6836673c8d5f61832a57c4","unresolved":false,"context_lines":[{"line_number":727,"context_line":"    def test_rebuild_server_exc(self, mock_rebuild):"},{"line_number":728,"context_line":"        def _virtual_interface_create_failed(*args, **kwargs):"},{"line_number":729,"context_line":"            # A real error that could come out of driver.spawn() during rebuild"},{"line_number":730,"context_line":"            raise exception.VirtualInterfaceCreateException()"},{"line_number":731,"context_line":""},{"line_number":732,"context_line":"        server \u003d self._boot_a_server("},{"line_number":733,"context_line":"            extra_params\u003d{\u0027networks\u0027: [{\u0027port\u0027: self.neutron.port_1[\u0027id\u0027]}]})"}],"source_content_type":"text/x-python","patch_set":5,"id":"7f287b81_85a6b8c0","line":730,"updated":"2017-09-07 15:00:18.000000000","message":"+1 for making it more realistic.","commit_id":"b9611eb17f76cd1fd6f15b59589339eb59d71029"}]}
