)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":6167,"name":"Ken\u0027ichi Ohmichi","email":"ken1ohmichi@gmail.com","username":"oomichi"},"change_message_id":"45c8030694e14155d1dc65126b0ba1ee18c17919","unresolved":false,"context_lines":[{"line_number":24,"context_line":"details and modifications for the tested scenario, updated_at time"},{"line_number":25,"context_line":"and image tags specifically."},{"line_number":26,"context_line":""},{"line_number":27,"context_line":"Note: This change is blocking to the implementation of the"},{"line_number":28,"context_line":"spec noted. That spec is blocking other work so this review"},{"line_number":29,"context_line":"is a high priority for the Glance community."},{"line_number":30,"context_line":""},{"line_number":31,"context_line":"[1] TBD"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":5,"id":"9a57fde8_b44bca2a","line":28,"range":{"start_line":27,"start_character":6,"end_line":28,"end_character":11},"updated":"2017-01-12 19:31:12.000000000","message":"Could you point up the corresponding patch\u0027s Change-Id here to share the situation ?","commit_id":"20abe8c6560919ed5f1dfefd6e5b05796b4d92e9"},{"author":{"_account_id":5314,"name":"Brian Rosmaita","email":"rosmaita.fossdev@gmail.com","username":"brian-rosmaita"},"change_message_id":"4f9a872c26494c79edbc437df161ddb23640c4ae","unresolved":false,"context_lines":[{"line_number":24,"context_line":"details and modifications for the tested scenario, updated_at time"},{"line_number":25,"context_line":"and image tags specifically."},{"line_number":26,"context_line":""},{"line_number":27,"context_line":"Note: This change is blocking to the implementation of the"},{"line_number":28,"context_line":"spec noted. That spec is blocking other work so this review"},{"line_number":29,"context_line":"is a high priority for the Glance community."},{"line_number":30,"context_line":""},{"line_number":31,"context_line":"[1] TBD"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":5,"id":"9a57fde8_5fe2b7d6","line":28,"range":{"start_line":27,"start_character":6,"end_line":28,"end_character":11},"in_reply_to":"9a57fde8_b44bca2a","updated":"2017-01-12 19:56:54.000000000","message":"Change-Id: I94bc7708b291ce37319539e27b3e88c9a17e1a9f","commit_id":"20abe8c6560919ed5f1dfefd6e5b05796b4d92e9"},{"author":{"_account_id":6167,"name":"Ken\u0027ichi Ohmichi","email":"ken1ohmichi@gmail.com","username":"oomichi"},"change_message_id":"45c8030694e14155d1dc65126b0ba1ee18c17919","unresolved":false,"context_lines":[{"line_number":28,"context_line":"spec noted. That spec is blocking other work so this review"},{"line_number":29,"context_line":"is a high priority for the Glance community."},{"line_number":30,"context_line":""},{"line_number":31,"context_line":"[1] TBD"},{"line_number":32,"context_line":"[2] Related-Bug: 1452443"},{"line_number":33,"context_line":"[2] Related-Bug: 1394299"},{"line_number":34,"context_line":"[3] Ia1369fa73f56ec290e868d3f2f2873785a70951d"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":5,"id":"9a57fde8_2b63fd1b","line":31,"range":{"start_line":31,"start_character":4,"end_line":31,"end_character":7},"updated":"2017-01-12 19:31:12.000000000","message":"Here should be http://lists.openstack.org/pipermail/openstack-dev/2017-January/109817.html ?","commit_id":"20abe8c6560919ed5f1dfefd6e5b05796b4d92e9"},{"author":{"_account_id":5314,"name":"Brian Rosmaita","email":"rosmaita.fossdev@gmail.com","username":"brian-rosmaita"},"change_message_id":"4f9a872c26494c79edbc437df161ddb23640c4ae","unresolved":false,"context_lines":[{"line_number":28,"context_line":"spec noted. That spec is blocking other work so this review"},{"line_number":29,"context_line":"is a high priority for the Glance community."},{"line_number":30,"context_line":""},{"line_number":31,"context_line":"[1] TBD"},{"line_number":32,"context_line":"[2] Related-Bug: 1452443"},{"line_number":33,"context_line":"[2] Related-Bug: 1394299"},{"line_number":34,"context_line":"[3] Ia1369fa73f56ec290e868d3f2f2873785a70951d"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":5,"id":"9a57fde8_9f5fbf71","line":31,"range":{"start_line":31,"start_character":4,"end_line":31,"end_character":7},"in_reply_to":"9a57fde8_2b63fd1b","updated":"2017-01-12 19:56:54.000000000","message":"Discussion thread starts with:\nhttp://lists.openstack.org/pipermail/openstack-dev/2016-December/109370.html\n\nand carries on into January with the thread starting here:\nhttp://lists.openstack.org/pipermail/openstack-dev/2017-January/109678.html","commit_id":"20abe8c6560919ed5f1dfefd6e5b05796b4d92e9"},{"author":{"_account_id":6167,"name":"Ken\u0027ichi Ohmichi","email":"ken1ohmichi@gmail.com","username":"oomichi"},"change_message_id":"18dd53893da3daa7c7e4a9a502014657c059d5c5","unresolved":false,"context_lines":[{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Shared images test create with default visibility"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"As discussed on the openstack-dev mailing list[1] the"},{"line_number":10,"context_line":"shared image test relies on known bugs[2] in the images API"},{"line_number":11,"context_line":"by creating an image with private visibility and attempting"},{"line_number":12,"context_line":"to share that image while it has private visibility."},{"line_number":13,"context_line":""},{"line_number":14,"context_line":"This test was recently added without review or consideration"},{"line_number":15,"context_line":"for the known bugs.[3]"},{"line_number":16,"context_line":""},{"line_number":17,"context_line":"The bug fix approved by the community is to introduce a new"},{"line_number":18,"context_line":"visibility status of \u0027shared\u0027 and to use that visibility by"},{"line_number":19,"context_line":"default on new image creation[4]. Therefore in this test,"},{"line_number":20,"context_line":"an image must be created with default visibility to use the"},{"line_number":21,"context_line":"image sharing feature."},{"line_number":22,"context_line":""},{"line_number":23,"context_line":"Minor cleanup to the test is included to eliminate unnecessary"},{"line_number":24,"context_line":"details and modifications for the tested scenario."}],"source_content_type":"text/x-gerrit-commit-message","patch_set":8,"id":"7a3c09a3_ab029309","line":21,"range":{"start_line":9,"start_character":0,"end_line":21,"end_character":22},"updated":"2017-01-19 13:17:14.000000000","message":"I read this again and check the other materials of links which are written on this commit message.\n\nI am OK to merge this by the following reasons:\n\n - The original test blocks fixing security issue as the above.\n   Security issue should be fixed as highest priority and that\n   is described at https://specs.openstack.org/openstack/api-wg/guidelines/evaluating_api_changes.html#guidance cleary:\n     The following types of changes are generally considered acceptable:\n     - The change is the only way to fix a security bug.\n - The corresponding patch https://review.openstack.org/#/c/369110/ has gotten +2 already.\n   That is an important factor based on Tempest guideline at https://github.com/openstack/tempest/blob/master/HACKING.rst#2-bug-fix-on-core-project-needing-tempest-changes\n     - Propose change to the project, get a +2 on the change even with failing\n - Glance team is trying to make the effect small as possible.\n   The affected users are clarified and it should be described\n   the Glance reno. In addition, they have gotten feedback from\n   wider areas (api-wg, operators, developers) about the effect.","commit_id":"8ac5b979e1bb20e4331701a8b8e7a50dd0d990f4"}],"tempest/api/image/v2/test_images.py":[{"author":{"_account_id":7350,"name":"Jordan Pittier","email":"jordan.pittier@gmail.com","username":"JordanP"},"change_message_id":"2b1d539bdf47b52650270be33b684b2be0561e3b","unresolved":false,"context_lines":[{"line_number":339,"context_line":"    def test_list_images_param_member_status(self):"},{"line_number":340,"context_line":"        # Create an image to be shared using default visibility"},{"line_number":341,"context_line":"        image_file \u003d six.BytesIO(data_utils.random_bytes(2048))"},{"line_number":342,"context_line":"        tags \u003d [data_utils.rand_name(\u0027tag\u0027), data_utils.rand_name(\u0027tag\u0027)]"},{"line_number":343,"context_line":"        image \u003d self.create_image(container_format\u003d\u0027bare\u0027,"},{"line_number":344,"context_line":"                                  disk_format\u003d\u0027qcow2\u0027,"},{"line_number":345,"context_line":"                                  tags\u003dtags)"}],"source_content_type":"text/x-python","patch_set":3,"id":"ba5201f7_7dc30e8b","line":342,"updated":"2017-01-09 19:15:48.000000000","message":"Why the tags ? How are they used ?","commit_id":"1dc03d5ea0f42546b2905b1bc0ff072be526e3e2"},{"author":{"_account_id":7350,"name":"Jordan Pittier","email":"jordan.pittier@gmail.com","username":"JordanP"},"change_message_id":"525ec3aa61e139b978ef0c2dc96bb408af9d91ba","unresolved":false,"context_lines":[{"line_number":339,"context_line":"    def test_list_images_param_member_status(self):"},{"line_number":340,"context_line":"        # Create an image to be shared using default visibility"},{"line_number":341,"context_line":"        image_file \u003d six.BytesIO(data_utils.random_bytes(2048))"},{"line_number":342,"context_line":"        tags \u003d [data_utils.rand_name(\u0027tag\u0027), data_utils.rand_name(\u0027tag\u0027)]"},{"line_number":343,"context_line":"        image \u003d self.create_image(container_format\u003d\u0027bare\u0027,"},{"line_number":344,"context_line":"                                  disk_format\u003d\u0027qcow2\u0027,"},{"line_number":345,"context_line":"                                  tags\u003dtags)"}],"source_content_type":"text/x-python","patch_set":3,"id":"ba5201f7_b334ac4a","line":342,"in_reply_to":"ba5201f7_6e67d6ea","updated":"2017-01-10 09:59:06.000000000","message":"I feel you should remove the tags since it\u0027s not needed here.","commit_id":"1dc03d5ea0f42546b2905b1bc0ff072be526e3e2"},{"author":{"_account_id":12807,"name":"Steve Lewis (stevelle)","email":"stevelle@gmail.com","username":"stevelle"},"change_message_id":"ead26dafd06436910896fe2c4b5c2447132a24be","unresolved":false,"context_lines":[{"line_number":339,"context_line":"    def test_list_images_param_member_status(self):"},{"line_number":340,"context_line":"        # Create an image to be shared using default visibility"},{"line_number":341,"context_line":"        image_file \u003d six.BytesIO(data_utils.random_bytes(2048))"},{"line_number":342,"context_line":"        tags \u003d [data_utils.rand_name(\u0027tag\u0027), data_utils.rand_name(\u0027tag\u0027)]"},{"line_number":343,"context_line":"        image \u003d self.create_image(container_format\u003d\u0027bare\u0027,"},{"line_number":344,"context_line":"                                  disk_format\u003d\u0027qcow2\u0027,"},{"line_number":345,"context_line":"                                  tags\u003dtags)"}],"source_content_type":"text/x-python","patch_set":3,"id":"ba5201f7_6e67d6ea","line":342,"in_reply_to":"ba5201f7_7dc30e8b","updated":"2017-01-09 20:32:05.000000000","message":"This image create process was just adopted wholely from the _create_common_image model with the only change being to not explicitly set visibility. The tags just came over with that. They are not really needed either.","commit_id":"1dc03d5ea0f42546b2905b1bc0ff072be526e3e2"},{"author":{"_account_id":12807,"name":"Steve Lewis (stevelle)","email":"stevelle@gmail.com","username":"stevelle"},"change_message_id":"208d1a22cf8ff039872293afd84a966ae759b372","unresolved":false,"context_lines":[{"line_number":339,"context_line":"    def test_list_images_param_member_status(self):"},{"line_number":340,"context_line":"        # Create an image to be shared using default visibility"},{"line_number":341,"context_line":"        image_file \u003d six.BytesIO(data_utils.random_bytes(2048))"},{"line_number":342,"context_line":"        tags \u003d [data_utils.rand_name(\u0027tag\u0027), data_utils.rand_name(\u0027tag\u0027)]"},{"line_number":343,"context_line":"        image \u003d self.create_image(container_format\u003d\u0027bare\u0027,"},{"line_number":344,"context_line":"                                  disk_format\u003d\u0027qcow2\u0027,"},{"line_number":345,"context_line":"                                  tags\u003dtags)"}],"source_content_type":"text/x-python","patch_set":3,"id":"ba5201f7_3eb06edd","line":342,"in_reply_to":"ba5201f7_b334ac4a","updated":"2017-01-10 16:37:31.000000000","message":"Done","commit_id":"1dc03d5ea0f42546b2905b1bc0ff072be526e3e2"},{"author":{"_account_id":22448,"name":"Alexander Bashmakov","email":"abashmak@yahoo.com","username":"abashmak"},"change_message_id":"e9b6cbf9929d1d08f59928c41e205f95588678ed","unresolved":false,"context_lines":[{"line_number":343,"context_line":"        image \u003d self.create_image(container_format\u003d\u0027bare\u0027,"},{"line_number":344,"context_line":"                                  disk_format\u003d\u0027qcow2\u0027,"},{"line_number":345,"context_line":"                                  tags\u003dtags)"},{"line_number":346,"context_line":"        self.client.store_image_file(image[\u0027id\u0027], data\u003dimage_file)"},{"line_number":347,"context_line":""},{"line_number":348,"context_line":"        # Share one of the images created with the alt user"},{"line_number":349,"context_line":"        self.image_member_client.create_image_member("}],"source_content_type":"text/x-python","patch_set":3,"id":"da4df55a_241eb563","line":346,"range":{"start_line":346,"start_character":8,"end_line":346,"end_character":66},"updated":"2016-12-22 20:22:48.000000000","message":"Should there a be a corresponding self.client.delete_image() call at the end of this test?","commit_id":"1dc03d5ea0f42546b2905b1bc0ff072be526e3e2"},{"author":{"_account_id":7350,"name":"Jordan Pittier","email":"jordan.pittier@gmail.com","username":"JordanP"},"change_message_id":"837831721eb6ecd1d23e930938ab57b7715f1c16","unresolved":false,"context_lines":[{"line_number":343,"context_line":"        image \u003d self.create_image(container_format\u003d\u0027bare\u0027,"},{"line_number":344,"context_line":"                                  disk_format\u003d\u0027qcow2\u0027,"},{"line_number":345,"context_line":"                                  tags\u003dtags)"},{"line_number":346,"context_line":"        self.client.store_image_file(image[\u0027id\u0027], data\u003dimage_file)"},{"line_number":347,"context_line":""},{"line_number":348,"context_line":"        # Share one of the images created with the alt user"},{"line_number":349,"context_line":"        self.image_member_client.create_image_member("}],"source_content_type":"text/x-python","patch_set":3,"id":"ba5201f7_86b8732c","line":346,"range":{"start_line":346,"start_character":8,"end_line":346,"end_character":66},"in_reply_to":"da4df55a_241eb563","updated":"2017-01-09 14:25:09.000000000","message":"No: create_image() is in charge of registering the cleanup.","commit_id":"1dc03d5ea0f42546b2905b1bc0ff072be526e3e2"},{"author":{"_account_id":22448,"name":"Alexander Bashmakov","email":"abashmak@yahoo.com","username":"abashmak"},"change_message_id":"e9b6cbf9929d1d08f59928c41e205f95588678ed","unresolved":false,"context_lines":[{"line_number":348,"context_line":"        # Share one of the images created with the alt user"},{"line_number":349,"context_line":"        self.image_member_client.create_image_member("},{"line_number":350,"context_line":"            image_id\u003dimage[\u0027id\u0027], member\u003dself.alt_img_client.tenant_id)"},{"line_number":351,"context_line":"        # Update the info on the test data so it remains accurate"},{"line_number":352,"context_line":"        image[\u0027updated_at\u0027] \u003d self.client.show_image("},{"line_number":353,"context_line":"            image[\u0027id\u0027])[\u0027updated_at\u0027]"},{"line_number":354,"context_line":"        # As an image consumer you need to provide the member_status parameter"},{"line_number":355,"context_line":"        # along with the visibility\u003dshared parameter in order for it to show"},{"line_number":356,"context_line":"        # results"}],"source_content_type":"text/x-python","patch_set":3,"id":"da4df55a_b03bc4ea","line":353,"range":{"start_line":351,"start_character":0,"end_line":353,"end_character":38},"updated":"2016-12-22 20:22:48.000000000","message":"I\u0027m not sure if this is necessary anymore? We\u0027re not updating the test_data image but rather a local object.","commit_id":"1dc03d5ea0f42546b2905b1bc0ff072be526e3e2"},{"author":{"_account_id":7350,"name":"Jordan Pittier","email":"jordan.pittier@gmail.com","username":"JordanP"},"change_message_id":"2b1d539bdf47b52650270be33b684b2be0561e3b","unresolved":false,"context_lines":[{"line_number":348,"context_line":"        # Share one of the images created with the alt user"},{"line_number":349,"context_line":"        self.image_member_client.create_image_member("},{"line_number":350,"context_line":"            image_id\u003dimage[\u0027id\u0027], member\u003dself.alt_img_client.tenant_id)"},{"line_number":351,"context_line":"        # Update the info on the test data so it remains accurate"},{"line_number":352,"context_line":"        image[\u0027updated_at\u0027] \u003d self.client.show_image("},{"line_number":353,"context_line":"            image[\u0027id\u0027])[\u0027updated_at\u0027]"},{"line_number":354,"context_line":"        # As an image consumer you need to provide the member_status parameter"},{"line_number":355,"context_line":"        # along with the visibility\u003dshared parameter in order for it to show"},{"line_number":356,"context_line":"        # results"}],"source_content_type":"text/x-python","patch_set":3,"id":"ba5201f7_bd8f3674","line":353,"range":{"start_line":351,"start_character":0,"end_line":353,"end_character":38},"in_reply_to":"ba5201f7_490e94e6","updated":"2017-01-09 19:15:48.000000000","message":"Ok, yeah better leave it here then.","commit_id":"1dc03d5ea0f42546b2905b1bc0ff072be526e3e2"},{"author":{"_account_id":12807,"name":"Steve Lewis (stevelle)","email":"stevelle@gmail.com","username":"stevelle"},"change_message_id":"a34e4e485b10ed16027ede8d99163eb2bae5a470","unresolved":false,"context_lines":[{"line_number":348,"context_line":"        # Share one of the images created with the alt user"},{"line_number":349,"context_line":"        self.image_member_client.create_image_member("},{"line_number":350,"context_line":"            image_id\u003dimage[\u0027id\u0027], member\u003dself.alt_img_client.tenant_id)"},{"line_number":351,"context_line":"        # Update the info on the test data so it remains accurate"},{"line_number":352,"context_line":"        image[\u0027updated_at\u0027] \u003d self.client.show_image("},{"line_number":353,"context_line":"            image[\u0027id\u0027])[\u0027updated_at\u0027]"},{"line_number":354,"context_line":"        # As an image consumer you need to provide the member_status parameter"},{"line_number":355,"context_line":"        # along with the visibility\u003dshared parameter in order for it to show"},{"line_number":356,"context_line":"        # results"}],"source_content_type":"text/x-python","patch_set":3,"id":"ba5201f7_490e94e6","line":353,"range":{"start_line":351,"start_character":0,"end_line":353,"end_character":38},"in_reply_to":"ba5201f7_e6777f9d","updated":"2017-01-09 17:43:00.000000000","message":"This is not needed, but it was in the existing test. I introduced the smallest change possible which would allow the test to pass the intended scenario.","commit_id":"1dc03d5ea0f42546b2905b1bc0ff072be526e3e2"},{"author":{"_account_id":7350,"name":"Jordan Pittier","email":"jordan.pittier@gmail.com","username":"JordanP"},"change_message_id":"837831721eb6ecd1d23e930938ab57b7715f1c16","unresolved":false,"context_lines":[{"line_number":348,"context_line":"        # Share one of the images created with the alt user"},{"line_number":349,"context_line":"        self.image_member_client.create_image_member("},{"line_number":350,"context_line":"            image_id\u003dimage[\u0027id\u0027], member\u003dself.alt_img_client.tenant_id)"},{"line_number":351,"context_line":"        # Update the info on the test data so it remains accurate"},{"line_number":352,"context_line":"        image[\u0027updated_at\u0027] \u003d self.client.show_image("},{"line_number":353,"context_line":"            image[\u0027id\u0027])[\u0027updated_at\u0027]"},{"line_number":354,"context_line":"        # As an image consumer you need to provide the member_status parameter"},{"line_number":355,"context_line":"        # along with the visibility\u003dshared parameter in order for it to show"},{"line_number":356,"context_line":"        # results"}],"source_content_type":"text/x-python","patch_set":3,"id":"ba5201f7_e6777f9d","line":353,"range":{"start_line":351,"start_character":0,"end_line":353,"end_character":38},"in_reply_to":"da4df55a_b03bc4ea","updated":"2017-01-09 14:25:09.000000000","message":"Could we answer the question ?","commit_id":"1dc03d5ea0f42546b2905b1bc0ff072be526e3e2"},{"author":{"_account_id":8158,"name":"Hemanth Makkapati","email":"makstacker+osgerrit@gmail.com","username":"hemanth.makkapati"},"change_message_id":"6169e865580379afe48f9bad906e1ed8c08dc535","unresolved":false,"context_lines":[{"line_number":158,"context_line":"        tags \u003d [data_utils.rand_name(\u0027tag\u0027), data_utils.rand_name(\u0027tag\u0027)]"},{"line_number":159,"context_line":"        image \u003d cls.create_image(container_format\u003dcontainer_format,"},{"line_number":160,"context_line":"                                 disk_format\u003ddisk_format,"},{"line_number":161,"context_line":"                                 visibility\u003d\u0027private\u0027,"},{"line_number":162,"context_line":"                                 tags\u003dtags)"},{"line_number":163,"context_line":"        cls.client.store_image_file(image[\u0027id\u0027], data\u003dimage_file)"},{"line_number":164,"context_line":"        # Keep the data of one test image so it can be used to filter lists"}],"source_content_type":"text/x-python","patch_set":4,"id":"ba5201f7_95701ea6","line":161,"range":{"start_line":161,"start_character":33,"end_line":161,"end_character":54},"updated":"2017-01-11 16:22:01.000000000","message":"Although not related to this patch, I wonder if this needs to be gone. Because it looks like the intent here is to create images with default visibility and now that the default visibility is not \"private\" any more, we are not testing the default behavior here.","commit_id":"b369947e4806558e79e4fd904de63e1035590e56"},{"author":{"_account_id":12807,"name":"Steve Lewis (stevelle)","email":"stevelle@gmail.com","username":"stevelle"},"change_message_id":"7fdcb3813c4c4b168590a2b9ae0d82eab8f3e938","unresolved":false,"context_lines":[{"line_number":158,"context_line":"        tags \u003d [data_utils.rand_name(\u0027tag\u0027), data_utils.rand_name(\u0027tag\u0027)]"},{"line_number":159,"context_line":"        image \u003d cls.create_image(container_format\u003dcontainer_format,"},{"line_number":160,"context_line":"                                 disk_format\u003ddisk_format,"},{"line_number":161,"context_line":"                                 visibility\u003d\u0027private\u0027,"},{"line_number":162,"context_line":"                                 tags\u003dtags)"},{"line_number":163,"context_line":"        cls.client.store_image_file(image[\u0027id\u0027], data\u003dimage_file)"},{"line_number":164,"context_line":"        # Keep the data of one test image so it can be used to filter lists"}],"source_content_type":"text/x-python","patch_set":4,"id":"9a57fde8_f92ab0e6","line":161,"range":{"start_line":161,"start_character":33,"end_line":161,"end_character":54},"in_reply_to":"9a57fde8_633a9338","updated":"2017-01-12 17:34:19.000000000","message":"That was part of the prior proposed change (since abandoned) but that was deemed an unnecessary change with a large impact. \n\nI think that this is a legitimate issue to raise, but agree with the original reviewers that it is best considered independently.","commit_id":"b369947e4806558e79e4fd904de63e1035590e56"},{"author":{"_account_id":17716,"name":"Luz Cazares","email":"luz.cazares@intel.com","username":"luzcazares"},"change_message_id":"dbea2052ae50501b5ee21330b2ce71ed95126b31","unresolved":false,"context_lines":[{"line_number":158,"context_line":"        tags \u003d [data_utils.rand_name(\u0027tag\u0027), data_utils.rand_name(\u0027tag\u0027)]"},{"line_number":159,"context_line":"        image \u003d cls.create_image(container_format\u003dcontainer_format,"},{"line_number":160,"context_line":"                                 disk_format\u003ddisk_format,"},{"line_number":161,"context_line":"                                 visibility\u003d\u0027private\u0027,"},{"line_number":162,"context_line":"                                 tags\u003dtags)"},{"line_number":163,"context_line":"        cls.client.store_image_file(image[\u0027id\u0027], data\u003dimage_file)"},{"line_number":164,"context_line":"        # Keep the data of one test image so it can be used to filter lists"}],"source_content_type":"text/x-python","patch_set":4,"id":"9a57fde8_633a9338","line":161,"range":{"start_line":161,"start_character":33,"end_line":161,"end_character":54},"in_reply_to":"ba5201f7_95701ea6","updated":"2017-01-12 17:06:42.000000000","message":"Agree with Hemanth","commit_id":"b369947e4806558e79e4fd904de63e1035590e56"},{"author":{"_account_id":1921,"name":"Andrea Frittoli","email":"andrea.frittoli@gmail.com","username":"andrea-frittoli"},"change_message_id":"834ce3137e376104bc992e1c07387c3fff744995","unresolved":false,"context_lines":[{"line_number":339,"context_line":"    def test_list_images_param_member_status(self):"},{"line_number":340,"context_line":"        # Create an image to be shared using default visibility"},{"line_number":341,"context_line":"        image_file \u003d six.BytesIO(data_utils.random_bytes(2048))"},{"line_number":342,"context_line":"        image \u003d self.create_image(container_format\u003d\u0027bare\u0027,"},{"line_number":343,"context_line":"                                  disk_format\u003d\u0027qcow2\u0027)"},{"line_number":344,"context_line":"        self.client.store_image_file(image[\u0027id\u0027], data\u003dimage_file)"},{"line_number":345,"context_line":""}],"source_content_type":"text/x-python","patch_set":4,"id":"9a57fde8_8395b741","line":342,"updated":"2017-01-12 17:08:13.000000000","message":"This does not honor the configuration settings in CONF.image.container_formats. You could use the first item of the list.","commit_id":"b369947e4806558e79e4fd904de63e1035590e56"},{"author":{"_account_id":12807,"name":"Steve Lewis (stevelle)","email":"stevelle@gmail.com","username":"stevelle"},"change_message_id":"7fdcb3813c4c4b168590a2b9ae0d82eab8f3e938","unresolved":false,"context_lines":[{"line_number":339,"context_line":"    def test_list_images_param_member_status(self):"},{"line_number":340,"context_line":"        # Create an image to be shared using default visibility"},{"line_number":341,"context_line":"        image_file \u003d six.BytesIO(data_utils.random_bytes(2048))"},{"line_number":342,"context_line":"        image \u003d self.create_image(container_format\u003d\u0027bare\u0027,"},{"line_number":343,"context_line":"                                  disk_format\u003d\u0027qcow2\u0027)"},{"line_number":344,"context_line":"        self.client.store_image_file(image[\u0027id\u0027], data\u003dimage_file)"},{"line_number":345,"context_line":""}],"source_content_type":"text/x-python","patch_set":4,"id":"9a57fde8_19305456","line":342,"in_reply_to":"9a57fde8_8395b741","updated":"2017-01-12 17:34:19.000000000","message":"Done","commit_id":"b369947e4806558e79e4fd904de63e1035590e56"},{"author":{"_account_id":1921,"name":"Andrea Frittoli","email":"andrea.frittoli@gmail.com","username":"andrea-frittoli"},"change_message_id":"834ce3137e376104bc992e1c07387c3fff744995","unresolved":false,"context_lines":[{"line_number":340,"context_line":"        # Create an image to be shared using default visibility"},{"line_number":341,"context_line":"        image_file \u003d six.BytesIO(data_utils.random_bytes(2048))"},{"line_number":342,"context_line":"        image \u003d self.create_image(container_format\u003d\u0027bare\u0027,"},{"line_number":343,"context_line":"                                  disk_format\u003d\u0027qcow2\u0027)"},{"line_number":344,"context_line":"        self.client.store_image_file(image[\u0027id\u0027], data\u003dimage_file)"},{"line_number":345,"context_line":""},{"line_number":346,"context_line":"        # Share one of the images created with the alt user"}],"source_content_type":"text/x-python","patch_set":4,"id":"9a57fde8_43b4aff1","line":343,"updated":"2017-01-12 17:08:13.000000000","message":"This does not honor the configuration settings in CONF.image.disk_formats. You could use the first item of the list.","commit_id":"b369947e4806558e79e4fd904de63e1035590e56"},{"author":{"_account_id":17716,"name":"Luz Cazares","email":"luz.cazares@intel.com","username":"luzcazares"},"change_message_id":"dbea2052ae50501b5ee21330b2ce71ed95126b31","unresolved":false,"context_lines":[{"line_number":339,"context_line":"    def test_list_images_param_member_status(self):"},{"line_number":340,"context_line":"        # Create an image to be shared using default visibility"},{"line_number":341,"context_line":"        image_file \u003d six.BytesIO(data_utils.random_bytes(2048))"},{"line_number":342,"context_line":"        image \u003d self.create_image(container_format\u003d\u0027bare\u0027,"},{"line_number":343,"context_line":"                                  disk_format\u003d\u0027qcow2\u0027)"},{"line_number":344,"context_line":"        self.client.store_image_file(image[\u0027id\u0027], data\u003dimage_file)"},{"line_number":345,"context_line":""},{"line_number":346,"context_line":"        # Share one of the images created with the alt user"}],"source_content_type":"text/x-python","patch_set":4,"id":"9a57fde8_8302173d","line":343,"range":{"start_line":342,"start_character":34,"end_line":343,"end_character":53},"updated":"2017-01-12 17:06:42.000000000","message":"container_formats and disk_formats are declared on tempest CONFIG file, we shouldn\u0027t use hardcoded values.","commit_id":"b369947e4806558e79e4fd904de63e1035590e56"},{"author":{"_account_id":12807,"name":"Steve Lewis (stevelle)","email":"stevelle@gmail.com","username":"stevelle"},"change_message_id":"7fdcb3813c4c4b168590a2b9ae0d82eab8f3e938","unresolved":false,"context_lines":[{"line_number":339,"context_line":"    def test_list_images_param_member_status(self):"},{"line_number":340,"context_line":"        # Create an image to be shared using default visibility"},{"line_number":341,"context_line":"        image_file \u003d six.BytesIO(data_utils.random_bytes(2048))"},{"line_number":342,"context_line":"        image \u003d self.create_image(container_format\u003d\u0027bare\u0027,"},{"line_number":343,"context_line":"                                  disk_format\u003d\u0027qcow2\u0027)"},{"line_number":344,"context_line":"        self.client.store_image_file(image[\u0027id\u0027], data\u003dimage_file)"},{"line_number":345,"context_line":""},{"line_number":346,"context_line":"        # Share one of the images created with the alt user"}],"source_content_type":"text/x-python","patch_set":4,"id":"9a57fde8_39351846","line":343,"range":{"start_line":342,"start_character":34,"end_line":343,"end_character":53},"in_reply_to":"9a57fde8_8302173d","updated":"2017-01-12 17:34:19.000000000","message":"Done","commit_id":"b369947e4806558e79e4fd904de63e1035590e56"},{"author":{"_account_id":9152,"name":"Castulo J. Martinez","email":"castulo.martinez@intel.com","username":"cas"},"change_message_id":"e10b5560af8de779e1054bf17bfa0ff794b25e76","unresolved":false,"context_lines":[{"line_number":343,"context_line":"                                  disk_format\u003d\u0027qcow2\u0027)"},{"line_number":344,"context_line":"        self.client.store_image_file(image[\u0027id\u0027], data\u003dimage_file)"},{"line_number":345,"context_line":""},{"line_number":346,"context_line":"        # Share one of the images created with the alt user"},{"line_number":347,"context_line":"        self.image_member_client.create_image_member("},{"line_number":348,"context_line":"            image_id\u003dimage[\u0027id\u0027], member\u003dself.alt_img_client.tenant_id)"},{"line_number":349,"context_line":"        # Update the info on the test data so it remains accurate"}],"source_content_type":"text/x-python","patch_set":4,"id":"ba5201f7_0cab4476","line":346,"range":{"start_line":346,"start_character":16,"end_line":346,"end_character":33},"updated":"2017-01-11 18:44:39.000000000","message":"This comment could be updated since you are no longer using any the test images created in the resource_setup but creating a new one inside the test instead, the message is no longer accurate and could be misleading, it is not big deal though,","commit_id":"b369947e4806558e79e4fd904de63e1035590e56"},{"author":{"_account_id":12807,"name":"Steve Lewis (stevelle)","email":"stevelle@gmail.com","username":"stevelle"},"change_message_id":"7fdcb3813c4c4b168590a2b9ae0d82eab8f3e938","unresolved":false,"context_lines":[{"line_number":343,"context_line":"                                  disk_format\u003d\u0027qcow2\u0027)"},{"line_number":344,"context_line":"        self.client.store_image_file(image[\u0027id\u0027], data\u003dimage_file)"},{"line_number":345,"context_line":""},{"line_number":346,"context_line":"        # Share one of the images created with the alt user"},{"line_number":347,"context_line":"        self.image_member_client.create_image_member("},{"line_number":348,"context_line":"            image_id\u003dimage[\u0027id\u0027], member\u003dself.alt_img_client.tenant_id)"},{"line_number":349,"context_line":"        # Update the info on the test data so it remains accurate"}],"source_content_type":"text/x-python","patch_set":4,"id":"9a57fde8_593adc37","line":346,"range":{"start_line":346,"start_character":16,"end_line":346,"end_character":33},"in_reply_to":"ba5201f7_0cab4476","updated":"2017-01-12 17:34:19.000000000","message":"Done","commit_id":"b369947e4806558e79e4fd904de63e1035590e56"},{"author":{"_account_id":17716,"name":"Luz Cazares","email":"luz.cazares@intel.com","username":"luzcazares"},"change_message_id":"dbea2052ae50501b5ee21330b2ce71ed95126b31","unresolved":false,"context_lines":[{"line_number":346,"context_line":"        # Share one of the images created with the alt user"},{"line_number":347,"context_line":"        self.image_member_client.create_image_member("},{"line_number":348,"context_line":"            image_id\u003dimage[\u0027id\u0027], member\u003dself.alt_img_client.tenant_id)"},{"line_number":349,"context_line":"        # Update the info on the test data so it remains accurate"},{"line_number":350,"context_line":"        image[\u0027updated_at\u0027] \u003d self.client.show_image("},{"line_number":351,"context_line":"            image[\u0027id\u0027])[\u0027updated_at\u0027]"},{"line_number":352,"context_line":"        # As an image consumer you need to provide the member_status parameter"},{"line_number":353,"context_line":"        # along with the visibility\u003dshared parameter in order for it to show"},{"line_number":354,"context_line":"        # results"}],"source_content_type":"text/x-python","patch_set":4,"id":"9a57fde8_5e2ba230","line":351,"range":{"start_line":349,"start_character":8,"end_line":351,"end_character":38},"updated":"2017-01-12 17:06:42.000000000","message":"Agree, this is no longer needed","commit_id":"b369947e4806558e79e4fd904de63e1035590e56"},{"author":{"_account_id":9152,"name":"Castulo J. Martinez","email":"castulo.martinez@intel.com","username":"cas"},"change_message_id":"e10b5560af8de779e1054bf17bfa0ff794b25e76","unresolved":false,"context_lines":[{"line_number":346,"context_line":"        # Share one of the images created with the alt user"},{"line_number":347,"context_line":"        self.image_member_client.create_image_member("},{"line_number":348,"context_line":"            image_id\u003dimage[\u0027id\u0027], member\u003dself.alt_img_client.tenant_id)"},{"line_number":349,"context_line":"        # Update the info on the test data so it remains accurate"},{"line_number":350,"context_line":"        image[\u0027updated_at\u0027] \u003d self.client.show_image("},{"line_number":351,"context_line":"            image[\u0027id\u0027])[\u0027updated_at\u0027]"},{"line_number":352,"context_line":"        # As an image consumer you need to provide the member_status parameter"},{"line_number":353,"context_line":"        # along with the visibility\u003dshared parameter in order for it to show"},{"line_number":354,"context_line":"        # results"}],"source_content_type":"text/x-python","patch_set":4,"id":"ba5201f7_ecd9a0f4","line":351,"range":{"start_line":349,"start_character":8,"end_line":351,"end_character":38},"updated":"2017-01-11 18:44:39.000000000","message":"And I agree this is no longer needed for this test with the changes made to it. I understand that you don\u0027t want to make many changes to the current test, but in my opinion leaving this in makes the test confusing. But I\u0027m ok with updating that as part of a future patch.","commit_id":"b369947e4806558e79e4fd904de63e1035590e56"},{"author":{"_account_id":12807,"name":"Steve Lewis (stevelle)","email":"stevelle@gmail.com","username":"stevelle"},"change_message_id":"7fdcb3813c4c4b168590a2b9ae0d82eab8f3e938","unresolved":false,"context_lines":[{"line_number":346,"context_line":"        # Share one of the images created with the alt user"},{"line_number":347,"context_line":"        self.image_member_client.create_image_member("},{"line_number":348,"context_line":"            image_id\u003dimage[\u0027id\u0027], member\u003dself.alt_img_client.tenant_id)"},{"line_number":349,"context_line":"        # Update the info on the test data so it remains accurate"},{"line_number":350,"context_line":"        image[\u0027updated_at\u0027] \u003d self.client.show_image("},{"line_number":351,"context_line":"            image[\u0027id\u0027])[\u0027updated_at\u0027]"},{"line_number":352,"context_line":"        # As an image consumer you need to provide the member_status parameter"},{"line_number":353,"context_line":"        # along with the visibility\u003dshared parameter in order for it to show"},{"line_number":354,"context_line":"        # results"}],"source_content_type":"text/x-python","patch_set":4,"id":"9a57fde8_793fa025","line":351,"range":{"start_line":349,"start_character":8,"end_line":351,"end_character":38},"in_reply_to":"ba5201f7_ecd9a0f4","updated":"2017-01-12 17:34:19.000000000","message":"Done","commit_id":"b369947e4806558e79e4fd904de63e1035590e56"},{"author":{"_account_id":1921,"name":"Andrea Frittoli","email":"andrea.frittoli@gmail.com","username":"andrea-frittoli"},"change_message_id":"834ce3137e376104bc992e1c07387c3fff744995","unresolved":false,"context_lines":[{"line_number":346,"context_line":"        # Share one of the images created with the alt user"},{"line_number":347,"context_line":"        self.image_member_client.create_image_member("},{"line_number":348,"context_line":"            image_id\u003dimage[\u0027id\u0027], member\u003dself.alt_img_client.tenant_id)"},{"line_number":349,"context_line":"        # Update the info on the test data so it remains accurate"},{"line_number":350,"context_line":"        image[\u0027updated_at\u0027] \u003d self.client.show_image("},{"line_number":351,"context_line":"            image[\u0027id\u0027])[\u0027updated_at\u0027]"},{"line_number":352,"context_line":"        # As an image consumer you need to provide the member_status parameter"},{"line_number":353,"context_line":"        # along with the visibility\u003dshared parameter in order for it to show"},{"line_number":354,"context_line":"        # results"}],"source_content_type":"text/x-python","patch_set":4,"id":"9a57fde8_032b87ec","line":351,"range":{"start_line":349,"start_character":8,"end_line":351,"end_character":38},"in_reply_to":"ba5201f7_ecd9a0f4","updated":"2017-01-12 17:08:13.000000000","message":"NIT Yeah this is irrelevant here, but changing it may also be out of the scope of this patch.","commit_id":"b369947e4806558e79e4fd904de63e1035590e56"},{"author":{"_account_id":20190,"name":"zhufl","email":"zhu.fanglei@zte.com.cn","username":"zhufl"},"change_message_id":"143f64b154b91a4239a5105af4f03abbd045d33b","unresolved":false,"context_lines":[{"line_number":324,"context_line":"        self.assertEqual(\"images\", body[\u0027name\u0027])"},{"line_number":325,"context_line":""},{"line_number":326,"context_line":""},{"line_number":327,"context_line":"class ListSharedImagesTest(ListImagesTest):"},{"line_number":328,"context_line":"    \"\"\"Here we test the listing of a shared image information\"\"\""},{"line_number":329,"context_line":""},{"line_number":330,"context_line":"    credentials \u003d [\u0027primary\u0027, \u0027alt\u0027]"}],"source_content_type":"text/x-python","patch_set":8,"id":"7a3c09a3_654fafbd","line":327,"range":{"start_line":327,"start_character":27,"end_line":327,"end_character":41},"updated":"2017-01-16 09:09:16.000000000","message":"Seems no need to inherit from ListImagesTest now.\nAnd, if it doesn\u0027t inherit from ListImagesTest, then ListImagesTest can be removed because now only ListUserImagesTest uses it.\n\nOr, we can add a parameter \u0027visibility\u0027 in ListImagesTest._create_standard_image, and move ListImagesTest.resource_setup to ListUserImagesTest, thus to avoid the duplicated code to \"create image\"","commit_id":"8ac5b979e1bb20e4331701a8b8e7a50dd0d990f4"},{"author":{"_account_id":6167,"name":"Ken\u0027ichi Ohmichi","email":"ken1ohmichi@gmail.com","username":"oomichi"},"change_message_id":"14c1d0a775cd4a70bc656af8835b221089c47b0c","unresolved":false,"context_lines":[{"line_number":324,"context_line":"        self.assertEqual(\"images\", body[\u0027name\u0027])"},{"line_number":325,"context_line":""},{"line_number":326,"context_line":""},{"line_number":327,"context_line":"class ListSharedImagesTest(ListImagesTest):"},{"line_number":328,"context_line":"    \"\"\"Here we test the listing of a shared image information\"\"\""},{"line_number":329,"context_line":""},{"line_number":330,"context_line":"    credentials \u003d [\u0027primary\u0027, \u0027alt\u0027]"}],"source_content_type":"text/x-python","patch_set":8,"id":"7a3c09a3_d8bf50f9","line":327,"range":{"start_line":327,"start_character":27,"end_line":327,"end_character":41},"in_reply_to":"7a3c09a3_22058179","updated":"2017-01-16 17:25:00.000000000","message":"Yes, it is nice to keep this patch\u0027s scope simple and small for easy review.","commit_id":"8ac5b979e1bb20e4331701a8b8e7a50dd0d990f4"},{"author":{"_account_id":7350,"name":"Jordan Pittier","email":"jordan.pittier@gmail.com","username":"JordanP"},"change_message_id":"920908e945739a5edeb2889aaf6897540687db3e","unresolved":false,"context_lines":[{"line_number":324,"context_line":"        self.assertEqual(\"images\", body[\u0027name\u0027])"},{"line_number":325,"context_line":""},{"line_number":326,"context_line":""},{"line_number":327,"context_line":"class ListSharedImagesTest(ListImagesTest):"},{"line_number":328,"context_line":"    \"\"\"Here we test the listing of a shared image information\"\"\""},{"line_number":329,"context_line":""},{"line_number":330,"context_line":"    credentials \u003d [\u0027primary\u0027, \u0027alt\u0027]"}],"source_content_type":"text/x-python","patch_set":8,"id":"7a3c09a3_22058179","line":327,"range":{"start_line":327,"start_character":27,"end_line":327,"end_character":41},"in_reply_to":"7a3c09a3_3e904743","updated":"2017-01-16 16:52:52.000000000","message":"zhufl is right. The test_list_images_param_member_status test used to rely on self.test_data thus required inheritence from ListImagesTest. Now, with this change, we don\u0027t rely on  self.test_data so your patch makes the inherentence useless. It\u0027s not refactoring, it\u0027s keeping the code base logical.\n\nBut, given that I would as much as you want this to be over, I am going to +2. I am sure zhufl will come up with a nice follow up patch to improve this :)","commit_id":"8ac5b979e1bb20e4331701a8b8e7a50dd0d990f4"},{"author":{"_account_id":5314,"name":"Brian Rosmaita","email":"rosmaita.fossdev@gmail.com","username":"brian-rosmaita"},"change_message_id":"09ed70d9ff27ecb3f657ca5c5fe7a8b7eb5edb48","unresolved":false,"context_lines":[{"line_number":324,"context_line":"        self.assertEqual(\"images\", body[\u0027name\u0027])"},{"line_number":325,"context_line":""},{"line_number":326,"context_line":""},{"line_number":327,"context_line":"class ListSharedImagesTest(ListImagesTest):"},{"line_number":328,"context_line":"    \"\"\"Here we test the listing of a shared image information\"\"\""},{"line_number":329,"context_line":""},{"line_number":330,"context_line":"    credentials \u003d [\u0027primary\u0027, \u0027alt\u0027]"}],"source_content_type":"text/x-python","patch_set":8,"id":"7a3c09a3_3e904743","line":327,"range":{"start_line":327,"start_character":27,"end_line":327,"end_character":41},"in_reply_to":"7a3c09a3_654fafbd","updated":"2017-01-16 15:13:25.000000000","message":"I think that should probably be done as a separate patch.  That way we can keep the focus of this patch on updating a single test.\n\nThe discussion on how best to refactor (given that tempest will also want to test \u0027community\u0027 visibility images, in addition to \u0027public\u0027, \u0027private\u0027, and \u0027shared\u0027; also, \u0027hierarchical\u0027 images may be proposed for Pike) would probably best occur on a different patch.","commit_id":"8ac5b979e1bb20e4331701a8b8e7a50dd0d990f4"}]}
