)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":8556,"name":"Ghanshyam Maan","display_name":"Ghanshyam Maan","email":"gmaan.os14@gmail.com","username":"ghanshyam"},"change_message_id":"3f852e1ecba79ea3b797b2849e39b980d04304f1","unresolved":false,"context_lines":[{"line_number":8,"context_line":""},{"line_number":9,"context_line":"1. The compute images API is deprecated from the Microversion 2.36,"},{"line_number":10,"context_line":"   so we should set max_microversion \u003d \u00272.35\u0027 for compute image tests."},{"line_number":11,"context_line":"2. compute image_create is not deprecated, so we change to use"},{"line_number":12,"context_line":"   images_client to show/delete images in those testcases."},{"line_number":13,"context_line":""},{"line_number":14,"context_line":"ref: https://developer.openstack.org/api-ref/compute/#list-images"},{"line_number":15,"context_line":"     https://developer.openstack.org/api-ref/compute/#create-image-createimage-action"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":9,"id":"bf659307_e019c179","line":12,"range":{"start_line":11,"start_character":42,"end_line":12,"end_character":58},"updated":"2018-03-31 06:50:24.000000000","message":"Instead of changing we should switch client to compute and glance based on requested microversion. Because we need to keep testing the compute image client till 2.35/2.39 etc.","commit_id":"2cfe0ff991cbac5bf0d7816d924e5aba51369f83"}],"tempest/api/compute/images/test_images.py":[{"author":{"_account_id":23186,"name":"Felipe Monteiro","email":"felipe.carneiro.monteiro@gmail.com","username":"felipe.monteiro"},"change_message_id":"72a8a78008806a7a6cb0fb8bbad0c1ba9ba9a602","unresolved":false,"context_lines":[{"line_number":35,"context_line":"                        % cls.__name__)"},{"line_number":36,"context_line":"            raise cls.skipException(skip_msg)"},{"line_number":37,"context_line":""},{"line_number":38,"context_line":"    @classmethod"},{"line_number":39,"context_line":"    def setup_clients(cls):"},{"line_number":40,"context_line":"        super(ImagesTestJSON, cls).setup_clients()"},{"line_number":41,"context_line":"        cls.client \u003d cls.compute_images_client"},{"line_number":42,"context_line":""},{"line_number":43,"context_line":"    @decorators.idempotent_id(\u0027aa06b52b-2db5-4807-b218-9441f75d74e3\u0027)"},{"line_number":44,"context_line":"    def test_delete_saving_image(self):"}],"source_content_type":"text/x-python","patch_set":3,"id":"bf659307_ee37b2af","line":41,"range":{"start_line":38,"start_character":0,"end_line":41,"end_character":46},"updated":"2018-03-28 15:55:45.000000000","message":"Can be removed.","commit_id":"a15bfb2544db4a1e53c7727d1445628f965d85eb"},{"author":{"_account_id":20190,"name":"zhufl","email":"zhu.fanglei@zte.com.cn","username":"zhufl"},"change_message_id":"97d7a80d6e846bcd67175a3712c770085d1c91a1","unresolved":false,"context_lines":[{"line_number":35,"context_line":"                        % cls.__name__)"},{"line_number":36,"context_line":"            raise cls.skipException(skip_msg)"},{"line_number":37,"context_line":""},{"line_number":38,"context_line":"    @classmethod"},{"line_number":39,"context_line":"    def setup_clients(cls):"},{"line_number":40,"context_line":"        super(ImagesTestJSON, cls).setup_clients()"},{"line_number":41,"context_line":"        cls.client \u003d cls.compute_images_client"},{"line_number":42,"context_line":""},{"line_number":43,"context_line":"    @decorators.idempotent_id(\u0027aa06b52b-2db5-4807-b218-9441f75d74e3\u0027)"},{"line_number":44,"context_line":"    def test_delete_saving_image(self):"}],"source_content_type":"text/x-python","patch_set":3,"id":"bf659307_8fb0668c","line":41,"range":{"start_line":38,"start_character":0,"end_line":41,"end_character":46},"in_reply_to":"bf659307_ee37b2af","updated":"2018-03-29 01:27:25.000000000","message":"Thanks, done","commit_id":"a15bfb2544db4a1e53c7727d1445628f965d85eb"},{"author":{"_account_id":23186,"name":"Felipe Monteiro","email":"felipe.carneiro.monteiro@gmail.com","username":"felipe.monteiro"},"change_message_id":"72a8a78008806a7a6cb0fb8bbad0c1ba9ba9a602","unresolved":false,"context_lines":[{"line_number":44,"context_line":"    def test_delete_saving_image(self):"},{"line_number":45,"context_line":"        server \u003d self.create_test_server(wait_until\u003d\u0027ACTIVE\u0027)"},{"line_number":46,"context_line":"        self.addCleanup(self.servers_client.delete_server, server[\u0027id\u0027])"},{"line_number":47,"context_line":"        image \u003d self.create_image_from_server(server[\u0027id\u0027],"},{"line_number":48,"context_line":"                                              wait_until\u003d\u0027SAVING\u0027)"},{"line_number":49,"context_line":"        self.images_client.delete_image(image[\u0027id\u0027])"},{"line_number":50,"context_line":"        msg \u003d (\u0027The image with ID {image_id} failed to be deleted\u0027"}],"source_content_type":"text/x-python","patch_set":3,"id":"bf659307_2ec60a4a","line":47,"updated":"2018-03-28 15:55:45.000000000","message":"I had to go read `create_image_from_server` to understand how these tests are relevant for compute module now that self.client is being replaced with self.images_client. Maybe some kind of docstring would help people to understand how this is still testing the compute image client for microversion \u003c\u003d 2.36?","commit_id":"a15bfb2544db4a1e53c7727d1445628f965d85eb"},{"author":{"_account_id":20190,"name":"zhufl","email":"zhu.fanglei@zte.com.cn","username":"zhufl"},"change_message_id":"97d7a80d6e846bcd67175a3712c770085d1c91a1","unresolved":false,"context_lines":[{"line_number":44,"context_line":"    def test_delete_saving_image(self):"},{"line_number":45,"context_line":"        server \u003d self.create_test_server(wait_until\u003d\u0027ACTIVE\u0027)"},{"line_number":46,"context_line":"        self.addCleanup(self.servers_client.delete_server, server[\u0027id\u0027])"},{"line_number":47,"context_line":"        image \u003d self.create_image_from_server(server[\u0027id\u0027],"},{"line_number":48,"context_line":"                                              wait_until\u003d\u0027SAVING\u0027)"},{"line_number":49,"context_line":"        self.images_client.delete_image(image[\u0027id\u0027])"},{"line_number":50,"context_line":"        msg \u003d (\u0027The image with ID {image_id} failed to be deleted\u0027"}],"source_content_type":"text/x-python","patch_set":3,"id":"bf659307_ef648224","line":47,"in_reply_to":"bf659307_2ec60a4a","updated":"2018-03-29 01:27:25.000000000","message":"Yeah, makes sense, done","commit_id":"a15bfb2544db4a1e53c7727d1445628f965d85eb"},{"author":{"_account_id":23186,"name":"Felipe Monteiro","email":"felipe.carneiro.monteiro@gmail.com","username":"felipe.monteiro"},"change_message_id":"3dfc89d5a0dbc53c0aefb1f044d56a4466922836","unresolved":false,"context_lines":[{"line_number":26,"context_line":"    \"\"\"This is mainly to test create_image provided by compute_images_client"},{"line_number":27,"context_line":""},{"line_number":28,"context_line":"    Note: All other interfaces in compute_images_client have been deprecated"},{"line_number":29,"context_line":"          from Microversion 2.36/2.39, except create_image which will creates"},{"line_number":30,"context_line":"          an image from a server."},{"line_number":31,"context_line":"    \"\"\""},{"line_number":32,"context_line":""}],"source_content_type":"text/x-python","patch_set":4,"id":"bf659307_79b03844","line":29,"range":{"start_line":29,"start_character":70,"end_line":29,"end_character":77},"updated":"2018-03-29 06:41:05.000000000","message":"s/creates/create","commit_id":"8ab807557aa88fdc58b2f285ec9893db12032d29"},{"author":{"_account_id":20190,"name":"zhufl","email":"zhu.fanglei@zte.com.cn","username":"zhufl"},"change_message_id":"5bbfcb498e151c56c6cf7703130cc7bf281625f4","unresolved":false,"context_lines":[{"line_number":26,"context_line":"    \"\"\"This is mainly to test create_image provided by compute_images_client"},{"line_number":27,"context_line":""},{"line_number":28,"context_line":"    Note: All other interfaces in compute_images_client have been deprecated"},{"line_number":29,"context_line":"          from Microversion 2.36/2.39, except create_image which will creates"},{"line_number":30,"context_line":"          an image from a server."},{"line_number":31,"context_line":"    \"\"\""},{"line_number":32,"context_line":""}],"source_content_type":"text/x-python","patch_set":4,"id":"bf659307_190d7ca0","line":29,"range":{"start_line":29,"start_character":70,"end_line":29,"end_character":77},"in_reply_to":"bf659307_79b03844","updated":"2018-03-29 06:51:18.000000000","message":"Thanks, done","commit_id":"8ab807557aa88fdc58b2f285ec9893db12032d29"},{"author":{"_account_id":8556,"name":"Ghanshyam Maan","display_name":"Ghanshyam Maan","email":"gmaan.os14@gmail.com","username":"ghanshyam"},"change_message_id":"e8d6e4c4620e377f7bab95287a28fe98950a18fa","unresolved":false,"context_lines":[{"line_number":66,"context_line":"                                              name\u003dsnapshot_name,"},{"line_number":67,"context_line":"                                              wait_until\u003d\u0027ACTIVE\u0027,"},{"line_number":68,"context_line":"                                              wait_for_server\u003dFalse)"},{"line_number":69,"context_line":"        self.addCleanup(self.client.delete_image, image[\u0027id\u0027])"},{"line_number":70,"context_line":"        self.assertEqual(snapshot_name, image[\u0027name\u0027])"},{"line_number":71,"context_line":""},{"line_number":72,"context_line":"    @decorators.idempotent_id(\u002771bcb732-0261-11e7-9086-fa163e4fa634\u0027)"}],"source_content_type":"text/x-python","patch_set":17,"id":"9f6a8fd7_5254a354","line":69,"range":{"start_line":69,"start_character":36,"end_line":69,"end_character":48},"updated":"2018-04-27 09:11:14.000000000","message":"this will be 404 for compute client case after 2.35","commit_id":"f6c83010eeaeec0587e54b76083f241e67085318"},{"author":{"_account_id":8556,"name":"Ghanshyam Maan","display_name":"Ghanshyam Maan","email":"gmaan.os14@gmail.com","username":"ghanshyam"},"change_message_id":"53552c07f8d00870dbac755b3ea3b1caddb5adf8","unresolved":false,"context_lines":[{"line_number":66,"context_line":"                                              name\u003dsnapshot_name,"},{"line_number":67,"context_line":"                                              wait_until\u003d\u0027ACTIVE\u0027,"},{"line_number":68,"context_line":"                                              wait_for_server\u003dFalse)"},{"line_number":69,"context_line":"        self.addCleanup(self.client.delete_image, image[\u0027id\u0027])"},{"line_number":70,"context_line":"        self.assertEqual(snapshot_name, image[\u0027name\u0027])"},{"line_number":71,"context_line":""},{"line_number":72,"context_line":"    @decorators.idempotent_id(\u002771bcb732-0261-11e7-9086-fa163e4fa634\u0027)"}],"source_content_type":"text/x-python","patch_set":17,"id":"5f7c97a3_6b003c01","line":69,"range":{"start_line":69,"start_character":36,"end_line":69,"end_character":48},"in_reply_to":"5f7c97a3_120781ca","updated":"2018-07-18 10:50:31.000000000","message":"i see. i overlooked it. thanks","commit_id":"f6c83010eeaeec0587e54b76083f241e67085318"},{"author":{"_account_id":20190,"name":"zhufl","email":"zhu.fanglei@zte.com.cn","username":"zhufl"},"change_message_id":"0295b52e84d8a1184d484356e3ca28bd623a0440","unresolved":false,"context_lines":[{"line_number":66,"context_line":"                                              name\u003dsnapshot_name,"},{"line_number":67,"context_line":"                                              wait_until\u003d\u0027ACTIVE\u0027,"},{"line_number":68,"context_line":"                                              wait_for_server\u003dFalse)"},{"line_number":69,"context_line":"        self.addCleanup(self.client.delete_image, image[\u0027id\u0027])"},{"line_number":70,"context_line":"        self.assertEqual(snapshot_name, image[\u0027name\u0027])"},{"line_number":71,"context_line":""},{"line_number":72,"context_line":"    @decorators.idempotent_id(\u002771bcb732-0261-11e7-9086-fa163e4fa634\u0027)"}],"source_content_type":"text/x-python","patch_set":17,"id":"5f7c97a3_120781ca","line":69,"range":{"start_line":69,"start_character":36,"end_line":69,"end_character":48},"in_reply_to":"9f6a8fd7_5254a354","updated":"2018-07-18 07:55:35.000000000","message":"After 2.35 we set \"cls.client \u003d cls.images_client\", so delete_image and show_image are available.","commit_id":"f6c83010eeaeec0587e54b76083f241e67085318"},{"author":{"_account_id":8556,"name":"Ghanshyam Maan","display_name":"Ghanshyam Maan","email":"gmaan.os14@gmail.com","username":"ghanshyam"},"change_message_id":"e8d6e4c4620e377f7bab95287a28fe98950a18fa","unresolved":false,"context_lines":[{"line_number":84,"context_line":"                                              name\u003dsnapshot_name,"},{"line_number":85,"context_line":"                                              wait_until\u003d\u0027ACTIVE\u0027,"},{"line_number":86,"context_line":"                                              wait_for_server\u003dFalse)"},{"line_number":87,"context_line":"        self.addCleanup(self.client.delete_image, image[\u0027id\u0027])"},{"line_number":88,"context_line":"        self.assertEqual(snapshot_name, image[\u0027name\u0027])"},{"line_number":89,"context_line":""},{"line_number":90,"context_line":"    @decorators.idempotent_id(\u00278ca07fec-0262-11e7-907e-fa163e4fa634\u0027)"}],"source_content_type":"text/x-python","patch_set":17,"id":"9f6a8fd7_7251a762","line":87,"range":{"start_line":87,"start_character":36,"end_line":87,"end_character":48},"updated":"2018-04-27 09:11:14.000000000","message":"ditto","commit_id":"f6c83010eeaeec0587e54b76083f241e67085318"},{"author":{"_account_id":8556,"name":"Ghanshyam Maan","display_name":"Ghanshyam Maan","email":"gmaan.os14@gmail.com","username":"ghanshyam"},"change_message_id":"e8d6e4c4620e377f7bab95287a28fe98950a18fa","unresolved":false,"context_lines":[{"line_number":102,"context_line":"                                              name\u003dsnapshot_name,"},{"line_number":103,"context_line":"                                              wait_until\u003d\u0027ACTIVE\u0027,"},{"line_number":104,"context_line":"                                              wait_for_server\u003dFalse)"},{"line_number":105,"context_line":"        self.addCleanup(self.client.delete_image, image[\u0027id\u0027])"},{"line_number":106,"context_line":"        self.assertEqual(snapshot_name, image[\u0027name\u0027])"}],"source_content_type":"text/x-python","patch_set":17,"id":"9f6a8fd7_124e2bc1","line":105,"range":{"start_line":105,"start_character":36,"end_line":105,"end_character":48},"updated":"2018-04-27 09:11:14.000000000","message":"ditto","commit_id":"f6c83010eeaeec0587e54b76083f241e67085318"}],"tempest/api/compute/images/test_images_oneserver.py":[{"author":{"_account_id":8556,"name":"Ghanshyam Maan","display_name":"Ghanshyam Maan","email":"gmaan.os14@gmail.com","username":"ghanshyam"},"change_message_id":"e8d6e4c4620e377f7bab95287a28fe98950a18fa","unresolved":false,"context_lines":[{"line_number":65,"context_line":"        # Create a new image"},{"line_number":66,"context_line":"        name \u003d data_utils.rand_name(\u0027image\u0027)"},{"line_number":67,"context_line":"        meta \u003d {\u0027image_type\u0027: \u0027test\u0027}"},{"line_number":68,"context_line":"        image \u003d self.create_image_from_server(self.server_id, name\u003dname,"},{"line_number":69,"context_line":"                                              metadata\u003dmeta,"},{"line_number":70,"context_line":"                                              wait_until\u003d\u0027ACTIVE\u0027)"},{"line_number":71,"context_line":""}],"source_content_type":"text/x-python","patch_set":17,"id":"9f6a8fd7_d2ee738a","line":68,"range":{"start_line":68,"start_character":21,"end_line":68,"end_character":45},"updated":"2018-04-27 09:11:14.000000000","message":"this use show_image on cls.client which will be 404 for compute client case after 2.35","commit_id":"f6c83010eeaeec0587e54b76083f241e67085318"},{"author":{"_account_id":20190,"name":"zhufl","email":"zhu.fanglei@zte.com.cn","username":"zhufl"},"change_message_id":"0295b52e84d8a1184d484356e3ca28bd623a0440","unresolved":false,"context_lines":[{"line_number":65,"context_line":"        # Create a new image"},{"line_number":66,"context_line":"        name \u003d data_utils.rand_name(\u0027image\u0027)"},{"line_number":67,"context_line":"        meta \u003d {\u0027image_type\u0027: \u0027test\u0027}"},{"line_number":68,"context_line":"        image \u003d self.create_image_from_server(self.server_id, name\u003dname,"},{"line_number":69,"context_line":"                                              metadata\u003dmeta,"},{"line_number":70,"context_line":"                                              wait_until\u003d\u0027ACTIVE\u0027)"},{"line_number":71,"context_line":""}],"source_content_type":"text/x-python","patch_set":17,"id":"5f7c97a3_d2e26902","line":68,"range":{"start_line":68,"start_character":21,"end_line":68,"end_character":45},"in_reply_to":"9f6a8fd7_d2ee738a","updated":"2018-07-18 07:55:35.000000000","message":"In create_image_from_server, we will set client \u003d cls.images_client when after 2.35(and always use compute_images_client for the action of create_image)","commit_id":"f6c83010eeaeec0587e54b76083f241e67085318"},{"author":{"_account_id":8556,"name":"Ghanshyam Maan","display_name":"Ghanshyam Maan","email":"gmaan.os14@gmail.com","username":"ghanshyam"},"change_message_id":"e8d6e4c4620e377f7bab95287a28fe98950a18fa","unresolved":false,"context_lines":[{"line_number":89,"context_line":"                      (str(original_image[MIN_DISK]), str(flavor_disk_size)))"},{"line_number":90,"context_line":""},{"line_number":91,"context_line":"        # Verify the image was deleted correctly"},{"line_number":92,"context_line":"        self.client.delete_image(image[\u0027id\u0027])"},{"line_number":93,"context_line":"        self.client.wait_for_resource_deletion(image[\u0027id\u0027])"},{"line_number":94,"context_line":""},{"line_number":95,"context_line":"    @decorators.idempotent_id(\u00273b7c6fe4-dfe7-477c-9243-b06359db51e6\u0027)"}],"source_content_type":"text/x-python","patch_set":17,"id":"9f6a8fd7_72ad2730","line":92,"range":{"start_line":92,"start_character":20,"end_line":92,"end_character":32},"updated":"2018-04-27 09:11:14.000000000","message":"ditto","commit_id":"f6c83010eeaeec0587e54b76083f241e67085318"},{"author":{"_account_id":8556,"name":"Ghanshyam Maan","display_name":"Ghanshyam Maan","email":"gmaan.os14@gmail.com","username":"ghanshyam"},"change_message_id":"e8d6e4c4620e377f7bab95287a28fe98950a18fa","unresolved":false,"context_lines":[{"line_number":108,"context_line":"            image_id \u003d body[\u0027image_id\u0027]"},{"line_number":109,"context_line":"        else:"},{"line_number":110,"context_line":"            image_id \u003d data_utils.parse_image_id(body.response[\u0027location\u0027])"},{"line_number":111,"context_line":"        self.addCleanup(self.client.delete_image, image_id)"}],"source_content_type":"text/x-python","patch_set":17,"id":"9f6a8fd7_b2bbbf70","line":111,"range":{"start_line":111,"start_character":36,"end_line":111,"end_character":48},"updated":"2018-04-27 09:11:14.000000000","message":"ditto","commit_id":"f6c83010eeaeec0587e54b76083f241e67085318"}],"tempest/api/compute/images/test_images_oneserver_negative.py":[{"author":{"_account_id":8556,"name":"Ghanshyam Maan","display_name":"Ghanshyam Maan","email":"gmaan.os14@gmail.com","username":"ghanshyam"},"change_message_id":"e8d6e4c4620e377f7bab95287a28fe98950a18fa","unresolved":false,"context_lines":[{"line_number":102,"context_line":"        # Disallow creating another image when first image is being saved"},{"line_number":103,"context_line":""},{"line_number":104,"context_line":"        # Create first snapshot"},{"line_number":105,"context_line":"        image \u003d self.create_image_from_server(self.server_id)"},{"line_number":106,"context_line":"        self.addCleanup(self._reset_server)"},{"line_number":107,"context_line":""},{"line_number":108,"context_line":"        # Create second snapshot"}],"source_content_type":"text/x-python","patch_set":17,"id":"9f6a8fd7_32a7af52","line":105,"range":{"start_line":105,"start_character":21,"end_line":105,"end_character":45},"updated":"2018-04-27 09:11:14.000000000","message":"ditto","commit_id":"f6c83010eeaeec0587e54b76083f241e67085318"},{"author":{"_account_id":8556,"name":"Ghanshyam Maan","display_name":"Ghanshyam Maan","email":"gmaan.os14@gmail.com","username":"ghanshyam"},"change_message_id":"e8d6e4c4620e377f7bab95287a28fe98950a18fa","unresolved":false,"context_lines":[{"line_number":128,"context_line":""},{"line_number":129,"context_line":"    @decorators.attr(type\u003d[\u0027negative\u0027])"},{"line_number":130,"context_line":"    @decorators.idempotent_id(\u00270894954d-2db2-4195-a45b-ffec0bc0187e\u0027)"},{"line_number":131,"context_line":"    def test_delete_image_that_is_not_yet_active(self):"},{"line_number":132,"context_line":"        # Return an error while trying to delete an image what is creating"},{"line_number":133,"context_line":""},{"line_number":134,"context_line":"        image \u003d self.create_image_from_server(self.server_id)"}],"source_content_type":"text/x-python","patch_set":17,"id":"9f6a8fd7_52f8237b","line":131,"range":{"start_line":131,"start_character":8,"end_line":131,"end_character":48},"updated":"2018-04-27 09:11:14.000000000","message":"this test use delete and show, if using compute image client then it should be capped with 2.35 otherwise it will 404","commit_id":"f6c83010eeaeec0587e54b76083f241e67085318"},{"author":{"_account_id":20190,"name":"zhufl","email":"zhu.fanglei@zte.com.cn","username":"zhufl"},"change_message_id":"0295b52e84d8a1184d484356e3ca28bd623a0440","unresolved":false,"context_lines":[{"line_number":128,"context_line":""},{"line_number":129,"context_line":"    @decorators.attr(type\u003d[\u0027negative\u0027])"},{"line_number":130,"context_line":"    @decorators.idempotent_id(\u00270894954d-2db2-4195-a45b-ffec0bc0187e\u0027)"},{"line_number":131,"context_line":"    def test_delete_image_that_is_not_yet_active(self):"},{"line_number":132,"context_line":"        # Return an error while trying to delete an image what is creating"},{"line_number":133,"context_line":""},{"line_number":134,"context_line":"        image \u003d self.create_image_from_server(self.server_id)"}],"source_content_type":"text/x-python","patch_set":17,"id":"5f7c97a3_12a301b2","line":131,"range":{"start_line":131,"start_character":8,"end_line":131,"end_character":48},"in_reply_to":"9f6a8fd7_52f8237b","updated":"2018-07-18 07:55:35.000000000","message":"Yes in setup_clients we already do this.","commit_id":"f6c83010eeaeec0587e54b76083f241e67085318"},{"author":{"_account_id":8556,"name":"Ghanshyam Maan","display_name":"Ghanshyam Maan","email":"gmaan.os14@gmail.com","username":"ghanshyam"},"change_message_id":"e8d6e4c4620e377f7bab95287a28fe98950a18fa","unresolved":false,"context_lines":[{"line_number":131,"context_line":"    def test_delete_image_that_is_not_yet_active(self):"},{"line_number":132,"context_line":"        # Return an error while trying to delete an image what is creating"},{"line_number":133,"context_line":""},{"line_number":134,"context_line":"        image \u003d self.create_image_from_server(self.server_id)"},{"line_number":135,"context_line":"        if api_version_utils.compare_version_header_to_response("},{"line_number":136,"context_line":"            \"OpenStack-API-Version\", \"compute 2.45\", image.response, \"lt\"):"},{"line_number":137,"context_line":"            image_id \u003d image[\u0027image_id\u0027]"}],"source_content_type":"text/x-python","patch_set":17,"id":"9f6a8fd7_d2619313","line":134,"range":{"start_line":134,"start_character":21,"end_line":134,"end_character":45},"updated":"2018-04-27 09:11:14.000000000","message":"ditto","commit_id":"f6c83010eeaeec0587e54b76083f241e67085318"}],"tempest/api/compute/images/test_list_images.py":[{"author":{"_account_id":23186,"name":"Felipe Monteiro","email":"felipe.carneiro.monteiro@gmail.com","username":"felipe.monteiro"},"change_message_id":"3dfc89d5a0dbc53c0aefb1f044d56a4466922836","unresolved":false,"context_lines":[{"line_number":36,"context_line":"        cls.client \u003d cls.compute_images_client"},{"line_number":37,"context_line":""},{"line_number":38,"context_line":"    @decorators.idempotent_id(\u0027490d0898-e12a-463f-aef0-c50156b9f789\u0027)"},{"line_number":39,"context_line":"    def test_get_image(self):"},{"line_number":40,"context_line":"        # Returns the correct details for a single image"},{"line_number":41,"context_line":"        image \u003d self.client.show_image(self.image_ref)[\u0027image\u0027]"},{"line_number":42,"context_line":"        self.assertEqual(self.image_ref, image[\u0027id\u0027])"}],"source_content_type":"text/x-python","patch_set":4,"id":"bf659307_b925705e","line":39,"range":{"start_line":39,"start_character":8,"end_line":39,"end_character":22},"updated":"2018-03-29 06:41:05.000000000","message":"As an aside this looks out of place in class called ListImagesTestJSON.","commit_id":"8ab807557aa88fdc58b2f285ec9893db12032d29"},{"author":{"_account_id":20190,"name":"zhufl","email":"zhu.fanglei@zte.com.cn","username":"zhufl"},"change_message_id":"5bbfcb498e151c56c6cf7703130cc7bf281625f4","unresolved":false,"context_lines":[{"line_number":36,"context_line":"        cls.client \u003d cls.compute_images_client"},{"line_number":37,"context_line":""},{"line_number":38,"context_line":"    @decorators.idempotent_id(\u0027490d0898-e12a-463f-aef0-c50156b9f789\u0027)"},{"line_number":39,"context_line":"    def test_get_image(self):"},{"line_number":40,"context_line":"        # Returns the correct details for a single image"},{"line_number":41,"context_line":"        image \u003d self.client.show_image(self.image_ref)[\u0027image\u0027]"},{"line_number":42,"context_line":"        self.assertEqual(self.image_ref, image[\u0027id\u0027])"}],"source_content_type":"text/x-python","patch_set":4,"id":"bf659307_79d27802","line":39,"range":{"start_line":39,"start_character":8,"end_line":39,"end_character":22},"in_reply_to":"bf659307_b925705e","updated":"2018-03-29 06:51:18.000000000","message":"o, yes:)","commit_id":"8ab807557aa88fdc58b2f285ec9893db12032d29"}],"tempest/cmd/cleanup_service.py":[{"author":{"_account_id":8556,"name":"Ghanshyam Maan","display_name":"Ghanshyam Maan","email":"gmaan.os14@gmail.com","username":"ghanshyam"},"change_message_id":"e8d6e4c4620e377f7bab95287a28fe98950a18fa","unresolved":false,"context_lines":[{"line_number":720,"context_line":"class ImageService(BaseService):"},{"line_number":721,"context_line":"    def __init__(self, manager, **kwargs):"},{"line_number":722,"context_line":"        super(ImageService, self).__init__(kwargs)"},{"line_number":723,"context_line":"        self.client \u003d manager.image_client_v2"},{"line_number":724,"context_line":""},{"line_number":725,"context_line":"    def list(self):"},{"line_number":726,"context_line":"        client \u003d self.client"}],"source_content_type":"text/x-python","patch_set":17,"id":"9f6a8fd7_32b48f35","line":723,"range":{"start_line":723,"start_character":22,"end_line":723,"end_character":45},"updated":"2018-04-27 09:11:14.000000000","message":"you should switch between v1 and v2 client based no configuration.","commit_id":"f6c83010eeaeec0587e54b76083f241e67085318"}]}
