)]}'
{"tempest/api/volume/test_image_metadata.py":[{"author":{"_account_id":20190,"name":"zhufl","email":"zhu.fanglei@zte.com.cn","username":"zhufl"},"change_message_id":"6c00efe19f8bf09a4188ebfe7f8a745650d6f00b","unresolved":false,"context_lines":[{"line_number":63,"context_line":"        del image_metadata[\u0027ramdisk_id\u0027]"},{"line_number":64,"context_line":""},{"line_number":65,"context_line":"        # Fetch the new image metadata from the volume"},{"line_number":66,"context_line":"        volume_image_metadata \u003d self.volumes_client.show_volume("},{"line_number":67,"context_line":"            self.volume[\u0027id\u0027])[\u0027volume\u0027][\u0027volume_image_metadata\u0027]"},{"line_number":68,"context_line":""},{"line_number":69,"context_line":"        # Verify image metadata was updated after item deletion"},{"line_number":70,"context_line":"        self.assertThat(volume_image_metadata.items(),"}],"source_content_type":"text/x-python","patch_set":3,"id":"df3967d1_e3ba286c","side":"PARENT","line":67,"range":{"start_line":66,"start_character":32,"end_line":67,"end_character":65},"updated":"2017-08-03 07:53:00.000000000","message":"a silly question: what\u0027s the difference between this and show_volume_image_metadata? \nAre we no need to test this any longer?","commit_id":"72312d9911b7349c5eeaf8746874086d227a5655"},{"author":{"_account_id":23081,"name":"Jeremy Zhang","email":"zhangjun_inspur@163.com","username":"jeremy.zhang"},"change_message_id":"0133848a9523da475fe5658d912f838311b65b1a","unresolved":false,"context_lines":[{"line_number":63,"context_line":"        del image_metadata[\u0027ramdisk_id\u0027]"},{"line_number":64,"context_line":""},{"line_number":65,"context_line":"        # Fetch the new image metadata from the volume"},{"line_number":66,"context_line":"        volume_image_metadata \u003d self.volumes_client.show_volume("},{"line_number":67,"context_line":"            self.volume[\u0027id\u0027])[\u0027volume\u0027][\u0027volume_image_metadata\u0027]"},{"line_number":68,"context_line":""},{"line_number":69,"context_line":"        # Verify image metadata was updated after item deletion"},{"line_number":70,"context_line":"        self.assertThat(volume_image_metadata.items(),"}],"source_content_type":"text/x-python","patch_set":3,"id":"df3967d1_98c0662c","side":"PARENT","line":67,"range":{"start_line":66,"start_character":32,"end_line":67,"end_character":65},"in_reply_to":"df3967d1_e3ba286c","updated":"2017-08-03 09:48:26.000000000","message":"Hi, zhufl, thanks for your reviewing.\n\n[1]\nThe \u0027volume_image_metadata\u0027 got from \u0027show_volume\u0027 is equal to the content got from \u0027show_volume_image_metadata\u0027.\n\nThe content of \u0027volume_image_metadata\u0027 is got from the extension (@wsgi.extends for \u0027index\u0027 method) for \u0027show_volume\u0027. The extension can be seen as a internal API, just called by \u0027show_volume\u0027 to add volume\u0027s image metadata to volume object. \nsee: https://github.com/openstack/cinder/blob/master/cinder/api/contrib/volume_image_metadata.py#L72\n\nWhile the \u0027show_volume_image_metadata\u0027 is an action of volume resource, it can be seen as a external API.\nsee: https://github.com/openstack/cinder/blob/master/cinder/api/contrib/volume_image_metadata.py#L124\n\n[2]\nI think it may better to keep the test for getting \u0027volume_image_metadata\u0027, as it\u0027s not be tested in other place. Also new test and assertion for the new API wiil be added, :)","commit_id":"72312d9911b7349c5eeaf8746874086d227a5655"}],"tempest/lib/services/volume/v2/volumes_client.py":[{"author":{"_account_id":23186,"name":"Felipe Monteiro","email":"felipe.carneiro.monteiro@gmail.com","username":"felipe.monteiro"},"change_message_id":"20872a7362cd9dfa99d1e55c75e8cc8fc2ee9894","unresolved":false,"context_lines":[{"line_number":358,"context_line":"        \"\"\"Show image metadata for the volume.\"\"\""},{"line_number":359,"context_line":"        post_body \u003d json.dumps({\u0027os-show_image_metadata\u0027: {}})"},{"line_number":360,"context_line":"        url \u003d \"volumes/%s/action\" % volume_id"},{"line_number":361,"context_line":"        resp, body \u003d self.post(url, post_body)"},{"line_number":362,"context_line":"        body \u003d json.loads(body)"},{"line_number":363,"context_line":"        self.expected_success(200, resp.status)"},{"line_number":364,"context_line":"        return rest_client.ResponseBody(resp, body)"}],"source_content_type":"text/x-python","patch_set":2,"id":"1f1a1f67_81b95d2f","line":361,"range":{"start_line":361,"start_character":26,"end_line":361,"end_character":30},"updated":"2017-07-14 18:09:39.000000000","message":"Why is this a POST for a show? Also, is this documentation correct: https://developer.openstack.org/api-ref/block-storage/v3/index.html?expanded\u003dshow-image-metadata-for-a-volume-detail#volume-image-metadata-extension-os-vol-image-meta\n\nYou\u0027re using a different API.","commit_id":"a4f041edf3402b96146a7dd754cd9b512c9b2805"},{"author":{"_account_id":23081,"name":"Jeremy Zhang","email":"zhangjun_inspur@163.com","username":"jeremy.zhang"},"change_message_id":"b9dfac01f180dd378f9aea5bb64d51b5133120f3","unresolved":false,"context_lines":[{"line_number":358,"context_line":"        \"\"\"Show image metadata for the volume.\"\"\""},{"line_number":359,"context_line":"        post_body \u003d json.dumps({\u0027os-show_image_metadata\u0027: {}})"},{"line_number":360,"context_line":"        url \u003d \"volumes/%s/action\" % volume_id"},{"line_number":361,"context_line":"        resp, body \u003d self.post(url, post_body)"},{"line_number":362,"context_line":"        body \u003d json.loads(body)"},{"line_number":363,"context_line":"        self.expected_success(200, resp.status)"},{"line_number":364,"context_line":"        return rest_client.ResponseBody(resp, body)"}],"source_content_type":"text/x-python","patch_set":2,"id":"1f1a1f67_d82049af","line":361,"range":{"start_line":361,"start_character":26,"end_line":361,"end_character":30},"in_reply_to":"1f1a1f67_81b95d2f","updated":"2017-07-17 06:11:03.000000000","message":"Hi, Felipe.\n1. The \u0027show\u0027 api is as a action of volume, just like update/delete_volume_image_metadata, so a \u0027POST\u0027 method is used. https://github.com/openstack/cinder/blob/master/cinder/api/contrib/volume_image_metadata.py#L124\n2. The official api-ref for \u0027Show image metadata for volume\u0027 is wrong and needs to be fixed.","commit_id":"a4f041edf3402b96146a7dd754cd9b512c9b2805"}]}
