)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":7198,"name":"Jay Bryant","email":"jungleboyj@electronicjungle.net","username":"jsbryant"},"change_message_id":"18b5cb0a2f05f2e916621e0f473f603b29a048b1","unresolved":false,"context_lines":[{"line_number":4,"context_line":"Commit:     wanghao \u003cwanghao749@huawei.com\u003e"},{"line_number":5,"context_line":"CommitDate: 2015-07-20 17:09:19 +0800"},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Improve performance of listing detail of volumes which created from image"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"When user use pagination querying, there is no need to query all"},{"line_number":10,"context_line":"volumes\u0027 volume_glance_metadata, just get those volumes which are in"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":1,"id":"3a50d1a3_722352be","line":7,"updated":"2015-07-20 16:43:54.000000000","message":"Can shorten this up and make it easier to read.  Suggest:  \tImprove performance listing detail for volumes created from image","commit_id":"6b0d17712bd4df80b52cad074bdad3a4a9780ee9"},{"author":{"_account_id":8846,"name":"Hao Wang","display_name":"Hao Wang","email":"sxmatch1986@gmail.com","username":"sxmatch"},"change_message_id":"b20abe8719e673a4d2186936e31a79484023af7e","unresolved":false,"context_lines":[{"line_number":4,"context_line":"Commit:     wanghao \u003cwanghao749@huawei.com\u003e"},{"line_number":5,"context_line":"CommitDate: 2015-07-20 17:09:19 +0800"},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Improve performance of listing detail of volumes which created from image"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"When user use pagination querying, there is no need to query all"},{"line_number":10,"context_line":"volumes\u0027 volume_glance_metadata, just get those volumes which are in"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":1,"id":"3a50d1a3_e95a0583","line":7,"in_reply_to":"3a50d1a3_722352be","updated":"2015-07-21 02:05:49.000000000","message":"Thanks, it\u0027s better","commit_id":"6b0d17712bd4df80b52cad074bdad3a4a9780ee9"},{"author":{"_account_id":7198,"name":"Jay Bryant","email":"jungleboyj@electronicjungle.net","username":"jsbryant"},"change_message_id":"18b5cb0a2f05f2e916621e0f473f603b29a048b1","unresolved":false,"context_lines":[{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Improve performance of listing detail of volumes which created from image"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"When user use pagination querying, there is no need to query all"},{"line_number":10,"context_line":"volumes\u0027 volume_glance_metadata, just get those volumes which are in"},{"line_number":11,"context_line":"response list."},{"line_number":12,"context_line":""}],"source_content_type":"text/x-gerrit-commit-message","patch_set":1,"id":"3a50d1a3_12944ee0","line":9,"updated":"2015-07-20 16:43:54.000000000","message":"use -\u003e uses","commit_id":"6b0d17712bd4df80b52cad074bdad3a4a9780ee9"},{"author":{"_account_id":8846,"name":"Hao Wang","display_name":"Hao Wang","email":"sxmatch1986@gmail.com","username":"sxmatch"},"change_message_id":"b20abe8719e673a4d2186936e31a79484023af7e","unresolved":false,"context_lines":[{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Improve performance of listing detail of volumes which created from image"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"When user use pagination querying, there is no need to query all"},{"line_number":10,"context_line":"volumes\u0027 volume_glance_metadata, just get those volumes which are in"},{"line_number":11,"context_line":"response list."},{"line_number":12,"context_line":""}],"source_content_type":"text/x-gerrit-commit-message","patch_set":1,"id":"3a50d1a3_e9d1a5ce","line":9,"in_reply_to":"3a50d1a3_12944ee0","updated":"2015-07-21 02:05:49.000000000","message":"Done","commit_id":"6b0d17712bd4df80b52cad074bdad3a4a9780ee9"},{"author":{"_account_id":16883,"name":"huyang","email":"huyang1@huawei.com","username":"huyang"},"change_message_id":"2980048c975ffbca036d7a3a7a93cf17e2619b84","unresolved":false,"context_lines":[{"line_number":4,"context_line":"Commit:     wanghao \u003cwanghao749@huawei.com\u003e"},{"line_number":5,"context_line":"CommitDate: 2015-07-21 10:06:27 +0800"},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Improve performance listing detail for volumes created from image"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"When user uses pagination querying, there is no need to query all"},{"line_number":10,"context_line":"volumes\u0027 volume_glance_metadata, just get those volumes which are in"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":2,"id":"3a50d1a3_4ad59d19","line":7,"updated":"2015-07-29 07:56:19.000000000","message":"The first line should be limited to 50 characters. https://wiki.openstack.org/wiki/GitCommitMessages#Summary_of_Git_commit_message_structure","commit_id":"6cf803eb33392c34783f09c46177aa43b50a08d2"},{"author":{"_account_id":16708,"name":"Kendall Nelson","display_name":"Kendall (diablo_rojo)","email":"kennelson11@gmail.com","username":"kjnelson"},"change_message_id":"437e232cb7c9b035cc8f8ebc382d217492982b08","unresolved":false,"context_lines":[{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Improve performance listing detail for volumes"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"When large number of volumes created from image are in cloud,"},{"line_number":10,"context_line":"and user uses pagination querying, there is no need to query all"},{"line_number":11,"context_line":"volumes\u0027 volume_glance_metadata, just get those volumes which are in"},{"line_number":12,"context_line":"response list."}],"source_content_type":"text/x-gerrit-commit-message","patch_set":3,"id":"3a50d1a3_7ca85520","line":9,"updated":"2015-07-29 13:52:46.000000000","message":"Suggest: \"When large numbers of volumes are created from images in the cloud, and the user uses ....\"","commit_id":"d8b9e38ea49beb3f7549cd0f1ade90b97737737a"},{"author":{"_account_id":8846,"name":"Hao Wang","display_name":"Hao Wang","email":"sxmatch1986@gmail.com","username":"sxmatch"},"change_message_id":"5a64c3c4d0315313892aa88c91fd9c88323d3e7e","unresolved":false,"context_lines":[{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Improve performance listing detail for volumes"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"When large number of volumes created from image are in cloud,"},{"line_number":10,"context_line":"and user uses pagination querying, there is no need to query all"},{"line_number":11,"context_line":"volumes\u0027 volume_glance_metadata, just get those volumes which are in"},{"line_number":12,"context_line":"response list."}],"source_content_type":"text/x-gerrit-commit-message","patch_set":3,"id":"3a50d1a3_1b3d34dd","line":9,"in_reply_to":"3a50d1a3_7ca85520","updated":"2015-07-31 09:39:37.000000000","message":"Done","commit_id":"d8b9e38ea49beb3f7549cd0f1ade90b97737737a"},{"author":{"_account_id":16708,"name":"Kendall Nelson","display_name":"Kendall (diablo_rojo)","email":"kennelson11@gmail.com","username":"kjnelson"},"change_message_id":"437e232cb7c9b035cc8f8ebc382d217492982b08","unresolved":false,"context_lines":[{"line_number":11,"context_line":"volumes\u0027 volume_glance_metadata, just get those volumes which are in"},{"line_number":12,"context_line":"response list."},{"line_number":13,"context_line":""},{"line_number":14,"context_line":"For compatible change, add CONF.query_volume_image_meta_speed_up"},{"line_number":15,"context_line":"to cinder.conf that user can choose whether and when to speed up"},{"line_number":16,"context_line":"querying."},{"line_number":17,"context_line":""}],"source_content_type":"text/x-gerrit-commit-message","patch_set":3,"id":"3a50d1a3_f706be1a","line":14,"updated":"2015-07-29 13:52:46.000000000","message":"Suggest: \"An additional change that could be made, add CONF.query_volume_images_meta_speed_up to cinder.conf so that ....\"","commit_id":"d8b9e38ea49beb3f7549cd0f1ade90b97737737a"}],"cinder/api/contrib/volume_image_metadata.py":[{"author":{"_account_id":10453,"name":"octopuszhang","email":"zhangyf@rc.inesa.com","username":"1"},"change_message_id":"977e2156bbeb76ccc9a072741522ba76940bb435","unresolved":false,"context_lines":[{"line_number":93,"context_line":"            # image metadata."},{"line_number":94,"context_line":"            if params.get(\u0027limit\u0027, None) is not None:"},{"line_number":95,"context_line":"                for vol in list(resp_obj.obj.get(\u0027volumes\u0027, [])):"},{"line_number":96,"context_line":"                    self._add_image_metadata(context, vol)"},{"line_number":97,"context_line":"            else:"},{"line_number":98,"context_line":"                all_meta \u003d self._get_all_images_metadata(context)"},{"line_number":99,"context_line":"                for vol in list(resp_obj.obj.get(\u0027volumes\u0027, [])):"}],"source_content_type":"text/x-python","patch_set":1,"id":"3a50d1a3_c9ddf471","line":96,"updated":"2015-07-20 10:23:20.000000000","message":"see function _add_image_metadata,if image_meta is None, cinder will try to get image-meta by rpc. does this really make a performance improvement?","commit_id":"6b0d17712bd4df80b52cad074bdad3a4a9780ee9"},{"author":{"_account_id":8846,"name":"Hao Wang","display_name":"Hao Wang","email":"sxmatch1986@gmail.com","username":"sxmatch"},"change_message_id":"b20abe8719e673a4d2186936e31a79484023af7e","unresolved":false,"context_lines":[{"line_number":93,"context_line":"            # image metadata."},{"line_number":94,"context_line":"            if params.get(\u0027limit\u0027, None) is not None:"},{"line_number":95,"context_line":"                for vol in list(resp_obj.obj.get(\u0027volumes\u0027, [])):"},{"line_number":96,"context_line":"                    self._add_image_metadata(context, vol)"},{"line_number":97,"context_line":"            else:"},{"line_number":98,"context_line":"                all_meta \u003d self._get_all_images_metadata(context)"},{"line_number":99,"context_line":"                for vol in list(resp_obj.obj.get(\u0027volumes\u0027, [])):"}],"source_content_type":"text/x-python","patch_set":1,"id":"3a50d1a3_897d81b3","line":96,"in_reply_to":"3a50d1a3_c9ddf471","updated":"2015-07-21 02:05:49.000000000","message":"This function is calling volume.API.get_volume_image_metadata, and then directly calling db function: self.db.volume_glance_metadata_get(context, volume[\u0027id\u0027]). Sorry I don\u0027t see this is rpc call.","commit_id":"6b0d17712bd4df80b52cad074bdad3a4a9780ee9"},{"author":{"_account_id":2759,"name":"Huang Zhiteng","email":"winston.d@gmail.com","username":"zhiteng-huang"},"change_message_id":"2ff74c957b6fe2e985108eacf19044973225c2bc","unresolved":false,"context_lines":[{"line_number":93,"context_line":"            # image metadata."},{"line_number":94,"context_line":"            if params.get(\u0027limit\u0027, None) is not None:"},{"line_number":95,"context_line":"                for vol in list(resp_obj.obj.get(\u0027volumes\u0027, [])):"},{"line_number":96,"context_line":"                    self._add_image_metadata(context, vol)"},{"line_number":97,"context_line":"            else:"},{"line_number":98,"context_line":"                all_meta \u003d self._get_all_images_metadata(context)"},{"line_number":99,"context_line":"                for vol in list(resp_obj.obj.get(\u0027volumes\u0027, [])):"}],"source_content_type":"text/x-python","patch_set":2,"id":"3a50d1a3_965d2e17","line":96,"updated":"2015-07-22 17:00:19.000000000","message":"I know it sounds absurd but doing a batch query for a lot of unnecessary volumes may not be slower than doing a few individual query for each volume included in limits.  I think we need numbers to prove.","commit_id":"6cf803eb33392c34783f09c46177aa43b50a08d2"},{"author":{"_account_id":8846,"name":"Hao Wang","display_name":"Hao Wang","email":"sxmatch1986@gmail.com","username":"sxmatch"},"change_message_id":"6955fe5e36b9c85e370ab6bb6c5f69a342f2f97c","unresolved":false,"context_lines":[{"line_number":93,"context_line":"            # image metadata."},{"line_number":94,"context_line":"            if params.get(\u0027limit\u0027, None) is not None:"},{"line_number":95,"context_line":"                for vol in list(resp_obj.obj.get(\u0027volumes\u0027, [])):"},{"line_number":96,"context_line":"                    self._add_image_metadata(context, vol)"},{"line_number":97,"context_line":"            else:"},{"line_number":98,"context_line":"                all_meta \u003d self._get_all_images_metadata(context)"},{"line_number":99,"context_line":"                for vol in list(resp_obj.obj.get(\u0027volumes\u0027, [])):"}],"source_content_type":"text/x-python","patch_set":2,"id":"3a50d1a3_7f25c059","line":96,"in_reply_to":"3a50d1a3_965d2e17","updated":"2015-07-23 03:45:32.000000000","message":"We have tested this case: we have 10000 volume created from image, and we query 50 of them, it will take about 10s with old method, then we change the code like here, it will take about 1s to query 50 volumes.","commit_id":"6cf803eb33392c34783f09c46177aa43b50a08d2"},{"author":{"_account_id":2759,"name":"Huang Zhiteng","email":"winston.d@gmail.com","username":"zhiteng-huang"},"change_message_id":"cde44037cf95c588c004377de8cd0b229a27f8de","unresolved":false,"context_lines":[{"line_number":33,"context_line":"                                         help\u003d\"Speed up the querying of \""},{"line_number":34,"context_line":"                                              \"volumes those created from \""},{"line_number":35,"context_line":"                                              \"image with large amount, for \""},{"line_number":36,"context_line":"                                              \"example, over 10000 volumes.\")"},{"line_number":37,"context_line":""},{"line_number":38,"context_line":"CONF \u003d cfg.CONF"},{"line_number":39,"context_line":"CONF.register_opt(speed_up_image_metdata_opt)"}],"source_content_type":"text/x-python","patch_set":3,"id":"3a50d1a3_52ac0b35","line":36,"updated":"2015-07-31 02:03:55.000000000","message":"The description is not accurate.  You should also mention turn this flag on may reduce the performance when # of vols are not that many.","commit_id":"d8b9e38ea49beb3f7549cd0f1ade90b97737737a"},{"author":{"_account_id":8846,"name":"Hao Wang","display_name":"Hao Wang","email":"sxmatch1986@gmail.com","username":"sxmatch"},"change_message_id":"6fee4a2a3a6b79001b19fd48be699ccf56ed90b4","unresolved":false,"context_lines":[{"line_number":33,"context_line":"                                         help\u003d\"Speed up the querying of \""},{"line_number":34,"context_line":"                                              \"volumes those created from \""},{"line_number":35,"context_line":"                                              \"image with large amount, for \""},{"line_number":36,"context_line":"                                              \"example, over 10000 volumes.\")"},{"line_number":37,"context_line":""},{"line_number":38,"context_line":"CONF \u003d cfg.CONF"},{"line_number":39,"context_line":"CONF.register_opt(speed_up_image_metdata_opt)"}],"source_content_type":"text/x-python","patch_set":3,"id":"3a50d1a3_4ed21f5d","line":36,"in_reply_to":"3a50d1a3_52ac0b35","updated":"2015-07-31 08:38:01.000000000","message":"Yeah, I feel this may be not a good way to solve this issue. I have a new idea: we should query image metadata of those volumes in response by using one sql querying.  That will improve the performance better.","commit_id":"d8b9e38ea49beb3f7549cd0f1ade90b97737737a"},{"author":{"_account_id":16708,"name":"Kendall Nelson","display_name":"Kendall (diablo_rojo)","email":"kennelson11@gmail.com","username":"kjnelson"},"change_message_id":"437e232cb7c9b035cc8f8ebc382d217492982b08","unresolved":false,"context_lines":[{"line_number":100,"context_line":"        if authorize(context):"},{"line_number":101,"context_line":"            resp_obj.attach(xml\u003dVolumesImageMetadataTemplate())"},{"line_number":102,"context_line":"            params \u003d req.params"},{"line_number":103,"context_line":"            # If there are large number of volumes(\u003e10000) created from image,"},{"line_number":104,"context_line":"            # we should use pagination querying with small limit, and set"},{"line_number":105,"context_line":"            # query_volume_image_meta_speed_up\u003dTrue to accelerate the querying."},{"line_number":106,"context_line":"            if (params.get(\u0027limit\u0027, None) is not None and"}],"source_content_type":"text/x-python","patch_set":3,"id":"3a50d1a3_1ce831b2","line":103,"updated":"2015-07-29 13:52:46.000000000","message":"number-\u003e numbers","commit_id":"d8b9e38ea49beb3f7549cd0f1ade90b97737737a"},{"author":{"_account_id":1207,"name":"Duncan Thomas","email":"duncan.thomas@gmail.com","username":"duncan-thomas"},"change_message_id":"4e98a73ec13873f55d11e584f8be3f3d19e3fea9","unresolved":false,"context_lines":[{"line_number":58,"context_line":"        return all_metadata"},{"line_number":59,"context_line":""},{"line_number":60,"context_line":"    def _add_image_metadata(self, context, resp_volume_list, image_metas\u003dNone):"},{"line_number":61,"context_line":"        \"\"\"Appends the image metadata to the given volume."},{"line_number":62,"context_line":""},{"line_number":63,"context_line":"        :param context: the request context"},{"line_number":64,"context_line":"        :param resp_volume_list: the response volume list"}],"source_content_type":"text/x-python","patch_set":11,"id":"ba15a1d1_f59a0fc5","line":61,"updated":"2015-09-13 07:05:10.000000000","message":"Appends the image metadata to each of the given volumes","commit_id":"8ec56a4f9dccaf04cb22231d8d3937f1c8114250"},{"author":{"_account_id":8846,"name":"Hao Wang","display_name":"Hao Wang","email":"sxmatch1986@gmail.com","username":"sxmatch"},"change_message_id":"192212e95ddd8c64174d48ffa2661a35261c1ad3","unresolved":false,"context_lines":[{"line_number":58,"context_line":"        return all_metadata"},{"line_number":59,"context_line":""},{"line_number":60,"context_line":"    def _add_image_metadata(self, context, resp_volume_list, image_metas\u003dNone):"},{"line_number":61,"context_line":"        \"\"\"Appends the image metadata to the given volume."},{"line_number":62,"context_line":""},{"line_number":63,"context_line":"        :param context: the request context"},{"line_number":64,"context_line":"        :param resp_volume_list: the response volume list"}],"source_content_type":"text/x-python","patch_set":11,"id":"ba15a1d1_70c84675","line":61,"in_reply_to":"ba15a1d1_f59a0fc5","updated":"2015-09-14 06:10:57.000000000","message":"Thanks Duncan","commit_id":"8ec56a4f9dccaf04cb22231d8d3937f1c8114250"},{"author":{"_account_id":11904,"name":"Sean McGinnis","email":"sean.mcginnis@gmail.com","username":"SeanM"},"change_message_id":"f9891e72b7906af80ce158b6f072acb58b484f9b","unresolved":false,"context_lines":[{"line_number":75,"context_line":"                image_metas \u003d self.volume_api.get_list_volumes_image_metadata("},{"line_number":76,"context_line":"                    context, vol_id_list)"},{"line_number":77,"context_line":"            except Exception as e:"},{"line_number":78,"context_line":"                LOG.debug(\u0027Get image metadata error: %s\u0027, six.text_type(e))"},{"line_number":79,"context_line":"                return"},{"line_number":80,"context_line":"        if image_metas:"},{"line_number":81,"context_line":"            for vol in resp_volume_list:"}],"source_content_type":"text/x-python","patch_set":20,"id":"7a2fa921_e7283388","line":78,"updated":"2015-10-10 12:21:55.000000000","message":"six.text_type not necessary here as the logger will take care of it internally. Harmless though redundant.","commit_id":"806192705e4dd85078edd3ad24763b76e79a3fc1"},{"author":{"_account_id":8846,"name":"Hao Wang","display_name":"Hao Wang","email":"sxmatch1986@gmail.com","username":"sxmatch"},"change_message_id":"73db8cb18d303062855b8d8c706badf5aa76f959","unresolved":false,"context_lines":[{"line_number":75,"context_line":"                image_metas \u003d self.volume_api.get_list_volumes_image_metadata("},{"line_number":76,"context_line":"                    context, vol_id_list)"},{"line_number":77,"context_line":"            except Exception as e:"},{"line_number":78,"context_line":"                LOG.debug(\u0027Get image metadata error: %s\u0027, six.text_type(e))"},{"line_number":79,"context_line":"                return"},{"line_number":80,"context_line":"        if image_metas:"},{"line_number":81,"context_line":"            for vol in resp_volume_list:"}],"source_content_type":"text/x-python","patch_set":20,"id":"5a2ca52d_8ddda744","line":78,"in_reply_to":"7a2fa921_e7283388","updated":"2015-10-14 06:41:02.000000000","message":"OKay, will update it.","commit_id":"806192705e4dd85078edd3ad24763b76e79a3fc1"}],"cinder/db/api.py":[{"author":{"_account_id":8912,"name":"Ryan McNair","email":"rdmcnair@us.ibm.com","username":"rdmcnair"},"change_message_id":"13f968e445139a01e916f28ac7d001016c108794","unresolved":false,"context_lines":[{"line_number":665,"context_line":"    \"\"\"Return the glance metadata for a volume.\"\"\""},{"line_number":666,"context_line":"    return IMPL.volume_glance_metadata_get(context, volume_id)"},{"line_number":667,"context_line":""},{"line_number":668,"context_line":""},{"line_number":669,"context_line":"def volume_glance_metadata_list_get(context, volume_id_list):"},{"line_number":670,"context_line":"    \"\"\"Return the glance metadata for a volume list.\"\"\""},{"line_number":671,"context_line":"    return IMPL.volume_glance_metadata_list_get(context, volume_id_list)"}],"source_content_type":"text/x-python","patch_set":20,"id":"ba15a1d1_3b1acac6","line":668,"updated":"2015-09-18 17:18:49.000000000","message":"A name like \"volume_glance_metadata_get_list\" or \"volume_glance_metadata_get_subset\" may be more readable and would be in line with what we do for \"volume_glance_metadata_get_all\"","commit_id":"806192705e4dd85078edd3ad24763b76e79a3fc1"},{"author":{"_account_id":8846,"name":"Hao Wang","display_name":"Hao Wang","email":"sxmatch1986@gmail.com","username":"sxmatch"},"change_message_id":"2625f1a69b644b1eafef45bf93cd098b330ccba3","unresolved":false,"context_lines":[{"line_number":665,"context_line":"    \"\"\"Return the glance metadata for a volume.\"\"\""},{"line_number":666,"context_line":"    return IMPL.volume_glance_metadata_get(context, volume_id)"},{"line_number":667,"context_line":""},{"line_number":668,"context_line":""},{"line_number":669,"context_line":"def volume_glance_metadata_list_get(context, volume_id_list):"},{"line_number":670,"context_line":"    \"\"\"Return the glance metadata for a volume list.\"\"\""},{"line_number":671,"context_line":"    return IMPL.volume_glance_metadata_list_get(context, volume_id_list)"}],"source_content_type":"text/x-python","patch_set":20,"id":"ba15a1d1_edb80deb","line":668,"in_reply_to":"ba15a1d1_3b1acac6","updated":"2015-09-19 01:19:47.000000000","message":"Thanks Ryan, since we return a list of volumes\u0027 metadata, so I feel this name is fine. Like volume_snapshot_glance_metadata_get.","commit_id":"806192705e4dd85078edd3ad24763b76e79a3fc1"}],"cinder/tests/unit/test_db_api.py":[{"author":{"_account_id":14305,"name":"Yuriy Nesenenko","email":"ynesenenko@mirantis.com","username":"yuriy_n"},"change_message_id":"403f8ce92de8eeb9edd72a091d21618c7fa686bd","unresolved":false,"context_lines":[{"line_number":1054,"context_line":"                         {\u0027volume_id\u0027: \u0027fake2\u0027, \u0027key\u0027: \u0027key4\u0027,"},{"line_number":1055,"context_line":"                          \u0027value\u0027: \u0027value4\u0027}]"},{"line_number":1056,"context_line":"        self._assertEqualListsOfObjects(expect_result,"},{"line_number":1057,"context_line":"                                        db.volume_glance_metadata_list_get("},{"line_number":1058,"context_line":"                                            self.ctxt, [\u0027fake1\u0027, \u0027fake2\u0027]),"},{"line_number":1059,"context_line":"                                        ignored_keys\u003d[\u0027id\u0027, \u0027volume\u0027,"},{"line_number":1060,"context_line":"                                                      \u0027snapshot_id\u0027])"}],"source_content_type":"text/x-python","patch_set":16,"id":"ba15a1d1_a30ce1ed","line":1057,"updated":"2015-09-16 14:33:33.000000000","message":"db.volume_glance_metadata_list_get returns list of objects with such properties as \u0027created_at\u0027, \u0027deleted\u0027, \u0027deleted_at\u0027, \u0027key\u0027, \u0027updated_at\u0027, \u0027value\u0027,  \u0027volume_id\u0027. So the attempting a comparison of such objects is incorrect.","commit_id":"aa12c56811c4551ca70577f84111622685db1fde"},{"author":{"_account_id":8846,"name":"Hao Wang","display_name":"Hao Wang","email":"sxmatch1986@gmail.com","username":"sxmatch"},"change_message_id":"943af2667a0b9212a99c34ab47d3dc6f89d1f5a0","unresolved":false,"context_lines":[{"line_number":1054,"context_line":"                         {\u0027volume_id\u0027: \u0027fake2\u0027, \u0027key\u0027: \u0027key4\u0027,"},{"line_number":1055,"context_line":"                          \u0027value\u0027: \u0027value4\u0027}]"},{"line_number":1056,"context_line":"        self._assertEqualListsOfObjects(expect_result,"},{"line_number":1057,"context_line":"                                        db.volume_glance_metadata_list_get("},{"line_number":1058,"context_line":"                                            self.ctxt, [\u0027fake1\u0027, \u0027fake2\u0027]),"},{"line_number":1059,"context_line":"                                        ignored_keys\u003d[\u0027id\u0027, \u0027volume\u0027,"},{"line_number":1060,"context_line":"                                                      \u0027snapshot_id\u0027])"}],"source_content_type":"text/x-python","patch_set":16,"id":"ba15a1d1_381b0575","line":1057,"in_reply_to":"ba15a1d1_a30ce1ed","updated":"2015-09-17 01:09:06.000000000","message":"Yes Yuriy, so I use the ignored keys to ignore those properties which I dont\u0027 want to compare. Thanks review, I will update it.","commit_id":"aa12c56811c4551ca70577f84111622685db1fde"},{"author":{"_account_id":14305,"name":"Yuriy Nesenenko","email":"ynesenenko@mirantis.com","username":"yuriy_n"},"change_message_id":"abf7b41a698ab69fa22408dd716c52fc24d93dc7","unresolved":false,"context_lines":[{"line_number":1056,"context_line":"        self._assertEqualListsOfObjects(expect_result,"},{"line_number":1057,"context_line":"                                        db.volume_glance_metadata_list_get("},{"line_number":1058,"context_line":"                                            self.ctxt, [\u0027fake1\u0027, \u0027fake2\u0027]),"},{"line_number":1059,"context_line":"                                        ignored_keys\u003d[\u0027id\u0027, \u0027volume\u0027,"},{"line_number":1060,"context_line":"                                                      \u0027snapshot_id\u0027,"},{"line_number":1061,"context_line":"                                                      \u0027created_at\u0027,"},{"line_number":1062,"context_line":"                                                      \u0027deleted\u0027, \u0027deleted_at\u0027,"}],"source_content_type":"text/x-python","patch_set":20,"id":"ba15a1d1_030da23d","line":1059,"updated":"2015-09-22 20:13:33.000000000","message":"\u0027volume\u0027 is redundant because there is no such property in the glance metadata. Just \u0027volume_id\u0027 is present there.","commit_id":"806192705e4dd85078edd3ad24763b76e79a3fc1"},{"author":{"_account_id":8846,"name":"Hao Wang","display_name":"Hao Wang","email":"sxmatch1986@gmail.com","username":"sxmatch"},"change_message_id":"73db8cb18d303062855b8d8c706badf5aa76f959","unresolved":false,"context_lines":[{"line_number":1056,"context_line":"        self._assertEqualListsOfObjects(expect_result,"},{"line_number":1057,"context_line":"                                        db.volume_glance_metadata_list_get("},{"line_number":1058,"context_line":"                                            self.ctxt, [\u0027fake1\u0027, \u0027fake2\u0027]),"},{"line_number":1059,"context_line":"                                        ignored_keys\u003d[\u0027id\u0027, \u0027volume\u0027,"},{"line_number":1060,"context_line":"                                                      \u0027snapshot_id\u0027,"},{"line_number":1061,"context_line":"                                                      \u0027created_at\u0027,"},{"line_number":1062,"context_line":"                                                      \u0027deleted\u0027, \u0027deleted_at\u0027,"}],"source_content_type":"text/x-python","patch_set":20,"id":"5a2ca52d_6df60b91","line":1059,"in_reply_to":"ba15a1d1_030da23d","updated":"2015-10-14 06:41:02.000000000","message":"Thanks Yuriy, you\u0027re right, have updated it.","commit_id":"806192705e4dd85078edd3ad24763b76e79a3fc1"}]}
