)]}'
{"nova/objects/instance.py":[{"author":{"_account_id":1030,"name":"Chris Behrens","email":"cbehrens@codestud.com","username":"cbehrens"},"change_message_id":"289cdeec22702e601dccbd058824148dd79a6e13","unresolved":false,"context_lines":[{"line_number":323,"context_line":"        if \u0027vm_state\u0027 in changes or \u0027task_state\u0027 in changes:"},{"line_number":324,"context_line":"            notifications.send_update(context, old_ref, inst_ref)"},{"line_number":325,"context_line":"        self._handle_cells_updates(context, inst_ref, expected_task_state,"},{"line_number":326,"context_line":"                                   expected_vm_state,"},{"line_number":327,"context_line":"                                   admin_state_reset)"},{"line_number":328,"context_line":"        self.obj_reset_changes()"},{"line_number":329,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"AAAAPn%2F%2FUrM%3D","line":326,"updated":"2013-07-04 00:32:21.000000000","message":"task_state and vm_state args are reversed.","commit_id":"a2ee5721d06a40bc407f8f8862e57d53fc6d0927"},{"author":{"_account_id":5441,"name":"Andrew Laski","email":"andrew@lascii.com","username":"alaski"},"change_message_id":"61bdff337adeba1db8e37defd4f2f7eb780cbd2e","unresolved":false,"context_lines":[{"line_number":320,"context_line":"        if not updates:"},{"line_number":321,"context_line":"            if stale_instance:"},{"line_number":322,"context_line":"                _handle_cell_update_from_api()"},{"line_number":323,"context_line":"            return"},{"line_number":324,"context_line":""},{"line_number":325,"context_line":"        if expected_task_state is not None:"},{"line_number":326,"context_line":"            updates[\u0027expected_task_state\u0027] \u003d expected_task_state"}],"source_content_type":"text/x-python","patch_set":24,"id":"AAAAQn%2F%2F8II%3D","line":323,"updated":"2013-07-18 19:18:40.000000000","message":"I\u0027m not clear enough on what lines 314-316 are doing to understand if self.obj_reset_changes() is needed here, but it was called before whether or not updates was empty.  Should it still be here?","commit_id":"b4964ae82503104d895003047eddcb5e9eebfd06"},{"author":{"_account_id":5441,"name":"Andrew Laski","email":"andrew@lascii.com","username":"alaski"},"change_message_id":"e39efbc6ffe5ceb46c1c4d5b5c74191b9070a5a1","unresolved":false,"context_lines":[{"line_number":320,"context_line":"        if not updates:"},{"line_number":321,"context_line":"            if stale_instance:"},{"line_number":322,"context_line":"                _handle_cell_update_from_api()"},{"line_number":323,"context_line":"            return"},{"line_number":324,"context_line":""},{"line_number":325,"context_line":"        if expected_task_state is not None:"},{"line_number":326,"context_line":"            updates[\u0027expected_task_state\u0027] \u003d expected_task_state"}],"source_content_type":"text/x-python","patch_set":24,"id":"AAAAQn%2F%2F8DI%3D","line":323,"in_reply_to":"AAAAQn%2F%2F8FQ%3D","updated":"2013-07-18 19:42:03.000000000","message":"Thanks for explaining.","commit_id":"b4964ae82503104d895003047eddcb5e9eebfd06"},{"author":{"_account_id":4393,"name":"Dan Smith","email":"dms@danplanet.com","username":"danms"},"change_message_id":"06b9d460a4b2d9cffd4a338e9f8b1cd0b326090e","unresolved":false,"context_lines":[{"line_number":320,"context_line":"        if not updates:"},{"line_number":321,"context_line":"            if stale_instance:"},{"line_number":322,"context_line":"                _handle_cell_update_from_api()"},{"line_number":323,"context_line":"            return"},{"line_number":324,"context_line":""},{"line_number":325,"context_line":"        if expected_task_state is not None:"},{"line_number":326,"context_line":"            updates[\u0027expected_task_state\u0027] \u003d expected_task_state"}],"source_content_type":"text/x-python","patch_set":24,"id":"AAAAQn%2F%2F8FQ%3D","line":323,"in_reply_to":"AAAAQn%2F%2F8II%3D","updated":"2013-07-18 19:27:00.000000000","message":"It\u0027s safe to bail here if updates is empty. The only thing that obj_reset_changes() would do would be to reset things that appeared in updates, which was a no-op before in the fall-through case.","commit_id":"b4964ae82503104d895003047eddcb5e9eebfd06"}]}
