)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":4523,"name":"Eric Harney","email":"eharney@redhat.com","username":"eharney"},"change_message_id":"b1fd640149e2e246fcf71d1ffb8b7704acc2c85b","unresolved":true,"context_lines":[{"line_number":18,"context_line":"\"snapshots/detail?created_at\u003dgt:2016-01-01T01:00:00,lt:2016-12-31T01:00:00\""},{"line_number":19,"context_line":""},{"line_number":20,"context_line":"Change-Id: I36da4f9b7afca755ae0524f2c5a3af810ce4052a"},{"line_number":21,"context_line":"Partial-Implements: blueprint support-to-query-cinder-resources-filter-by-time-comparison-operators"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":33,"id":"cfb2d961_7ddd076a","line":21,"range":{"start_line":21,"start_character":0,"end_line":21,"end_character":7},"updated":"2022-08-09 12:26:10.000000000","message":"Why \"Partial\"?  Is there more code related to this?","commit_id":"9ba354b3d637f817063dd9dd6e295c49eda76c17"},{"author":{"_account_id":8846,"name":"Hao Wang","display_name":"Hao Wang","email":"sxmatch1986@gmail.com","username":"sxmatch"},"change_message_id":"8301c835b8d653fb843b96e9a908dcb2b173a809","unresolved":false,"context_lines":[{"line_number":18,"context_line":"\"snapshots/detail?created_at\u003dgt:2016-01-01T01:00:00,lt:2016-12-31T01:00:00\""},{"line_number":19,"context_line":""},{"line_number":20,"context_line":"Change-Id: I36da4f9b7afca755ae0524f2c5a3af810ce4052a"},{"line_number":21,"context_line":"Partial-Implements: blueprint support-to-query-cinder-resources-filter-by-time-comparison-operators"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":33,"id":"33f0065e_3635418f","line":21,"range":{"start_line":21,"start_character":0,"end_line":21,"end_character":7},"in_reply_to":"cfb2d961_7ddd076a","updated":"2022-08-15 01:17:27.000000000","message":"To snapshot code, no. I got what you mean and will update the comment message. Thanks.","commit_id":"9ba354b3d637f817063dd9dd6e295c49eda76c17"}],"/PATCHSET_LEVEL":[{"author":{"_account_id":4523,"name":"Eric Harney","email":"eharney@redhat.com","username":"eharney"},"change_message_id":"cad54b19d10fef6c739b08e827edd7ea53005113","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":25,"id":"17c85e2c_92cd1960","updated":"2021-11-29 16:59:30.000000000","message":"This feature says it supports times specified in ISO-8601 format but I don\u0027t see tests that use time zones.\n\nCan we add unit tests for that if they are supported by the API?\n\ni.e. 2021-11-29T11:58:00Z\n2021-11-29T11:58:00+06:00\n\netc.","commit_id":"6ffb09cb13dffda47d5ca4f65e6627c650c2a7be"},{"author":{"_account_id":8846,"name":"Hao Wang","display_name":"Hao Wang","email":"sxmatch1986@gmail.com","username":"sxmatch"},"change_message_id":"c682a1cdbe614cc1a72caee0bb45af10e59259f1","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":25,"id":"b51d5e8b_4ea34121","updated":"2021-11-26 08:54:30.000000000","message":"recheck","commit_id":"6ffb09cb13dffda47d5ca4f65e6627c650c2a7be"},{"author":{"_account_id":8846,"name":"Hao Wang","display_name":"Hao Wang","email":"sxmatch1986@gmail.com","username":"sxmatch"},"change_message_id":"8056ca08bedcf7bf7202b7db2b869f01adabf83e","unresolved":true,"context_lines":[],"source_content_type":"","patch_set":25,"id":"35c3af37_6020dbce","in_reply_to":"17c85e2c_92cd1960","updated":"2021-11-30 05:51:57.000000000","message":"Sure, no problem.","commit_id":"6ffb09cb13dffda47d5ca4f65e6627c650c2a7be"},{"author":{"_account_id":8846,"name":"Hao Wang","display_name":"Hao Wang","email":"sxmatch1986@gmail.com","username":"sxmatch"},"change_message_id":"c69ec2b6c8c6098c9f3f8fc7e126a51a549ce6e6","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":25,"id":"bdf0cd59_3dd666fd","in_reply_to":"35c3af37_6020dbce","updated":"2021-12-01 03:09:19.000000000","message":"Done","commit_id":"6ffb09cb13dffda47d5ca4f65e6627c650c2a7be"},{"author":{"_account_id":28801,"name":"Cisco Cinder CI","email":"cisco-cinder-ci@cisco.com","username":"cisco-cinder-ci"},"change_message_id":"c3b6fbb0c0154d73399b8ada7b961b33cd17c200","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":33,"id":"c32f50c2_a161e663","updated":"2022-08-08 07:48:00.000000000","message":"cisco-cinder-ci","commit_id":"9ba354b3d637f817063dd9dd6e295c49eda76c17"},{"author":{"_account_id":30615,"name":"Tushar Trambak Gite","email":"tushargite96@gmail.com","username":"tushargite96"},"change_message_id":"5321c8e7b26832cd0f6c81a1e822abd8eab60249","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":37,"id":"25420ddc_f81f17fc","updated":"2023-03-01 08:22:06.000000000","message":"blueprint not working on this patch as well plz update it","commit_id":"0e05d137292519c0a745775426fbd768759551fe"},{"author":{"_account_id":8846,"name":"Hao Wang","display_name":"Hao Wang","email":"sxmatch1986@gmail.com","username":"sxmatch"},"change_message_id":"e45a9551dd5af8ceaee0af381ac3c0e069148f3e","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":37,"id":"38eda722_363124b9","updated":"2023-02-06 01:04:41.000000000","message":"recheck","commit_id":"0e05d137292519c0a745775426fbd768759551fe"},{"author":{"_account_id":8846,"name":"Hao Wang","display_name":"Hao Wang","email":"sxmatch1986@gmail.com","username":"sxmatch"},"change_message_id":"79a4a6a5545e233a4aa29e8869dc186ee9af5724","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":37,"id":"428491ba_71849f16","in_reply_to":"25420ddc_f81f17fc","updated":"2023-03-09 01:31:37.000000000","message":"Sure","commit_id":"0e05d137292519c0a745775426fbd768759551fe"},{"author":{"_account_id":8846,"name":"Hao Wang","display_name":"Hao Wang","email":"sxmatch1986@gmail.com","username":"sxmatch"},"change_message_id":"5721d28d9a345605815fb93087ff6d4fa961f6d9","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":39,"id":"ceea33d6_0f9af597","updated":"2023-05-10 18:23:56.000000000","message":"I think this patch could be merged since there is a long time to review and update.","commit_id":"ea4509dc975a14dc23e86b832d864afc754aa9d7"},{"author":{"_account_id":13425,"name":"Simon Dodsley","email":"simon@purestorage.com","username":"sdodsley"},"change_message_id":"df9d0105458e03ad042001a371d226397eb334b8","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":41,"id":"c4ef7aff_7efd4471","updated":"2023-12-04 15:52:47.000000000","message":"Looks good","commit_id":"e1a1c77f2a26b830072a71fb11a56e426cfd530f"},{"author":{"_account_id":8846,"name":"Hao Wang","display_name":"Hao Wang","email":"sxmatch1986@gmail.com","username":"sxmatch"},"change_message_id":"b6cfb60aa71878d46ff7cedce8ee7cb9e95cb3fe","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":41,"id":"a1cd47f1_f8e8a183","updated":"2023-10-11 17:24:09.000000000","message":"recheck","commit_id":"e1a1c77f2a26b830072a71fb11a56e426cfd530f"},{"author":{"_account_id":8846,"name":"Hao Wang","display_name":"Hao Wang","email":"sxmatch1986@gmail.com","username":"sxmatch"},"change_message_id":"47bdf1899f55da3bd2fe8d615a29b7cca3f764b8","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":43,"id":"c861c7d4_b7308d3e","updated":"2024-05-27 20:40:22.000000000","message":"recheck openstacksdk-functional-devstack","commit_id":"17f878a3e54660c202dee5c80f9a2b2c17c34e30"},{"author":{"_account_id":13425,"name":"Simon Dodsley","email":"simon@purestorage.com","username":"sdodsley"},"change_message_id":"b0ae24438675184fc10d7ef4463ef7707deeb5d3","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":43,"id":"6b62df1c_371b4f26","updated":"2024-08-12 17:21:03.000000000","message":"run Pure Storage CI","commit_id":"17f878a3e54660c202dee5c80f9a2b2c17c34e30"},{"author":{"_account_id":13425,"name":"Simon Dodsley","email":"simon@purestorage.com","username":"sdodsley"},"change_message_id":"90cea699a79d2c0862f8fd36a078527392f52be4","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":43,"id":"8c66f385_3d0f0661","updated":"2024-08-12 17:25:59.000000000","message":"run Pure Storage CI","commit_id":"17f878a3e54660c202dee5c80f9a2b2c17c34e30"},{"author":{"_account_id":13425,"name":"Simon Dodsley","email":"simon@purestorage.com","username":"sdodsley"},"change_message_id":"1ee9450bf4483b90ca3ba03fc160b426cd5a06ac","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":43,"id":"ceeaccdf_2b09e571","updated":"2024-08-12 17:17:09.000000000","message":"run Pure Storage CI","commit_id":"17f878a3e54660c202dee5c80f9a2b2c17c34e30"},{"author":{"_account_id":13425,"name":"Simon Dodsley","email":"simon@purestorage.com","username":"sdodsley"},"change_message_id":"3fc14090b5d3f87383ed45ee311bc0725fec94b7","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":43,"id":"ec50be80_c4d7338d","updated":"2024-08-12 16:56:42.000000000","message":"run Pure Storage CI","commit_id":"17f878a3e54660c202dee5c80f9a2b2c17c34e30"}],"cinder/api/common.py":[{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"1ba703cb94a1840f01f5a0d12a17287c1802e8e2","unresolved":false,"context_lines":[{"line_number":486,"context_line":"                    time_zone_offset \u003d None"},{"line_number":487,"context_line":"                    if \"+\" in comparison_unit:"},{"line_number":488,"context_line":"                        time_zone_offset \u003d comparison_unit[\"+\"][1]"},{"line_number":489,"context_line":"                    operator_and_time \u003d comparison_unit.split(\"+\")[0].split(\":\")"},{"line_number":490,"context_line":"                    comparison_operator \u003d operator_and_time[0]"},{"line_number":491,"context_line":"                    time \u003d \u0027\u0027"},{"line_number":492,"context_line":"                    for time_str in operator_and_time[1:-1]:"}],"source_content_type":"text/x-python","patch_set":5,"id":"ff570b3c_d5d62fc3","line":489,"updated":"2020-06-05 06:50:01.000000000","message":"pep8: E501 line too long (80 \u003e 79 characters)","commit_id":"14c205885c6a3b802eab3af3759689e7a9527d4d"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"710e382dd9ed0602fe85d0a7811357f6771e21a7","unresolved":false,"context_lines":[{"line_number":22,"context_line":"from oslo_config import cfg"},{"line_number":23,"context_line":"from oslo_log import log as logging"},{"line_number":24,"context_line":"from oslo_utils import timeutils"},{"line_number":25,"context_line":"from six.moves import urllib"},{"line_number":26,"context_line":"import webob"},{"line_number":27,"context_line":""},{"line_number":28,"context_line":"from cinder.api import api_utils"}],"source_content_type":"text/x-python","patch_set":15,"id":"9f560f44_1bcaa944","line":25,"updated":"2020-10-13 06:31:35.000000000","message":"pep8: F811 redefinition of unused \u0027urllib\u0027 from line 20","commit_id":"31f9761f0b11028581ee1b607040fa678608b0db"}],"cinder/api/v3/volumes.py":[{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"924ef7c1b4c09ba5c3d6314a60f30b9e834f3c01","unresolved":false,"context_lines":[{"line_number":15,"context_line":""},{"line_number":16,"context_line":"from oslo_log import log as logging"},{"line_number":17,"context_line":"from oslo_log import versionutils"},{"line_number":18,"context_line":"from oslo_utils import timeutils"},{"line_number":19,"context_line":"import six"},{"line_number":20,"context_line":"from six.moves import http_client"},{"line_number":21,"context_line":"import webob"}],"source_content_type":"text/x-python","patch_set":1,"id":"ff570b3c_45ee1722","line":18,"updated":"2020-06-03 10:16:02.000000000","message":"pep8: F401 \u0027oslo_utils.timeutils\u0027 imported but unused","commit_id":"179a98bc7c946267c559048389f396b27decbf02"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"710e382dd9ed0602fe85d0a7811357f6771e21a7","unresolved":false,"context_lines":[{"line_number":16,"context_line":""},{"line_number":17,"context_line":"from oslo_log import log as logging"},{"line_number":18,"context_line":"from oslo_log import versionutils"},{"line_number":19,"context_line":"from oslo_utils import timeutils"},{"line_number":20,"context_line":"import six"},{"line_number":21,"context_line":"from six.moves import http_client"},{"line_number":22,"context_line":"import webob"}],"source_content_type":"text/x-python","patch_set":15,"id":"9f560f44_7bd5a5e5","line":19,"updated":"2020-10-13 06:31:35.000000000","message":"pep8: F401 \u0027oslo_utils.timeutils\u0027 imported but unused","commit_id":"31f9761f0b11028581ee1b607040fa678608b0db"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"710e382dd9ed0602fe85d0a7811357f6771e21a7","unresolved":false,"context_lines":[{"line_number":17,"context_line":"from oslo_log import log as logging"},{"line_number":18,"context_line":"from oslo_log import versionutils"},{"line_number":19,"context_line":"from oslo_utils import timeutils"},{"line_number":20,"context_line":"import six"},{"line_number":21,"context_line":"from six.moves import http_client"},{"line_number":22,"context_line":"import webob"},{"line_number":23,"context_line":"from webob import exc"}],"source_content_type":"text/x-python","patch_set":15,"id":"9f560f44_5bd0a1f4","line":20,"updated":"2020-10-13 06:31:35.000000000","message":"pep8: F401 \u0027six\u0027 imported but unused","commit_id":"31f9761f0b11028581ee1b607040fa678608b0db"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"710e382dd9ed0602fe85d0a7811357f6771e21a7","unresolved":false,"context_lines":[{"line_number":18,"context_line":"from oslo_log import versionutils"},{"line_number":19,"context_line":"from oslo_utils import timeutils"},{"line_number":20,"context_line":"import six"},{"line_number":21,"context_line":"from six.moves import http_client"},{"line_number":22,"context_line":"import webob"},{"line_number":23,"context_line":"from webob import exc"},{"line_number":24,"context_line":""}],"source_content_type":"text/x-python","patch_set":15,"id":"9f560f44_bb045d7f","line":21,"updated":"2020-10-13 06:31:35.000000000","message":"pep8: F811 redefinition of unused \u0027http_client\u0027 from line 15","commit_id":"31f9761f0b11028581ee1b607040fa678608b0db"}],"cinder/db/sqlalchemy/api.py":[{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"924ef7c1b4c09ba5c3d6314a60f30b9e834f3c01","unresolved":false,"context_lines":[{"line_number":3158,"context_line":"                try:"},{"line_number":3159,"context_line":"                    time_filter_attr \u003d getattr(models.Volume,"},{"line_number":3160,"context_line":"                                               time_comparison_filter)"},{"line_number":3161,"context_line":"                    query \u003d query.filter(_filter_time_comparison(time_filter_attr,"},{"line_number":3162,"context_line":"                                                                 time_filter_dict))"},{"line_number":3163,"context_line":"                except AttributeError:"},{"line_number":3164,"context_line":"                    LOG.debug(\"%s column could not be found.\","}],"source_content_type":"text/x-python","patch_set":1,"id":"ff570b3c_058b7f67","line":3161,"updated":"2020-06-03 10:16:02.000000000","message":"pep8: E501 line too long (82 \u003e 79 characters)","commit_id":"179a98bc7c946267c559048389f396b27decbf02"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"924ef7c1b4c09ba5c3d6314a60f30b9e834f3c01","unresolved":false,"context_lines":[{"line_number":3159,"context_line":"                    time_filter_attr \u003d getattr(models.Volume,"},{"line_number":3160,"context_line":"                                               time_comparison_filter)"},{"line_number":3161,"context_line":"                    query \u003d query.filter(_filter_time_comparison(time_filter_attr,"},{"line_number":3162,"context_line":"                                                                 time_filter_dict))"},{"line_number":3163,"context_line":"                except AttributeError:"},{"line_number":3164,"context_line":"                    LOG.debug(\"%s column could not be found.\","},{"line_number":3165,"context_line":"                              time_comparison_filter)"}],"source_content_type":"text/x-python","patch_set":1,"id":"ff570b3c_65e99b18","line":3162,"updated":"2020-06-03 10:16:02.000000000","message":"pep8: E501 line too long (83 \u003e 79 characters)","commit_id":"179a98bc7c946267c559048389f396b27decbf02"}],"cinder/tests/unit/api/v3/test_snapshots.py":[{"author":{"_account_id":4523,"name":"Eric Harney","email":"eharney@redhat.com","username":"eharney"},"change_message_id":"cad54b19d10fef6c739b08e827edd7ea53005113","unresolved":true,"context_lines":[{"line_number":538,"context_line":"        self.assertEqual(expect_result, len(res_dict[\u0027snapshots\u0027]))"},{"line_number":539,"context_line":""},{"line_number":540,"context_line":"    @ddt.data(\u0027created_at\u0027, \u0027updated_at\u0027)"},{"line_number":541,"context_line":"    def test_snapshot_list_by_time_with_invaild_time(self, change):"},{"line_number":542,"context_line":"        change_time \u003d \u0027123\u0027"},{"line_number":543,"context_line":"        url \u003d \u0027/v3/snapshots?%s\u003d%s\u0027 % (change, change_time)"},{"line_number":544,"context_line":"        req \u003d fakes.HTTPRequest.blank("}],"source_content_type":"text/x-python","patch_set":25,"id":"4bb850e8_964a1997","line":541,"range":{"start_line":541,"start_character":40,"end_line":541,"end_character":47},"updated":"2021-11-29 16:59:30.000000000","message":"typo: invalid","commit_id":"6ffb09cb13dffda47d5ca4f65e6627c650c2a7be"},{"author":{"_account_id":8846,"name":"Hao Wang","display_name":"Hao Wang","email":"sxmatch1986@gmail.com","username":"sxmatch"},"change_message_id":"c69ec2b6c8c6098c9f3f8fc7e126a51a549ce6e6","unresolved":false,"context_lines":[{"line_number":538,"context_line":"        self.assertEqual(expect_result, len(res_dict[\u0027snapshots\u0027]))"},{"line_number":539,"context_line":""},{"line_number":540,"context_line":"    @ddt.data(\u0027created_at\u0027, \u0027updated_at\u0027)"},{"line_number":541,"context_line":"    def test_snapshot_list_by_time_with_invaild_time(self, change):"},{"line_number":542,"context_line":"        change_time \u003d \u0027123\u0027"},{"line_number":543,"context_line":"        url \u003d \u0027/v3/snapshots?%s\u003d%s\u0027 % (change, change_time)"},{"line_number":544,"context_line":"        req \u003d fakes.HTTPRequest.blank("}],"source_content_type":"text/x-python","patch_set":25,"id":"7b81b6f4_dae167ed","line":541,"range":{"start_line":541,"start_character":40,"end_line":541,"end_character":47},"in_reply_to":"092900a4_de6aa8eb","updated":"2021-12-01 03:09:19.000000000","message":"Done","commit_id":"6ffb09cb13dffda47d5ca4f65e6627c650c2a7be"},{"author":{"_account_id":8846,"name":"Hao Wang","display_name":"Hao Wang","email":"sxmatch1986@gmail.com","username":"sxmatch"},"change_message_id":"8056ca08bedcf7bf7202b7db2b869f01adabf83e","unresolved":true,"context_lines":[{"line_number":538,"context_line":"        self.assertEqual(expect_result, len(res_dict[\u0027snapshots\u0027]))"},{"line_number":539,"context_line":""},{"line_number":540,"context_line":"    @ddt.data(\u0027created_at\u0027, \u0027updated_at\u0027)"},{"line_number":541,"context_line":"    def test_snapshot_list_by_time_with_invaild_time(self, change):"},{"line_number":542,"context_line":"        change_time \u003d \u0027123\u0027"},{"line_number":543,"context_line":"        url \u003d \u0027/v3/snapshots?%s\u003d%s\u0027 % (change, change_time)"},{"line_number":544,"context_line":"        req \u003d fakes.HTTPRequest.blank("}],"source_content_type":"text/x-python","patch_set":25,"id":"092900a4_de6aa8eb","line":541,"range":{"start_line":541,"start_character":40,"end_line":541,"end_character":47},"in_reply_to":"4bb850e8_964a1997","updated":"2021-11-30 05:51:57.000000000","message":"Will fix it ASAP.","commit_id":"6ffb09cb13dffda47d5ca4f65e6627c650c2a7be"},{"author":{"_account_id":8846,"name":"Hao Wang","display_name":"Hao Wang","email":"sxmatch1986@gmail.com","username":"sxmatch"},"change_message_id":"a36a997eb352c692928266c8b2fb56e3decf020d","unresolved":false,"context_lines":[{"line_number":577,"context_line":"        self.assertEqual(snapshot2.id, res_dict[\u0027snapshots\u0027][0][\u0027id\u0027])"},{"line_number":578,"context_line":""},{"line_number":579,"context_line":"    def test_snapshot_list_filter_by_time_with_diff_tz(self):"},{"line_number":580,"context_line":"        basetime \u003d datetime.datetime.now(pytz.timezone(\u0027Asia/Shanghai\u0027))"},{"line_number":581,"context_line":"        td \u003d datetime.timedelta(minutes\u003d1)"},{"line_number":582,"context_line":"        snapshot2, res_dict \u003d self._create_diff_snapshots_with_tz(basetime, td)"},{"line_number":583,"context_line":""}],"source_content_type":"text/x-python","patch_set":27,"id":"33d6863e_30c21d48","line":580,"in_reply_to":"17c9b7ea_b4b96f62","updated":"2021-12-02 01:14:35.000000000","message":"\u003e pep8: C301: Found datetime.now(). Please use timeutils.utcnow() from oslo_utils.\n\nPlease fix.","commit_id":"b9d1a1c92f7203f2978a80c55706b99d0bb6e2f3"}]}
