)]}'
{"releasenotes/notes/raise-exception-when-error-deleting-on-volume-18d0d0c5886212dd.yaml":[{"author":{"_account_id":23186,"name":"Felipe Monteiro","email":"felipe.carneiro.monteiro@gmail.com","username":"felipe.monteiro"},"change_message_id":"610492f671f3c69eba5dcb16ca7289aa4b03de0b","unresolved":false,"context_lines":[{"line_number":2,"context_line":"upgrade:"},{"line_number":3,"context_line":"  - |"},{"line_number":4,"context_line":"    Tempest checks a volume delete by waiting for NotFound(404) on"},{"line_number":5,"context_line":"    show_volume(). Sometime a volume delete fails and the volume status"},{"line_number":6,"context_line":"    becomes error_deleting which means the delete is failed."},{"line_number":7,"context_line":"    So Tempest doesn\u0027t need to wait anymore. A new release of Tempest"},{"line_number":8,"context_line":"    raises an exception DeleteErrorException instead of waiting."}],"source_content_type":"text/x-yaml","patch_set":2,"id":"9f436f4f_79368905","line":5,"range":{"start_line":5,"start_character":19,"end_line":5,"end_character":27},"updated":"2017-08-17 03:11:28.000000000","message":"s/Sometime/Sometimes","commit_id":"4723fde77b6a3d001586eea2e2528fb44b53fac6"}],"tempest/lib/services/volume/v2/volumes_client.py":[{"author":{"_account_id":7350,"name":"Jordan Pittier","email":"jordan.pittier@gmail.com","username":"JordanP"},"change_message_id":"aa1b45625988ea6bca6599e13faa70f1a2f9e52d","unresolved":false,"context_lines":[{"line_number":191,"context_line":"            volume \u003d self.show_volume(id)"},{"line_number":192,"context_line":"        except lib_exc.NotFound:"},{"line_number":193,"context_line":"            return True"},{"line_number":194,"context_line":"        if volume[\"volume\"][\"status\"] \u003d\u003d \"error_deleting\":"},{"line_number":195,"context_line":"            raise lib_exc.DeleteErrorException(resource_id\u003did)"},{"line_number":196,"context_line":"        return False"},{"line_number":197,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"5ff73747_c037334d","line":194,"updated":"2017-04-27 08:56:10.000000000","message":"I don\u0027t think this is the best place to put that logic. The client should be super super simple, and this method is called is_resource_deleted and should only returns a boolean imo.\n\nIt\u0027s up to the caller (the waiter) to stop waiting if it doesn\u0027t make sense anymore.","commit_id":"c183c6e6fb2b31288f7130913b25a4e4f03ce9bb"},{"author":{"_account_id":6167,"name":"Ken\u0027ichi Ohmichi","email":"ken1ohmichi@gmail.com","username":"oomichi"},"change_message_id":"f2aff20cb2a3f1eb5b57426f59f6c7159faf70c4","unresolved":false,"context_lines":[{"line_number":191,"context_line":"            volume \u003d self.show_volume(id)"},{"line_number":192,"context_line":"        except lib_exc.NotFound:"},{"line_number":193,"context_line":"            return True"},{"line_number":194,"context_line":"        if volume[\"volume\"][\"status\"] \u003d\u003d \"error_deleting\":"},{"line_number":195,"context_line":"            raise lib_exc.DeleteErrorException(resource_id\u003did)"},{"line_number":196,"context_line":"        return False"},{"line_number":197,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"5ff73747_30a10997","line":194,"in_reply_to":"5ff73747_113a9ccc","updated":"2017-05-02 17:54:31.000000000","message":"IIUC \"error_deleting\" is not common status in OpenStack. The word is used on Cinder and Manila only. So rest_client is not a good place to check the status.","commit_id":"c183c6e6fb2b31288f7130913b25a4e4f03ce9bb"},{"author":{"_account_id":6167,"name":"Ken\u0027ichi Ohmichi","email":"ken1ohmichi@gmail.com","username":"oomichi"},"change_message_id":"e58eee664bb75cd54687a9eb190b8157537cb4f2","unresolved":false,"context_lines":[{"line_number":191,"context_line":"            volume \u003d self.show_volume(id)"},{"line_number":192,"context_line":"        except lib_exc.NotFound:"},{"line_number":193,"context_line":"            return True"},{"line_number":194,"context_line":"        if volume[\"volume\"][\"status\"] \u003d\u003d \"error_deleting\":"},{"line_number":195,"context_line":"            raise lib_exc.DeleteErrorException(resource_id\u003did)"},{"line_number":196,"context_line":"        return False"},{"line_number":197,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"3f044301_58469e51","line":194,"in_reply_to":"5ff73747_2aa85a75","updated":"2017-05-08 19:59:29.000000000","message":"humm, yeah \u0027error_*\u0027 could work at rest_client module level.\nBut I hesitate doing that because I cannot say every components are changing the status to the error string.","commit_id":"c183c6e6fb2b31288f7130913b25a4e4f03ce9bb"},{"author":{"_account_id":7350,"name":"Jordan Pittier","email":"jordan.pittier@gmail.com","username":"JordanP"},"change_message_id":"1ea59ca58f0689bd258157ca2856791c92e16a78","unresolved":false,"context_lines":[{"line_number":191,"context_line":"            volume \u003d self.show_volume(id)"},{"line_number":192,"context_line":"        except lib_exc.NotFound:"},{"line_number":193,"context_line":"            return True"},{"line_number":194,"context_line":"        if volume[\"volume\"][\"status\"] \u003d\u003d \"error_deleting\":"},{"line_number":195,"context_line":"            raise lib_exc.DeleteErrorException(resource_id\u003did)"},{"line_number":196,"context_line":"        return False"},{"line_number":197,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"5ff73747_2aa85a75","line":194,"in_reply_to":"5ff73747_30a10997","updated":"2017-05-03 12:36:39.000000000","message":"The logic would be not to match \"error_deleting\" exactly but any status that has \u0027error\u0027 in it.","commit_id":"c183c6e6fb2b31288f7130913b25a4e4f03ce9bb"},{"author":{"_account_id":7350,"name":"Jordan Pittier","email":"jordan.pittier@gmail.com","username":"JordanP"},"change_message_id":"290b8cfe70c009815e75dc2c5562db2832997c08","unresolved":false,"context_lines":[{"line_number":191,"context_line":"            volume \u003d self.show_volume(id)"},{"line_number":192,"context_line":"        except lib_exc.NotFound:"},{"line_number":193,"context_line":"            return True"},{"line_number":194,"context_line":"        if volume[\"volume\"][\"status\"] \u003d\u003d \"error_deleting\":"},{"line_number":195,"context_line":"            raise lib_exc.DeleteErrorException(resource_id\u003did)"},{"line_number":196,"context_line":"        return False"},{"line_number":197,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"5ff73747_113a9ccc","line":194,"in_reply_to":"5ff73747_67b95913","updated":"2017-05-02 13:06:26.000000000","message":"I think it\u0027s a good idea to stop waiting when volume is in error_deleting state.\n\nBut, imo, this should go in the rest_client code, because the logic of \"stop waiting if error\", should be for all types of resources, not only volumes.","commit_id":"c183c6e6fb2b31288f7130913b25a4e4f03ce9bb"},{"author":{"_account_id":6167,"name":"Ken\u0027ichi Ohmichi","email":"ken1ohmichi@gmail.com","username":"oomichi"},"change_message_id":"446e0330f56f9411e34058489264d863743ff3d8","unresolved":false,"context_lines":[{"line_number":191,"context_line":"            volume \u003d self.show_volume(id)"},{"line_number":192,"context_line":"        except lib_exc.NotFound:"},{"line_number":193,"context_line":"            return True"},{"line_number":194,"context_line":"        if volume[\"volume\"][\"status\"] \u003d\u003d \"error_deleting\":"},{"line_number":195,"context_line":"            raise lib_exc.DeleteErrorException(resource_id\u003did)"},{"line_number":196,"context_line":"        return False"},{"line_number":197,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"5ff73747_67b95913","line":194,"in_reply_to":"5ff73747_c037334d","updated":"2017-04-28 17:26:31.000000000","message":"Jordan,\n\nI am not sure you are saying here.\nDo you think we should wait long-time in this case without this kind of exception?\n\nThe caller exists in rest_client which is more common place, and I don\u0027t think rest_client is better place than here.","commit_id":"c183c6e6fb2b31288f7130913b25a4e4f03ce9bb"}]}
