)]}'
{"nova/compute/manager.py":[{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"8bb0e6296ae9b03a3356748ae4a96c1a74328dc6","unresolved":false,"context_lines":[{"line_number":2196,"context_line":"            # only updated fields are those we change explicitly during error"},{"line_number":2197,"context_line":"            # handling."},{"line_number":2198,"context_line":"            instance \u003d instance.obj_clone()"},{"line_number":2199,"context_line":"            instance.obj_reset_changes()"},{"line_number":2200,"context_line":"            return instance"},{"line_number":2201,"context_line":""},{"line_number":2202,"context_line":"        try:"}],"source_content_type":"text/x-python","patch_set":5,"id":"1fa4df85_57002535","line":2199,"updated":"2020-02-25 08:42:45.000000000","message":"Did you considered recursive\u003dTrue here? Also this patch might be relevant here as well: https://review.opendev.org/#/c/706267\n\nIf we really want to avoid persisting stale data then we might need to call instance.refresh() instead of just resetting changes","commit_id":"48e6dc7835c109aa6b05d031486f1b9e68983efe"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"65da8945b742142505e82d9ba0effd930dbf9592","unresolved":false,"context_lines":[{"line_number":2196,"context_line":"            # only updated fields are those we change explicitly during error"},{"line_number":2197,"context_line":"            # handling."},{"line_number":2198,"context_line":"            instance \u003d instance.obj_clone()"},{"line_number":2199,"context_line":"            instance.obj_reset_changes()"},{"line_number":2200,"context_line":"            return instance"},{"line_number":2201,"context_line":""},{"line_number":2202,"context_line":"        try:"}],"source_content_type":"text/x-python","patch_set":5,"id":"1fa4df85_47195277","line":2199,"in_reply_to":"1fa4df85_57002535","updated":"2020-02-25 11:24:56.000000000","message":"I did not, but that is a good idea. Will add.","commit_id":"48e6dc7835c109aa6b05d031486f1b9e68983efe"},{"author":{"_account_id":14070,"name":"Eric Fried","email":"openstack@fried.cc","username":"efried"},"change_message_id":"eef3c9084c8b932a769f26765e271f2f733e1a17","unresolved":false,"context_lines":[{"line_number":2214,"context_line":"                # no retry information, do not reschedule."},{"line_number":2215,"context_line":"                LOG.debug(\"Retry info not present, will not reschedule\","},{"line_number":2216,"context_line":"                    instance\u003dinstance)"},{"line_number":2217,"context_line":"                self._cleanup_allocated_networks(context, instance,"},{"line_number":2218,"context_line":"                    requested_networks)"},{"line_number":2219,"context_line":"                self._cleanup_volumes(context, instance,"},{"line_number":2220,"context_line":"                    block_device_mapping, raise_exc\u003dFalse)"}],"source_content_type":"text/x-python","patch_set":6,"id":"1fa4df85_3be6ab46","line":2217,"range":{"start_line":2217,"start_character":21,"end_line":2217,"end_character":48},"updated":"2020-02-25 15:22:29.000000000","message":"we don\u0027t need to do the same thing for this exception branch?","commit_id":"1a1eee154dd20a37829f359e3b75777a0fd2930d"},{"author":{"_account_id":14070,"name":"Eric Fried","email":"openstack@fried.cc","username":"efried"},"change_message_id":"eef3c9084c8b932a769f26765e271f2f733e1a17","unresolved":false,"context_lines":[{"line_number":2236,"context_line":""},{"line_number":2237,"context_line":"            self._nil_out_instance_obj_host_and_node(instance)"},{"line_number":2238,"context_line":"            instance.task_state \u003d task_states.SCHEDULING"},{"line_number":2239,"context_line":"            instance.save()"},{"line_number":2240,"context_line":"            # The instance will have already claimed resources from this host"},{"line_number":2241,"context_line":"            # before this build was attempted. Now that it has failed, we need"},{"line_number":2242,"context_line":"            # to unclaim those resources before casting to the conductor, so"}],"source_content_type":"text/x-python","patch_set":6,"id":"1fa4df85_5be36734","line":2239,"range":{"start_line":2239,"start_character":12,"end_line":2239,"end_character":27},"updated":"2020-02-25 15:22:29.000000000","message":"\"","commit_id":"1a1eee154dd20a37829f359e3b75777a0fd2930d"}],"nova/tests/unit/matchers.py":[{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"8bb0e6296ae9b03a3356748ae4a96c1a74328dc6","unresolved":false,"context_lines":[{"line_number":598,"context_line":"        return all((getattr(self.obj, field) \u003d\u003d getattr(other, field)"},{"line_number":599,"context_line":"                   for field in self.fields))"},{"line_number":600,"context_line":""},{"line_number":601,"context_line":"    def __ne__(self, other):"},{"line_number":602,"context_line":"        # For python2 compatibility"},{"line_number":603,"context_line":"        return not self.__eq__(other)"},{"line_number":604,"context_line":""},{"line_number":605,"context_line":"    def __repr__(self):"},{"line_number":606,"context_line":"        values \u003d \u0027, \u0027.join((\u0027{field}\u003d{value}\u0027.format("}],"source_content_type":"text/x-python","patch_set":5,"id":"1fa4df85_b7307909","line":603,"range":{"start_line":601,"start_character":0,"end_line":603,"end_character":37},"updated":"2020-02-25 08:42:45.000000000","message":"I guess you want to backport this hence the py2 support","commit_id":"48e6dc7835c109aa6b05d031486f1b9e68983efe"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"65da8945b742142505e82d9ba0effd930dbf9592","unresolved":false,"context_lines":[{"line_number":598,"context_line":"        return all((getattr(self.obj, field) \u003d\u003d getattr(other, field)"},{"line_number":599,"context_line":"                   for field in self.fields))"},{"line_number":600,"context_line":""},{"line_number":601,"context_line":"    def __ne__(self, other):"},{"line_number":602,"context_line":"        # For python2 compatibility"},{"line_number":603,"context_line":"        return not self.__eq__(other)"},{"line_number":604,"context_line":""},{"line_number":605,"context_line":"    def __repr__(self):"},{"line_number":606,"context_line":"        values \u003d \u0027, \u0027.join((\u0027{field}\u003d{value}\u0027.format("}],"source_content_type":"text/x-python","patch_set":5,"id":"1fa4df85_271c5669","line":603,"range":{"start_line":601,"start_character":0,"end_line":603,"end_character":37},"in_reply_to":"1fa4df85_b7307909","updated":"2020-02-25 11:24:56.000000000","message":"Correct","commit_id":"48e6dc7835c109aa6b05d031486f1b9e68983efe"}]}
