)]}'
{"id":"openstack%2Fcodegenerator~1003297","triplet_id":"openstack%2Fcodegenerator~master~I7d9f26f3a0b11479999142ea95944a757d5d720d","project":"openstack/codegenerator","branch":"master","attention_set":{},"removed_from_attention_set":{"27900":{"account":{"_account_id":27900,"name":"Artem Goncharov","email":"artem.goncharov@gmail.com","username":"gtema"},"last_update":"2026-09-02 09:42:49.000000000","reason":"\u003cGERRIT_ACCOUNT_27900\u003e replied on the change","reason_account":{"_account_id":27900,"name":"Artem Goncharov","email":"artem.goncharov@gmail.com","username":"gtema"}}},"hashtags":[],"change_id":"I7d9f26f3a0b11479999142ea95944a757d5d720d","subject":"fix(rust-types): render nullable arrays as Option","status":"MERGED","created":"2026-09-01 15:43:57.000000000","updated":"2026-09-02 10:49:56.000000000","submitted":"2026-09-02 10:48:51.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":"1003297","meta_rev_id":"d2fadafcfbfa868163debc49c7e2b2524eacb5d9","_number":1003297,"virtual_id_number":1003297,"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":[{"tag":"autogenerated:zuul:gate","value":2,"date":"2026-09-02 10:48:51.000000000","permitted_voting_range":{"min":2,"max":2},"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},{"value":0,"_account_id":27900,"name":"Artem Goncharov","email":"artem.goncharov@gmail.com","username":"gtema"}],"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":0,"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},{"value":2,"date":"2026-09-02 09:42:49.000000000","permitted_voting_range":{"min":2,"max":2},"_account_id":27900,"name":"Artem Goncharov","email":"artem.goncharov@gmail.com","username":"gtema"}],"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":0,"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},{"value":1,"date":"2026-09-02 09:42:49.000000000","permitted_voting_range":{"min":1,"max":1},"_account_id":27900,"name":"Artem Goncharov","email":"artem.goncharov@gmail.com","username":"gtema"}],"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-01 16:10:23.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":"2ecce42630fb60e1c4b019f8ca0f53008c16feac","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":27900,"name":"Artem Goncharov","email":"artem.goncharov@gmail.com","username":"gtema"},"date":"2026-09-01 15:43:57.000000000","message":"Uploaded patch set 1.","accounts_in_message":[],"_revision_number":1},{"id":"623b9947bd58b3e94c5ebe3095b61d6934bcd38e","tag":"autogenerated:zuul:check","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-09-01 16:10:23.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/2de64d318c504359bafc77f88af86a54\n\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/fcc0e415ef474d0198d4709e0af6236d : SUCCESS in 2m 47s\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/38adb2bf62a747d78385c7351ad980bb : SUCCESS in 3m 40s\n- openstack-tox-py311 https://zuul.opendev.org/t/openstack/build/7fddf83dfd6147558cfa2f06ac663f3a : FAILURE in 2m 47s\n- codegenerator-openapi-baremetal-tips-with-api-ref https://zuul.opendev.org/t/openstack/build/042d9334ad0c499eb6d9b9b0e3f71b62 : SUCCESS in 3m 33s\n- codegenerator-openapi-block-storage-tips-with-api-ref https://zuul.opendev.org/t/openstack/build/4142d8ba3d7847f28fa0071fd47ec570 : SUCCESS in 6m 36s\n- codegenerator-openapi-compute-tips-with-api-ref https://zuul.opendev.org/t/openstack/build/77c44acaaa884734ba2dd40ff74a1bc4 : SUCCESS in 6m 46s\n- codegenerator-openapi-container-infrastructure-management-tips-with-api-ref https://zuul.opendev.org/t/openstack/build/b0bed02967ca4e93999b2fcdfcfdffb7 : SUCCESS in 3m 21s\n- codegenerator-openapi-dns-tips-with-api-ref https://zuul.opendev.org/t/openstack/build/3484becaadec4c819cec7865a6d60029 : SUCCESS in 5m 33s\n- codegenerator-openapi-identity-tips-with-api-ref https://zuul.opendev.org/t/openstack/build/e1777e3428e7464eb57764aee1591f24 : SUCCESS in 7m 09s\n- codegenerator-openapi-identity-tips https://zuul.opendev.org/t/openstack/build/147ebdec44774a16b4fa270c94593b48 : SUCCESS in 4m 47s\n- codegenerator-openapi-image-tips-with-api-ref https://zuul.opendev.org/t/openstack/build/5ba56e2c10e64dbbad98d7c2f254bee6 : SUCCESS in 6m 59s\n- codegenerator-openapi-key-manager-tips https://zuul.opendev.org/t/openstack/build/edbdfbfaf21e460e945be2f27a6f0495 : SUCCESS in 3m 38s\n- codegenerator-openapi-load-balancing-tips-with-api-ref https://zuul.opendev.org/t/openstack/build/9d2d14ccce3b48b1a4cdefeea8b576d7 : SUCCESS in 3m 35s\n- codegenerator-openapi-network-tips-with-api-ref https://zuul.opendev.org/t/openstack/build/9a4c1107ce8e48ab9dd89898e320499d : SUCCESS in 8m 28s\n- codegenerator-openapi-object-store-static https://zuul.opendev.org/t/openstack/build/6b97b1791c074ade93a59c1fee5e37d0 : SUCCESS in 1m 29s\n- codegenerator-openapi-placement-tips-with-api-ref https://zuul.opendev.org/t/openstack/build/164bc06c03c34b7581b249f6a26c7e5a : SUCCESS in 6m 33s\n- codegenerator-openapi-shared-file-system-tips-with-api-ref https://zuul.opendev.org/t/openstack/build/96ee5acbed2742bfb518863205792299 : SUCCESS in 3m 51s\n- codegenerator-tox-publish-openapi-specs https://zuul.opendev.org/t/openstack/build/ac2bfe7c500445c5ba788b43aab75009 : SUCCESS in 3m 33s\n- codegenerator-rust-all https://zuul.opendev.org/t/openstack/build/b33dee88d94b4f3aab27891f8eb0a0ab : FAILURE in 14m 11s","accounts_in_message":[],"_revision_number":1},{"id":"17ea5ef798f1b1692e4042a6fc361bf5eb4f3dff","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":27900,"name":"Artem Goncharov","email":"artem.goncharov@gmail.com","username":"gtema"},"date":"2026-09-01 16:39:49.000000000","message":"Uploaded patch set 2.\n\nOutdated Votes:\n* Verified-1 (copy condition: \"NEVER\")\n","accounts_in_message":[],"_revision_number":2},{"id":"d34d4eedb699046a1c3c46334e9eb8eb998662cc","tag":"autogenerated:zuul:check","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-09-01 16:58:05.000000000","message":"Patch Set 2: 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/28aa2ca0d9234c84ac9ffc83135a280e\n\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/2af00fae1b164b2e879888a62fcf1974 : SUCCESS in 2m 03s\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/1fb030bfb6e649d186ccf4d48ba4e768 : SUCCESS in 2m 32s\n- openstack-tox-py311 https://zuul.opendev.org/t/openstack/build/348bb5df03e94ab299f3baf677d426bb : SUCCESS in 2m 03s\n- codegenerator-openapi-baremetal-tips-with-api-ref https://zuul.opendev.org/t/openstack/build/f1417ebbb9e347978eb19e2c698459e5 : SUCCESS in 4m 06s\n- codegenerator-openapi-block-storage-tips-with-api-ref https://zuul.opendev.org/t/openstack/build/cf06ef9538084013a4eb2114736ced2b : SUCCESS in 3m 18s\n- codegenerator-openapi-compute-tips-with-api-ref https://zuul.opendev.org/t/openstack/build/126067175166448e92b9d12408187839 : SUCCESS in 3m 29s\n- codegenerator-openapi-container-infrastructure-management-tips-with-api-ref https://zuul.opendev.org/t/openstack/build/11dcb025d9e247c4871e2f03b50240fa : SUCCESS in 5m 19s\n- codegenerator-openapi-dns-tips-with-api-ref https://zuul.opendev.org/t/openstack/build/996be194f77e477cbe2bbd04fa4cf3c7 : SUCCESS in 5m 23s\n- codegenerator-openapi-identity-tips-with-api-ref https://zuul.opendev.org/t/openstack/build/4852997f52b1412e9b86ef2cea507698 : SUCCESS in 6m 45s\n- codegenerator-openapi-identity-tips https://zuul.opendev.org/t/openstack/build/d3ad745ea1d84e69896e96b1a8157e8d : SUCCESS in 4m 02s\n- codegenerator-openapi-image-tips-with-api-ref https://zuul.opendev.org/t/openstack/build/93bf0097290e4c61b3abe9830877ab77 : SUCCESS in 7m 29s\n- codegenerator-openapi-key-manager-tips https://zuul.opendev.org/t/openstack/build/d92c846f0a2348f6ae39988cfcbe6778 : SUCCESS in 2m 34s\n- codegenerator-openapi-load-balancing-tips-with-api-ref https://zuul.opendev.org/t/openstack/build/adbccc0f727b4fa4846bba301c3b3d4b : SUCCESS in 6m 23s\n- codegenerator-openapi-network-tips-with-api-ref https://zuul.opendev.org/t/openstack/build/cd9b32133eba49de8277b03fa0bf684d : SUCCESS in 7m 35s\n- codegenerator-openapi-object-store-static https://zuul.opendev.org/t/openstack/build/2339bb496028418db01748c32e561b63 : SUCCESS in 1m 27s\n- codegenerator-openapi-placement-tips-with-api-ref https://zuul.opendev.org/t/openstack/build/26001fce51184ae4ac9df2fc72f391d7 : SUCCESS in 4m 03s\n- codegenerator-openapi-shared-file-system-tips-with-api-ref https://zuul.opendev.org/t/openstack/build/4e44b745caa74f2da2adf65c20fe4887 : SUCCESS in 4m 15s\n- codegenerator-tox-publish-openapi-specs https://zuul.opendev.org/t/openstack/build/d35cdd7abf9a475bbdbbd3c454459624 : SUCCESS in 3m 03s\n- codegenerator-rust-all https://zuul.opendev.org/t/openstack/build/37fb59f3e1ff4b37b4bb7bfcc743dd8f : POST_FAILURE in 2m 44s","accounts_in_message":[],"_revision_number":2},{"id":"5688fa857136690b9b06f42d50e82540c0216062","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":27900,"name":"Artem Goncharov","email":"artem.goncharov@gmail.com","username":"gtema"},"date":"2026-09-02 08:39:36.000000000","message":"Patch Set 3: Patch Set 2 was rebased\n\nOutdated Votes:\n* Verified-1 (copy condition: \"NEVER\")\n","accounts_in_message":[],"_revision_number":3},{"id":"ed49497e3fa30c756a851a1b9faede4d07572b2e","tag":"autogenerated:zuul:check","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-09-02 09:22:31.000000000","message":"Patch Set 3: Verified+1\n\nBuild succeeded (check pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/5d0a7f9cba27452c9c41e81da21c4615\n\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/876b435f03964b9fbf97cee9ba897690 : SUCCESS in 2m 28s\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/08dfd6fb666847f9a7674fa72248db84 : SUCCESS in 3m 11s\n- openstack-tox-py311 https://zuul.opendev.org/t/openstack/build/cee4d8f7cac64e96b1dfc9adb73bdae6 : SUCCESS in 2m 44s\n- codegenerator-openapi-baremetal-tips-with-api-ref https://zuul.opendev.org/t/openstack/build/eef3b6cdfb3242b0a0dcad281a9a4cc6 : SUCCESS in 5m 30s\n- codegenerator-openapi-block-storage-tips-with-api-ref https://zuul.opendev.org/t/openstack/build/d66716f6fa9a4c748c974428ffeca688 : SUCCESS in 6m 26s\n- codegenerator-openapi-compute-tips-with-api-ref https://zuul.opendev.org/t/openstack/build/6d8c7ff9a8cf45b58866cd1bafbe211f : SUCCESS in 4m 24s\n- codegenerator-openapi-container-infrastructure-management-tips-with-api-ref https://zuul.opendev.org/t/openstack/build/a32e3280a1fd45ce9f4bb07cafd4c291 : SUCCESS in 5m 17s\n- codegenerator-openapi-dns-tips-with-api-ref https://zuul.opendev.org/t/openstack/build/1473fd0ae53249d5a195916a1bc75d06 : SUCCESS in 4m 48s\n- codegenerator-openapi-identity-tips-with-api-ref https://zuul.opendev.org/t/openstack/build/63b2c0b443e3407787fb5a649af5470e : SUCCESS in 5m 59s\n- codegenerator-openapi-identity-tips https://zuul.opendev.org/t/openstack/build/fcc6d6c5e7fa46859038a256c19ba5d1 : SUCCESS in 3m 21s\n- codegenerator-openapi-image-tips-with-api-ref https://zuul.opendev.org/t/openstack/build/127693b22f324470962dd2a2c8b50bd3 : SUCCESS in 6m 41s\n- codegenerator-openapi-key-manager-tips https://zuul.opendev.org/t/openstack/build/e1a3678aa18644aca5fd472500ad0430 : SUCCESS in 3m 38s\n- codegenerator-openapi-load-balancing-tips-with-api-ref https://zuul.opendev.org/t/openstack/build/4f647fadba3d48b690288bca35f16e85 : SUCCESS in 2m 55s\n- codegenerator-openapi-network-tips-with-api-ref https://zuul.opendev.org/t/openstack/build/d51f389c46d648899050f3e52650fe3b : SUCCESS in 8m 14s\n- codegenerator-openapi-object-store-static https://zuul.opendev.org/t/openstack/build/eff9e3c73fca468db08cf9cef09e0b08 : SUCCESS in 1m 33s\n- codegenerator-openapi-placement-tips-with-api-ref https://zuul.opendev.org/t/openstack/build/c7bbfe23ea0f48168d774120fa873095 : SUCCESS in 4m 29s\n- codegenerator-openapi-shared-file-system-tips-with-api-ref https://zuul.opendev.org/t/openstack/build/6c504f97f86b40489327026520676f98 : SUCCESS in 5m 38s\n- codegenerator-tox-publish-openapi-specs https://zuul.opendev.org/t/openstack/build/975972dd73dc49d595fcd09109879cc1 : SUCCESS in 2m 09s\n- codegenerator-rust-all https://zuul.opendev.org/t/openstack/build/586287022f8d4af8ad9e6394c0da72d8 : SUCCESS in 20m 19s","accounts_in_message":[],"_revision_number":3},{"id":"60d9cc5152dc4621b0ac48d26490802f53beca7e","author":{"_account_id":27900,"name":"Artem Goncharov","email":"artem.goncharov@gmail.com","username":"gtema"},"date":"2026-09-02 09:42:49.000000000","message":"Patch Set 3: Code-Review+2 Workflow+1","accounts_in_message":[],"_revision_number":3},{"id":"5eed47e7a0ba911a3cc30928d8572f15a4c0a107","tag":"autogenerated:zuul:gate","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-09-02 09:43:13.000000000","message":"Patch Set 3: -Verified\n\nStarting gate jobs.","accounts_in_message":[],"_revision_number":3},{"id":"7cd3d68a876a295a0e874798de7fca7d5a34b442","tag":"autogenerated:zuul:gate","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-09-02 10:48:51.000000000","message":"Patch Set 3: Verified+2\n\nBuild succeeded (gate pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/da81dbfc38d34fbbb8d3f1c3fc2cae73\n\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/b4a5e9072c114ac8963162228b156673 : SUCCESS in 3m 01s\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/a7c07e2e604c40189f840efe07ddd917 : SUCCESS in 3m 27s\n- openstack-tox-py311 https://zuul.opendev.org/t/openstack/build/5c5979e03f4e4005803652a3315463a8 : SUCCESS in 3m 49s\n- codegenerator-openapi-baremetal-tips-with-api-ref https://zuul.opendev.org/t/openstack/build/c881be338e504e228efe6745c88b31f4 : SUCCESS in 5m 46s\n- codegenerator-openapi-block-storage-tips-with-api-ref https://zuul.opendev.org/t/openstack/build/8a20dba30a254b258a248d08f78ea812 : SUCCESS in 6m 32s\n- codegenerator-openapi-compute-tips-with-api-ref https://zuul.opendev.org/t/openstack/build/12b458ba34cb481baaac306a7f407368 : SUCCESS in 7m 42s\n- codegenerator-openapi-container-infrastructure-management-tips-with-api-ref https://zuul.opendev.org/t/openstack/build/cea7fdee283a4bfdb4e316eab4dbf46e : SUCCESS in 4m 36s\n- codegenerator-openapi-dns-tips-with-api-ref https://zuul.opendev.org/t/openstack/build/a3743378de194581b5d825fd36727eb0 : SUCCESS in 5m 29s\n- codegenerator-openapi-identity-tips-with-api-ref https://zuul.opendev.org/t/openstack/build/eb80d43227564ce996068b68c47c55ce : SUCCESS in 6m 18s\n- codegenerator-openapi-image-tips-with-api-ref https://zuul.opendev.org/t/openstack/build/e625a687a9f64d8b92e2c7083bfc8918 : SUCCESS in 3m 14s\n- codegenerator-openapi-key-manager-tips https://zuul.opendev.org/t/openstack/build/07caced5632c4ff5809422b6b1af199a : SUCCESS in 5m 04s\n- codegenerator-openapi-load-balancing-tips-with-api-ref https://zuul.opendev.org/t/openstack/build/b76a67b2cd364064ae24cb20e0b7839f : SUCCESS in 6m 08s\n- codegenerator-openapi-network-tips-with-api-ref https://zuul.opendev.org/t/openstack/build/fbe22c93c7464674b527671296be59a1 : SUCCESS in 5m 08s\n- codegenerator-openapi-object-store-static https://zuul.opendev.org/t/openstack/build/40644bbc15834eff98250309c3dc92b1 : SUCCESS in 1m 41s\n- codegenerator-openapi-placement-tips-with-api-ref https://zuul.opendev.org/t/openstack/build/958b0ba267fc4fc3b8490b2abe16739c : SUCCESS in 4m 27s\n- codegenerator-openapi-shared-file-system-tips-with-api-ref https://zuul.opendev.org/t/openstack/build/3bdd82a903ba46e1bdbc05ab78a1c3a9 : SUCCESS in 5m 56s\n- codegenerator-tox-publish-openapi-specs https://zuul.opendev.org/t/openstack/build/b3e286098c61414aa805423cef042c6f : SUCCESS in 3m 40s\n- codegenerator-rust-all https://zuul.opendev.org/t/openstack/build/7aa22097068d48b5bb19032f763fe265 : SUCCESS in 46m 58s","accounts_in_message":[],"_revision_number":3},{"id":"ddea414d4c88416ce3c356082d0eb96cb3f01a66","tag":"autogenerated:gerrit:merged","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-09-02 10:48:51.000000000","message":"Change has been successfully merged","accounts_in_message":[],"_revision_number":3},{"id":"d2fadafcfbfa868163debc49c7e2b2524eacb5d9","tag":"autogenerated:zuul:promote","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-09-02 10:49:56.000000000","message":"Patch Set 3:\n\nBuild succeeded (promote pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/0f19b1dcda9948329f35634ee28da286\n\n- promote-openstack-tox-docs https://zuul.opendev.org/t/openstack/build/9407852d98f249d6918f05f1ece00c4c : SUCCESS in 45s\n- codegenerator-propose-rust-openstack-change https://zuul.opendev.org/t/openstack/build/5375c0dc594c4892b53074c2e08e6027 : SUCCESS in 50s\n\nWarning:\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/dist-workspace.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/Cargo.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/LICENSE 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/release-plz.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 .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 .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":3}],"current_revision_number":3,"current_revision":"f72d2eedaa6949ffc1b7f35f4f8691eccac5187f","revisions":{"ba2efc30dabe7b24144addd0fd17209bdcc9e20c":{"kind":"REWORK","_number":1,"created":"2026-09-01 15:43:57.000000000","uploader":{"_account_id":27900,"name":"Artem Goncharov","email":"artem.goncharov@gmail.com","username":"gtema"},"ref":"refs/changes/97/1003297/1","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/codegenerator","ref":"refs/changes/97/1003297/1","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/codegenerator refs/changes/97/1003297/1 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/codegenerator refs/changes/97/1003297/1 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/codegenerator refs/changes/97/1003297/1 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/codegenerator refs/changes/97/1003297/1"}}},"commit":{"parents":[{"commit":"be4f0a501d79b04895b51dab2b0e6af31b9c0070","subject":"fix(openapi): safely handle schemas missing \u0027type\u0027 field","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/codegenerator/commit/be4f0a501d79b04895b51dab2b0e6af31b9c0070"}]}],"author":{"name":"Artem Goncharov","email":"artem.goncharov@gmail.com","date":"2026-09-01 15:41:43.000000000","tz":120},"committer":{"name":"Artem Goncharov","email":"artem.goncharov@gmail.com","date":"2026-09-01 15:41:43.000000000","tz":120},"subject":"fix(rust-types): render nullable arrays as Option","message":"fix(rust-types): render nullable arrays as Option\n\nFields declared as `required` with a type list that includes \u0027null\u0027\n(e.g. `type: [array, null]`) were rendered as plain types because the\nfield\u0027s is_nullable flag was not taken into account when computing the\nRust type hint.\n\nThe oneOf conversion already moved the Option wrapper into is_nullable\n(and additionally unwrapped the Array for nullable arrays), but\nStructFieldResponse.type_hint only wrapped based on is_optional.\nRequired nullable arrays therefore became `Vec\u003cT\u003e` and failed to\ndeserialize responses where the API legitimately returns null (e.g.\n`trusted_image_certificates`, `hosts`, `fixed_ips`), silently degrading\nCLI tables to the minimal fallback schema.\n\nEmit `Option\u003cT\u003e` for nullable fields as well, and mark them as\nstructable `optional` so `None` values render as empty cells instead of\nthe string \"null\".\n\nChange-Id: I7d9f26f3a0b11479999142ea95944a757d5d720d\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/ba2efc30dabe7b24144addd0fd17209bdcc9e20c"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/codegenerator/commit/ba2efc30dabe7b24144addd0fd17209bdcc9e20c"}]},"branch":"refs/heads/master"},"45abaa3bdf3eb08395e6c31f7152f7c0556c3119":{"kind":"REWORK","_number":2,"created":"2026-09-01 16:39:49.000000000","uploader":{"_account_id":27900,"name":"Artem Goncharov","email":"artem.goncharov@gmail.com","username":"gtema"},"ref":"refs/changes/97/1003297/2","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/codegenerator","ref":"refs/changes/97/1003297/2","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/codegenerator refs/changes/97/1003297/2 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/codegenerator refs/changes/97/1003297/2 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/codegenerator refs/changes/97/1003297/2 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/codegenerator refs/changes/97/1003297/2"}}},"commit":{"parents":[{"commit":"be4f0a501d79b04895b51dab2b0e6af31b9c0070","subject":"fix(openapi): safely handle schemas missing \u0027type\u0027 field","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/codegenerator/commit/be4f0a501d79b04895b51dab2b0e6af31b9c0070"}]}],"author":{"name":"Artem Goncharov","email":"artem.goncharov@gmail.com","date":"2026-09-01 15:41:43.000000000","tz":120},"committer":{"name":"Artem Goncharov","email":"artem.goncharov@gmail.com","date":"2026-09-01 16:38:41.000000000","tz":120},"subject":"fix(rust-types): render nullable arrays as Option","message":"fix(rust-types): render nullable arrays as Option\n\nFields declared as `required` with a type list that includes \u0027null\u0027\n(e.g. `type: [array, null]`) were rendered as plain types because the\nfield\u0027s is_nullable flag was not taken into account when computing the\nRust type hint.\n\nThe oneOf conversion already moved the Option wrapper into is_nullable\n(and additionally unwrapped the Array for nullable arrays), but\nStructFieldResponse.type_hint only wrapped based on is_optional.\nRequired nullable arrays therefore became `Vec\u003cT\u003e` and failed to\ndeserialize responses where the API legitimately returns null (e.g.\n`trusted_image_certificates`, `hosts`, `fixed_ips`), silently degrading\nCLI tables to the minimal fallback schema.\n\nEmit `Option\u003cT\u003e` for nullable fields as well, and mark them as\nstructable `optional` so `None` values render as empty cells instead of\nthe string \"null\".\n\nChange-Id: I7d9f26f3a0b11479999142ea95944a757d5d720d\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/45abaa3bdf3eb08395e6c31f7152f7c0556c3119"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/codegenerator/commit/45abaa3bdf3eb08395e6c31f7152f7c0556c3119"}]},"branch":"refs/heads/master"},"f72d2eedaa6949ffc1b7f35f4f8691eccac5187f":{"kind":"TRIVIAL_REBASE","_number":3,"created":"2026-09-02 08:39:36.000000000","uploader":{"_account_id":27900,"name":"Artem Goncharov","email":"artem.goncharov@gmail.com","username":"gtema"},"ref":"refs/changes/97/1003297/3","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/codegenerator","ref":"refs/changes/97/1003297/3","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/codegenerator refs/changes/97/1003297/3 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/codegenerator refs/changes/97/1003297/3 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/codegenerator refs/changes/97/1003297/3 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/codegenerator refs/changes/97/1003297/3"}}},"commit":{"parents":[{"commit":"f98eb19c66db6233b6bc80580ff32db4f999ddb3","subject":"fix(openapi): Param dedupe in neutron","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/codegenerator/commit/f98eb19c66db6233b6bc80580ff32db4f999ddb3"}]}],"author":{"name":"Artem Goncharov","email":"artem.goncharov@gmail.com","date":"2026-09-01 15:41:43.000000000","tz":120},"committer":{"name":"Artem Goncharov","email":"artem.goncharov@gmail.com","date":"2026-09-02 08:39:36.000000000","tz":0},"subject":"fix(rust-types): render nullable arrays as Option","message":"fix(rust-types): render nullable arrays as Option\n\nFields declared as `required` with a type list that includes \u0027null\u0027\n(e.g. `type: [array, null]`) were rendered as plain types because the\nfield\u0027s is_nullable flag was not taken into account when computing the\nRust type hint.\n\nThe oneOf conversion already moved the Option wrapper into is_nullable\n(and additionally unwrapped the Array for nullable arrays), but\nStructFieldResponse.type_hint only wrapped based on is_optional.\nRequired nullable arrays therefore became `Vec\u003cT\u003e` and failed to\ndeserialize responses where the API legitimately returns null (e.g.\n`trusted_image_certificates`, `hosts`, `fixed_ips`), silently degrading\nCLI tables to the minimal fallback schema.\n\nEmit `Option\u003cT\u003e` for nullable fields as well, and mark them as\nstructable `optional` so `None` values render as empty cells instead of\nthe string \"null\".\n\nChange-Id: I7d9f26f3a0b11479999142ea95944a757d5d720d\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/f72d2eedaa6949ffc1b7f35f4f8691eccac5187f"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/codegenerator/commit/f72d2eedaa6949ffc1b7f35f4f8691eccac5187f"}]},"branch":"refs/heads/master","description":"Rebase","conflicts":{"base":"be4f0a501d79b04895b51dab2b0e6af31b9c0070","ours":"45abaa3bdf3eb08395e6c31f7152f7c0556c3119","theirs":"f98eb19c66db6233b6bc80580ff32db4f999ddb3","merge_strategy":"recursive","contains_conflicts":false}}},"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":""}}}]}
