)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":5689,"name":"Masayuki Igawa","email":"masayuki@igawa.io","username":"igawa"},"change_message_id":"5f0c3771c406701d70a1c43aa0147453a39c162b","unresolved":false,"context_lines":[{"line_number":13,"context_line":""},{"line_number":14,"context_line":"In the swift basic ops test the container is cleaned up automatically"},{"line_number":15,"context_line":"as the object store client doesn\u0027t make it super easy to check for"},{"line_number":16,"context_line":"a 404. The object is deleted and checked for manually."},{"line_number":17,"context_line":""},{"line_number":18,"context_line":"Change-Id: I70b7172e9485cbd1eb881db3b2add3860da0935a"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":2,"id":"7a8c0949_1e3cf992","line":16,"updated":"2014-11-06 08:29:34.000000000","message":"So I think you can use delete_wrapper() (which is in ScenarioTest class) for ignoring NotFound exception. Is there any particular reason you don\u0027t use it?","commit_id":"e4fe93f856a15a66e064f713d293069b8811d9a5"},{"author":{"_account_id":11564,"name":"Chris Dent","email":"cdent@anticdent.org","username":"chdent"},"change_message_id":"85c74e660872eb2384cbcdcea2afc71b7cd88fe3","unresolved":false,"context_lines":[{"line_number":13,"context_line":""},{"line_number":14,"context_line":"In the swift basic ops test the container is cleaned up automatically"},{"line_number":15,"context_line":"as the object store client doesn\u0027t make it super easy to check for"},{"line_number":16,"context_line":"a 404. The object is deleted and checked for manually."},{"line_number":17,"context_line":""},{"line_number":18,"context_line":"Change-Id: I70b7172e9485cbd1eb881db3b2add3860da0935a"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":2,"id":"7a8c0949_e48cfa81","line":16,"in_reply_to":"7a8c0949_1e3cf992","updated":"2014-11-06 09:44:36.000000000","message":"Thanks for the pointer. The reason for not using it was simply because I didn\u0027t know about it. Will explore and post a new set.","commit_id":"e4fe93f856a15a66e064f713d293069b8811d9a5"}],"tempest/scenario/manager.py":[{"author":{"_account_id":8576,"name":"Yair Fried","email":"yfried@redhat.com","username":"yfried"},"change_message_id":"6a1edb158d3add213b9f6f73b563105f94e0eb25","unresolved":false,"context_lines":[{"line_number":1277,"context_line":""},{"line_number":1278,"context_line":"    def delete_container(self, container_name):"},{"line_number":1279,"context_line":"        resp, _ \u003d self.container_client.delete_container(container_name)"},{"line_number":1280,"context_line":"        self.assertIn(int(resp[\u0027status\u0027]), tempest.test.HTTP_SUCCESS)"},{"line_number":1281,"context_line":"        LOG.debug(\u0027Container %s deleted\u0027 % (container_name))"},{"line_number":1282,"context_line":""},{"line_number":1283,"context_line":"    def upload_object_to_container(self, container_name, obj_name\u003dNone):"}],"source_content_type":"text/x-python","patch_set":4,"id":"5a890539_402b53eb","line":1280,"updated":"2014-11-10 09:40:02.000000000","message":"shouldn\u0027t response verification be done in the client?","commit_id":"fc0e40645395ebcf8a06a94ac56d022412273c2e"},{"author":{"_account_id":11564,"name":"Chris Dent","email":"cdent@anticdent.org","username":"chdent"},"change_message_id":"f7a59afe200fe212870474147c3c10a676acaff8","unresolved":false,"context_lines":[{"line_number":1277,"context_line":""},{"line_number":1278,"context_line":"    def delete_container(self, container_name):"},{"line_number":1279,"context_line":"        resp, _ \u003d self.container_client.delete_container(container_name)"},{"line_number":1280,"context_line":"        self.assertIn(int(resp[\u0027status\u0027]), tempest.test.HTTP_SUCCESS)"},{"line_number":1281,"context_line":"        LOG.debug(\u0027Container %s deleted\u0027 % (container_name))"},{"line_number":1282,"context_line":""},{"line_number":1283,"context_line":"    def upload_object_to_container(self, container_name, obj_name\u003dNone):"}],"source_content_type":"text/x-python","patch_set":4,"id":"5a890539_843c6a95","line":1280,"in_reply_to":"5a890539_402b53eb","updated":"2014-11-10 12:29:14.000000000","message":"As you pointed out in IRC, the client https://github.com/openstack/tempest/blob/master/tempest/services/object_storage/container_client.py#L58 is not doing the right this (as in https://github.com/openstack/tempest/blob/master/tempest/services/image/v2/json/image_client.py#L89 )\n\nI\u0027ll adjust so that the caller follows expectations and leave a NOTE.","commit_id":"fc0e40645395ebcf8a06a94ac56d022412273c2e"},{"author":{"_account_id":8576,"name":"Yair Fried","email":"yfried@redhat.com","username":"yfried"},"change_message_id":"bd6c66dae18da4aed3be4d2b2f7a174f7d71c18e","unresolved":false,"context_lines":[{"line_number":1276,"context_line":"        return name"},{"line_number":1277,"context_line":""},{"line_number":1278,"context_line":"    def delete_container(self, container_name):"},{"line_number":1279,"context_line":"        # NOTE(chdent): Success should be verified in client."},{"line_number":1280,"context_line":"        self.container_client.delete_container(container_name)"},{"line_number":1281,"context_line":"        LOG.debug(\u0027Container %s deleted\u0027 % (container_name))"},{"line_number":1282,"context_line":""}],"source_content_type":"text/x-python","patch_set":5,"id":"5a890539_2fbb8f0f","line":1279,"updated":"2014-11-10 13:09:39.000000000","message":"nit: this note is unnecessary since that\u0027s part of tempest\u0027s blueprints/specs","commit_id":"d30a6107e41b586f4495142e2a044aef644060fc"},{"author":{"_account_id":11564,"name":"Chris Dent","email":"cdent@anticdent.org","username":"chdent"},"change_message_id":"a4f433bc6a15076cea89e3dcb0ad22ff9bf3330f","unresolved":false,"context_lines":[{"line_number":1276,"context_line":"        return name"},{"line_number":1277,"context_line":""},{"line_number":1278,"context_line":"    def delete_container(self, container_name):"},{"line_number":1279,"context_line":"        # NOTE(chdent): Success should be verified in client."},{"line_number":1280,"context_line":"        self.container_client.delete_container(container_name)"},{"line_number":1281,"context_line":"        LOG.debug(\u0027Container %s deleted\u0027 % (container_name))"},{"line_number":1282,"context_line":""}],"source_content_type":"text/x-python","patch_set":5,"id":"5a890539_6a2bc582","line":1279,"in_reply_to":"5a890539_2fbb8f0f","updated":"2014-11-10 13:40:48.000000000","message":"I\u0027ve made this: https://review.openstack.org/#/c/133476/","commit_id":"d30a6107e41b586f4495142e2a044aef644060fc"},{"author":{"_account_id":5689,"name":"Masayuki Igawa","email":"masayuki@igawa.io","username":"igawa"},"change_message_id":"c85a3fde7b37494511708da87a5bafc34da3ffdf","unresolved":false,"context_lines":[{"line_number":1276,"context_line":"        return name"},{"line_number":1277,"context_line":""},{"line_number":1278,"context_line":"    def delete_container(self, container_name):"},{"line_number":1279,"context_line":"        self.container_client.delete_container(container_name)"},{"line_number":1280,"context_line":"        LOG.debug(\u0027Container %s deleted\u0027 % (container_name))"},{"line_number":1281,"context_line":""},{"line_number":1282,"context_line":"    def upload_object_to_container(self, container_name, obj_name\u003dNone):"}],"source_content_type":"text/x-python","patch_set":7,"id":"5a890539_dfab8287","line":1279,"updated":"2014-11-11 13:57:51.000000000","message":"I\u0027m not sure that this is enough for checking the response code.\nYou have another patch for this https://review.openstack.org/#/c/133476/ . So I think you should make this patch to depend on the other patch(133476) if the check is needed.","commit_id":"b3597a81087594b45cb7ba06b05f074cf55a163d"},{"author":{"_account_id":11564,"name":"Chris Dent","email":"cdent@anticdent.org","username":"chdent"},"change_message_id":"52e8ca5848f5c53748d36179254421cfcc0fcacb","unresolved":false,"context_lines":[{"line_number":1276,"context_line":"        return name"},{"line_number":1277,"context_line":""},{"line_number":1278,"context_line":"    def delete_container(self, container_name):"},{"line_number":1279,"context_line":"        self.container_client.delete_container(container_name)"},{"line_number":1280,"context_line":"        LOG.debug(\u0027Container %s deleted\u0027 % (container_name))"},{"line_number":1281,"context_line":""},{"line_number":1282,"context_line":"    def upload_object_to_container(self, container_name, obj_name\u003dNone):"}],"source_content_type":"text/x-python","patch_set":7,"id":"5a890539_93f57285","line":1279,"in_reply_to":"5a890539_dfab8287","updated":"2014-11-11 16:37:44.000000000","message":"Unfortunately that reference patchset has turned into a quagmire or multiple changes rather than the one small change required to make this valid, so it may be some time before it goes through. If we hold this up for that, then we also hold up the telemetry change.","commit_id":"b3597a81087594b45cb7ba06b05f074cf55a163d"}],"tempest/scenario/test_swift_basic_ops.py":[{"author":{"_account_id":5689,"name":"Masayuki Igawa","email":"masayuki@igawa.io","username":"igawa"},"change_message_id":"024fba6c24101fa85ea02d34ed4060253722acf0","unresolved":false,"context_lines":[{"line_number":46,"context_line":"        obj_name, obj_data \u003d self.upload_object_to_container(container_name)"},{"line_number":47,"context_line":"        self.list_and_check_container_objects(container_name, [obj_name])"},{"line_number":48,"context_line":"        self.download_and_verify(container_name, obj_name, obj_data)"},{"line_number":49,"context_line":"        self.delete_object(container_name, obj_name)"},{"line_number":50,"context_line":"        self.delete_container(container_name)"},{"line_number":51,"context_line":""},{"line_number":52,"context_line":"    @test.services(\u0027object_storage\u0027)"}],"source_content_type":"text/x-python","patch_set":1,"id":"7a8c0949_d1e26d00","side":"PARENT","line":49,"updated":"2014-11-05 13:45:41.000000000","message":"I don\u0027t think we should delete objects/containers implicitly in this scenario. Because \u0027delete object and container\u0027 is basic operation. So I think we should test deleting explicitly.","commit_id":"fde24ddad6e28dd0806189c90fdf6d817364de4b"},{"author":{"_account_id":5689,"name":"Masayuki Igawa","email":"masayuki@igawa.io","username":"igawa"},"change_message_id":"024fba6c24101fa85ea02d34ed4060253722acf0","unresolved":false,"context_lines":[{"line_number":56,"context_line":"        2. Upload object to the new container"},{"line_number":57,"context_line":"        3. Change the ACL of the container"},{"line_number":58,"context_line":"        4. Check if the object can be download by anonymous user"},{"line_number":59,"context_line":"        5. Delete the object and container"},{"line_number":60,"context_line":"        \"\"\""},{"line_number":61,"context_line":"        container_name \u003d self.create_container()"},{"line_number":62,"context_line":"        obj_name, _ \u003d self.upload_object_to_container(container_name)"}],"source_content_type":"text/x-python","patch_set":1,"id":"7a8c0949_51bafdc0","side":"PARENT","line":59,"updated":"2014-11-05 13:45:41.000000000","message":"If you want to delete the object and container implicitly, I think you should remove this line(5. Delete....).","commit_id":"fde24ddad6e28dd0806189c90fdf6d817364de4b"},{"author":{"_account_id":5689,"name":"Masayuki Igawa","email":"masayuki@igawa.io","username":"igawa"},"change_message_id":"024fba6c24101fa85ea02d34ed4060253722acf0","unresolved":false,"context_lines":[{"line_number":69,"context_line":"        resp, _ \u003d http_client.request(obj_url, \u0027GET\u0027)"},{"line_number":70,"context_line":"        self.assertEqual(resp.status, 200)"},{"line_number":71,"context_line":"        self.delete_object(container_name, obj_name)"},{"line_number":72,"context_line":"        self.delete_container(container_name)"}],"source_content_type":"text/x-python","patch_set":1,"id":"7a8c0949_d177cd39","side":"PARENT","line":72,"updated":"2014-11-05 13:45:41.000000000","message":"I\u0027m fine with this deleting.","commit_id":"fde24ddad6e28dd0806189c90fdf6d817364de4b"},{"author":{"_account_id":5689,"name":"Masayuki Igawa","email":"masayuki@igawa.io","username":"igawa"},"change_message_id":"5f0c3771c406701d70a1c43aa0147453a39c162b","unresolved":false,"context_lines":[{"line_number":45,"context_line":"        container_name \u003d self.create_container()"},{"line_number":46,"context_line":"        obj_name, obj_data \u003d self.upload_object_to_container("},{"line_number":47,"context_line":"            container_name, cleanup\u003dFalse)"},{"line_number":48,"context_line":"        self.list_and_check_container_objects(container_name,"},{"line_number":49,"context_line":"                                              present_obj\u003d[obj_name])"},{"line_number":50,"context_line":"        self.download_and_verify(container_name, obj_name, obj_data)"},{"line_number":51,"context_line":"        self.delete_object(container_name, obj_name)"}],"source_content_type":"text/x-python","patch_set":2,"id":"7a8c0949_be5685d0","line":48,"updated":"2014-11-06 08:29:34.000000000","message":"If an exception happens here or below, uploaded objects is not deleted..","commit_id":"e4fe93f856a15a66e064f713d293069b8811d9a5"},{"author":{"_account_id":5689,"name":"Masayuki Igawa","email":"masayuki@igawa.io","username":"igawa"},"change_message_id":"7da9e3275cd36268194d49985a2abec883223721","unresolved":false,"context_lines":[{"line_number":47,"context_line":"        self.list_and_check_container_objects(container_name, [obj_name])"},{"line_number":48,"context_line":"        self.download_and_verify(container_name, obj_name, obj_data)"},{"line_number":49,"context_line":"        self.delete_object(container_name, obj_name)"},{"line_number":50,"context_line":"        self.delete_container(container_name)"},{"line_number":51,"context_line":""},{"line_number":52,"context_line":"    @test.services(\u0027object_storage\u0027)"},{"line_number":53,"context_line":"    def test_swift_acl_anonymous_download(self):"}],"source_content_type":"text/x-python","patch_set":3,"id":"7a8c0949_04456a16","side":"PARENT","line":50,"updated":"2014-11-07 15:04:15.000000000","message":"Why did you delete \u0027delete_container()\u0027 here?\nI think \u0027delete_container()\u0027 is also basic operation. IMO, we should test it explicitly.","commit_id":"fde24ddad6e28dd0806189c90fdf6d817364de4b"},{"author":{"_account_id":2284,"name":"Eoghan Glynn","email":"eglynn@redhat.com","username":"eglynn"},"change_message_id":"7c18a1e6fc6deb7de36f3ba72aeff2ec77748292","unresolved":false,"context_lines":[{"line_number":49,"context_line":"        self.download_and_verify(container_name, obj_name, obj_data)"},{"line_number":50,"context_line":"        self.delete_object(container_name, obj_name)"},{"line_number":51,"context_line":"        self.list_and_check_container_objects(container_name,"},{"line_number":52,"context_line":"                                              not_present_obj\u003d[obj_name])"},{"line_number":53,"context_line":"        self.delete_container(container_name)"},{"line_number":54,"context_line":""},{"line_number":55,"context_line":"    @test.services(\u0027object_storage\u0027)"}],"source_content_type":"text/x-python","patch_set":8,"id":"5a890539_da624b3d","line":52,"updated":"2014-11-14 09:08:10.000000000","message":"This change to check the object is not present post-deletion looks totally kosher and useful, but unrelated to the intent of the patch as described in the commit message.\n\nCan you split or update the commit msg?","commit_id":"db64e44aba5f4215e95ecd42373d6f44c637b445"},{"author":{"_account_id":11564,"name":"Chris Dent","email":"cdent@anticdent.org","username":"chdent"},"change_message_id":"7436cb5c99a7fb74e62982d9169745d89e3e13f4","unresolved":false,"context_lines":[{"line_number":49,"context_line":"        self.download_and_verify(container_name, obj_name, obj_data)"},{"line_number":50,"context_line":"        self.delete_object(container_name, obj_name)"},{"line_number":51,"context_line":"        self.list_and_check_container_objects(container_name,"},{"line_number":52,"context_line":"                                              not_present_obj\u003d[obj_name])"},{"line_number":53,"context_line":"        self.delete_container(container_name)"},{"line_number":54,"context_line":""},{"line_number":55,"context_line":"    @test.services(\u0027object_storage\u0027)"}],"source_content_type":"text/x-python","patch_set":8,"id":"5a890539_977ed917","line":52,"in_reply_to":"5a890539_da624b3d","updated":"2014-11-14 10:52:21.000000000","message":"I\u0027ll update the commit msg.\n\nIf you check the comments earlier in the review and in the associated reviews, there\u0027s been quite a bit of opportunistic \"oh while you\u0027re in there fix this too\", beyond the initial intent (which was just to add a basic test for the telemetry middleware).\n\nThanks.","commit_id":"db64e44aba5f4215e95ecd42373d6f44c637b445"}]}
