)]}'
{"tempest/api/object_storage/test_container_services.py":[{"author":{"_account_id":23186,"name":"Felipe Monteiro","email":"felipe.carneiro.monteiro@gmail.com","username":"felipe.monteiro"},"change_message_id":"8a116c9ce40c2cb5b3e7ebb025563e388a6dfae6","unresolved":false,"context_lines":[{"line_number":331,"context_line":"            self.container_client.create_update_or_delete_container_metadata("},{"line_number":332,"context_line":"                container_name,"},{"line_number":333,"context_line":"                create_update_metadata\u003dmetadata))"},{"line_number":334,"context_line":"        self.assertHeaders(resp, \u0027Container\u0027, \u0027P)OST\u0027)"},{"line_number":335,"context_line":""},{"line_number":336,"context_line":"        resp, _ \u003d self.container_client.list_container_metadata("},{"line_number":337,"context_line":"            container_name)"}],"source_content_type":"text/x-python","patch_set":5,"id":"5f2577a7_2e20ec47","line":334,"range":{"start_line":334,"start_character":47,"end_line":334,"end_character":52},"updated":"2017-09-18 03:30:40.000000000","message":"POST","commit_id":"f67355f67d6fe3b693945697d522e470d13b86b1"}],"tempest/services/object_storage/container_client.py":[{"author":{"_account_id":6167,"name":"Ken\u0027ichi Ohmichi","email":"ken1ohmichi@gmail.com","username":"oomichi"},"change_message_id":"98bd5d2052db64483c5e8a955595c34ef66393bd","unresolved":false,"context_lines":[{"line_number":54,"context_line":"        self.expected_success(204, resp.status)"},{"line_number":55,"context_line":"        return resp, body"},{"line_number":56,"context_line":""},{"line_number":57,"context_line":"    def create_update_or_delete_container_metadata("},{"line_number":58,"context_line":"            self, container_name,"},{"line_number":59,"context_line":"            create_update_metadata\u003dNone,"},{"line_number":60,"context_line":"            delete_metadata\u003dNone,"}],"source_content_type":"text/x-python","patch_set":5,"id":"1f2f7f8d_0e260bb9","line":57,"updated":"2017-09-19 01:03:16.000000000","message":"I am not a fun of this method because this single method contains multiple operations. That seems really confusable, and it is very different from other service clients and this qa-spec.","commit_id":"f67355f67d6fe3b693945697d522e470d13b86b1"},{"author":{"_account_id":1921,"name":"Andrea Frittoli","email":"andrea.frittoli@gmail.com","username":"andrea-frittoli"},"change_message_id":"4e03a779704d351a35ff2f07b90966ccb676971c","unresolved":false,"context_lines":[{"line_number":54,"context_line":"        self.expected_success(204, resp.status)"},{"line_number":55,"context_line":"        return resp, body"},{"line_number":56,"context_line":""},{"line_number":57,"context_line":"    def create_update_or_delete_container_metadata("},{"line_number":58,"context_line":"            self, container_name,"},{"line_number":59,"context_line":"            create_update_metadata\u003dNone,"},{"line_number":60,"context_line":"            delete_metadata\u003dNone,"}],"source_content_type":"text/x-python","patch_set":5,"id":"7f515b1d_ddec21f5","line":57,"in_reply_to":"1f2f7f8d_0e260bb9","updated":"2017-09-22 09:06:03.000000000","message":"Well the API is different, with a POST you can do create update or delete :)\nI don\u0027t mind exposing more methods that do the same, but with different names for create, update and delete if you prefer so, but I think we should keep the name and  function of the original method because plugins probably already use this.","commit_id":"f67355f67d6fe3b693945697d522e470d13b86b1"},{"author":{"_account_id":8556,"name":"Ghanshyam Maan","display_name":"Ghanshyam Maan","email":"gmaan.os14@gmail.com","username":"ghanshyam"},"change_message_id":"26c499a44b80b6fa8b8e0896b5a7978a7c2caed1","unresolved":false,"context_lines":[{"line_number":54,"context_line":"        self.expected_success(204, resp.status)"},{"line_number":55,"context_line":"        return resp, body"},{"line_number":56,"context_line":""},{"line_number":57,"context_line":"    def create_update_or_delete_container_metadata("},{"line_number":58,"context_line":"            self, container_name,"},{"line_number":59,"context_line":"            create_update_metadata\u003dNone,"},{"line_number":60,"context_line":"            delete_metadata\u003dNone,"}],"source_content_type":"text/x-python","patch_set":5,"id":"7f515b1d_c09e5b06","line":57,"in_reply_to":"7f515b1d_ddec21f5","updated":"2017-09-23 15:01:29.000000000","message":"Yea, this is what swift expose in this API. single POST API to create, update and delete.\n\nI am making it consistent with https://github.com/openstack/tempest/blob/master/tempest/lib/services/object_storage/account_client.py#L26\n\nAbout keeping original name, that is not consistent with other service client. update_* for POST API.\n\nIt is being used in all scenario manger copy on plugin side and i do not think they will be using that method. I will try to fix those first.","commit_id":"f67355f67d6fe3b693945697d522e470d13b86b1"},{"author":{"_account_id":23186,"name":"Felipe Monteiro","email":"felipe.carneiro.monteiro@gmail.com","username":"felipe.monteiro"},"change_message_id":"8a116c9ce40c2cb5b3e7ebb025563e388a6dfae6","unresolved":false,"context_lines":[{"line_number":59,"context_line":"            create_update_metadata\u003dNone,"},{"line_number":60,"context_line":"            delete_metadata\u003dNone,"},{"line_number":61,"context_line":"            create_update_metadata_prefix\u003d\u0027X-Container-Meta-\u0027,"},{"line_number":62,"context_line":"            delete_metadata_prefix\u003d\u0027X-Remove-Container-Meta-\u0027):"},{"line_number":63,"context_line":"        \"\"\"Creates, Updates or deletes an containter metadata entry."},{"line_number":64,"context_line":""},{"line_number":65,"context_line":"        Container Metadata can be created, updated or deleted based on"}],"source_content_type":"text/x-python","patch_set":5,"id":"5f2577a7_0e6bf084","line":62,"updated":"2017-09-18 03:30:40.000000000","message":"According to docs, \"To delete container metadata, send an empty value for that header, such as for the X-Container-Meta-{key} header\" can be used instead of \"X-Remove-Container-Meta-{key}\".\n\nNot sure if it\u0027s worth removing these extra kwargs though as that\u0027ll require more changes.","commit_id":"f67355f67d6fe3b693945697d522e470d13b86b1"},{"author":{"_account_id":8556,"name":"Ghanshyam Maan","display_name":"Ghanshyam Maan","email":"gmaan.os14@gmail.com","username":"ghanshyam"},"change_message_id":"26c499a44b80b6fa8b8e0896b5a7978a7c2caed1","unresolved":false,"context_lines":[{"line_number":59,"context_line":"            create_update_metadata\u003dNone,"},{"line_number":60,"context_line":"            delete_metadata\u003dNone,"},{"line_number":61,"context_line":"            create_update_metadata_prefix\u003d\u0027X-Container-Meta-\u0027,"},{"line_number":62,"context_line":"            delete_metadata_prefix\u003d\u0027X-Remove-Container-Meta-\u0027):"},{"line_number":63,"context_line":"        \"\"\"Creates, Updates or deletes an containter metadata entry."},{"line_number":64,"context_line":""},{"line_number":65,"context_line":"        Container Metadata can be created, updated or deleted based on"}],"source_content_type":"text/x-python","patch_set":5,"id":"7f515b1d_e066f751","line":62,"in_reply_to":"5f2577a7_0e6bf084","updated":"2017-09-23 15:01:29.000000000","message":"yea, so with current kwargs, test can use both header to test the delete metadata.","commit_id":"f67355f67d6fe3b693945697d522e470d13b86b1"},{"author":{"_account_id":23186,"name":"Felipe Monteiro","email":"felipe.carneiro.monteiro@gmail.com","username":"felipe.monteiro"},"change_message_id":"8a116c9ce40c2cb5b3e7ebb025563e388a6dfae6","unresolved":false,"context_lines":[{"line_number":65,"context_line":"        Container Metadata can be created, updated or deleted based on"},{"line_number":66,"context_line":"        metadata header or value. For detailed info, please refer to the"},{"line_number":67,"context_line":"        official API reference:"},{"line_number":68,"context_line":"        hlttp://developer.openstack.org/api-ref/object-storage/?expanded\u003dcreate-update-or-delete-account-metadata-detail"},{"line_number":69,"context_line":"        \"\"\""},{"line_number":70,"context_line":"        url \u003d str(container_name)"},{"line_number":71,"context_line":"        headers \u003d {}"}],"source_content_type":"text/x-python","patch_set":5,"id":"5f2577a7_8ec920ad","line":68,"range":{"start_line":68,"start_character":8,"end_line":68,"end_character":120},"updated":"2017-09-18 03:30:40.000000000","message":"https://developer.openstack.org/api-ref/object-store/#create-update-or-delete-container-metadata","commit_id":"f67355f67d6fe3b693945697d522e470d13b86b1"},{"author":{"_account_id":8556,"name":"Ghanshyam Maan","display_name":"Ghanshyam Maan","email":"gmaan.os14@gmail.com","username":"ghanshyam"},"change_message_id":"26c499a44b80b6fa8b8e0896b5a7978a7c2caed1","unresolved":false,"context_lines":[{"line_number":65,"context_line":"        Container Metadata can be created, updated or deleted based on"},{"line_number":66,"context_line":"        metadata header or value. For detailed info, please refer to the"},{"line_number":67,"context_line":"        official API reference:"},{"line_number":68,"context_line":"        hlttp://developer.openstack.org/api-ref/object-storage/?expanded\u003dcreate-update-or-delete-account-metadata-detail"},{"line_number":69,"context_line":"        \"\"\""},{"line_number":70,"context_line":"        url \u003d str(container_name)"},{"line_number":71,"context_line":"        headers \u003d {}"}],"source_content_type":"text/x-python","patch_set":5,"id":"7f515b1d_a060ff33","line":68,"range":{"start_line":68,"start_character":8,"end_line":68,"end_character":120},"in_reply_to":"5f2577a7_8ec920ad","updated":"2017-09-23 15:01:29.000000000","message":"thanks. done","commit_id":"f67355f67d6fe3b693945697d522e470d13b86b1"}]}
