)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":22873,"name":"Martin Kopec","email":"mkopec@redhat.com","username":"mkopec"},"change_message_id":"0231125d37b013443e81ee8f9aa6adb1a1e4b784","unresolved":true,"context_lines":[{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Add wait_for_resource_deletion for swift api clients"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"Currently today we dont have any way in swift to verify that resources were deleted"},{"line_number":10,"context_line":"before moving to the next command"},{"line_number":11,"context_line":"In current code there was hardcoded sleep for 2 seconds instead of checking if"},{"line_number":12,"context_line":"resource really deleted."}],"source_content_type":"text/x-gerrit-commit-message","patch_set":2,"id":"7b121202_e0565c98","line":9,"range":{"start_line":9,"start_character":71,"end_line":9,"end_character":83},"updated":"2021-02-10 10:39:34.000000000","message":"please try to write little shorter lines because then it\u0027s rendered with a weird indentation in the gerrit UI","commit_id":"f5e277c802ca013cf2734f2a0435edba815f2424"},{"author":{"_account_id":22873,"name":"Martin Kopec","email":"mkopec@redhat.com","username":"mkopec"},"change_message_id":"0231125d37b013443e81ee8f9aa6adb1a1e4b784","unresolved":true,"context_lines":[{"line_number":15,"context_line":"Implement is_resource_deleted for object_client and container_client"},{"line_number":16,"context_line":"After remove action we wait/ verify till resource really deleted"},{"line_number":17,"context_line":"Remove hardcoded sleep for 2 seconds"},{"line_number":18,"context_line":"Remove ignore for not found in reomval , if we hit on it means something"},{"line_number":19,"context_line":"wrong in our code."},{"line_number":20,"context_line":""},{"line_number":21,"context_line":"Change-Id: I32f37f8e874a3510bb1af6db45a1b9a8d2fed543"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":2,"id":"4c54ecce_3eb88f54","line":18,"range":{"start_line":18,"start_character":31,"end_line":18,"end_character":38},"updated":"2021-02-10 10:39:34.000000000","message":"nit: removal","commit_id":"f5e277c802ca013cf2734f2a0435edba815f2424"}],"tempest/api/object_storage/base.py":[{"author":{"_account_id":10459,"name":"Luigi Toscano","email":"ltoscano@redhat.com","username":"ltoscano"},"change_message_id":"1895b4a92d9c260e5460ae9c96366312617d3d34","unresolved":true,"context_lines":[{"line_number":47,"context_line":"            _, objlist \u003d container_client.list_container_objects(cont, params)"},{"line_number":48,"context_line":"            # delete every object in the container"},{"line_number":49,"context_line":"            for obj in objlist:"},{"line_number":50,"context_line":"                object_client.delete_object(cont, obj[\u0027name\u0027])"},{"line_number":51,"context_line":"                object_client.wait_for_resource_deletion(obj[\u0027name\u0027], cont)"},{"line_number":52,"context_line":"            # Verify resource deletion"},{"line_number":53,"context_line":"            container_client.delete_container(cont)"}],"source_content_type":"text/x-python","patch_set":2,"id":"cda5a22e_893009c3","line":50,"updated":"2021-02-10 12:53:59.000000000","message":"Aren\u0027t we losing the call_and_ignore_notfound_exc call?\nI understand we are in a try... catch..., but without cathing the NotFound at the time of the delete_object won\u0027t the container be leaked in case of error?","commit_id":"f5e277c802ca013cf2734f2a0435edba815f2424"},{"author":{"_account_id":10459,"name":"Luigi Toscano","email":"ltoscano@redhat.com","username":"ltoscano"},"change_message_id":"b894c26b2c65246be21b249bf7809cac74ec0158","unresolved":true,"context_lines":[{"line_number":47,"context_line":"            _, objlist \u003d container_client.list_container_objects(cont, params)"},{"line_number":48,"context_line":"            # delete every object in the container"},{"line_number":49,"context_line":"            for obj in objlist:"},{"line_number":50,"context_line":"                object_client.delete_object(cont, obj[\u0027name\u0027])"},{"line_number":51,"context_line":"                object_client.wait_for_resource_deletion(obj[\u0027name\u0027], cont)"},{"line_number":52,"context_line":"            # Verify resource deletion"},{"line_number":53,"context_line":"            container_client.delete_container(cont)"}],"source_content_type":"text/x-python","patch_set":2,"id":"d8f858a9_5a8a1bf0","line":50,"in_reply_to":"bbf97720_493b5266","updated":"2021-02-18 12:01:47.000000000","message":"if the resource wasn\u0027t created, some other code should have taken care of it at the point when this is reached.\n\nI\u0027d still aruge we will still leak containers, and this method is about deleting the containers.","commit_id":"f5e277c802ca013cf2734f2a0435edba815f2424"},{"author":{"_account_id":11075,"name":"Benny Kopilov","email":"bkopilov@redhat.com","username":"bkopilov"},"change_message_id":"82ba438704be08e3bff1d43074682ea2515db4d4","unresolved":true,"context_lines":[{"line_number":47,"context_line":"            _, objlist \u003d container_client.list_container_objects(cont, params)"},{"line_number":48,"context_line":"            # delete every object in the container"},{"line_number":49,"context_line":"            for obj in objlist:"},{"line_number":50,"context_line":"                object_client.delete_object(cont, obj[\u0027name\u0027])"},{"line_number":51,"context_line":"                object_client.wait_for_resource_deletion(obj[\u0027name\u0027], cont)"},{"line_number":52,"context_line":"            # Verify resource deletion"},{"line_number":53,"context_line":"            container_client.delete_container(cont)"}],"source_content_type":"text/x-python","patch_set":2,"id":"bbf97720_493b5266","line":50,"in_reply_to":"cda5a22e_893009c3","updated":"2021-02-10 13:05:47.000000000","message":"There is no reason to hit con call_ignore_not_found , we actually hiding issues. and catch exception with pass its not a good idea and we will fix it .\n\nif we hit on not found in delete means that maybe the resource was not created somehow (maybe we will have to add waiter to create swift resource to verify in show that was really created.\n\n\nIMO the pass in exception should be replaced with assert","commit_id":"f5e277c802ca013cf2734f2a0435edba815f2424"},{"author":{"_account_id":8556,"name":"Ghanshyam Maan","display_name":"Ghanshyam Maan","email":"gmaan.os14@gmail.com","username":"ghanshyam"},"change_message_id":"b796c6c013815090d38b69b25d47b8178ac297e0","unresolved":true,"context_lines":[{"line_number":47,"context_line":"            _, objlist \u003d container_client.list_container_objects(cont, params)"},{"line_number":48,"context_line":"            # delete every object in the container"},{"line_number":49,"context_line":"            for obj in objlist:"},{"line_number":50,"context_line":"                object_client.delete_object(cont, obj[\u0027name\u0027])"},{"line_number":51,"context_line":"                object_client.wait_for_resource_deletion(obj[\u0027name\u0027], cont)"},{"line_number":52,"context_line":"            # Verify resource deletion"},{"line_number":53,"context_line":"            container_client.delete_container(cont)"}],"source_content_type":"text/x-python","patch_set":2,"id":"05a4e693_6d9759e8","line":50,"in_reply_to":"d8f858a9_5a8a1bf0","updated":"2021-02-24 21:52:19.000000000","message":"it would leak anything even original code had possibility of leaking. this is right way to delete the resource.","commit_id":"f5e277c802ca013cf2734f2a0435edba815f2424"}],"tempest/lib/services/object_storage/object_client.py":[{"author":{"_account_id":6968,"name":"Christian Schwede","email":"cschwede@nvidia.com","username":"cschwede"},"change_message_id":"e9d7dfdb3a64c0af490d7de6d7bbd8e4ffbe9fb1","unresolved":true,"context_lines":[{"line_number":23,"context_line":""},{"line_number":24,"context_line":"class ObjectClient(rest_client.RestClient):"},{"line_number":25,"context_line":""},{"line_number":26,"context_line":"    def is_resource_deleted(self, object_name, container):"},{"line_number":27,"context_line":"        try:"},{"line_number":28,"context_line":"            self.get_object(container, object_name)"},{"line_number":29,"context_line":"        except exceptions.NotFound:"}],"source_content_type":"text/x-python","patch_set":1,"id":"cadf26ab_259b1d43","line":26,"updated":"2021-02-08 10:39:16.000000000","message":"Maybe swap the arguments - container first, object_name second? That way it matches with other client calls (eg. in python-swiftclient itself).","commit_id":"7b71a0e199e79856574850c9647d5b81d717a9f3"}]}
