)]}'
{"id":"openstack%2Fglance~963732","triplet_id":"openstack%2Fglance~master~I3d094ea56c817fce39e006cd0d70d77f3ced3d8e","project":"openstack/glance","branch":"master","attention_set":{},"removed_from_attention_set":{"21040":{"account":{"_account_id":21040,"name":"Alexey","email":"aodinokov@mirantis.com","username":"aodinokov"},"last_update":"2025-12-03 08:54:30.000000000","reason":"Change was submitted"},"29974":{"account":{"_account_id":29974,"name":"Stephen Taylor","email":"staylor@mirantis.com","username":"st053q"},"last_update":"2025-12-03 08:54:30.000000000","reason":"Change was submitted"},"35943":{"account":{"_account_id":35943,"name":"Aleksei Chekunov","display_name":"Aleksei Chekunov","email":"chekunov87@gmail.com","username":"az7961"},"last_update":"2025-12-01 22:45:14.000000000","reason":"\u003cGERRIT_ACCOUNT_35943\u003e replied on the change","reason_account":{"_account_id":35943,"name":"Aleksei Chekunov","display_name":"Aleksei Chekunov","email":"chekunov87@gmail.com","username":"az7961"}},"9303":{"account":{"_account_id":9303,"name":"Abhishek Kekane","email":"akekane@redhat.com","username":"abhishekkekane"},"last_update":"2025-10-14 06:18:37.000000000","reason":"\u003cGERRIT_ACCOUNT_9303\u003e replied on the change","reason_account":{"_account_id":9303,"name":"Abhishek Kekane","email":"akekane@redhat.com","username":"abhishekkekane"}},"4393":{"account":{"_account_id":4393,"name":"Dan Smith","email":"dms@danplanet.com","username":"danms"},"last_update":"2025-12-02 14:59:56.000000000","reason":"\u003cGERRIT_ACCOUNT_4393\u003e replied on the change","reason_account":{"_account_id":4393,"name":"Dan Smith","email":"dms@danplanet.com","username":"danms"}},"8122":{"account":{"_account_id":8122,"name":"Cyril Roelandt","email":"cyril@redhat.com","username":"cyril.roelandt.enovance"},"last_update":"2025-12-03 08:54:30.000000000","reason":"Change was submitted"}},"hashtags":[],"change_id":"I3d094ea56c817fce39e006cd0d70d77f3ced3d8e","subject":"Correct read function in _UWSGIChunkFile not to exceed length","status":"MERGED","created":"2025-10-10 17:56:56.000000000","updated":"2025-12-03 08:55:25.000000000","submitted":"2025-12-03 08:54:30.000000000","submitter":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"total_comment_count":22,"unresolved_comment_count":1,"has_review_started":true,"submission_id":"963732","meta_rev_id":"12b13adb8e4235eb75bcfa645ec4306d614926c3","_number":963732,"virtual_id_number":963732,"owner":{"_account_id":21040,"name":"Alexey","email":"aodinokov@mirantis.com","username":"aodinokov"},"actions":{},"labels":{"Verified":{"approved":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"all":[{"value":0,"_account_id":29974,"name":"Stephen Taylor","email":"staylor@mirantis.com","username":"st053q"},{"value":0,"_account_id":35943,"name":"Aleksei Chekunov","display_name":"Aleksei Chekunov","email":"chekunov87@gmail.com","username":"az7961"},{"value":0,"_account_id":9303,"name":"Abhishek Kekane","email":"akekane@redhat.com","username":"abhishekkekane"},{"value":0,"_account_id":4393,"name":"Dan Smith","email":"dms@danplanet.com","username":"danms"},{"tag":"autogenerated:zuul:gate","value":2,"date":"2025-12-03 08:54:29.000000000","permitted_voting_range":{"min":2,"max":2},"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]}],"values":{"-2":"Fails","-1":"Doesn\u0027t seem to work"," 0":"No score","+1":"Works for me","+2":"Verified"},"description":"","default_value":0,"optional":true},"Code-Review":{"approved":{"_account_id":9303,"name":"Abhishek Kekane","email":"akekane@redhat.com","username":"abhishekkekane"},"recommended":{"_account_id":35943,"name":"Aleksei Chekunov","display_name":"Aleksei Chekunov","email":"chekunov87@gmail.com","username":"az7961"},"all":[{"value":0,"_account_id":29974,"name":"Stephen Taylor","email":"staylor@mirantis.com","username":"st053q"},{"value":1,"date":"2025-12-01 22:45:14.000000000","permitted_voting_range":{"min":1,"max":1},"_account_id":35943,"name":"Aleksei Chekunov","display_name":"Aleksei Chekunov","email":"chekunov87@gmail.com","username":"az7961"},{"value":2,"date":"2025-12-03 06:30:01.000000000","permitted_voting_range":{"min":2,"max":2},"_account_id":9303,"name":"Abhishek Kekane","email":"akekane@redhat.com","username":"abhishekkekane"},{"value":2,"date":"2025-12-02 14:59:56.000000000","permitted_voting_range":{"min":2,"max":2},"_account_id":4393,"name":"Dan Smith","email":"dms@danplanet.com","username":"danms"},{"value":0,"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]}],"values":{"-2":"Do not merge","-1":"This patch needs further work before it can be merged"," 0":"No score","+1":"Looks good to me, but someone else must approve","+2":"Looks good to me (core reviewer)"},"description":"","value":1,"default_value":0,"optional":true},"Workflow":{"approved":{"_account_id":9303,"name":"Abhishek Kekane","email":"akekane@redhat.com","username":"abhishekkekane"},"all":[{"value":0,"_account_id":29974,"name":"Stephen Taylor","email":"staylor@mirantis.com","username":"st053q"},{"value":0,"_account_id":35943,"name":"Aleksei Chekunov","display_name":"Aleksei Chekunov","email":"chekunov87@gmail.com","username":"az7961"},{"value":1,"date":"2025-12-03 06:30:01.000000000","permitted_voting_range":{"min":1,"max":1},"_account_id":9303,"name":"Abhishek Kekane","email":"akekane@redhat.com","username":"abhishekkekane"},{"value":0,"_account_id":4393,"name":"Dan Smith","email":"dms@danplanet.com","username":"danms"},{"value":0,"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]}],"values":{"-1":"Work in progress"," 0":"Ready for reviews","+1":"Approved"},"description":"","default_value":0,"optional":true},"Review-Priority":{"all":[{"value":0,"_account_id":29974,"name":"Stephen Taylor","email":"staylor@mirantis.com","username":"st053q"},{"value":0,"_account_id":35943,"name":"Aleksei Chekunov","display_name":"Aleksei Chekunov","email":"chekunov87@gmail.com","username":"az7961"},{"value":0,"_account_id":9303,"name":"Abhishek Kekane","email":"akekane@redhat.com","username":"abhishekkekane"},{"value":0,"_account_id":4393,"name":"Dan Smith","email":"dms@danplanet.com","username":"danms"},{"value":0,"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]}],"values":{"-1":"Branch Freeze"," 0":"No Priority","+1":"Important Change","+2":"Top Priority / Holds Gate"},"description":"","default_value":0,"optional":true}},"removable_reviewers":[{"_account_id":8122,"name":"Cyril Roelandt","email":"cyril@redhat.com","username":"cyril.roelandt.enovance"}],"reviewers":{"REVIEWER":[{"_account_id":4393,"name":"Dan Smith","email":"dms@danplanet.com","username":"danms"},{"_account_id":8122,"name":"Cyril Roelandt","email":"cyril@redhat.com","username":"cyril.roelandt.enovance"},{"_account_id":9303,"name":"Abhishek Kekane","email":"akekane@redhat.com","username":"abhishekkekane"},{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},{"_account_id":29974,"name":"Stephen Taylor","email":"staylor@mirantis.com","username":"st053q"},{"_account_id":35943,"name":"Aleksei Chekunov","display_name":"Aleksei Chekunov","email":"chekunov87@gmail.com","username":"az7961"}],"CC":[{"_account_id":22629,"name":"Michal Nasiadka","email":"mnasiadka@gmail.com","username":"mnasiadka"}]},"pending_reviewers":{},"reviewer_updates":[{"updated":"2025-10-10 18:21:37.000000000","updated_by":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"reviewer":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"state":"CC"},{"updated":"2025-10-10 19:05:49.000000000","updated_by":{"_account_id":9303,"name":"Abhishek Kekane","email":"akekane@redhat.com","username":"abhishekkekane"},"reviewer":{"_account_id":9303,"name":"Abhishek Kekane","email":"akekane@redhat.com","username":"abhishekkekane"},"state":"CC"},{"updated":"2025-10-10 20:18:40.000000000","updated_by":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"reviewer":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"state":"REVIEWER"},{"updated":"2025-10-14 06:18:37.000000000","updated_by":{"_account_id":9303,"name":"Abhishek Kekane","email":"akekane@redhat.com","username":"abhishekkekane"},"reviewer":{"_account_id":9303,"name":"Abhishek Kekane","email":"akekane@redhat.com","username":"abhishekkekane"},"state":"REVIEWER"},{"updated":"2025-10-14 12:56:36.000000000","updated_by":{"_account_id":29974,"name":"Stephen Taylor","email":"staylor@mirantis.com","username":"st053q"},"reviewer":{"_account_id":29974,"name":"Stephen Taylor","email":"staylor@mirantis.com","username":"st053q"},"state":"REVIEWER"},{"updated":"2025-10-14 16:07:26.000000000","updated_by":{"_account_id":35943,"name":"Aleksei Chekunov","display_name":"Aleksei Chekunov","email":"chekunov87@gmail.com","username":"az7961"},"reviewer":{"_account_id":35943,"name":"Aleksei Chekunov","display_name":"Aleksei Chekunov","email":"chekunov87@gmail.com","username":"az7961"},"state":"REVIEWER"},{"updated":"2025-10-15 16:12:45.000000000","updated_by":{"_account_id":21040,"name":"Alexey","email":"aodinokov@mirantis.com","username":"aodinokov"},"reviewer":{"_account_id":8122,"name":"Cyril Roelandt","email":"cyril@redhat.com","username":"cyril.roelandt.enovance"},"state":"REVIEWER"},{"updated":"2025-10-21 07:12:16.000000000","updated_by":{"_account_id":22629,"name":"Michal Nasiadka","email":"mnasiadka@gmail.com","username":"mnasiadka"},"reviewer":{"_account_id":22629,"name":"Michal Nasiadka","email":"mnasiadka@gmail.com","username":"mnasiadka"},"state":"CC"},{"updated":"2025-10-28 16:30:17.000000000","updated_by":{"_account_id":21040,"name":"Alexey","email":"aodinokov@mirantis.com","username":"aodinokov"},"reviewer":{"_account_id":4393,"name":"Dan Smith","email":"dms@danplanet.com","username":"danms"},"state":"REVIEWER"}],"messages":[{"id":"7d2bf6d7469a2be1f56d72e2798263e2e4dad4f7","tag":"autogenerated:gerrit:newWipPatchSet","author":{"_account_id":21040,"name":"Alexey","email":"aodinokov@mirantis.com","username":"aodinokov"},"date":"2025-10-10 17:56:56.000000000","message":"Uploaded patch set 1.","accounts_in_message":[],"_revision_number":1},{"id":"2eb36185469d4352db001ea27166e6af06f28187","tag":"autogenerated:gerrit:newWipPatchSet","author":{"_account_id":21040,"name":"Alexey","email":"aodinokov@mirantis.com","username":"aodinokov"},"date":"2025-10-10 18:02:52.000000000","message":"Patch Set 2: Commit message was updated.","accounts_in_message":[],"_revision_number":2},{"id":"89873adf27f8f8c4e932b1b99aca16dde949b802","tag":"autogenerated:gerrit:newWipPatchSet","author":{"_account_id":21040,"name":"Alexey","email":"aodinokov@mirantis.com","username":"aodinokov"},"date":"2025-10-10 18:06:37.000000000","message":"Uploaded patch set 3.","accounts_in_message":[],"_revision_number":3},{"id":"f12c9f6580df9f5cb3c89fbdbb7a05f77af36e91","tag":"autogenerated:gerrit:setReadyForReview","author":{"_account_id":21040,"name":"Alexey","email":"aodinokov@mirantis.com","username":"aodinokov"},"date":"2025-10-10 18:06:49.000000000","message":"Set Ready For Review","accounts_in_message":[],"_revision_number":3},{"id":"9e15edf92aba5f681cd8ef7d521e3d34762f4fc2","tag":"autogenerated:zuul:check-arm64","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2025-10-10 18:21:37.000000000","message":"Patch Set 3:\n\nBuild succeeded (ARM64 pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/731071a6d3a946a3ad8ffcc54ee2d955\n\n- openstack-tox-py310-arm64 https://zuul.opendev.org/t/openstack/build/49c072ed0adc48ff87da1c51583712be : SUCCESS in 8m 02s (non-voting)\n- openstack-tox-py312-arm64 https://zuul.opendev.org/t/openstack/build/df79dd7a2d8247fbb6864248e2a251c2 : SUCCESS in 8m 06s (non-voting)\n- openstack-tox-py313-arm64 https://zuul.opendev.org/t/openstack/build/3ab065423b894b3fbad44475cdda4fef : SUCCESS in 13m 01s (non-voting)","accounts_in_message":[],"_revision_number":3},{"id":"59e747052026f975cea2e135e86599c5c01efb93","author":{"_account_id":9303,"name":"Abhishek Kekane","email":"akekane@redhat.com","username":"abhishekkekane"},"date":"2025-10-10 19:05:49.000000000","message":"Patch Set 3:\n\n(1 comment)","accounts_in_message":[],"_revision_number":3},{"id":"340d9f85a6f20751f74a6b6316bf1cc23bad4c43","tag":"autogenerated:zuul:check","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2025-10-10 20:18:40.000000000","message":"Patch Set 3: Verified+1\n\nBuild succeeded (check pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/ddd4a89d4fb7457798e31037b02c65ad\n\n- grenade https://zuul.opendev.org/t/openstack/build/69dc3d6d37a747c1a71b286e5af433d0 : SUCCESS in 48m 46s\n- grenade-skip-level-always https://zuul.opendev.org/t/openstack/build/d0c3f61ebf5846a9a9c378378a41ee31 : SUCCESS in 45m 43s\n- tempest-integrated-storage https://zuul.opendev.org/t/openstack/build/9ae871e22a454e84a8dd95d0a0ee5269 : SUCCESS in 1h 35m 22s\n- openstacksdk-functional-devstack https://zuul.opendev.org/t/openstack/build/9ee8c05f41a94648aacecf53d870d5b6 : SUCCESS in 1h 00m 13s\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/5baa011b648c475883f11c321c217dd6 : SUCCESS in 5m 27s\n- openstack-tox-py310 https://zuul.opendev.org/t/openstack/build/97f2395822ea489188f8e241b775eec7 : SUCCESS in 4m 47s\n- openstack-tox-py312 https://zuul.opendev.org/t/openstack/build/a3203885ea4d49acb4077371bf60686f : SUCCESS in 5m 18s\n- openstack-tox-py313 https://zuul.opendev.org/t/openstack/build/62b52330a1d143b48a30e10683b88ec9 : SUCCESS in 6m 29s (non-voting)\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/38bb6d88335f47f4bc8a85485ac7b942 : SUCCESS in 6m 02s\n- openstack-tox-functional-py310 https://zuul.opendev.org/t/openstack/build/56ed1000fdbb4e0ba0401bde2ad85ad7 : SUCCESS in 6m 19s\n- openstack-tox-functional-py312 https://zuul.opendev.org/t/openstack/build/33245ab1cca04dd09e0a4269bca4da9c : SUCCESS in 10m 04s\n- glance-ceph-thin-provisioning https://zuul.opendev.org/t/openstack/build/35165f84a765472eab3b210aa48d0de9 : SUCCESS in 2h 02m 33s (non-voting)\n- tempest-integrated-storage-enforce-scope-new-defaults https://zuul.opendev.org/t/openstack/build/1e73ce0b20ce42ea9f8ada57fc0a62dd : SUCCESS in 2h 09m 23s\n- tempest-integrated-storage-import https://zuul.opendev.org/t/openstack/build/6e73b74ed5824f13973294d274da2469 : SUCCESS in 1h 08m 46s\n- glance-multistore-cinder-import https://zuul.opendev.org/t/openstack/build/162edf8dfd9f4ce8aa2aaae24a05d459 : SUCCESS in 2h 10m 47s\n- tempest-ipv6-only https://zuul.opendev.org/t/openstack/build/f9e31e9d71654e73a5692720c21929e3 : SUCCESS in 58m 02s\n- nova-ceph-multistore https://zuul.opendev.org/t/openstack/build/01459e5ef128456e885794409af39cf3 : SUCCESS in 1h 17m 40s\n- glance-grenade-centralized-cache https://zuul.opendev.org/t/openstack/build/570f3f9c75094be0b569d29ca1dcd5ff : FAILURE in 15m 50s (non-voting)\n- glance-s3-multistore https://zuul.opendev.org/t/openstack/build/f658e7e51d904bda9911d382675469db : SUCCESS in 1h 28m 21s (non-voting)\n- glance-secure-rbac-protection-functional https://zuul.opendev.org/t/openstack/build/19901e6ddeff4f7a884019890dd9c2f4 : SUCCESS in 33m 49s\n- ironic-tempest-ipa-wholedisk-bios-agent_ipmitool-tinyipa https://zuul.opendev.org/t/openstack/build/f4fbc27ae76e4d86ae1bcd6aadbfb5b5 : SUCCESS in 1h 02m 57s (non-voting)","accounts_in_message":[],"_revision_number":3},{"id":"a280df3a17668bc4b6c29713fbd4ad7c17caa236","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":21040,"name":"Alexey","email":"aodinokov@mirantis.com","username":"aodinokov"},"date":"2025-10-13 18:43:40.000000000","message":"Patch Set 4: Published edit on patch set 3.\n\nOutdated Votes:\n* Verified+1\n","accounts_in_message":[],"_revision_number":4},{"id":"c759885e8a0d535898dc197a3b2c50402f7517b1","author":{"_account_id":21040,"name":"Alexey","email":"aodinokov@mirantis.com","username":"aodinokov"},"date":"2025-10-13 18:49:07.000000000","message":"Patch Set 4:\n\n(1 comment)","accounts_in_message":[],"_revision_number":4},{"id":"1c079dcc1062e1e2147eae3597584116bf8f4c94","tag":"autogenerated:zuul:check-arm64","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2025-10-13 18:57:04.000000000","message":"Patch Set 4:\n\nBuild succeeded (ARM64 pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/24d6ee2069d04895b794751989e25aca\n\n- openstack-tox-py310-arm64 https://zuul.opendev.org/t/openstack/build/66790dece2dd43bb9b11688d9ff41762 : SUCCESS in 9m 39s (non-voting)\n- openstack-tox-py312-arm64 https://zuul.opendev.org/t/openstack/build/a203f23ab62648e4a394252abc760758 : SUCCESS in 10m 53s (non-voting)\n- openstack-tox-py313-arm64 https://zuul.opendev.org/t/openstack/build/cdd655b3734646e482e4bfefeb512232 : SUCCESS in 11m 11s (non-voting)","accounts_in_message":[],"_revision_number":4},{"id":"244fd7b3bfc81b208ae6769b7d545f96f13edbd2","tag":"autogenerated:zuul:check","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2025-10-13 21:11:28.000000000","message":"Patch Set 4: Verified+1\n\nBuild succeeded (check pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/ec41c8acf53747ffbb368001ed557065\n\n- grenade https://zuul.opendev.org/t/openstack/build/2ef62b366d5b48f4b3e2ea6c22820275 : SUCCESS in 56m 18s\n- grenade-skip-level-always https://zuul.opendev.org/t/openstack/build/ef61f9418afe4d2f95da63060b8702a0 : SUCCESS in 1h 04m 10s\n- tempest-integrated-storage https://zuul.opendev.org/t/openstack/build/249ef10063b841618067ae29eb3cd085 : SUCCESS in 1h 15m 14s\n- openstacksdk-functional-devstack https://zuul.opendev.org/t/openstack/build/c98374b2fc7643cdbeb26c2c57a45b97 : SUCCESS in 36m 23s\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/3209f26676f44771b76d37e396ca7203 : SUCCESS in 4m 51s\n- openstack-tox-py310 https://zuul.opendev.org/t/openstack/build/a6334bf730e6423398fb5d70cc611604 : SUCCESS in 5m 11s\n- openstack-tox-py312 https://zuul.opendev.org/t/openstack/build/e4959655e5544d5caa6cb2163c0984e2 : SUCCESS in 7m 09s\n- openstack-tox-py313 https://zuul.opendev.org/t/openstack/build/6c639c7c904d4dc78ae206620734c385 : SUCCESS in 10m 00s (non-voting)\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/652dce4e995c48dfa2f6d86fa04f19c5 : SUCCESS in 5m 54s\n- openstack-tox-functional-py310 https://zuul.opendev.org/t/openstack/build/96d3b78e1d3a4fd6beb32312dc46e1c4 : SUCCESS in 4m 55s\n- openstack-tox-functional-py312 https://zuul.opendev.org/t/openstack/build/8034e3bd4e6348a38a1b4ae29ada539b : SUCCESS in 6m 12s\n- glance-ceph-thin-provisioning https://zuul.opendev.org/t/openstack/build/0469b82b33f54ca8883d6b4e160a8ceb : SUCCESS in 1h 25m 51s (non-voting)\n- tempest-integrated-storage-enforce-scope-new-defaults https://zuul.opendev.org/t/openstack/build/1f84d72d5e564875b2e53502d8f7d0eb : SUCCESS in 1h 53m 53s\n- tempest-integrated-storage-import https://zuul.opendev.org/t/openstack/build/9f65d15b31f5484db2622673efea48ce : SUCCESS in 2h 04m 51s\n- glance-multistore-cinder-import https://zuul.opendev.org/t/openstack/build/80762d6d1ab74095adfe63ca9588522b : SUCCESS in 2h 22m 30s\n- tempest-ipv6-only https://zuul.opendev.org/t/openstack/build/87471cf5897341829799f45a5069176b : SUCCESS in 57m 41s\n- nova-ceph-multistore https://zuul.opendev.org/t/openstack/build/c05ea3b372ae460da0b19ebfd525a42a : SUCCESS in 1h 44m 04s\n- glance-grenade-centralized-cache https://zuul.opendev.org/t/openstack/build/7440d57bbb884141803a3d052a81cec1 : FAILURE in 16m 13s (non-voting)\n- glance-s3-multistore https://zuul.opendev.org/t/openstack/build/6f56d030d44844eda8abd1e83a65f3d0 : SUCCESS in 1h 22m 35s (non-voting)\n- glance-secure-rbac-protection-functional https://zuul.opendev.org/t/openstack/build/95d0e9a6615e415396dcb0e016d3b8b7 : SUCCESS in 26m 24s\n- ironic-tempest-ipa-wholedisk-bios-agent_ipmitool-tinyipa https://zuul.opendev.org/t/openstack/build/df4280ed93b140799b8d62956d387d5a : SUCCESS in 1h 09m 30s (non-voting)","accounts_in_message":[],"_revision_number":4},{"id":"fd10ef48953723e445ee4350552bc7f4781eec2f","author":{"_account_id":9303,"name":"Abhishek Kekane","email":"akekane@redhat.com","username":"abhishekkekane"},"date":"2025-10-14 06:18:37.000000000","message":"Patch Set 4: Code-Review+2\n\n(1 comment)","accounts_in_message":[],"_revision_number":4},{"id":"aa12c6ed034726d9ad37668cdde4527e0f402f78","author":{"_account_id":29974,"name":"Stephen Taylor","email":"staylor@mirantis.com","username":"st053q"},"date":"2025-10-14 12:56:36.000000000","message":"Patch Set 4: Code-Review+1","accounts_in_message":[],"_revision_number":4},{"id":"35e169c4f7de3568c5a858d3cff4bc48979a7e79","author":{"_account_id":35943,"name":"Aleksei Chekunov","display_name":"Aleksei Chekunov","email":"chekunov87@gmail.com","username":"az7961"},"date":"2025-10-14 16:07:26.000000000","message":"Patch Set 4: Code-Review+1","accounts_in_message":[],"_revision_number":4},{"id":"9805db981bd4491efa5c807eb07d3bfcb04eea19","author":{"_account_id":4393,"name":"Dan Smith","email":"dms@danplanet.com","username":"danms"},"date":"2025-11-04 17:33:34.000000000","message":"Patch Set 4: Code-Review-1\n\n(3 comments)","accounts_in_message":[],"_revision_number":4},{"id":"2e3c88b43ccdf9647f5fe4919656421b7b42d855","author":{"_account_id":9303,"name":"Abhishek Kekane","email":"akekane@redhat.com","username":"abhishekkekane"},"date":"2025-11-06 12:16:33.000000000","message":"Patch Set 4: -Code-Review\n\n(1 comment)","accounts_in_message":[],"_revision_number":4},{"id":"d9ae5bc2391f926aa2c7d1e1139c04097172acca","author":{"_account_id":21040,"name":"Alexey","email":"aodinokov@mirantis.com","username":"aodinokov"},"date":"2025-11-07 22:55:42.000000000","message":"Patch Set 4:\n\n(2 comments)","accounts_in_message":[],"_revision_number":4},{"id":"6b0aaf7958ff9c261150c28bacea459ac78d1d1a","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":21040,"name":"Alexey","email":"aodinokov@mirantis.com","username":"aodinokov"},"date":"2025-11-18 20:02:38.000000000","message":"Patch Set 5: Published edit on patch set 4.\n\nOutdated Votes:\n* Code-Review+1, Code-Review-1 (copy condition: \"changekind:TRIVIAL_REBASE OR is:MIN\")\n* Verified+1\n","accounts_in_message":[],"_revision_number":5},{"id":"832a2db71540d5879046b977ef0d711ffdf910ba","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":21040,"name":"Alexey","email":"aodinokov@mirantis.com","username":"aodinokov"},"date":"2025-11-18 20:02:59.000000000","message":"Patch Set 6: Patch Set 5 was rebased","accounts_in_message":[],"_revision_number":6},{"id":"1623670d3b2bd95863aad8bce6e8a524a4681f37","author":{"_account_id":21040,"name":"Alexey","email":"aodinokov@mirantis.com","username":"aodinokov"},"date":"2025-11-18 20:04:02.000000000","message":"Patch Set 6:\n\n(4 comments)","accounts_in_message":[],"_revision_number":6},{"id":"5ed2cc625086f01cbdf763020110a55ce794b2b3","tag":"autogenerated:zuul:check-arm64","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2025-11-18 21:09:14.000000000","message":"Patch Set 6:\n\nBuild succeeded (ARM64 pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/1cb1d046a2cd48bb8651fdf382cd5b9c\n\n- openstack-tox-py310-arm64 https://zuul.opendev.org/t/openstack/build/107030170b564d37b16ecb05ec81475b : SUCCESS in 6m 37s (non-voting)\n- openstack-tox-py312-arm64 https://zuul.opendev.org/t/openstack/build/7185fd4534b14c86aeb5cf44ff8f644a : SUCCESS in 10m 52s (non-voting)\n- openstack-tox-py313-arm64 https://zuul.opendev.org/t/openstack/build/d6fe2a138b3448d09670b41843f22198 : RETRY_LIMIT in 6m 09s (non-voting)","accounts_in_message":[],"_revision_number":6},{"id":"59031dcfd60f06a73b1a493def33b64167393c29","tag":"autogenerated:zuul:check","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2025-11-18 22:46:07.000000000","message":"Patch Set 6: Verified+1\n\nBuild succeeded (check pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/762dfbc8258c490e979375f65ca09ebf\n\n- grenade https://zuul.opendev.org/t/openstack/build/c8ce10ad3fcc4eee9c9983a621bdcccb : SUCCESS in 1h 00m 28s\n- grenade-skip-level-always https://zuul.opendev.org/t/openstack/build/82751514ed6c48ccaded9191da7c1530 : SUCCESS in 30m 55s\n- tempest-integrated-storage https://zuul.opendev.org/t/openstack/build/0040e38b9df248f1b82d66599b7e33c8 : SUCCESS in 1h 28m 07s\n- openstacksdk-functional-devstack https://zuul.opendev.org/t/openstack/build/78aa9852ca4a42ef98dfe8343bc1a3eb : SUCCESS in 50m 48s\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/bf21bbf81ed0402488d861db5a39964b : SUCCESS in 5m 14s\n- openstack-tox-py310 https://zuul.opendev.org/t/openstack/build/6412d5c97af644b4a7aa46ca2d9cad2e : SUCCESS in 3m 48s\n- openstack-tox-py313 https://zuul.opendev.org/t/openstack/build/85365300db83411c8574dd4ca28eb905 : SUCCESS in 8m 52s\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/409906416cf246408dc01a968b4d3145 : SUCCESS in 5m 42s\n- openstack-tox-functional-py310 https://zuul.opendev.org/t/openstack/build/d0fee168ec754beb994685cd8993abfe : SUCCESS in 6m 27s\n- openstack-tox-functional-py312 https://zuul.opendev.org/t/openstack/build/e84a59d68087404cb9efca0ba193c097 : SUCCESS in 8m 06s\n- glance-ceph-thin-provisioning https://zuul.opendev.org/t/openstack/build/1ab33cf9c8d74697acdd40eaf657d025 : SUCCESS in 1h 46m 15s (non-voting)\n- tempest-integrated-storage-enforce-scope-new-defaults https://zuul.opendev.org/t/openstack/build/c59eeeb66a0545598277155ab0e316f2 : SUCCESS in 1h 44m 34s\n- tempest-integrated-storage-import https://zuul.opendev.org/t/openstack/build/be87a2f472a64ea29a291aec47d0079c : SUCCESS in 1h 59m 00s\n- glance-multistore-cinder-import https://zuul.opendev.org/t/openstack/build/58f3a249a54c4a28ae0910dcc434120c : SUCCESS in 2h 37m 46s\n- tempest-ipv6-only https://zuul.opendev.org/t/openstack/build/3e551509eee14714b4b11badc5781dec : SUCCESS in 1h 03m 04s\n- nova-ceph-multistore https://zuul.opendev.org/t/openstack/build/15ec3eb1ac194f8fa12b0a53abe6e367 : SUCCESS in 1h 03m 08s\n- glance-grenade-centralized-cache https://zuul.opendev.org/t/openstack/build/032351ab2d6e41c095556336b5aa7f02 : FAILURE in 21m 28s (non-voting)\n- glance-s3-multistore https://zuul.opendev.org/t/openstack/build/e2bf5ea6dfb947c3a368c9a2cccb97c6 : FAILURE in 13m 03s (non-voting)\n- glance-secure-rbac-protection-functional https://zuul.opendev.org/t/openstack/build/cc5b438e783645978de73f5cfe27aba5 : SUCCESS in 19m 26s\n- ironic-tempest-ipa-wholedisk-bios-agent_ipmitool-tinyipa https://zuul.opendev.org/t/openstack/build/445c0b20d9ef44a4a692064fa19a5459 : SUCCESS in 1h 13m 06s (non-voting)","accounts_in_message":[],"_revision_number":6},{"id":"28d423759466978ff7f637e998541b6bfa1575b7","author":{"_account_id":4393,"name":"Dan Smith","email":"dms@danplanet.com","username":"danms"},"date":"2025-11-21 15:36:38.000000000","message":"Patch Set 6:\n\n(3 comments)","accounts_in_message":[],"_revision_number":6},{"id":"f0fdb954050afe2065f057a33d6bcf299817bb8a","author":{"_account_id":21040,"name":"Alexey","email":"aodinokov@mirantis.com","username":"aodinokov"},"date":"2025-11-24 19:55:37.000000000","message":"Patch Set 6:\n\n(2 comments)","accounts_in_message":[],"_revision_number":6},{"id":"545cb1b48060dc7a817fac64724c002df104284d","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":21040,"name":"Alexey","email":"aodinokov@mirantis.com","username":"aodinokov"},"date":"2025-11-25 18:57:08.000000000","message":"Patch Set 7: Published edit on patch set 6.\n\nOutdated Votes:\n* Verified+1\n","accounts_in_message":[],"_revision_number":7},{"id":"fec4c1917c3a2c21dd0c60849c7e3a796304978b","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":21040,"name":"Alexey","email":"aodinokov@mirantis.com","username":"aodinokov"},"date":"2025-11-25 18:58:55.000000000","message":"Patch Set 8: Published edit on patch set 7.","accounts_in_message":[],"_revision_number":8},{"id":"2ca6d8245401de144a055ae2f9735f883270f9d4","author":{"_account_id":21040,"name":"Alexey","email":"aodinokov@mirantis.com","username":"aodinokov"},"date":"2025-11-25 19:10:02.000000000","message":"Patch Set 8:\n\n(1 comment)","accounts_in_message":[],"_revision_number":8},{"id":"0d8b3bc720608e4f10310dbcb10e0f8db64909d3","tag":"autogenerated:zuul:check-arm64","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2025-11-25 19:15:45.000000000","message":"Patch Set 8:\n\nBuild succeeded (ARM64 pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/4dc84698e2f147409c9f5891e7773f7a\n\n- openstack-tox-py310-arm64 https://zuul.opendev.org/t/openstack/build/fe51a5097ecb4997a157f2ff6f46f0c5 : SUCCESS in 10m 49s (non-voting)\n- openstack-tox-py312-arm64 https://zuul.opendev.org/t/openstack/build/2a06fa368381440c92135e557fed93ae : SUCCESS in 11m 56s (non-voting)\n- openstack-tox-py313-arm64 https://zuul.opendev.org/t/openstack/build/6366e320ff714a74aacba53208ce549f : SUCCESS in 15m 58s (non-voting)","accounts_in_message":[],"_revision_number":8},{"id":"65ed070b0bb255742e0978470fe987ed83628664","tag":"autogenerated:zuul:check","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2025-11-25 20:59:45.000000000","message":"Patch Set 8: Verified-1\n\nBuild failed (check pipeline).  For information on how to proceed, see\nhttps://docs.opendev.org/opendev/infra-manual/latest/developers.html#automated-testing\nand https://docs.openstack.org/project-team-guide/testing.html#how-to-handle-test-failures\n\nhttps://zuul.opendev.org/t/openstack/buildset/4e100974568c45df9d3b4ad196ef56f4\n\n- grenade https://zuul.opendev.org/t/openstack/build/eecfd9eec70f4cac89f198e4f9d5b293 : SUCCESS in 59m 08s\n- grenade-skip-level-always https://zuul.opendev.org/t/openstack/build/2c150c63c4e64d7882cbab1394319b06 : SUCCESS in 45m 45s\n- tempest-integrated-storage https://zuul.opendev.org/t/openstack/build/a7d0afb5fb224e7d959e85f200937e82 : SUCCESS in 1h 48m 32s\n- openstacksdk-functional-devstack https://zuul.opendev.org/t/openstack/build/132cd79f65424a188f7e684aa87f0ee0 : SUCCESS in 49m 57s\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/5811e3904974448d9d7c611849e0dbd6 : SUCCESS in 5m 32s\n- openstack-tox-py310 https://zuul.opendev.org/t/openstack/build/8ae3285575544598aa03e759171913ba : SUCCESS in 4m 56s\n- openstack-tox-py313 https://zuul.opendev.org/t/openstack/build/545dcd595b41459fa1b44968b43b4f15 : SUCCESS in 8m 44s\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/0585d677c1344c2f889c093e02dee46b : SUCCESS in 5m 58s\n- openstack-tox-functional-py310 https://zuul.opendev.org/t/openstack/build/1a893aefc89a4f3b8040fed1af600f4e : SUCCESS in 6m 52s\n- openstack-tox-functional-py312 https://zuul.opendev.org/t/openstack/build/0420f4514aee4aa7870269b7aefc6b7c : SUCCESS in 11m 33s\n- glance-ceph-thin-provisioning https://zuul.opendev.org/t/openstack/build/348cda7674524a65a802a81bb03cbc2c : SUCCESS in 1h 36m 27s (non-voting)\n- tempest-integrated-storage-enforce-scope-new-defaults https://zuul.opendev.org/t/openstack/build/6e41fff190444943bd3673b5475d9d3a : SUCCESS in 1h 36m 37s\n- tempest-integrated-storage-import https://zuul.opendev.org/t/openstack/build/73440a83bc684c0d8b6d908b06c7c363 : SUCCESS in 1h 59m 18s\n- glance-multistore-cinder-import https://zuul.opendev.org/t/openstack/build/960894df4847495bbbb477e31c7dad1b : FAILURE in 1h 10m 36s\n- tempest-ipv6-only https://zuul.opendev.org/t/openstack/build/68cb8d5849a344d897a270e023e69ad0 : SUCCESS in 1h 07m 11s\n- nova-ceph-multistore https://zuul.opendev.org/t/openstack/build/72b3f125b9724775aac9fefbf7ccba0b : SUCCESS in 1h 31m 20s\n- glance-grenade-centralized-cache https://zuul.opendev.org/t/openstack/build/14bd3e32ad524818ad760a7035a84dc7 : FAILURE in 12m 14s (non-voting)\n- glance-s3-multistore https://zuul.opendev.org/t/openstack/build/55405cc2151a4987a405073be8f98c7d : FAILURE in 26m 49s (non-voting)\n- glance-secure-rbac-protection-functional https://zuul.opendev.org/t/openstack/build/e7c857996c564926b70941a61de3ca9e : SUCCESS in 31m 44s\n- ironic-tempest-ipa-wholedisk-bios-agent_ipmitool-tinyipa https://zuul.opendev.org/t/openstack/build/1768606a9b934ec9be04bd8a7d16419f : SUCCESS in 1h 07m 59s (non-voting)","accounts_in_message":[],"_revision_number":8},{"id":"5ab29d272ea7a47e70a36a1320ae4a56606c7f7d","author":{"_account_id":21040,"name":"Alexey","email":"aodinokov@mirantis.com","username":"aodinokov"},"date":"2025-11-25 22:15:35.000000000","message":"Patch Set 8:\n\n(1 comment)","accounts_in_message":[],"_revision_number":8},{"id":"2b2b1720e5061dca427520de890bfb453a07bd70","tag":"autogenerated:zuul:check-arm64","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2025-11-25 22:33:57.000000000","message":"Patch Set 8:\n\nBuild succeeded (ARM64 pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/d3ed3aeb0f5749faa02081279e99c457\n\n- openstack-tox-py310-arm64 https://zuul.opendev.org/t/openstack/build/445652a391064e189eaaf2b34363a8b5 : SUCCESS in 11m 07s (non-voting)\n- openstack-tox-py312-arm64 https://zuul.opendev.org/t/openstack/build/e00c7d9fbde247b4a566db1542aa944a : SUCCESS in 11m 56s (non-voting)\n- openstack-tox-py313-arm64 https://zuul.opendev.org/t/openstack/build/0813cbc0cb334b228472c7807c128219 : SUCCESS in 15m 15s (non-voting)","accounts_in_message":[],"_revision_number":8},{"id":"98bc41355a632aec6e1f4323cf55021860a3fdde","tag":"autogenerated:zuul:check","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2025-11-26 00:30:24.000000000","message":"Patch Set 8: Verified+1\n\nBuild succeeded (check pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/0db6e4d11985450db2553bcd7427fab0\n\n- grenade https://zuul.opendev.org/t/openstack/build/17c25464347645a79bf30a1182ba3fd4 : SUCCESS in 1h 00m 59s\n- grenade-skip-level-always https://zuul.opendev.org/t/openstack/build/738715fc037342029c020ec82f37a6e1 : SUCCESS in 29m 23s\n- tempest-integrated-storage https://zuul.opendev.org/t/openstack/build/4d88ef47e7394dd7941b29832bc4c450 : SUCCESS in 1h 13m 19s\n- openstacksdk-functional-devstack https://zuul.opendev.org/t/openstack/build/f0c7d6de01834c8ea87b956287208903 : SUCCESS in 1h 01m 57s\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/6b577c0d456746c08587d6cef937833d : SUCCESS in 4m 49s\n- openstack-tox-py310 https://zuul.opendev.org/t/openstack/build/03c451c6670e45babf718d395c3ea8a6 : SUCCESS in 4m 34s\n- openstack-tox-py313 https://zuul.opendev.org/t/openstack/build/950ead7d7f504bab9cbc215b4ceee2ec : SUCCESS in 9m 33s\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/00c9a7072ef94be4b76d4f55b8056dac : SUCCESS in 5m 55s\n- openstack-tox-functional-py310 https://zuul.opendev.org/t/openstack/build/1b22bb941ffc4caca15cb58b9ad2f375 : SUCCESS in 6m 57s\n- openstack-tox-functional-py312 https://zuul.opendev.org/t/openstack/build/c6d302fc72da49a08c158a2ace66e597 : SUCCESS in 11m 19s\n- glance-ceph-thin-provisioning https://zuul.opendev.org/t/openstack/build/f9c0517dfdcf4a2aabfbb6b59bd1c32b : SUCCESS in 2h 06m 44s (non-voting)\n- tempest-integrated-storage-enforce-scope-new-defaults https://zuul.opendev.org/t/openstack/build/aa97a2b70f0b42ac8379b6c172a7eecf : SUCCESS in 1h 25m 55s\n- tempest-integrated-storage-import https://zuul.opendev.org/t/openstack/build/40920ee61ecc4ce8bc0d17298e993b80 : SUCCESS in 1h 36m 46s\n- glance-multistore-cinder-import https://zuul.opendev.org/t/openstack/build/6b08217d59d14b32a45419c02492992d : SUCCESS in 1h 15m 41s\n- tempest-ipv6-only https://zuul.opendev.org/t/openstack/build/6466aceca57b421ca8c27d8984071d12 : SUCCESS in 43m 25s\n- nova-ceph-multistore https://zuul.opendev.org/t/openstack/build/e5a3337a5869413d90271db79d2cd194 : SUCCESS in 1h 32m 20s\n- glance-grenade-centralized-cache https://zuul.opendev.org/t/openstack/build/c21b9964359349d390c0ce18c5a15412 : FAILURE in 12m 12s (non-voting)\n- glance-s3-multistore https://zuul.opendev.org/t/openstack/build/611d276d3dab4fff8a40e0146e617872 : FAILURE in 12m 33s (non-voting)\n- glance-secure-rbac-protection-functional https://zuul.opendev.org/t/openstack/build/4c1c74dd0f864b12b5d725ac0e153bad : SUCCESS in 17m 58s\n- ironic-tempest-ipa-wholedisk-bios-agent_ipmitool-tinyipa https://zuul.opendev.org/t/openstack/build/0c3f3afdad7c4e328fca11ce8f35c09b : SUCCESS in 32m 58s (non-voting)","accounts_in_message":[],"_revision_number":8},{"id":"53ca2c2b982c22ef05cea5fcf97dcc86bdb4c6f4","author":{"_account_id":35943,"name":"Aleksei Chekunov","display_name":"Aleksei Chekunov","email":"chekunov87@gmail.com","username":"az7961"},"date":"2025-12-01 22:45:14.000000000","message":"Patch Set 8: Code-Review+1","accounts_in_message":[],"_revision_number":8},{"id":"1c219a45b79ebd474765bfddee95159fe83506e9","author":{"_account_id":4393,"name":"Dan Smith","email":"dms@danplanet.com","username":"danms"},"date":"2025-12-02 14:59:56.000000000","message":"Patch Set 8: Code-Review+2\n\n(2 comments)","accounts_in_message":[],"_revision_number":8},{"id":"6652ea51a4956aaaec49e96830afc2df60fbbeb1","author":{"_account_id":9303,"name":"Abhishek Kekane","email":"akekane@redhat.com","username":"abhishekkekane"},"date":"2025-12-03 06:30:01.000000000","message":"Patch Set 8: Code-Review+2 Workflow+1","accounts_in_message":[],"_revision_number":8},{"id":"344e97eb88c3bebb11830519be47712fe224fcaa","tag":"autogenerated:zuul:gate","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2025-12-03 06:30:28.000000000","message":"Patch Set 8: -Verified\n\nStarting gate jobs.","accounts_in_message":[],"_revision_number":8},{"id":"33e3a7d7df164add4845b1b213ff2afa5c1f909c","tag":"autogenerated:zuul:gate","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2025-12-03 08:54:29.000000000","message":"Patch Set 8: Verified+2\n\nBuild succeeded (gate pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/5a1f1a331d694345b10c07bb4a3b44b7\n\n- grenade https://zuul.opendev.org/t/openstack/build/289d4f6f2adc4ae2a45f86970a0d700a : SUCCESS in 29m 42s\n- grenade-skip-level-always https://zuul.opendev.org/t/openstack/build/9a039ef443744a9d9f4d02d5e4e79566 : SUCCESS in 33m 04s\n- tempest-integrated-storage https://zuul.opendev.org/t/openstack/build/b4bf8e74274c405cb3d2e98cf694dce9 : SUCCESS in 1h 33m 19s\n- openstacksdk-functional-devstack https://zuul.opendev.org/t/openstack/build/02e31250122f4b5b828ee709e7f080e1 : SUCCESS in 35m 02s\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/806fb8c5a80a427c9fbaaa05ef6974d8 : SUCCESS in 3m 11s\n- openstack-tox-py310 https://zuul.opendev.org/t/openstack/build/c7e0191c0c424d988c59b20e7aa7580c : SUCCESS in 3m 01s\n- openstack-tox-py313 https://zuul.opendev.org/t/openstack/build/6323669bdf0b451897a32cd412186780 : SUCCESS in 10m 36s\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/90302018c9fb4461982ab3341e23431a : SUCCESS in 5m 51s\n- openstack-tox-functional-py310 https://zuul.opendev.org/t/openstack/build/99fc0e18c0b24ffab9ffa9dcc3c18e63 : SUCCESS in 7m 56s\n- openstack-tox-functional-py312 https://zuul.opendev.org/t/openstack/build/6e527f4ea92043fc92b79cdbdfcbc77a : SUCCESS in 6m 25s\n- tempest-integrated-storage-enforce-scope-new-defaults https://zuul.opendev.org/t/openstack/build/235470ee62c7417280dea860b98dcb44 : SUCCESS in 2h 18m 37s\n- tempest-integrated-storage-import https://zuul.opendev.org/t/openstack/build/7cd1ef4c0d0a40c294704c5013af4ff7 : SUCCESS in 2h 00m 24s\n- tempest-ipv6-only https://zuul.opendev.org/t/openstack/build/880d651e1db34311821e81bd384dd8c4 : SUCCESS in 53m 15s\n- nova-ceph-multistore https://zuul.opendev.org/t/openstack/build/735b7f7a27f548428b33de6d6f934481 : SUCCESS in 1h 02m 54s\n- glance-secure-rbac-protection-functional https://zuul.opendev.org/t/openstack/build/4ed584a2d7d24382a92ad4117a408224 : SUCCESS in 36m 00s","accounts_in_message":[],"_revision_number":8},{"id":"01f51373c2cda64f9b8adef19c2c8f5db02627d9","tag":"autogenerated:gerrit:merged","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2025-12-03 08:54:30.000000000","message":"Change has been successfully merged","accounts_in_message":[],"_revision_number":8},{"id":"12b13adb8e4235eb75bcfa645ec4306d614926c3","tag":"autogenerated:zuul:promote","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2025-12-03 08:55:25.000000000","message":"Patch Set 8:\n\nBuild succeeded (promote pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/3107b5f91814494495b7405a58f2675f\n\n- promote-openstack-tox-docs https://zuul.opendev.org/t/openstack/build/9f0f6e19aaf1473e9a37a508e410d454 : SUCCESS in 43s","accounts_in_message":[],"_revision_number":8}],"current_revision_number":8,"current_revision":"e01a5f8e71959d1a283c96be59e3cb5138e726b7","revisions":{"f069f6c7980520a8d26a4687632b622941f45b33":{"kind":"REWORK","_number":1,"created":"2025-10-10 17:56:56.000000000","uploader":{"_account_id":21040,"name":"Alexey","email":"aodinokov@mirantis.com","username":"aodinokov"},"ref":"refs/changes/32/963732/1","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/glance","ref":"refs/changes/32/963732/1","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/glance refs/changes/32/963732/1 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/glance refs/changes/32/963732/1 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/glance refs/changes/32/963732/1 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/glance refs/changes/32/963732/1"}}},"commit":{"parents":[{"commit":"1a89edc86b10cbe14e1877d119de409b7b75863f","subject":"Merge \"Migrate setup configuration to pyproject.toml\"","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/glance/commit/1a89edc86b10cbe14e1877d119de409b7b75863f"}]}],"author":{"name":"Alexey","email":"aodinokov@mirantis.com","date":"2025-10-10 17:56:56.000000000","tz":0},"committer":{"name":"Alexey","email":"aodinokov@mirantis.com","date":"2025-10-10 17:56:56.000000000","tz":0},"subject":"Correct read function in _UWSGIChunkFile not to exceed length","message":"Correct read function in _UWSGIChunkFile not to exceed length\n\nThis behavior causes serious issues including OOM\n\nCloses-Bug: #2127521\n\nChange-Id: I3d094ea56c817fce39e006cd0d70d77f3ced3d8e\nSigned-off-by: Alexey Odinokov \u003caodinokov@mirantis.com\u003e\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/glance/commit/f069f6c7980520a8d26a4687632b622941f45b33"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/glance/commit/f069f6c7980520a8d26a4687632b622941f45b33"}]},"branch":"refs/heads/master"},"c26ccefe0ad8f9f4db0ff431df43fa6818b2f95d":{"kind":"NO_CODE_CHANGE","_number":2,"created":"2025-10-10 18:02:52.000000000","uploader":{"_account_id":21040,"name":"Alexey","email":"aodinokov@mirantis.com","username":"aodinokov"},"ref":"refs/changes/32/963732/2","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/glance","ref":"refs/changes/32/963732/2","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/glance refs/changes/32/963732/2 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/glance refs/changes/32/963732/2 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/glance refs/changes/32/963732/2 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/glance refs/changes/32/963732/2"}}},"commit":{"parents":[{"commit":"1a89edc86b10cbe14e1877d119de409b7b75863f","subject":"Merge \"Migrate setup configuration to pyproject.toml\"","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/glance/commit/1a89edc86b10cbe14e1877d119de409b7b75863f"}]}],"author":{"name":"Alexey","email":"aodinokov@mirantis.com","date":"2025-10-10 17:56:56.000000000","tz":0},"committer":{"name":"Alexey","email":"aodinokov@mirantis.com","date":"2025-10-10 18:01:50.000000000","tz":0},"subject":"Correct read function in _UWSGIChunkFile not to exceed length","message":"Correct read function in _UWSGIChunkFile not to exceed length\n\nthe original version of _UWSGIChunkFile could:\n1. return more data than it was requested\n2. ignore length if it\u0027s negative and return the whole image\n \nThere are different other places which don\u0027t expect read\nfunction to return more data than it\u0027s requested in length, e.g.\nChunkReader from glance_store/_drivers/swift/store.py\nworks with the assumption that read function can\u0027t return more\nthan it was requested. there is a scenario for the case\nread function returns more data than requested that\nChunkReader will perform next read with negative length\nwhich will put the whole image into memory and potential OOM.\nalso this breaks chunkwrite process and makes glance to\nstore the whole image as 1 request which makes RGW return\nerror if image is bigger than 5G (std limit for 1 PUT request)\n\nthis patch re-implementes _UWSGIChunkFile by\nintroducing local cache for the cases it read more than necessary\nfrom wsgi. this allows to not exceed length of returning data\nand in its turn it fixes all consequences including OOM\nand RGW complaints.\n\nCloses-Bug: #2127521\n\nChange-Id: I3d094ea56c817fce39e006cd0d70d77f3ced3d8e\nSigned-off-by: Alexey Odinokov \u003caodinokov@mirantis.com\u003e\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/glance/commit/c26ccefe0ad8f9f4db0ff431df43fa6818b2f95d"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/glance/commit/c26ccefe0ad8f9f4db0ff431df43fa6818b2f95d"}]},"branch":"refs/heads/master","description":"Edit commit message"},"c4b8ab3236c459394d1c609070c0fbf61f5a8357":{"kind":"REWORK","_number":3,"created":"2025-10-10 18:06:37.000000000","uploader":{"_account_id":21040,"name":"Alexey","email":"aodinokov@mirantis.com","username":"aodinokov"},"ref":"refs/changes/32/963732/3","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/glance","ref":"refs/changes/32/963732/3","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/glance refs/changes/32/963732/3 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/glance refs/changes/32/963732/3 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/glance refs/changes/32/963732/3 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/glance refs/changes/32/963732/3"}}},"commit":{"parents":[{"commit":"1a89edc86b10cbe14e1877d119de409b7b75863f","subject":"Merge \"Migrate setup configuration to pyproject.toml\"","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/glance/commit/1a89edc86b10cbe14e1877d119de409b7b75863f"}]}],"author":{"name":"Alexey","email":"aodinokov@mirantis.com","date":"2025-10-10 17:56:56.000000000","tz":0},"committer":{"name":"Alexey Odinokov","email":"alexey.odinokov.82@gmail.com","date":"2025-10-10 18:06:23.000000000","tz":-300},"subject":"Correct read function in _UWSGIChunkFile not to exceed length","message":"Correct read function in _UWSGIChunkFile not to exceed length\n\nthe original version of _UWSGIChunkFile could:\n1. return more data than it was requested\n2. ignore length if it\u0027s negative and return the whole image\n\nThere are different other places which don\u0027t expect read\nfunction to return more data than it\u0027s requested in length, e.g.\nChunkReader from glance_store/_drivers/swift/store.py\nworks with the assumption that read function can\u0027t return more\nthan it was requested. there is a scenario for the case\nread function returns more data than requested that\nChunkReader will perform next read with negative length\nwhich will put the whole image into memory and potential OOM.\nalso this breaks chunkwrite process and makes glance to\nstore the whole image as 1 request which makes RGW return\nerror if image is bigger than 5G (std limit for 1 PUT request)\n\nthis patch re-implementes _UWSGIChunkFile by\nintroducing local cache for the cases it read more than necessary\nfrom wsgi. this allows to not exceed length of returning data\nand in its turn it fixes all consequences including OOM\nand RGW complaints.\n\nCloses-Bug: #2127521\n\nChange-Id: I3d094ea56c817fce39e006cd0d70d77f3ced3d8e\nSigned-off-by: Alexey Odinokov \u003caodinokov@mirantis.com\u003e\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/glance/commit/c4b8ab3236c459394d1c609070c0fbf61f5a8357"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/glance/commit/c4b8ab3236c459394d1c609070c0fbf61f5a8357"}]},"branch":"refs/heads/master"},"a88ffdc0705f483de7e62593409ecde1a4596765":{"kind":"REWORK","_number":4,"created":"2025-10-13 18:43:40.000000000","uploader":{"_account_id":21040,"name":"Alexey","email":"aodinokov@mirantis.com","username":"aodinokov"},"ref":"refs/changes/32/963732/4","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/glance","ref":"refs/changes/32/963732/4","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/glance refs/changes/32/963732/4 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/glance refs/changes/32/963732/4 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/glance refs/changes/32/963732/4 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/glance refs/changes/32/963732/4"}}},"commit":{"parents":[{"commit":"1a89edc86b10cbe14e1877d119de409b7b75863f","subject":"Merge \"Migrate setup configuration to pyproject.toml\"","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/glance/commit/1a89edc86b10cbe14e1877d119de409b7b75863f"}]}],"author":{"name":"Alexey","email":"aodinokov@mirantis.com","date":"2025-10-10 17:56:56.000000000","tz":0},"committer":{"name":"Alexey","email":"alexey.odinokov.82@gmail.com","date":"2025-10-13 18:43:40.000000000","tz":0},"subject":"Correct read function in _UWSGIChunkFile not to exceed length","message":"Correct read function in _UWSGIChunkFile not to exceed length\n\nthe original version of _UWSGIChunkFile could:\n1. return more data than it was requested\n2. ignore length if it\u0027s negative and return the whole image\n\nThere are different other places which don\u0027t expect read\nfunction to return more data than it\u0027s requested in length, e.g.\nChunkReader from glance_store/_drivers/swift/store.py\nworks with the assumption that read function can\u0027t return more\nthan it was requested. there is a scenario for the case\nread function returns more data than requested that\nChunkReader will perform next read with negative length\nwhich will put the whole image into memory and potential OOM.\nalso this breaks chunkwrite process and makes glance to\nstore the whole image as 1 request which makes RGW return\nerror if image is bigger than 5G (std limit for 1 PUT request)\n\nthis patch re-implementes _UWSGIChunkFile by\nintroducing local cache for the cases it read more than necessary\nfrom wsgi. this allows to not exceed length of returning data\nand in its turn it fixes all consequences including OOM\nand RGW complaints.\n\nCloses-Bug: #2127521\n\nChange-Id: I3d094ea56c817fce39e006cd0d70d77f3ced3d8e\nSigned-off-by: Alexey Odinokov \u003caodinokov@mirantis.com\u003e\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/glance/commit/a88ffdc0705f483de7e62593409ecde1a4596765"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/glance/commit/a88ffdc0705f483de7e62593409ecde1a4596765"}]},"branch":"refs/heads/master"},"c305af29427f03815ab0da5fa613631cbaf0326a":{"kind":"REWORK","_number":5,"created":"2025-11-18 20:02:38.000000000","uploader":{"_account_id":21040,"name":"Alexey","email":"aodinokov@mirantis.com","username":"aodinokov"},"ref":"refs/changes/32/963732/5","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/glance","ref":"refs/changes/32/963732/5","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/glance refs/changes/32/963732/5 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/glance refs/changes/32/963732/5 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/glance refs/changes/32/963732/5 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/glance refs/changes/32/963732/5"}}},"commit":{"parents":[{"commit":"1a89edc86b10cbe14e1877d119de409b7b75863f","subject":"Merge \"Migrate setup configuration to pyproject.toml\"","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/glance/commit/1a89edc86b10cbe14e1877d119de409b7b75863f"}]}],"author":{"name":"Alexey","email":"aodinokov@mirantis.com","date":"2025-10-10 17:56:56.000000000","tz":0},"committer":{"name":"Alexey","email":"alexey.odinokov.82@gmail.com","date":"2025-11-18 20:02:38.000000000","tz":0},"subject":"Correct read function in _UWSGIChunkFile not to exceed length","message":"Correct read function in _UWSGIChunkFile not to exceed length\n\nthe original version of _UWSGIChunkFile could:\n1. return more data than it was requested\n2. ignore length if it\u0027s negative and return the whole image\n\nThere are different other places which don\u0027t expect read\nfunction to return more data than it\u0027s requested in length, e.g.\nChunkReader from glance_store/_drivers/swift/store.py\nworks with the assumption that read function can\u0027t return more\nthan it was requested. there is a scenario for the case\nread function returns more data than requested that\nChunkReader will perform next read with negative length\nwhich will put the whole image into memory and potential OOM.\nalso this breaks chunkwrite process and makes glance to\nstore the whole image as 1 request which makes RGW return\nerror if image is bigger than 5G (std limit for 1 PUT request)\n\nthis patch re-implementes _UWSGIChunkFile by\nintroducing local cache for the cases it read more than necessary\nfrom wsgi. this allows to not exceed length of returning data\nand in its turn it fixes all consequences including OOM\nand RGW complaints.\n\nCloses-Bug: #2127521\n\nChange-Id: I3d094ea56c817fce39e006cd0d70d77f3ced3d8e\nSigned-off-by: Alexey Odinokov \u003caodinokov@mirantis.com\u003e\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/glance/commit/c305af29427f03815ab0da5fa613631cbaf0326a"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/glance/commit/c305af29427f03815ab0da5fa613631cbaf0326a"}]},"branch":"refs/heads/master"},"75c822f642859a8884a13516010d3905dea49fcb":{"kind":"TRIVIAL_REBASE","_number":6,"created":"2025-11-18 20:02:59.000000000","uploader":{"_account_id":21040,"name":"Alexey","email":"aodinokov@mirantis.com","username":"aodinokov"},"ref":"refs/changes/32/963732/6","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/glance","ref":"refs/changes/32/963732/6","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/glance refs/changes/32/963732/6 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/glance refs/changes/32/963732/6 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/glance refs/changes/32/963732/6 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/glance refs/changes/32/963732/6"}}},"commit":{"parents":[{"commit":"f418d3f00d7c1e2bd4d1458b0c500716eb0ba653","subject":"Merge \"[docs] Add s3 upgrade scenarios\"","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/glance/commit/f418d3f00d7c1e2bd4d1458b0c500716eb0ba653"}]}],"author":{"name":"Alexey","email":"aodinokov@mirantis.com","date":"2025-10-10 17:56:56.000000000","tz":0},"committer":{"name":"Alexey","email":"alexey.odinokov.82@gmail.com","date":"2025-11-18 20:02:59.000000000","tz":0},"subject":"Correct read function in _UWSGIChunkFile not to exceed length","message":"Correct read function in _UWSGIChunkFile not to exceed length\n\nthe original version of _UWSGIChunkFile could:\n1. return more data than it was requested\n2. ignore length if it\u0027s negative and return the whole image\n\nThere are different other places which don\u0027t expect read\nfunction to return more data than it\u0027s requested in length, e.g.\nChunkReader from glance_store/_drivers/swift/store.py\nworks with the assumption that read function can\u0027t return more\nthan it was requested. there is a scenario for the case\nread function returns more data than requested that\nChunkReader will perform next read with negative length\nwhich will put the whole image into memory and potential OOM.\nalso this breaks chunkwrite process and makes glance to\nstore the whole image as 1 request which makes RGW return\nerror if image is bigger than 5G (std limit for 1 PUT request)\n\nthis patch re-implementes _UWSGIChunkFile by\nintroducing local cache for the cases it read more than necessary\nfrom wsgi. this allows to not exceed length of returning data\nand in its turn it fixes all consequences including OOM\nand RGW complaints.\n\nCloses-Bug: #2127521\n\nChange-Id: I3d094ea56c817fce39e006cd0d70d77f3ced3d8e\nSigned-off-by: Alexey Odinokov \u003caodinokov@mirantis.com\u003e\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/glance/commit/75c822f642859a8884a13516010d3905dea49fcb"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/glance/commit/75c822f642859a8884a13516010d3905dea49fcb"}]},"branch":"refs/heads/master","description":"Rebase"},"cb0f3552637c354b0d8f5b0b32b79e999288b260":{"kind":"REWORK","_number":7,"created":"2025-11-25 18:57:08.000000000","uploader":{"_account_id":21040,"name":"Alexey","email":"aodinokov@mirantis.com","username":"aodinokov"},"ref":"refs/changes/32/963732/7","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/glance","ref":"refs/changes/32/963732/7","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/glance refs/changes/32/963732/7 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/glance refs/changes/32/963732/7 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/glance refs/changes/32/963732/7 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/glance refs/changes/32/963732/7"}}},"commit":{"parents":[{"commit":"f418d3f00d7c1e2bd4d1458b0c500716eb0ba653","subject":"Merge \"[docs] Add s3 upgrade scenarios\"","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/glance/commit/f418d3f00d7c1e2bd4d1458b0c500716eb0ba653"}]}],"author":{"name":"Alexey","email":"aodinokov@mirantis.com","date":"2025-10-10 17:56:56.000000000","tz":0},"committer":{"name":"Alexey","email":"alexey.odinokov.82@gmail.com","date":"2025-11-25 18:57:07.000000000","tz":0},"subject":"Correct read function in _UWSGIChunkFile not to exceed length","message":"Correct read function in _UWSGIChunkFile not to exceed length\n\nthe original version of _UWSGIChunkFile could:\n1. return more data than it was requested\n2. ignore length if it\u0027s negative and return the whole image\n\nThere are different other places which don\u0027t expect read\nfunction to return more data than it\u0027s requested in length, e.g.\nChunkReader from glance_store/_drivers/swift/store.py\nworks with the assumption that read function can\u0027t return more\nthan it was requested. there is a scenario for the case\nread function returns more data than requested that\nChunkReader will perform next read with negative length\nwhich will put the whole image into memory and potential OOM.\nalso this breaks chunkwrite process and makes glance to\nstore the whole image as 1 request which makes RGW return\nerror if image is bigger than 5G (std limit for 1 PUT request)\n\nthis patch re-implementes _UWSGIChunkFile by\nintroducing local cache for the cases it read more than necessary\nfrom wsgi. this allows to not exceed length of returning data\nand in its turn it fixes all consequences including OOM\nand RGW complaints.\n\nCloses-Bug: #2127521\n\nChange-Id: I3d094ea56c817fce39e006cd0d70d77f3ced3d8e\nSigned-off-by: Alexey Odinokov \u003caodinokov@mirantis.com\u003e\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/glance/commit/cb0f3552637c354b0d8f5b0b32b79e999288b260"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/glance/commit/cb0f3552637c354b0d8f5b0b32b79e999288b260"}]},"branch":"refs/heads/master"},"e01a5f8e71959d1a283c96be59e3cb5138e726b7":{"kind":"REWORK","_number":8,"created":"2025-11-25 18:58:55.000000000","uploader":{"_account_id":21040,"name":"Alexey","email":"aodinokov@mirantis.com","username":"aodinokov"},"ref":"refs/changes/32/963732/8","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/glance","ref":"refs/changes/32/963732/8","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/glance refs/changes/32/963732/8 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/glance refs/changes/32/963732/8 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/glance refs/changes/32/963732/8 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/glance refs/changes/32/963732/8"}}},"commit":{"parents":[{"commit":"f418d3f00d7c1e2bd4d1458b0c500716eb0ba653","subject":"Merge \"[docs] Add s3 upgrade scenarios\"","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/glance/commit/f418d3f00d7c1e2bd4d1458b0c500716eb0ba653"}]}],"author":{"name":"Alexey","email":"aodinokov@mirantis.com","date":"2025-10-10 17:56:56.000000000","tz":0},"committer":{"name":"Alexey","email":"alexey.odinokov.82@gmail.com","date":"2025-11-25 18:58:55.000000000","tz":0},"subject":"Correct read function in _UWSGIChunkFile not to exceed length","message":"Correct read function in _UWSGIChunkFile not to exceed length\n\nthe original version of _UWSGIChunkFile could:\n1. return more data than it was requested\n2. ignore length if it\u0027s negative and return the whole image\n\nThere are different other places which don\u0027t expect read\nfunction to return more data than it\u0027s requested in length, e.g.\nChunkReader from glance_store/_drivers/swift/store.py\nworks with the assumption that read function can\u0027t return more\nthan it was requested. there is a scenario for the case\nread function returns more data than requested that\nChunkReader will perform next read with negative length\nwhich will put the whole image into memory and potential OOM.\nalso this breaks chunkwrite process and makes glance to\nstore the whole image as 1 request which makes RGW return\nerror if image is bigger than 5G (std limit for 1 PUT request)\n\nthis patch re-implementes _UWSGIChunkFile by\nintroducing local cache for the cases it read more than necessary\nfrom wsgi. this allows to not exceed length of returning data\nand in its turn it fixes all consequences including OOM\nand RGW complaints.\n\nCloses-Bug: #2127521\n\nChange-Id: I3d094ea56c817fce39e006cd0d70d77f3ced3d8e\nSigned-off-by: Alexey Odinokov \u003caodinokov@mirantis.com\u003e\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/glance/commit/e01a5f8e71959d1a283c96be59e3cb5138e726b7"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/glance/commit/e01a5f8e71959d1a283c96be59e3cb5138e726b7"}]},"branch":"refs/heads/master"}},"requirements":[],"submit_records":[{"rule_name":"gerrit~DefaultSubmitRule","status":"CLOSED","labels":[{"label":"Verified","status":"MAY","applied_by":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]}},{"label":"Code-Review","status":"MAY","applied_by":{"_account_id":9303,"name":"Abhishek Kekane","email":"akekane@redhat.com","username":"abhishekkekane"}},{"label":"Workflow","status":"MAY","applied_by":{"_account_id":9303,"name":"Abhishek Kekane","email":"akekane@redhat.com","username":"abhishekkekane"}},{"label":"Review-Priority","status":"MAY"}]}],"submit_requirements":[{"name":"Verified","description":"Verified in gate by CI","status":"SATISFIED","is_legacy":false,"submittability_expression_result":{"expression":"label:Verified\u003dMAX AND -label:Verified\u003dMIN","fulfilled":true,"status":"PASS","passing_atoms":["label:Verified\u003dMAX"],"failing_atoms":["label:Verified\u003dMIN"],"atom_explanations":{}}},{"name":"Code-Review","description":"Code reviewed by core reviewer","status":"SATISFIED","is_legacy":false,"submittability_expression_result":{"expression":"label:Code-Review\u003dMAX AND -label:Code-Review\u003dMIN","fulfilled":true,"status":"PASS","passing_atoms":["label:Code-Review\u003dMAX"],"failing_atoms":["label:Code-Review\u003dMIN"],"atom_explanations":{}}},{"name":"Review-Priority","description":"Review priority","status":"SATISFIED","is_legacy":false,"submittability_expression_result":{"expression":"-label:Review-Priority\u003dMIN","fulfilled":true,"status":"PASS","passing_atoms":[],"failing_atoms":["label:Review-Priority\u003dMIN"],"atom_explanations":{}}},{"name":"Workflow","description":"Approved for gate by core reviewer","status":"SATISFIED","is_legacy":false,"submittability_expression_result":{"expression":"label:Workflow\u003dMAX AND -label:Workflow\u003dMIN","fulfilled":true,"status":"PASS","passing_atoms":["label:Workflow\u003dMAX"],"failing_atoms":["label:Workflow\u003dMIN"],"atom_explanations":{}}}]}
