)]}'
{"/PATCHSET_LEVEL":[{"author":{"_account_id":6968,"name":"Christian Schwede","email":"cschwede@nvidia.com","username":"cschwede"},"change_message_id":"a815844e95a09a4695604d307ae0a4314cfb6cd3","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":12,"id":"d1622fc3_7e330335","updated":"2026-08-07 11:25:50.000000000","message":"recheck\n\nCI issue also unrelated to this change.","commit_id":"1f960fe71407e530528f1f24f93292fb6dc85787"},{"author":{"_account_id":6968,"name":"Christian Schwede","email":"cschwede@nvidia.com","username":"cschwede"},"change_message_id":"5b98b80eb7fe372a14dc838032ef4809d01bc20e","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":19,"id":"e61eca32_4c39541b","updated":"2026-08-10 11:03:57.000000000","message":"recheck\n\nFailed due to https://bugs.launchpad.net/cinder/+bug/2163042","commit_id":"ddd2bf4facdca4d0f22ae62145f88fc6ebb7c914"},{"author":{"_account_id":39146,"name":"Nathaniel Martes","display_name":"Nate Martes","email":"natemartes09@gmail.com","username":"nmartes"},"change_message_id":"4898ceb03c4882b949c09c6166c5395630efe0a9","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":20,"id":"681a8a49_a65b2fcc","updated":"2026-08-17 16:37:44.000000000","message":"Some logic refactor needs to happen first","commit_id":"352cd1d6709c4d0b2025560501c10a8aecff8150"},{"author":{"_account_id":39146,"name":"Nathaniel Martes","display_name":"Nate Martes","email":"natemartes09@gmail.com","username":"nmartes"},"change_message_id":"dd6d49d2f17dbe2e4086bd18940b87b3e942f7f9","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":40,"id":"74d8ceb8_e621b157","updated":"2026-09-01 12:25:33.000000000","message":"recheck timed out","commit_id":"4a16634dfb23b215f55152f334871f3d7b81a559"}],"swift/common/middleware/s3api/controllers/obj.py":[{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"fd7c87daef7e4cbb347cd78f8041466ec90a6ae9","unresolved":false,"context_lines":[{"line_number":32,"context_line":"    CHECKSUMS_BY_HEADER, CHECKSUM_TYPE_FULL_OBJECT, \\"},{"line_number":33,"context_line":"    format_supported_checksum_algorithms"},{"line_number":34,"context_line":"from swift.common.middleware.s3api.utils import S3Timestamp, sysmeta_header, \\"},{"line_number":35,"context_line":"        swift3_object_sysmeta_header"},{"line_number":36,"context_line":"from swift.common.middleware.s3api.controllers.base import Controller"},{"line_number":37,"context_line":"from swift.common.middleware.s3api.s3response import S3NotImplemented, \\"},{"line_number":38,"context_line":"    InvalidRange, NoSuchKey, NoSuchVersion, InvalidArgument, HTTPNoContent, \\"}],"source_content_type":"text/x-python","patch_set":28,"id":"d1f770be_88943340","line":35,"updated":"2026-08-20 17:05:29.000000000","message":"pep8: E126 continuation line over-indented for hanging indent","commit_id":"d71dfbd23111f037cb21a77ed104593e9556dc23"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"56583b827fd316e2a8688778bf90fbf08f27f89a","unresolved":false,"context_lines":[{"line_number":32,"context_line":"    CHECKSUMS_BY_HEADER, CHECKSUM_TYPE_FULL_OBJECT, \\"},{"line_number":33,"context_line":"    format_supported_checksum_algorithms"},{"line_number":34,"context_line":"from swift.common.middleware.s3api.utils import S3Timestamp, sysmeta_header, \\"},{"line_number":35,"context_line":"        swift3_object_sysmeta_header"},{"line_number":36,"context_line":"from swift.common.middleware.s3api.controllers.base import Controller"},{"line_number":37,"context_line":"from swift.common.middleware.s3api.s3response import S3NotImplemented, \\"},{"line_number":38,"context_line":"    InvalidRange, NoSuchKey, NoSuchVersion, InvalidArgument, HTTPNoContent, \\"}],"source_content_type":"text/x-python","patch_set":32,"id":"92bc3f87_a7382343","line":35,"updated":"2026-08-21 00:11:34.000000000","message":"pep8: E126 continuation line over-indented for hanging indent","commit_id":"9a105dbf311501d30eb8e8350a6b77eb14a288bc"}],"test/s3api/test_object_checksums.py":[{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"dfab6b7dfec8f347f5528244abae0d371432ac18","unresolved":false,"context_lines":[{"line_number":13,"context_line":"# See the License for the specific language governing permissions and"},{"line_number":14,"context_line":"# limitations under the License."},{"line_number":15,"context_line":""},{"line_number":16,"context_line":"import binascii"},{"line_number":17,"context_line":"import botocore"},{"line_number":18,"context_line":"import hashlib"},{"line_number":19,"context_line":"from tempfile import NamedTemporaryFile"}],"source_content_type":"text/x-python","patch_set":24,"id":"c64d03cc_2dbd7a0e","line":16,"updated":"2026-08-18 23:37:49.000000000","message":"pep8: F401 \u0027binascii\u0027 imported but unused","commit_id":"f9f3f10eca13a174a66ff8789ed6230faba558dc"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"dfab6b7dfec8f347f5528244abae0d371432ac18","unresolved":false,"context_lines":[{"line_number":3011,"context_line":"                    \u0027PartNumber\u0027: part_number,"},{"line_number":3012,"context_line":"                })"},{"line_number":3013,"context_line":""},{"line_number":3014,"context_line":"            expected_body \u003d b\u0027\u0027.join(COMPOSITE_MPU_PART_BODIES)"},{"line_number":3015,"context_line":"            expected_checksum \u003d make_full_object_checksum("},{"line_number":3016,"context_line":"                checksum_func\u003dcrc32,"},{"line_number":3017,"context_line":"                part_bodies\u003dCOMPOSITE_MPU_PART_BODIES)"}],"source_content_type":"text/x-python","patch_set":24,"id":"3ebaf681_40a3b963","line":3014,"updated":"2026-08-18 23:37:49.000000000","message":"pep8: F841 local variable \u0027expected_body\u0027 is assigned to but never used","commit_id":"f9f3f10eca13a174a66ff8789ed6230faba558dc"}],"test/unit/common/middleware/s3api/test_multi_upload.py":[{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"fd7c87daef7e4cbb347cd78f8041466ec90a6ae9","unresolved":false,"context_lines":[{"line_number":41,"context_line":"    checksum_xml_element_from_header"},{"line_number":42,"context_line":"from swift.common.middleware.s3api.controllers.multi_upload import \\"},{"line_number":43,"context_line":"    MPUChecksumAttrs, _CompleteMultipartUploadSloManifestHook"},{"line_number":44,"context_line":"from swift.common.middleware.s3api.utils import sysmeta_header, mktime, \\"},{"line_number":45,"context_line":"    S3Timestamp"},{"line_number":46,"context_line":"from swift.common.middleware.s3api.s3request import MAX_32BIT_INT"},{"line_number":47,"context_line":"from swift.common.storage_policy import StoragePolicy, POLICIES"}],"source_content_type":"text/x-python","patch_set":28,"id":"45ca30b5_305481a0","line":44,"updated":"2026-08-20 17:05:29.000000000","message":"pep8: F401 \u0027swift.common.middleware.s3api.utils.mktime\u0027 imported but unused","commit_id":"d71dfbd23111f037cb21a77ed104593e9556dc23"}],"test/unit/common/middleware/s3api/test_s3checksum.py":[{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"05c9eb562eb8b79b1e516fc0fc88f73c8ef9030d","unresolved":false,"context_lines":[{"line_number":213,"context_line":"            wrapped.read()"},{"line_number":214,"context_line":"        self.assertTrue(wrapped.wsgi_input.closed)"},{"line_number":215,"context_line":""},{"line_number":216,"context_line":"get_checksum_hasher"},{"line_number":217,"context_line":"class TestModuleFunctions(unittest.TestCase):"},{"line_number":218,"context_line":"    def test_normalize_checksum_mode(self):"},{"line_number":219,"context_line":"        self.assertIsNone(normalize_checksum_mode(None))"}],"source_content_type":"text/x-python","patch_set":36,"id":"b545e57e_6b28c18e","line":216,"updated":"2026-08-25 00:56:37.000000000","message":"pep8: E305 expected 2 blank lines after class or function definition, found 1","commit_id":"5ecd8be7bf99ae2743611aea62ea9d3f1283f74e"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"05c9eb562eb8b79b1e516fc0fc88f73c8ef9030d","unresolved":false,"context_lines":[{"line_number":214,"context_line":"        self.assertTrue(wrapped.wsgi_input.closed)"},{"line_number":215,"context_line":""},{"line_number":216,"context_line":"get_checksum_hasher"},{"line_number":217,"context_line":"class TestModuleFunctions(unittest.TestCase):"},{"line_number":218,"context_line":"    def test_normalize_checksum_mode(self):"},{"line_number":219,"context_line":"        self.assertIsNone(normalize_checksum_mode(None))"},{"line_number":220,"context_line":"        self.assertEqual(\u0027ENABLED\u0027, normalize_checksum_mode(\u0027enabled\u0027))"}],"source_content_type":"text/x-python","patch_set":36,"id":"b4d573b5_47b0e499","line":217,"updated":"2026-08-25 00:56:37.000000000","message":"pep8: E302 expected 2 blank lines, found 0","commit_id":"5ecd8be7bf99ae2743611aea62ea9d3f1283f74e"}]}
