)]}'
{"id":"openstack%2Fopenstack-helm~1010828","triplet_id":"openstack%2Fopenstack-helm~master~Ibb75fd42e2ce5f9338c78a1cc19fcf3db4343ded","project":"openstack/openstack-helm","branch":"master","topic":"glance-uwsgi-chunked-input-limit","attention_set":{},"removed_from_attention_set":{"7102":{"account":{"_account_id":7102,"name":"Thomas Bechtold","email":"thomas.bechtold@chainguard.dev","username":"toabctl"},"last_update":"2026-10-16 16:54:40.000000000","reason":"Change was submitted"}},"hashtags":[],"change_id":"Ibb75fd42e2ce5f9338c78a1cc19fcf3db4343ded","subject":"fix(glance): raise the api uWSGI chunked-input-limit to 4 MiB","status":"MERGED","created":"2026-10-16 08:06:23.000000000","updated":"2026-10-16 16:54:40.000000000","submitted":"2026-10-16 16:54:40.000000000","submitter":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"total_comment_count":0,"unresolved_comment_count":0,"has_review_started":true,"submission_id":"1010828-glance-uwsgi-chunked-input-limit","meta_rev_id":"9cd6c1e0488c185e03d1d46af67fab0764458425","_number":1010828,"virtual_id_number":1010828,"owner":{"_account_id":7102,"name":"Thomas Bechtold","email":"thomas.bechtold@chainguard.dev","username":"toabctl"},"actions":{},"labels":{"Verified":{"approved":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"all":[{"value":0,"_account_id":5890,"name":"Doug Goldstein","email":"cardoe@cardoe.com","username":"cardoe"},{"value":0,"_account_id":7156,"name":"Mathieu Gagné","email":"mgagne@calavera.ca","username":"mgagne"},{"tag":"autogenerated:zuul:gate","value":2,"date":"2026-10-16 16:54:40.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":5890,"name":"Doug Goldstein","email":"cardoe@cardoe.com","username":"cardoe"},"all":[{"value":2,"date":"2026-10-16 15:00:52.000000000","permitted_voting_range":{"min":2,"max":2},"_account_id":5890,"name":"Doug Goldstein","email":"cardoe@cardoe.com","username":"cardoe"},{"value":2,"date":"2026-10-16 15:06:21.000000000","permitted_voting_range":{"min":2,"max":2},"_account_id":7156,"name":"Mathieu Gagné","email":"mgagne@calavera.ca","username":"mgagne"},{"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":"","default_value":0,"optional":true},"Workflow":{"approved":{"_account_id":7156,"name":"Mathieu Gagné","email":"mgagne@calavera.ca","username":"mgagne"},"all":[{"value":0,"_account_id":5890,"name":"Doug Goldstein","email":"cardoe@cardoe.com","username":"cardoe"},{"value":1,"date":"2026-10-16 15:06:21.000000000","permitted_voting_range":{"min":1,"max":1},"_account_id":7156,"name":"Mathieu Gagné","email":"mgagne@calavera.ca","username":"mgagne"},{"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}},"removable_reviewers":[],"reviewers":{"REVIEWER":[{"_account_id":5890,"name":"Doug Goldstein","email":"cardoe@cardoe.com","username":"cardoe"},{"_account_id":7156,"name":"Mathieu Gagné","email":"mgagne@calavera.ca","username":"mgagne"},{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]}]},"pending_reviewers":{},"reviewer_updates":[{"updated":"2026-10-16 10:11:28.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":"2026-10-16 15:00:52.000000000","updated_by":{"_account_id":5890,"name":"Doug Goldstein","email":"cardoe@cardoe.com","username":"cardoe"},"reviewer":{"_account_id":5890,"name":"Doug Goldstein","email":"cardoe@cardoe.com","username":"cardoe"},"state":"REVIEWER"},{"updated":"2026-10-16 15:06:21.000000000","updated_by":{"_account_id":7156,"name":"Mathieu Gagné","email":"mgagne@calavera.ca","username":"mgagne"},"reviewer":{"_account_id":7156,"name":"Mathieu Gagné","email":"mgagne@calavera.ca","username":"mgagne"},"state":"REVIEWER"}],"messages":[{"id":"034e21d6bba3eb401f71c1ad7e51c313bcf1db9c","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":7102,"name":"Thomas Bechtold","email":"thomas.bechtold@chainguard.dev","username":"toabctl"},"date":"2026-10-16 08:06:23.000000000","message":"Uploaded patch set 1.","accounts_in_message":[],"_revision_number":1},{"id":"ea3c5a7585c52ddc2e7815aa4970b2d18f475cbc","tag":"autogenerated:zuul:check","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-10-16 10:11:28.000000000","message":"Patch Set 1: 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/595f6a2db1254dad857e97ea650de93f\n\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/65793d05b9e940199b48cec69753d886 : SUCCESS in 4m 20s\n- openstack-helm-linter https://zuul.opendev.org/t/openstack/build/5e7934b4ccec46febbe3ca84eb700556 : FAILURE in 3m 48s\n- openstack-helm-pre-commit https://zuul.opendev.org/t/openstack/build/1adc659f3ce0442ba496b7d5e185380c : SUCCESS in 4m 05s\n- openstack-helm-release-notes https://zuul.opendev.org/t/openstack/build/3c9942979b2f42e2adcdc15e51955629 : SUCCESS in 1m 10s\n- openstack-helm-build-charts https://zuul.opendev.org/t/openstack/build/688d5e14a9cd42ba9f2070bceee90562 : SUCCESS in 2m 04s\n- openstack-helm-compute-kit-2025-2-ubuntu_noble https://zuul.opendev.org/t/openstack/build/3df2a2dfd55f44ce8db13d0ebaea72eb : SUCCESS in 1h 42m 45s\n- openstack-helm-compute-kit-2026-1-ubuntu_noble https://zuul.opendev.org/t/openstack/build/faed815ab04f483cb7dda9594f96e62c : SUCCESS in 1h 07m 11s\n- openstack-helm-tls-2026-1-ubuntu_noble https://zuul.opendev.org/t/openstack/build/829438e9493f49b0b1ffc4f1b230de00 : SUCCESS in 1h 50m 36s\n- openstack-helm-crd-2026-1-ubuntu_noble https://zuul.opendev.org/t/openstack/build/c18232fab2cc44c29412bc4c022813aa : SUCCESS in 1h 36m 12s\n- openstack-helm-operators-2026-1-ubuntu_noble https://zuul.opendev.org/t/openstack/build/f229a85f14f446018a38c4105184bd37 : SUCCESS in 1h 44m 14s\n- openstack-helm-compute-kit-2026-2-ubuntu_resolute https://zuul.opendev.org/t/openstack/build/bec524f95c9b41aab1acbfd84d312410 : SUCCESS in 1h 15m 29s","accounts_in_message":[],"_revision_number":1},{"id":"886e5330e05c265acec2197e61ca3e65c9298bbc","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":7102,"name":"Thomas Bechtold","email":"thomas.bechtold@chainguard.dev","username":"toabctl"},"date":"2026-10-16 10:16:45.000000000","message":"Uploaded patch set 2.\n\nOutdated Votes:\n* Verified-1 (copy condition: \"NEVER\")\n","accounts_in_message":[],"_revision_number":2},{"id":"5de46574f37b19df2515f044b7804ba00d5e0868","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":7102,"name":"Thomas Bechtold","email":"thomas.bechtold@chainguard.dev","username":"toabctl"},"date":"2026-10-16 10:17:13.000000000","message":"Uploaded patch set 3.","accounts_in_message":[],"_revision_number":3},{"id":"7cb9f3afaf7695c0734174af2447d225923ac3b7","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":7102,"name":"Thomas Bechtold","email":"thomas.bechtold@chainguard.dev","username":"toabctl"},"date":"2026-10-16 10:24:53.000000000","message":"Uploaded patch set 4: Commit message was updated.","accounts_in_message":[],"_revision_number":4},{"id":"f80670258c0a484fa459824f63d5863b25a5bdba","tag":"autogenerated:zuul:check","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-10-16 12:17:27.000000000","message":"Patch Set 4: 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/e122dee1a61948deb881037cec6f586f\n\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/1c3ae00a656c4785b6227641c3a88228 : SUCCESS in 3m 45s\n- openstack-helm-linter https://zuul.opendev.org/t/openstack/build/566ff1ea0f20460b86f63438d46a83fc : SUCCESS in 3m 08s\n- openstack-helm-pre-commit https://zuul.opendev.org/t/openstack/build/322dae6d796e4f30861aace73a3292a5 : SUCCESS in 2m 44s\n- openstack-helm-release-notes https://zuul.opendev.org/t/openstack/build/3ee8bdc49659419f865a9fe04bc06d10 : SUCCESS in 1m 07s\n- openstack-helm-build-charts https://zuul.opendev.org/t/openstack/build/2f5313d70d2f4daea065c163651f1a93 : SUCCESS in 2m 12s\n- openstack-helm-compute-kit-2025-2-ubuntu_noble https://zuul.opendev.org/t/openstack/build/4784d1d5389d49fba585cb6960145b26 : FAILURE in 50m 38s\n- openstack-helm-compute-kit-2026-1-ubuntu_noble https://zuul.opendev.org/t/openstack/build/f7796bd5d0a6468ab3c1beeb2cc83d44 : FAILURE in 1h 35m 29s\n- openstack-helm-tls-2026-1-ubuntu_noble https://zuul.opendev.org/t/openstack/build/06ea6cd7138b49ebb7fb9cb987bb8b78 : SUCCESS in 1h 46m 11s\n- openstack-helm-crd-2026-1-ubuntu_noble https://zuul.opendev.org/t/openstack/build/99e11e3d784f4015b6e7f83e3e84399b : SUCCESS in 57m 58s\n- openstack-helm-operators-2026-1-ubuntu_noble https://zuul.opendev.org/t/openstack/build/62701f99ec77471f8524d194c9184016 : SUCCESS in 1h 38m 25s\n- openstack-helm-compute-kit-2026-2-ubuntu_resolute https://zuul.opendev.org/t/openstack/build/9b8cb1ff42384ed680534d54d1ec5e97 : SUCCESS in 1h 15m 08s","accounts_in_message":[],"_revision_number":4},{"id":"c98c8a53704446af83ced936f95d1e1e6d2e4d84","author":{"_account_id":7102,"name":"Thomas Bechtold","email":"thomas.bechtold@chainguard.dev","username":"toabctl"},"date":"2026-10-16 12:32:23.000000000","message":"Patch Set 4:\n\nrecheck","accounts_in_message":[],"_revision_number":4},{"id":"44f8d04a3a09934b8df6f44276a04089ee0ae9d1","tag":"autogenerated:zuul:check","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-10-16 14:33:43.000000000","message":"Patch Set 4: Verified+1\n\nBuild succeeded (check pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/9d85ac39ec7140a5b05465532f5a744e\n\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/8f858b493643494fa1a2ebe8317b7fd8 : SUCCESS in 5m 36s\n- openstack-helm-linter https://zuul.opendev.org/t/openstack/build/87a104e7dffd425cad1fab128208b9eb : SUCCESS in 3m 08s\n- openstack-helm-pre-commit https://zuul.opendev.org/t/openstack/build/ed5115c0fc0f4bbe9b460e8ad6d098c7 : SUCCESS in 2m 54s\n- openstack-helm-release-notes https://zuul.opendev.org/t/openstack/build/390286b7e7ee466e81b9dadf08c7613c : SUCCESS in 1m 35s\n- openstack-helm-build-charts https://zuul.opendev.org/t/openstack/build/29e2e94513f148fe86f800716adf7ed3 : SUCCESS in 2m 16s\n- openstack-helm-compute-kit-2025-2-ubuntu_noble https://zuul.opendev.org/t/openstack/build/4f7117fb1495459fb7e4807e2d2311ab : SUCCESS in 1h 06m 34s\n- openstack-helm-compute-kit-2026-1-ubuntu_noble https://zuul.opendev.org/t/openstack/build/b36d8e660b634957a0ed4b99281f6757 : SUCCESS in 1h 45m 36s\n- openstack-helm-tls-2026-1-ubuntu_noble https://zuul.opendev.org/t/openstack/build/2cba47c07de04cc793149bfcec540018 : SUCCESS in 1h 53m 31s\n- openstack-helm-crd-2026-1-ubuntu_noble https://zuul.opendev.org/t/openstack/build/79795777ec824acdb6b6c95f488f8d8d : SUCCESS in 1h 24m 10s\n- openstack-helm-operators-2026-1-ubuntu_noble https://zuul.opendev.org/t/openstack/build/772663aeade64884a6d6f60ebdad0fab : SUCCESS in 1h 43m 09s\n- openstack-helm-compute-kit-2026-2-ubuntu_resolute https://zuul.opendev.org/t/openstack/build/a2a38f92f9e247c1bc8f1b6a6d0339d5 : SUCCESS in 1h 15m 38s","accounts_in_message":[],"_revision_number":4},{"id":"744242f09e98b5a75529de47ba7a10cb19f08f47","author":{"_account_id":5890,"name":"Doug Goldstein","email":"cardoe@cardoe.com","username":"cardoe"},"date":"2026-10-16 15:00:52.000000000","message":"Patch Set 4: Code-Review+2","accounts_in_message":[],"_revision_number":4},{"id":"e518f67949a844b23beafc4f8a49b84702a8b9a3","author":{"_account_id":7156,"name":"Mathieu Gagné","email":"mgagne@calavera.ca","username":"mgagne"},"date":"2026-10-16 15:06:21.000000000","message":"Patch Set 4: Code-Review+2 Workflow+1","accounts_in_message":[],"_revision_number":4},{"id":"34c704c90ba4d1399ecca053366b7cba985ca104","tag":"autogenerated:zuul:gate","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-10-16 15:06:33.000000000","message":"Patch Set 4: -Verified\n\nStarting gate jobs.","accounts_in_message":[],"_revision_number":4},{"id":"26db98ad6c1a117a254e58e8c3253110de26f6c5","tag":"autogenerated:zuul:gate","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-10-16 16:54:40.000000000","message":"Patch Set 4: Verified+2\n\nBuild succeeded (gate pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/55c30d2a1c5b4769846fbd4ba7e9bb21\n\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/de8da1a34a0d4419996c975e333b3880 : SUCCESS in 3m 24s\n- openstack-helm-linter https://zuul.opendev.org/t/openstack/build/bc3a76c6e48b4418861c6477b96f0460 : SUCCESS in 2m 11s\n- openstack-helm-release-notes https://zuul.opendev.org/t/openstack/build/01e2bee9dd09430e9525163c7cec5368 : SUCCESS in 2m 18s\n- openstack-helm-compute-kit-2026-1-ubuntu_noble https://zuul.opendev.org/t/openstack/build/81184402c99a47839f8e8223138b4c68 : SUCCESS in 1h 38m 59s\n- openstack-helm-logging https://zuul.opendev.org/t/openstack/build/86ef4900f4884ad1924b4eea01baa17d : SUCCESS in 33m 08s\n- openstack-helm-monitoring https://zuul.opendev.org/t/openstack/build/e0e8f34b87cb44608854c8a6f63bd0fb : SUCCESS in 21m 45s","accounts_in_message":[],"_revision_number":4},{"id":"9cd6c1e0488c185e03d1d46af67fab0764458425","tag":"autogenerated:gerrit:merged","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-10-16 16:54:40.000000000","message":"Change has been successfully merged","accounts_in_message":[],"_revision_number":4}],"current_revision_number":4,"current_revision":"9160de52051039cfb7a14e92a4b52a04c9572745","revisions":{"18b4cb7809d09fc7253a9e97e9bb56d072b8c751":{"kind":"REWORK","_number":1,"created":"2026-10-16 08:06:23.000000000","uploader":{"_account_id":7102,"name":"Thomas Bechtold","email":"thomas.bechtold@chainguard.dev","username":"toabctl"},"ref":"refs/changes/28/1010828/1","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/openstack-helm","ref":"refs/changes/28/1010828/1","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/openstack-helm refs/changes/28/1010828/1 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/openstack-helm refs/changes/28/1010828/1 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/openstack-helm refs/changes/28/1010828/1 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/openstack-helm refs/changes/28/1010828/1"}}},"commit":{"parents":[{"commit":"6c105b29b55eae8f8a91f470179d70caf0658aff","subject":"Merge \"fix(cyborg): Run api and conductor as non-root\"","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/openstack-helm/commit/6c105b29b55eae8f8a91f470179d70caf0658aff"}]}],"author":{"name":"Thomas Bechtold","email":"thomasbechtold@jpberlin.de","date":"2026-10-16 08:03:50.000000000","tz":120},"committer":{"name":"Thomas Bechtold","email":"thomasbechtold@jpberlin.de","date":"2026-10-16 08:03:57.000000000","tz":120},"subject":"fix(glance): raise the api uWSGI chunked-input-limit to 4 MiB","message":"fix(glance): raise the api uWSGI chunked-input-limit to 4 MiB\n\nnova instance snapshots failed: the upload got HTTP 500, glance-api\nlogged \"Failed to upload image data due to internal error: OSError:\nunable to receive chunked part\" and nova deleted the image.\n\nnova uploads through python-glanceclient, which sends the image as\nchunked transfer encoding in 1 MiB chunks (CHUNKSIZE in\nglanceclient/common/http.py), straight to the glance-api service.\nuWSGI buffers each chunk plus its trailing CRLF in a buffer capped by\nchunked-input-limit, 1 MiB by default (core/chunked.c), so the largest\nchunk it accepts is 1 MiB - 2 bytes and uwsgi.chunked_read() fails on\nthe first full glanceclient chunk. Uploads below 1 MiB, such as a\nsnapshot of a server booted from a tempest test image, go through.\nRequests through a proxy that re-chunks the body, such as the Envoy\ngateway or devstack\u0027s Apache with proxy-sendchunked, go through as\nwell.\n\nSet chunked-input-limit to 4 MiB. The value is quoted because helm\nrenders an unquoted 4194304 as 4.194304e+06, which uWSGI reads as 4.\n\nChecked on a single-node openstack-helm deployment: with the default,\nthree nova snapshots of a CirrOS server failed and a raw chunked PUT\nto /v2/images/{id}/file fails from a 1048575 byte chunk on; with this\nchange the snapshots (50 chunks, 52 MB each) succeed and the boundary\nmoves to 4194303 bytes.\n\nAssisted-by: Claude Opus 5.5\nChange-Id: Ibb75fd42e2ce5f9338c78a1cc19fcf3db4343ded\nSigned-off-by: Thomas Bechtold \u003cthomasbechtold@jpberlin.de\u003e\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/openstack-helm/commit/18b4cb7809d09fc7253a9e97e9bb56d072b8c751"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/openstack-helm/commit/18b4cb7809d09fc7253a9e97e9bb56d072b8c751"}]},"branch":"refs/heads/master"},"179ec2c36b1ef1977d4634c69eff70c4c7ee305d":{"kind":"REWORK","_number":2,"created":"2026-10-16 10:16:45.000000000","uploader":{"_account_id":7102,"name":"Thomas Bechtold","email":"thomas.bechtold@chainguard.dev","username":"toabctl"},"ref":"refs/changes/28/1010828/2","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/openstack-helm","ref":"refs/changes/28/1010828/2","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/openstack-helm refs/changes/28/1010828/2 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/openstack-helm refs/changes/28/1010828/2 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/openstack-helm refs/changes/28/1010828/2 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/openstack-helm refs/changes/28/1010828/2"}}},"commit":{"parents":[{"commit":"6c105b29b55eae8f8a91f470179d70caf0658aff","subject":"Merge \"fix(cyborg): Run api and conductor as non-root\"","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/openstack-helm/commit/6c105b29b55eae8f8a91f470179d70caf0658aff"}]}],"author":{"name":"Thomas Bechtold","email":"thomasbechtold@jpberlin.de","date":"2026-10-16 08:03:50.000000000","tz":120},"committer":{"name":"Thomas Bechtold","email":"thomasbechtold@jpberlin.de","date":"2026-10-16 10:12:44.000000000","tz":120},"subject":"fix(glance): raise the api uWSGI chunked-input-limit to 4 MiB","message":"fix(glance): raise the api uWSGI chunked-input-limit to 4 MiB\n\nnova instance snapshots failed: the upload got HTTP 500, glance-api\nlogged \"Failed to upload image data due to internal error: OSError:\nunable to receive chunked part\" and nova deleted the image.\n\nnova uploads through python-glanceclient, which sends the image as\nchunked transfer encoding in 1 MiB chunks (CHUNKSIZE in\nglanceclient/common/http.py), straight to the glance-api service.\nuWSGI buffers each chunk plus its trailing CRLF in a buffer capped by\nchunked-input-limit, 1 MiB by default (core/chunked.c), so the largest\nchunk it accepts is 1 MiB - 2 bytes and uwsgi.chunked_read() fails on\nthe first full glanceclient chunk. Uploads below 1 MiB, such as a\nsnapshot of a server booted from a tempest test image, go through.\nRequests through a proxy that re-chunks the body, such as the Envoy\ngateway or devstack\u0027s Apache with proxy-sendchunked, go through as\nwell.\n\nSet chunked-input-limit to 4 MiB. The value is quoted because helm\nrenders an unquoted 4194304 as 4.194304e+06, which uWSGI reads as 4.\n\nChecked on a single-node openstack-helm deployment: with the default,\nthree nova snapshots of a CirrOS server failed and a raw chunked PUT\nto /v2/images/{id}/file fails from a 1048575 byte chunk on; with this\nchange the snapshots (50 chunks, 52 MB each) succeed and the boundary\nmoves to 4194303 bytes.\n\nAssisted-by: Claude Opus 5.5\nChange-Id: Ibb75fd42e2ce5f9338c78a1cc19fcf3db4343ded\nSigned-off-by: Thomas Bechtold \u003cthomasbechtold@jpberlin.de\u003e\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/openstack-helm/commit/179ec2c36b1ef1977d4634c69eff70c4c7ee305d"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/openstack-helm/commit/179ec2c36b1ef1977d4634c69eff70c4c7ee305d"}]},"branch":"refs/heads/master"},"5a7fafa6d95a68ac1958dda7b54f6a68bd5ed6e8":{"kind":"REWORK","_number":3,"created":"2026-10-16 10:17:13.000000000","uploader":{"_account_id":7102,"name":"Thomas Bechtold","email":"thomas.bechtold@chainguard.dev","username":"toabctl"},"ref":"refs/changes/28/1010828/3","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/openstack-helm","ref":"refs/changes/28/1010828/3","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/openstack-helm refs/changes/28/1010828/3 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/openstack-helm refs/changes/28/1010828/3 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/openstack-helm refs/changes/28/1010828/3 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/openstack-helm refs/changes/28/1010828/3"}}},"commit":{"parents":[{"commit":"6c105b29b55eae8f8a91f470179d70caf0658aff","subject":"Merge \"fix(cyborg): Run api and conductor as non-root\"","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/openstack-helm/commit/6c105b29b55eae8f8a91f470179d70caf0658aff"}]}],"author":{"name":"Thomas Bechtold","email":"thomasbechtold@jpberlin.de","date":"2026-10-16 08:03:50.000000000","tz":120},"committer":{"name":"Thomas Bechtold","email":"thomasbechtold@jpberlin.de","date":"2026-10-16 10:17:07.000000000","tz":120},"subject":"fix(glance): raise the api uWSGI chunked-input-limit to 4 MiB","message":"fix(glance): raise the api uWSGI chunked-input-limit to 4 MiB\n\nnova instance snapshots failed: the upload got HTTP 500, glance-api\nlogged \"Failed to upload image data due to internal error: OSError:\nunable to receive chunked part\" and nova deleted the image.\n\nnova uploads through python-glanceclient, which sends the image as\nchunked transfer encoding in 1 MiB chunks (CHUNKSIZE in\nglanceclient/common/http.py), straight to the glance-api service.\nuWSGI buffers each chunk plus its trailing CRLF in a buffer capped by\nchunked-input-limit, 1 MiB by default (core/chunked.c), so the largest\nchunk it accepts is 1 MiB - 2 bytes and uwsgi.chunked_read() fails on\nthe first full glanceclient chunk. Uploads below 1 MiB, such as a\nsnapshot of a server booted from a tempest test image, go through.\nRequests through a proxy that re-chunks the body, such as the Envoy\ngateway or devstack\u0027s Apache with proxy-sendchunked, go through as\nwell.\n\nSet chunked-input-limit to 4 MiB. The value is quoted because helm\nrenders an unquoted 4194304 as 4.194304e+06, which uWSGI reads as 4.\n\nChecked on a single-node openstack-helm deployment: with the default,\nthree nova snapshots of a CirrOS server failed and a raw chunked PUT\nto /v2/images/{id}/file fails from a 1048575 byte chunk on; with this\nchange the snapshots (50 chunks, 52 MB each) succeed and the boundary\nmoves to 4194303 bytes.\n\nAssisted-by: Claude Opus 5.5\nChange-Id: Ibb75fd42e2ce5f9338c78a1cc19fcf3db4343ded\nSigned-off-by: Thomas Bechtold \u003cthomasbechtold@jpberlin.de\u003e\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/openstack-helm/commit/5a7fafa6d95a68ac1958dda7b54f6a68bd5ed6e8"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/openstack-helm/commit/5a7fafa6d95a68ac1958dda7b54f6a68bd5ed6e8"}]},"branch":"refs/heads/master"},"9160de52051039cfb7a14e92a4b52a04c9572745":{"kind":"NO_CODE_CHANGE","_number":4,"created":"2026-10-16 10:24:53.000000000","uploader":{"_account_id":7102,"name":"Thomas Bechtold","email":"thomas.bechtold@chainguard.dev","username":"toabctl"},"ref":"refs/changes/28/1010828/4","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/openstack-helm","ref":"refs/changes/28/1010828/4","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/openstack-helm refs/changes/28/1010828/4 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/openstack-helm refs/changes/28/1010828/4 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/openstack-helm refs/changes/28/1010828/4 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/openstack-helm refs/changes/28/1010828/4"}}},"commit":{"parents":[{"commit":"6c105b29b55eae8f8a91f470179d70caf0658aff","subject":"Merge \"fix(cyborg): Run api and conductor as non-root\"","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/openstack-helm/commit/6c105b29b55eae8f8a91f470179d70caf0658aff"}]}],"author":{"name":"Thomas Bechtold","email":"thomasbechtold@jpberlin.de","date":"2026-10-16 08:03:50.000000000","tz":120},"committer":{"name":"Thomas Bechtold","email":"thomasbechtold@jpberlin.de","date":"2026-10-16 10:24:52.000000000","tz":120},"subject":"fix(glance): raise the api uWSGI chunked-input-limit to 4 MiB","message":"fix(glance): raise the api uWSGI chunked-input-limit to 4 MiB\n\nnova instance snapshots failed: the upload got HTTP 500, glance-api\nlogged \"Failed to upload image data due to internal error: OSError:\nunable to receive chunked part\" and nova deleted the image.\n\npython-glanceclient sends image data chunked in 1 MiB chunks\n(CHUNKSIZE in glanceclient/common/http.py). uWSGI buffers each chunk\nplus its trailing CRLF up to chunked-input-limit, 1 MiB by default\n(core/chunked.c), so a full 1 MiB chunk does not fit.\n\nSet chunked-input-limit to 4 MiB. The value is quoted because helm\nrenders an unquoted 4194304 as 4.194304e+06, which uWSGI reads as 4.\n\nChecked on a single-node openstack-helm deployment: nova snapshots of\na CirrOS server failed with the default and succeed with this change.\n\nAssisted-by: Claude Opus 5.5\nChange-Id: Ibb75fd42e2ce5f9338c78a1cc19fcf3db4343ded\nSigned-off-by: Thomas Bechtold \u003cthomasbechtold@jpberlin.de\u003e\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/openstack-helm/commit/9160de52051039cfb7a14e92a4b52a04c9572745"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/openstack-helm/commit/9160de52051039cfb7a14e92a4b52a04c9572745"}]},"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":7156,"name":"Mathieu Gagné","email":"mgagne@calavera.ca","username":"mgagne"}},{"label":"Workflow","status":"MAY","applied_by":{"_account_id":7156,"name":"Mathieu Gagné","email":"mgagne@calavera.ca","username":"mgagne"}}]}],"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":{"label:Verified\u003dMAX":"","label:Verified\u003dMIN":""}}},{"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":{"label:Code-Review\u003dMAX":"","label:Code-Review\u003dMIN":""}}},{"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":{"label:Workflow\u003dMAX":"","label:Workflow\u003dMIN":""}}}]}
