)]}'
{"id":"openstack%2Fcodegenerator~1005193","triplet_id":"openstack%2Fcodegenerator~master~I7de212fb5c2d431b78e9e909078a55f7530daf97","project":"openstack/codegenerator","branch":"master","hashtags":[],"change_id":"I7de212fb5c2d431b78e9e909078a55f7530daf97","subject":"fix(rust): Lowercase header names and add X-Subject-Token to DELETE /v3/auth/tokens","status":"MERGED","created":"2026-09-11 08:51:00.000000000","updated":"2026-09-11 12:10:56.000000000","submitted":"2026-09-11 12:09:49.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":"1005193","meta_rev_id":"8c0d64228d2e0105ee947bed339045d50b3b0573","_number":1005193,"virtual_id_number":1005193,"owner":{"_account_id":27900,"name":"Artem Goncharov","email":"artem.goncharov@gmail.com","username":"gtema"},"actions":{},"labels":{"Verified":{"approved":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"all":[{"value":0,"_account_id":27900,"name":"Artem Goncharov","email":"artem.goncharov@gmail.com","username":"gtema"},{"tag":"autogenerated:zuul:gate","value":2,"date":"2026-09-11 12:09:49.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":27900,"name":"Artem Goncharov","email":"artem.goncharov@gmail.com","username":"gtema"},"all":[{"value":2,"date":"2026-09-11 10:58:46.000000000","permitted_voting_range":{"min":2,"max":2},"_account_id":27900,"name":"Artem Goncharov","email":"artem.goncharov@gmail.com","username":"gtema"},{"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":27900,"name":"Artem Goncharov","email":"artem.goncharov@gmail.com","username":"gtema"},"all":[{"value":1,"date":"2026-09-11 10:58:46.000000000","permitted_voting_range":{"min":1,"max":1},"_account_id":27900,"name":"Artem Goncharov","email":"artem.goncharov@gmail.com","username":"gtema"},{"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":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},{"_account_id":27900,"name":"Artem Goncharov","email":"artem.goncharov@gmail.com","username":"gtema"}]},"pending_reviewers":{},"reviewer_updates":[{"updated":"2026-09-11 09:26:30.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"}],"messages":[{"id":"a6ca33a9fa5a69ff922024022d58a9018ce104ed","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":27900,"name":"Artem Goncharov","email":"artem.goncharov@gmail.com","username":"gtema"},"date":"2026-09-11 08:51:00.000000000","message":"Uploaded patch set 1.","accounts_in_message":[],"_revision_number":1},{"id":"f2a3b82cf445eac379b6e442cc844a5dac54edba","tag":"autogenerated:zuul:check","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-09-11 09:26:30.000000000","message":"Patch Set 1: Verified+1\n\nBuild succeeded (check pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/e634ab6ab399492685986183d797cebe\n\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/5c63ee1bbf224e829e12125c99c6025a : SUCCESS in 3m 11s\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/83e9f74015214396aa7eb4657bf46a80 : SUCCESS in 3m 34s\n- openstack-tox-py311 https://zuul.opendev.org/t/openstack/build/efa295478f3d4ea1b42bd3985e7d8449 : SUCCESS in 2m 54s\n- codegenerator-openapi-baremetal-tips-with-api-ref https://zuul.opendev.org/t/openstack/build/3d04aeec713248659bc4913a9242d49c : SUCCESS in 5m 36s\n- codegenerator-openapi-block-storage-tips-with-api-ref https://zuul.opendev.org/t/openstack/build/74dd4f24864c403ea5a0c3f5ef99177c : SUCCESS in 6m 37s\n- codegenerator-openapi-compute-tips-with-api-ref https://zuul.opendev.org/t/openstack/build/06a0202c54c748f9b9042a2522532a67 : SUCCESS in 8m 07s\n- codegenerator-openapi-container-infrastructure-management-tips-with-api-ref https://zuul.opendev.org/t/openstack/build/fd4c27ae10ad45cf86a88b11608e86c6 : SUCCESS in 5m 02s\n- codegenerator-openapi-dns-tips-with-api-ref https://zuul.opendev.org/t/openstack/build/55261433393c49b1bfd1b104235a0498 : SUCCESS in 2m 53s\n- codegenerator-openapi-identity-tips-with-api-ref https://zuul.opendev.org/t/openstack/build/4fc1774fff844f15950f3f8015ee7ce6 : SUCCESS in 3m 17s\n- codegenerator-openapi-identity-tips https://zuul.opendev.org/t/openstack/build/0cd09e8fff384e04a8627299747e3e3c : SUCCESS in 4m 20s\n- codegenerator-openapi-image-tips-with-api-ref https://zuul.opendev.org/t/openstack/build/13084f2d6ec048caa678a8e8a2ff1f98 : SUCCESS in 3m 14s\n- codegenerator-openapi-key-manager-tips https://zuul.opendev.org/t/openstack/build/71ac746653374ffca491bb7c041c95f7 : SUCCESS in 2m 44s\n- codegenerator-openapi-load-balancing-tips-with-api-ref https://zuul.opendev.org/t/openstack/build/523f0943ef7b4c75907ab2a101a16a95 : SUCCESS in 5m 05s\n- codegenerator-openapi-network-tips-with-api-ref https://zuul.opendev.org/t/openstack/build/0bc62a7ef8314247a614dffe46d64a8a : SUCCESS in 7m 36s\n- codegenerator-openapi-object-store-static https://zuul.opendev.org/t/openstack/build/116bdeb51b064110be3f649520f38363 : SUCCESS in 1m 16s\n- codegenerator-openapi-placement-tips-with-api-ref https://zuul.opendev.org/t/openstack/build/98149efedd6f4da38dca682c237972f3 : SUCCESS in 5m 03s\n- codegenerator-openapi-shared-file-system-tips-with-api-ref https://zuul.opendev.org/t/openstack/build/757a4892630c44e7b518fbe65b753934 : SUCCESS in 6m 25s\n- codegenerator-tox-publish-openapi-specs https://zuul.opendev.org/t/openstack/build/2404fe1b26244477b94bd9a984bf0ebe : SUCCESS in 3m 30s\n- codegenerator-rust-all https://zuul.opendev.org/t/openstack/build/207765a3140749178cc5baa588f68afa : SUCCESS in 20m 20s","accounts_in_message":[],"_revision_number":1},{"id":"8313a1dc98966c4888b4bc90b4b1e3dce62741f2","author":{"_account_id":27900,"name":"Artem Goncharov","email":"artem.goncharov@gmail.com","username":"gtema"},"date":"2026-09-11 10:58:46.000000000","message":"Patch Set 1: Code-Review+2 Workflow+1","accounts_in_message":[],"_revision_number":1},{"id":"09c4583ba94d50f53f5f30f2fe297ddd3cbe71bb","tag":"autogenerated:zuul:gate","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-09-11 10:59:37.000000000","message":"Patch Set 1: -Verified\n\nStarting gate jobs.","accounts_in_message":[],"_revision_number":1},{"id":"ba4f62ad250087e3a626227bbdcf8425daf29d66","tag":"autogenerated:zuul:gate","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-09-11 12:09:49.000000000","message":"Patch Set 1: Verified+2\n\nBuild succeeded (gate pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/e28b61fa92d74329b0e26ff02459a9c6\n\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/be0db3cfdca440dcb57cd1463f7ce36a : SUCCESS in 3m 12s\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/d5818930398e4c099538fcebf0ff1d25 : SUCCESS in 3m 27s\n- openstack-tox-py311 https://zuul.opendev.org/t/openstack/build/b7e045b6051e4e0881ac3bfae818fc85 : SUCCESS in 4m 44s\n- codegenerator-openapi-baremetal-tips-with-api-ref https://zuul.opendev.org/t/openstack/build/66ab2b0b9b994210aee15fb72fb9aee6 : SUCCESS in 5m 30s\n- codegenerator-openapi-block-storage-tips-with-api-ref https://zuul.opendev.org/t/openstack/build/0c5e7d756d814cdd839efd4c57f4d3e7 : SUCCESS in 6m 10s\n- codegenerator-openapi-compute-tips-with-api-ref https://zuul.opendev.org/t/openstack/build/2aca640f4e494f0894660e36b8fa6784 : SUCCESS in 8m 06s\n- codegenerator-openapi-container-infrastructure-management-tips-with-api-ref https://zuul.opendev.org/t/openstack/build/904d081a421d47879b4ac84e1a278cb8 : SUCCESS in 6m 15s\n- codegenerator-openapi-dns-tips-with-api-ref https://zuul.opendev.org/t/openstack/build/ade3af2b9c0c47fe92011b3f8494a731 : SUCCESS in 3m 04s\n- codegenerator-openapi-identity-tips-with-api-ref https://zuul.opendev.org/t/openstack/build/9b0586942c2a4e34b80bf1661ed13c38 : SUCCESS in 7m 47s\n- codegenerator-openapi-image-tips-with-api-ref https://zuul.opendev.org/t/openstack/build/ba7a8b51ce684b43a4264357bf204055 : SUCCESS in 2m 53s\n- codegenerator-openapi-key-manager-tips https://zuul.opendev.org/t/openstack/build/bc4061bdfd2446dfb7039d6507a48a27 : SUCCESS in 3m 53s\n- codegenerator-openapi-load-balancing-tips-with-api-ref https://zuul.opendev.org/t/openstack/build/d98e37e39e7a4950910068a12aaa7af0 : SUCCESS in 5m 52s\n- codegenerator-openapi-network-tips-with-api-ref https://zuul.opendev.org/t/openstack/build/57d7d8b2ed5f4f95be1cde0033ade5d3 : SUCCESS in 7m 30s\n- codegenerator-openapi-object-store-static https://zuul.opendev.org/t/openstack/build/79c2296b1fbb43cb8b68fae22bc1eacc : SUCCESS in 1m 58s\n- codegenerator-openapi-placement-tips-with-api-ref https://zuul.opendev.org/t/openstack/build/a0600fd20dad4149bf7aa02130cc984c : SUCCESS in 5m 13s\n- codegenerator-openapi-shared-file-system-tips-with-api-ref https://zuul.opendev.org/t/openstack/build/30bcdc8d8d9a433ea9279238fe25c947 : SUCCESS in 4m 03s\n- codegenerator-tox-publish-openapi-specs https://zuul.opendev.org/t/openstack/build/c52c9d4d341a4e3a96267e2d9e98e135 : SUCCESS in 2m 12s\n- codegenerator-rust-all https://zuul.opendev.org/t/openstack/build/fe0b6c51886b475bb989abf54d9a2a8d : SUCCESS in 45m 58s","accounts_in_message":[],"_revision_number":1},{"id":"50986e6c88fd0db9ed87321c17e6c3b5f26f15fe","tag":"autogenerated:gerrit:merged","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-09-11 12:09:49.000000000","message":"Change has been successfully merged","accounts_in_message":[],"_revision_number":1},{"id":"8c0d64228d2e0105ee947bed339045d50b3b0573","tag":"autogenerated:zuul:promote","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-09-11 12:10:56.000000000","message":"Patch Set 1:\n\nBuild succeeded (promote pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/c6f6936180034eb2a9c622c7c3b351bd\n\n- promote-openstack-tox-docs https://zuul.opendev.org/t/openstack/build/5cce1dce66e0430485d3cddab3a41f1d : SUCCESS in 49s\n- codegenerator-propose-rust-openstack-change https://zuul.opendev.org/t/openstack/build/33e36e93f87b45a59fd4089af4aab2c5 : SUCCESS in 55s\n\nWarning:\n  File .ssh/known_hosts.old found in build home directory during playbook opendev.org/opendev/base-jobs/playbooks/base/post.yaml for job codegenerator-propose-rust-openstack-change.  Add to preserve-home-paths if safe, or otherwise remove.\n  File openstack/renovate.json5 found in build home directory during playbook opendev.org/opendev/base-jobs/playbooks/base/post.yaml for job codegenerator-propose-rust-openstack-change.  Add to preserve-home-paths if safe, or otherwise remove.\n  File openstack/clippy.toml found in build home directory during playbook opendev.org/opendev/base-jobs/playbooks/base/post.yaml for job codegenerator-propose-rust-openstack-change.  Add to preserve-home-paths if safe, or otherwise remove.\n  File openstack/.gitignore found in build home directory during playbook opendev.org/opendev/base-jobs/playbooks/base/post.yaml for job codegenerator-propose-rust-openstack-change.  Add to preserve-home-paths if safe, or otherwise remove.\n  File openstack/.clog.toml found in build home directory during playbook opendev.org/opendev/base-jobs/playbooks/base/post.yaml for job codegenerator-propose-rust-openstack-change.  Add to preserve-home-paths if safe, or otherwise remove.\n  File openstack/Dockerfile found in build home directory during playbook opendev.org/opendev/base-jobs/playbooks/base/post.yaml for job codegenerator-propose-rust-openstack-change.  Add to preserve-home-paths if safe, or otherwise remove.\n  File .ssh/known_hosts.old found in build home directory during playbook opendev.org/opendev/base-jobs/playbooks/base/cleanup.yaml for job codegenerator-propose-rust-openstack-change.  Add to preserve-home-paths if safe, or otherwise remove.\n  File .ssh/known_hosts.old found in build home directory during playbook opendev.org/opendev/base-jobs/playbooks/base/post-logs.yaml for job codegenerator-propose-rust-openstack-change.  Add to preserve-home-paths if safe, or otherwise remove.","accounts_in_message":[],"_revision_number":1}],"current_revision_number":1,"current_revision":"6b0847484a6f9219393fba9e8d462733422a50d9","revisions":{"6b0847484a6f9219393fba9e8d462733422a50d9":{"kind":"REWORK","_number":1,"created":"2026-09-11 08:51:00.000000000","uploader":{"_account_id":27900,"name":"Artem Goncharov","email":"artem.goncharov@gmail.com","username":"gtema"},"ref":"refs/changes/93/1005193/1","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/codegenerator","ref":"refs/changes/93/1005193/1","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/codegenerator refs/changes/93/1005193/1 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/codegenerator refs/changes/93/1005193/1 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/codegenerator refs/changes/93/1005193/1 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/codegenerator refs/changes/93/1005193/1"}}},"commit":{"parents":[{"commit":"37b803fc32885d0b575a4b5908a8a2173ee9b4eb","subject":"feat(ci): Add periodic job to push generated code upstream","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/codegenerator/commit/37b803fc32885d0b575a4b5908a8a2173ee9b4eb"}]}],"author":{"name":"Artem Goncharov","email":"artem.goncharov@gmail.com","date":"2026-09-11 08:00:38.000000000","tz":120},"committer":{"name":"Artem Goncharov","email":"artem.goncharov@gmail.com","date":"2026-09-11 08:49:25.000000000","tz":120},"subject":"fix(rust): Lowercase header names and add X-Subject-Token to DELETE /v3/auth/tokens","message":"fix(rust): Lowercase header names and add X-Subject-Token to DELETE /v3/auth/tokens\n\nHeaderName::from_static panics on a non-lowercase literal, so any\ngenerated rust-cli command setting a mixed-case header (e.g.\nX-Subject-Token, Content-Type, X-Image-Meta-Store) crashed at runtime.\nLowercase param.remote_name when rendering the literal.\n\nAlso DELETE /v3/auth/tokens (token revoke) never got the X-Subject-Token\nparameter wired up, unlike GET, so the generated CLI command silently\nrevoked nothing. Extend the auth/tokens header handling in the keystone\nOpenAPI generator to cover DELETE (and HEAD, which behaves like GET\nhere) so the parameter is emitted for the revoke operation too.\n\nChange-Id: I7de212fb5c2d431b78e9e909078a55f7530daf97\nSigned-off-by: Artem Goncharov \u003cartem.goncharov@gmail.com\u003e\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/codegenerator/commit/6b0847484a6f9219393fba9e8d462733422a50d9"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/codegenerator/commit/6b0847484a6f9219393fba9e8d462733422a50d9"}]},"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":27900,"name":"Artem Goncharov","email":"artem.goncharov@gmail.com","username":"gtema"}},{"label":"Workflow","status":"MAY","applied_by":{"_account_id":27900,"name":"Artem Goncharov","email":"artem.goncharov@gmail.com","username":"gtema"}}]}],"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":""}}}]}
