)]}'
{"/PATCHSET_LEVEL":[{"author":{"_account_id":9816,"name":"Takashi Kajinami","email":"kajinamit@oss.nttdata.com","username":"kajinamit"},"change_message_id":"089a4aa53c2cf420f01fdad5b7de85bfec919fb9","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":5,"id":"4e6aeff8_6b4bac16","updated":"2026-02-22 15:59:04.000000000","message":"recheck","commit_id":"63f132164870b8f35223a66af9214ad0425ff9d8"},{"author":{"_account_id":9816,"name":"Takashi Kajinami","email":"kajinamit@oss.nttdata.com","username":"kajinamit"},"change_message_id":"12cf032252c5ed61941c5bfd43a862ad4ec1f2e2","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":5,"id":"a919dd12_05aa8141","updated":"2026-02-22 05:39:42.000000000","message":"recheck","commit_id":"63f132164870b8f35223a66af9214ad0425ff9d8"}],"cinder/tests/unit/message/test_api.py":[{"author":{"_account_id":9816,"name":"Takashi Kajinami","email":"kajinamit@oss.nttdata.com","username":"kajinamit"},"change_message_id":"7d9bd5a4da235c17853fe00ce0c3c53f0a5d0e23","unresolved":true,"context_lines":[{"line_number":47,"context_line":"    @mock.patch(\u0027oslo_utils.timeutils.utcnow\u0027)"},{"line_number":48,"context_line":"    def test_create(self, mock_utcnow):"},{"line_number":49,"context_line":"        CONF.set_override(\u0027message_ttl\u0027, 300)"},{"line_number":50,"context_line":"        mock_utcnow.return_value \u003d timeutils.utcnow()"},{"line_number":51,"context_line":"        expected_expires_at \u003d timeutils.utcnow() + datetime.timedelta("},{"line_number":52,"context_line":"            seconds\u003d300)"},{"line_number":53,"context_line":"        expected_message_record \u003d {"}],"source_content_type":"text/x-python","patch_set":6,"id":"a59fc6a4_bcc451b2","line":50,"range":{"start_line":50,"start_character":35,"end_line":50,"end_character":44},"updated":"2026-07-09 15:04:29.000000000","message":"Oh wait. I shouldn\u0027t do this ...","commit_id":"64adfe5206c6a7825319a059d1c28c7657a53325"},{"author":{"_account_id":9816,"name":"Takashi Kajinami","email":"kajinamit@oss.nttdata.com","username":"kajinamit"},"change_message_id":"e6ba69bff1b54b06315ae9487761bdbc9c428b78","unresolved":false,"context_lines":[{"line_number":47,"context_line":"    @mock.patch(\u0027oslo_utils.timeutils.utcnow\u0027)"},{"line_number":48,"context_line":"    def test_create(self, mock_utcnow):"},{"line_number":49,"context_line":"        CONF.set_override(\u0027message_ttl\u0027, 300)"},{"line_number":50,"context_line":"        mock_utcnow.return_value \u003d timeutils.utcnow()"},{"line_number":51,"context_line":"        expected_expires_at \u003d timeutils.utcnow() + datetime.timedelta("},{"line_number":52,"context_line":"            seconds\u003d300)"},{"line_number":53,"context_line":"        expected_message_record \u003d {"}],"source_content_type":"text/x-python","patch_set":6,"id":"c088f168_7d3cb113","line":50,"range":{"start_line":50,"start_character":35,"end_line":50,"end_character":44},"in_reply_to":"a59fc6a4_bcc451b2","updated":"2026-07-09 15:07:03.000000000","message":"Done","commit_id":"64adfe5206c6a7825319a059d1c28c7657a53325"}],"cinder/tests/unit/scheduler/test_host_manager.py":[{"author":{"_account_id":36171,"name":"jayaanand borra","display_name":"jayaanand borra","email":"jayaanand.borra@netapp.com","username":"jayaanan","status":"netapp"},"change_message_id":"1ac5413e0186185b4d916680daf26634f770f0a3","unresolved":true,"context_lines":[{"line_number":134,"context_line":""},{"line_number":135,"context_line":"        _mock_get_updated_pools.return_value \u003d []"},{"line_number":136,"context_line":"        timestamp \u003d jsonutils.to_primitive(  # noqa: C301"},{"line_number":137,"context_line":"            datetime.now(timezone.utc).replace(tzinfo\u003dNone))"},{"line_number":138,"context_line":"        host1_volume_capabs \u003d dict(free_capacity_gb\u003d4321, timestamp\u003dtimestamp)"},{"line_number":139,"context_line":"        host1_old_volume_capabs \u003d dict(free_capacity_gb\u003d1, timestamp\u003dtimestamp)"},{"line_number":140,"context_line":"        host2_volume_capabs \u003d dict(free_capacity_gb\u003d5432)"}],"source_content_type":"text/x-python","patch_set":6,"id":"c644bd1a_f607f0ea","line":137,"updated":"2026-07-09 14:13:29.000000000","message":"This file already uses oslo_utils.timeutils and timeutils.utcnow is not patched at this call site.\n\nCan we use:\n\ntimestamp \u003d jsonutils.to_primitive(timeutils.utcnow())\n\ninstead of:\n\ndatetime.now(timezone.utc).replace(tzinfo\u003dNone)\n\nThat avoids the new timezone import and removes the need for the # noqa: C301 suppression.","commit_id":"64adfe5206c6a7825319a059d1c28c7657a53325"},{"author":{"_account_id":9816,"name":"Takashi Kajinami","email":"kajinamit@oss.nttdata.com","username":"kajinamit"},"change_message_id":"92eee5a4ea7d4fdc7154e6ec361ebd5f65c0d2f9","unresolved":true,"context_lines":[{"line_number":134,"context_line":""},{"line_number":135,"context_line":"        _mock_get_updated_pools.return_value \u003d []"},{"line_number":136,"context_line":"        timestamp \u003d jsonutils.to_primitive(  # noqa: C301"},{"line_number":137,"context_line":"            datetime.now(timezone.utc).replace(tzinfo\u003dNone))"},{"line_number":138,"context_line":"        host1_volume_capabs \u003d dict(free_capacity_gb\u003d4321, timestamp\u003dtimestamp)"},{"line_number":139,"context_line":"        host1_old_volume_capabs \u003d dict(free_capacity_gb\u003d1, timestamp\u003dtimestamp)"},{"line_number":140,"context_line":"        host2_volume_capabs \u003d dict(free_capacity_gb\u003d5432)"}],"source_content_type":"text/x-python","patch_set":6,"id":"02d4ceae_19f21dc7","line":137,"in_reply_to":"c644bd1a_f607f0ea","updated":"2026-07-09 14:57:24.000000000","message":"No we can\u0027t use oslo_utils.timeutils here because it\u0027s mocked out.","commit_id":"64adfe5206c6a7825319a059d1c28c7657a53325"}],"cinder/tests/unit/test_quota.py":[{"author":{"_account_id":36171,"name":"jayaanand borra","display_name":"jayaanand borra","email":"jayaanand.borra@netapp.com","username":"jayaanan","status":"netapp"},"change_message_id":"1ac5413e0186185b4d916680daf26634f770f0a3","unresolved":true,"context_lines":[{"line_number":905,"context_line":"        patcher \u003d mock.patch.object(timeutils, \u0027utcnow\u0027)"},{"line_number":906,"context_line":"        self.addCleanup(patcher.stop)"},{"line_number":907,"context_line":"        self.mock_utcnow \u003d patcher.start()"},{"line_number":908,"context_line":"        self.mock_utcnow.return_value \u003d datetime.datetime.now(  # noqa: C301"},{"line_number":909,"context_line":"            datetime.timezone.utc).replace(tzinfo\u003dNone)"},{"line_number":910,"context_line":""},{"line_number":911,"context_line":"    def _mock_quota_class_get_default(self):"}],"source_content_type":"text/x-python","patch_set":6,"id":"a678d0f3_1b024663","line":908,"updated":"2026-07-09 14:13:29.000000000","message":"This file still has another datetime.datetime.utcnow() usage in QuotaReserveTestCase.setUp() around line 1428. Please update that occurrence as well.\n\nAlso, since these tests patch timeutils.utcnow, please don\u0027t initialize the mock using timeutils.utcnow(). A deterministic datetime value would be cleaner:\n\nself.mock_utcnow.return_value \u003d datetime.datetime(2026, 1, 1, 0, 0, 0)\n\nThis avoids both the Python 3.12 deprecation warning and the mocked-function self-call issue.","commit_id":"64adfe5206c6a7825319a059d1c28c7657a53325"},{"author":{"_account_id":9816,"name":"Takashi Kajinami","email":"kajinamit@oss.nttdata.com","username":"kajinamit"},"change_message_id":"e6ba69bff1b54b06315ae9487761bdbc9c428b78","unresolved":false,"context_lines":[{"line_number":905,"context_line":"        patcher \u003d mock.patch.object(timeutils, \u0027utcnow\u0027)"},{"line_number":906,"context_line":"        self.addCleanup(patcher.stop)"},{"line_number":907,"context_line":"        self.mock_utcnow \u003d patcher.start()"},{"line_number":908,"context_line":"        self.mock_utcnow.return_value \u003d datetime.datetime.now(  # noqa: C301"},{"line_number":909,"context_line":"            datetime.timezone.utc).replace(tzinfo\u003dNone)"},{"line_number":910,"context_line":""},{"line_number":911,"context_line":"    def _mock_quota_class_get_default(self):"}],"source_content_type":"text/x-python","patch_set":6,"id":"6cbf039f_937e9298","line":908,"in_reply_to":"61410587_fcff51db","updated":"2026-07-09 15:07:03.000000000","message":"Done. I updated the set up to save the current time first and use it later.","commit_id":"64adfe5206c6a7825319a059d1c28c7657a53325"},{"author":{"_account_id":9816,"name":"Takashi Kajinami","email":"kajinamit@oss.nttdata.com","username":"kajinamit"},"change_message_id":"92eee5a4ea7d4fdc7154e6ec361ebd5f65c0d2f9","unresolved":true,"context_lines":[{"line_number":905,"context_line":"        patcher \u003d mock.patch.object(timeutils, \u0027utcnow\u0027)"},{"line_number":906,"context_line":"        self.addCleanup(patcher.stop)"},{"line_number":907,"context_line":"        self.mock_utcnow \u003d patcher.start()"},{"line_number":908,"context_line":"        self.mock_utcnow.return_value \u003d datetime.datetime.now(  # noqa: C301"},{"line_number":909,"context_line":"            datetime.timezone.utc).replace(tzinfo\u003dNone)"},{"line_number":910,"context_line":""},{"line_number":911,"context_line":"    def _mock_quota_class_get_default(self):"}],"source_content_type":"text/x-python","patch_set":6,"id":"61410587_fcff51db","line":908,"in_reply_to":"a678d0f3_1b024663","updated":"2026-07-09 14:57:24.000000000","message":"\u003e Also, since these tests patch timeutils.utcnow, please don\u0027t initialize the mock using timeutils.utcnow()\n\nI don\u0027t understand what you mean by this ? I\u0027m not using timeutils.utcnow() here.\n\nI\u0027ll check if we can use the static value as suggested.","commit_id":"64adfe5206c6a7825319a059d1c28c7657a53325"}]}
