)]}'
{"/PATCHSET_LEVEL":[{"author":{"_account_id":7634,"name":"Takashi Natsume","email":"takanattie@gmail.com","username":"natsumet"},"change_message_id":"a2599e8a9d8a76f7decef65827fb0b7182f14721","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":3,"id":"7ae1c9a5_37fceb7d","updated":"2024-10-02 14:25:30.000000000","message":"Kajinami-san, Thank you.","commit_id":"56dd0cd4b89f99e433484bf0b3e9e76989b4955e"},{"author":{"_account_id":30407,"name":"haixin","email":"haixin_haixin@qq.com","username":"haixin"},"change_message_id":"80f507ded99da047dea1002b3979157183a11229","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":6,"id":"bb36a153_ee0bc0d5","updated":"2024-10-24 01:19:40.000000000","message":"LGTM, thanks.","commit_id":"aae3726eafec4e6d26006a7a90bede391d356c98"}],"manila/api/views/limits.py":[{"author":{"_account_id":9816,"name":"Takashi Kajinami","email":"kajinamit@oss.nttdata.com","username":"kajinamit"},"change_message_id":"7f7fffc2d025281416afb2e7386fdd8447937ca4","unresolved":true,"context_lines":[{"line_number":103,"context_line":""},{"line_number":104,"context_line":"    def _build_rate_limit(self, rate_limit):"},{"line_number":105,"context_line":"        next_avail \u003d datetime.datetime.fromtimestamp(rate_limit[\"resetTime\"],"},{"line_number":106,"context_line":"                                                     tz\u003ddatetime.timezone.utc)"},{"line_number":107,"context_line":"        return {"},{"line_number":108,"context_line":"            \"verb\": rate_limit[\"verb\"],"},{"line_number":109,"context_line":"            \"value\": rate_limit[\"value\"],"}],"source_content_type":"text/x-python","patch_set":2,"id":"20d6e5a0_48485059","line":106,"range":{"start_line":106,"start_character":53,"end_line":106,"end_character":77},"updated":"2024-10-02 12:59:59.000000000","message":"IIUC this causes same problem as https://review.opendev.org/c/openstack/cinder/+/931005 .","commit_id":"bee6585b4ac890f139133d554711a5f6d7721c53"},{"author":{"_account_id":7634,"name":"Takashi Natsume","email":"takanattie@gmail.com","username":"natsumet"},"change_message_id":"a2599e8a9d8a76f7decef65827fb0b7182f14721","unresolved":false,"context_lines":[{"line_number":103,"context_line":""},{"line_number":104,"context_line":"    def _build_rate_limit(self, rate_limit):"},{"line_number":105,"context_line":"        next_avail \u003d datetime.datetime.fromtimestamp(rate_limit[\"resetTime\"],"},{"line_number":106,"context_line":"                                                     tz\u003ddatetime.timezone.utc)"},{"line_number":107,"context_line":"        return {"},{"line_number":108,"context_line":"            \"verb\": rate_limit[\"verb\"],"},{"line_number":109,"context_line":"            \"value\": rate_limit[\"value\"],"}],"source_content_type":"text/x-python","patch_set":2,"id":"1590d446_dcfe6294","line":106,"range":{"start_line":106,"start_character":53,"end_line":106,"end_character":77},"in_reply_to":"20d6e5a0_48485059","updated":"2024-10-02 14:25:30.000000000","message":"Done","commit_id":"bee6585b4ac890f139133d554711a5f6d7721c53"}],"manila/share/drivers/netapp/dataontap/cluster_mode/lib_base.py":[{"author":{"_account_id":9816,"name":"Takashi Kajinami","email":"kajinamit@oss.nttdata.com","username":"kajinamit"},"change_message_id":"7f7fffc2d025281416afb2e7386fdd8447937ca4","unresolved":true,"context_lines":[{"line_number":2879,"context_line":"        if (last_update_timestamp and"},{"line_number":2880,"context_line":"            (timeutils.is_older_than("},{"line_number":2881,"context_line":"                datetime.datetime.fromtimestamp(last_update_timestamp,"},{"line_number":2882,"context_line":"                                                tz\u003ddatetime.timezone.utc)"},{"line_number":2883,"context_line":"                .isoformat(), (2 * self._snapmirror_schedule)))):"},{"line_number":2884,"context_line":"            return constants.REPLICA_STATE_OUT_OF_SYNC"},{"line_number":2885,"context_line":""}],"source_content_type":"text/x-python","patch_set":2,"id":"3fa3d4d3_50ed5a7e","line":2882,"range":{"start_line":2882,"start_character":48,"end_line":2882,"end_character":72},"updated":"2024-10-02 12:59:59.000000000","message":"I might be incorrect but this adds timezone info and may break existing behavior which depends on non-timzeon-ware timestamp.","commit_id":"bee6585b4ac890f139133d554711a5f6d7721c53"},{"author":{"_account_id":7634,"name":"Takashi Natsume","email":"takanattie@gmail.com","username":"natsumet"},"change_message_id":"a2599e8a9d8a76f7decef65827fb0b7182f14721","unresolved":false,"context_lines":[{"line_number":2879,"context_line":"        if (last_update_timestamp and"},{"line_number":2880,"context_line":"            (timeutils.is_older_than("},{"line_number":2881,"context_line":"                datetime.datetime.fromtimestamp(last_update_timestamp,"},{"line_number":2882,"context_line":"                                                tz\u003ddatetime.timezone.utc)"},{"line_number":2883,"context_line":"                .isoformat(), (2 * self._snapmirror_schedule)))):"},{"line_number":2884,"context_line":"            return constants.REPLICA_STATE_OUT_OF_SYNC"},{"line_number":2885,"context_line":""}],"source_content_type":"text/x-python","patch_set":2,"id":"a1127f32_9d6fa684","line":2882,"range":{"start_line":2882,"start_character":48,"end_line":2882,"end_character":72},"in_reply_to":"3fa3d4d3_50ed5a7e","updated":"2024-10-02 14:25:30.000000000","message":"Done","commit_id":"bee6585b4ac890f139133d554711a5f6d7721c53"}],"manila/tests/message/test_api.py":[{"author":{"_account_id":9816,"name":"Takashi Kajinami","email":"kajinamit@oss.nttdata.com","username":"kajinamit"},"change_message_id":"7f7fffc2d025281416afb2e7386fdd8447937ca4","unresolved":true,"context_lines":[{"line_number":37,"context_line":"    @mock.patch.object(timeutils, \u0027utcnow\u0027)"},{"line_number":38,"context_line":"    def test_create(self, mock_utcnow):"},{"line_number":39,"context_line":"        CONF.set_override(\u0027message_ttl\u0027, 300)"},{"line_number":40,"context_line":"        now \u003d datetime.datetime.now(datetime.timezone.utc).replace(tzinfo\u003dNone)"},{"line_number":41,"context_line":"        mock_utcnow.return_value \u003d now"},{"line_number":42,"context_line":"        expected_expires_at \u003d now + datetime.timedelta("},{"line_number":43,"context_line":"            seconds\u003d300)"}],"source_content_type":"text/x-python","patch_set":2,"id":"5c069dc0_bf312253","line":40,"range":{"start_line":40,"start_character":14,"end_line":40,"end_character":79},"updated":"2024-10-02 12:59:59.000000000","message":"can we use timeutils.utcnow() here ?","commit_id":"bee6585b4ac890f139133d554711a5f6d7721c53"},{"author":{"_account_id":7634,"name":"Takashi Natsume","email":"takanattie@gmail.com","username":"natsumet"},"change_message_id":"a2599e8a9d8a76f7decef65827fb0b7182f14721","unresolved":false,"context_lines":[{"line_number":37,"context_line":"    @mock.patch.object(timeutils, \u0027utcnow\u0027)"},{"line_number":38,"context_line":"    def test_create(self, mock_utcnow):"},{"line_number":39,"context_line":"        CONF.set_override(\u0027message_ttl\u0027, 300)"},{"line_number":40,"context_line":"        now \u003d datetime.datetime.now(datetime.timezone.utc).replace(tzinfo\u003dNone)"},{"line_number":41,"context_line":"        mock_utcnow.return_value \u003d now"},{"line_number":42,"context_line":"        expected_expires_at \u003d now + datetime.timedelta("},{"line_number":43,"context_line":"            seconds\u003d300)"}],"source_content_type":"text/x-python","patch_set":2,"id":"bdc7030c_760bc5cd","line":40,"range":{"start_line":40,"start_character":14,"end_line":40,"end_character":79},"in_reply_to":"5c069dc0_bf312253","updated":"2024-10-02 14:25:30.000000000","message":"The oslo_utils.timeutils.utcnow should not be used because it is mocked in line 37.","commit_id":"bee6585b4ac890f139133d554711a5f6d7721c53"},{"author":{"_account_id":9816,"name":"Takashi Kajinami","email":"kajinamit@oss.nttdata.com","username":"kajinamit"},"change_message_id":"e473813cd57b0a53b9f8362bf45de5ad5749c6b9","unresolved":false,"context_lines":[{"line_number":37,"context_line":"    @mock.patch.object(timeutils, \u0027utcnow\u0027)"},{"line_number":38,"context_line":"    def test_create(self, mock_utcnow):"},{"line_number":39,"context_line":"        CONF.set_override(\u0027message_ttl\u0027, 300)"},{"line_number":40,"context_line":"        now \u003d datetime.datetime.now(datetime.timezone.utc).replace(tzinfo\u003dNone)"},{"line_number":41,"context_line":"        mock_utcnow.return_value \u003d now"},{"line_number":42,"context_line":"        expected_expires_at \u003d now + datetime.timedelta("},{"line_number":43,"context_line":"            seconds\u003d300)"}],"source_content_type":"text/x-python","patch_set":2,"id":"8299eefb_8af7a06c","line":40,"range":{"start_line":40,"start_character":14,"end_line":40,"end_character":79},"in_reply_to":"bdc7030c_760bc5cd","updated":"2024-10-02 16:16:33.000000000","message":"OK that makes clear sense to me.","commit_id":"bee6585b4ac890f139133d554711a5f6d7721c53"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"da44aba00b74b30b5e3332aab67a0f02f9a18585","unresolved":true,"context_lines":[{"line_number":37,"context_line":"    @mock.patch.object(timeutils, \u0027utcnow\u0027)"},{"line_number":38,"context_line":"    def test_create(self, mock_utcnow):"},{"line_number":39,"context_line":"        CONF.set_override(\u0027message_ttl\u0027, 300)"},{"line_number":40,"context_line":"        now \u003d datetime.datetime.now(datetime.timezone.utc).replace(tzinfo\u003dNone)"},{"line_number":41,"context_line":"        mock_utcnow.return_value \u003d now"},{"line_number":42,"context_line":"        expected_expires_at \u003d now + datetime.timedelta("},{"line_number":43,"context_line":"            seconds\u003d300)"}],"source_content_type":"text/x-python","patch_set":3,"id":"53b16fa2_ed372427","line":40,"range":{"start_line":40,"start_character":14,"end_line":40,"end_character":79},"updated":"2024-10-02 21:24:42.000000000","message":"why not use `timeutils.utcnow()` here as well?","commit_id":"56dd0cd4b89f99e433484bf0b3e9e76989b4955e"},{"author":{"_account_id":9816,"name":"Takashi Kajinami","email":"kajinamit@oss.nttdata.com","username":"kajinamit"},"change_message_id":"61aa91d478321a4abcbb643652c781d2cce87fbd","unresolved":true,"context_lines":[{"line_number":37,"context_line":"    @mock.patch.object(timeutils, \u0027utcnow\u0027)"},{"line_number":38,"context_line":"    def test_create(self, mock_utcnow):"},{"line_number":39,"context_line":"        CONF.set_override(\u0027message_ttl\u0027, 300)"},{"line_number":40,"context_line":"        now \u003d datetime.datetime.now(datetime.timezone.utc).replace(tzinfo\u003dNone)"},{"line_number":41,"context_line":"        mock_utcnow.return_value \u003d now"},{"line_number":42,"context_line":"        expected_expires_at \u003d now + datetime.timedelta("},{"line_number":43,"context_line":"            seconds\u003d300)"}],"source_content_type":"text/x-python","patch_set":3,"id":"7e8f427a_d9c77fb8","line":40,"range":{"start_line":40,"start_character":14,"end_line":40,"end_character":79},"in_reply_to":"53b16fa2_ed372427","updated":"2024-10-03 06:44:14.000000000","message":"I don\u0027t know why gerrit does not show the old comment here but I asked the same question earlier and it was answered. (We can\u0027t use it because of patch at L37).\n\nhttps://review.opendev.org/c/openstack/manila/+/930999/2/manila/tests/message/test_api.py#40","commit_id":"56dd0cd4b89f99e433484bf0b3e9e76989b4955e"}]}
