)]}'
{"id":"openstack%2Fcodegenerator~999311","triplet_id":"openstack%2Fcodegenerator~master~Idd37315a68ef4013ed82f1bf841de0c11f0e4fd4","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-08-05 16:47:23.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":"Idd37315a68ef4013ed82f1bf841de0c11f0e4fd4","subject":"feat(rust-tui): source ColumnSpec from config.yaml, not struct scraping","status":"MERGED","created":"2026-07-30 16:09:57.000000000","updated":"2026-08-05 18:56:52.000000000","submitted":"2026-08-05 18:54:56.000000000","submitter":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"total_comment_count":3,"unresolved_comment_count":0,"has_review_started":true,"submission_id":"999311","meta_rev_id":"3d270c7b4e94ddb1f172b5264b19af30f0f0d9a5","_number":999311,"virtual_id_number":999311,"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-08-05 18:54:56.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-08-05 14:52:50.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-08-05 14:52:50.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-07-30 17:09:51.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":"6b03927cdd5cf2d4db0273d5af89d05f32b258be","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":27900,"name":"Artem Goncharov","email":"artem.goncharov@gmail.com","username":"gtema"},"date":"2026-07-30 16:09:57.000000000","message":"Uploaded patch set 1.","accounts_in_message":[],"_revision_number":1},{"id":"6f85e5a93678c4b9c444edaedf9e5867c6e5ab9a","tag":"autogenerated:zuul:check","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-07-30 17:09:51.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/ba3a8445995c43fba0d1e4bf358ad7ef\n\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/476242f84709482583a715bf467d60c1 : SUCCESS in 5m 00s\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/7890e0e9bbff4dc980fd5a1e2900be80 : SUCCESS in 3m 22s\n- openstack-tox-py311 https://zuul.opendev.org/t/openstack/build/50ba8d7f05214e018ab5096c80d3f6b8 : SUCCESS in 2m 53s\n- codegenerator-openapi-baremetal-tips-with-api-ref https://zuul.opendev.org/t/openstack/build/f9cef62c64b841fabab43e64f9f37c0f : SUCCESS in 6m 04s\n- codegenerator-openapi-block-storage-tips-with-api-ref https://zuul.opendev.org/t/openstack/build/129dc7b3d5cb495ba55410c5385e01ed : SUCCESS in 3m 54s\n- codegenerator-openapi-compute-tips-with-api-ref https://zuul.opendev.org/t/openstack/build/ecead8b2201f4bf4afb1d590b9a0125f : SUCCESS in 7m 38s\n- codegenerator-openapi-container-infrastructure-management-tips-with-api-ref https://zuul.opendev.org/t/openstack/build/ca2d3975a51c43e0addc204e1ac0f581 : SUCCESS in 3m 21s\n- codegenerator-openapi-dns-tips-with-api-ref https://zuul.opendev.org/t/openstack/build/74147984179d46b29441d9e28e112ef6 : SUCCESS in 2m 47s\n- codegenerator-openapi-identity-tips-with-api-ref https://zuul.opendev.org/t/openstack/build/b2717bb10b1d4ce3a49174094a93b990 : SUCCESS in 7m 50s\n- codegenerator-openapi-identity-tips https://zuul.opendev.org/t/openstack/build/bfada3a64e144a64a058d8c2767ec20d : SUCCESS in 4m 06s\n- codegenerator-openapi-image-tips-with-api-ref https://zuul.opendev.org/t/openstack/build/a7ae0a5c3fb84c29b990a02a401dd676 : SUCCESS in 5m 35s\n- codegenerator-openapi-key-manager-tips https://zuul.opendev.org/t/openstack/build/e272aefc4935499faf9570f1addbb744 : SUCCESS in 4m 59s\n- codegenerator-openapi-load-balancing-tips-with-api-ref https://zuul.opendev.org/t/openstack/build/3b6387e73c974ce3a6e6a8c85faed3ec : SUCCESS in 4m 33s\n- codegenerator-openapi-network-tips-with-api-ref https://zuul.opendev.org/t/openstack/build/ff77d3b5a0e649c99cb5e83810746bd9 : SUCCESS in 6m 42s\n- codegenerator-openapi-object-store-static https://zuul.opendev.org/t/openstack/build/14d7beeeabca4c35abd98566be523c58 : SUCCESS in 1m 30s\n- codegenerator-openapi-placement-tips-with-api-ref https://zuul.opendev.org/t/openstack/build/4e8f02428194445dadf4c20cfd866175 : SUCCESS in 4m 27s\n- codegenerator-openapi-shared-file-system-tips-with-api-ref https://zuul.opendev.org/t/openstack/build/f4baa07aa8e94adc881d94d2620c57d1 : SUCCESS in 7m 11s\n- codegenerator-tox-publish-openapi-specs https://zuul.opendev.org/t/openstack/build/1bc0ea19fcbc4d74b0f3190dbc1dc2a4 : SUCCESS in 3m 48s\n- codegenerator-rust-all https://zuul.opendev.org/t/openstack/build/be920929956b4d7c98d62e5e3346f888 : FAILURE in 41m 18s","accounts_in_message":[],"_revision_number":1},{"id":"307cd9df34076b199f76ca6209f0a2ad1d295683","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":27900,"name":"Artem Goncharov","email":"artem.goncharov@gmail.com","username":"gtema"},"date":"2026-07-30 17:42:45.000000000","message":"Patch Set 2: Patch Set 1 was rebased\n\nOutdated Votes:\n* Verified-1 (copy condition: \"NEVER\")\n","accounts_in_message":[],"_revision_number":2},{"id":"4b0e26d03fc431a0c599fe30a36b94ed36a0f218","tag":"autogenerated:zuul:check","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-07-30 18:36:59.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/b776233f57f4468f9374fba99b2ed09e\n\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/01f778ab9180498ca2bfda0af95231d3 : SUCCESS in 3m 02s\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/a57b701fe7c04830ba9358b8d4bf2c6a : SUCCESS in 3m 40s\n- openstack-tox-py311 https://zuul.opendev.org/t/openstack/build/4d8c37f192804bfd8be7dce92677bde4 : SUCCESS in 1m 53s\n- codegenerator-openapi-baremetal-tips-with-api-ref https://zuul.opendev.org/t/openstack/build/3b2931eb0e3842118df46c32eea8fe9c : SUCCESS in 2m 55s\n- codegenerator-openapi-block-storage-tips-with-api-ref https://zuul.opendev.org/t/openstack/build/6b179062b4f34c1aa29e0099e92a6ed3 : SUCCESS in 3m 56s\n- codegenerator-openapi-compute-tips-with-api-ref https://zuul.opendev.org/t/openstack/build/828f432977ed4b1a95546a544e3727aa : SUCCESS in 4m 17s\n- codegenerator-openapi-container-infrastructure-management-tips-with-api-ref https://zuul.opendev.org/t/openstack/build/bcbe84ce76f34778846673d4c48c6efc : SUCCESS in 4m 04s\n- codegenerator-openapi-dns-tips-with-api-ref https://zuul.opendev.org/t/openstack/build/dfe4df3b7b8a4c068c49b763bd298f45 : SUCCESS in 5m 27s\n- codegenerator-openapi-identity-tips-with-api-ref https://zuul.opendev.org/t/openstack/build/5e640baace174608aa04c9e65016465b : SUCCESS in 6m 13s\n- codegenerator-openapi-identity-tips https://zuul.opendev.org/t/openstack/build/7d6378733caf48f88481b23a63b95e0d : SUCCESS in 4m 27s\n- codegenerator-openapi-image-tips-with-api-ref https://zuul.opendev.org/t/openstack/build/817b4009e04a4b4184f786541d1d121e : SUCCESS in 5m 27s\n- codegenerator-openapi-key-manager-tips https://zuul.opendev.org/t/openstack/build/cec9aa664b654ad087dddb508a1c52db : SUCCESS in 4m 13s\n- codegenerator-openapi-load-balancing-tips-with-api-ref https://zuul.opendev.org/t/openstack/build/c3a952549def4573926e0047f8fe963a : SUCCESS in 3m 05s\n- codegenerator-openapi-network-tips-with-api-ref https://zuul.opendev.org/t/openstack/build/963eee4246cb4bcca8cb302ab7679ef8 : SUCCESS in 7m 58s\n- codegenerator-openapi-object-store-static https://zuul.opendev.org/t/openstack/build/d078142606d646a7ae7d35b89e5cc089 : SUCCESS in 1m 20s\n- codegenerator-openapi-placement-tips-with-api-ref https://zuul.opendev.org/t/openstack/build/888cea9e82744ce7b644151d5a444a3a : SUCCESS in 6m 11s\n- codegenerator-openapi-shared-file-system-tips-with-api-ref https://zuul.opendev.org/t/openstack/build/3618c092b23a4ed8a4c9ff1730743e43 : SUCCESS in 5m 38s\n- codegenerator-tox-publish-openapi-specs https://zuul.opendev.org/t/openstack/build/59b86ff307e74bc9a3a3b1d8bc2bb766 : SUCCESS in 3m 31s\n- codegenerator-rust-all https://zuul.opendev.org/t/openstack/build/5e383516ceeb4baeb484601e12716f16 : FAILURE in 31m 15s","accounts_in_message":[],"_revision_number":2},{"id":"a9f86361c0d80034bc02e18050503a465cd31f64","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":27900,"name":"Artem Goncharov","email":"artem.goncharov@gmail.com","username":"gtema"},"date":"2026-07-31 12:20:44.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":"7f4e124a987069b06d318621b54c409bcfec4428","tag":"autogenerated:zuul:check","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-07-31 13:30:54.000000000","message":"Patch Set 3: Verified+1\n\nBuild succeeded (check pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/424964e037c2436696f2a9854b8f2658\n\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/837944ec4cf047a5bc58f47b3ad34de2 : SUCCESS in 2m 40s\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/62b6bce8936b4db186278cf1c182f1b3 : SUCCESS in 3m 11s\n- openstack-tox-py311 https://zuul.opendev.org/t/openstack/build/d9c686ee57ed45729820cf0e789dc2f6 : SUCCESS in 3m 02s\n- codegenerator-openapi-baremetal-tips-with-api-ref https://zuul.opendev.org/t/openstack/build/42635f7e29d14fceb29d6744d72f1ea7 : SUCCESS in 3m 06s\n- codegenerator-openapi-block-storage-tips-with-api-ref https://zuul.opendev.org/t/openstack/build/eaa9a47ae8c94f938ad7d5d6dc8a836c : SUCCESS in 8m 14s\n- codegenerator-openapi-compute-tips-with-api-ref https://zuul.opendev.org/t/openstack/build/4a5ab8ed03594681adc2d417c4490588 : SUCCESS in 5m 16s\n- codegenerator-openapi-container-infrastructure-management-tips-with-api-ref https://zuul.opendev.org/t/openstack/build/319298f94d1a4000b995136eebc148b1 : SUCCESS in 4m 57s\n- codegenerator-openapi-dns-tips-with-api-ref https://zuul.opendev.org/t/openstack/build/28e185f9a5db4dbdb39038073632446d : SUCCESS in 4m 52s\n- codegenerator-openapi-identity-tips-with-api-ref https://zuul.opendev.org/t/openstack/build/675507eef9f14544a3485462394236c7 : SUCCESS in 6m 25s\n- codegenerator-openapi-identity-tips https://zuul.opendev.org/t/openstack/build/cec49bd4ac2a45be92ef19356fe1d36a : SUCCESS in 4m 02s\n- codegenerator-openapi-image-tips-with-api-ref https://zuul.opendev.org/t/openstack/build/7d785dfb02704a87ab8634c41ff237eb : SUCCESS in 3m 46s\n- codegenerator-openapi-key-manager-tips https://zuul.opendev.org/t/openstack/build/f2b7f268f2024c75a80d7c8346a30629 : SUCCESS in 2m 07s\n- codegenerator-openapi-load-balancing-tips-with-api-ref https://zuul.opendev.org/t/openstack/build/b79ff587c4d046378e3dae46621ef80f : SUCCESS in 7m 48s\n- codegenerator-openapi-network-tips-with-api-ref https://zuul.opendev.org/t/openstack/build/d38e69227a3d4f51a62fc117ba3e5c44 : SUCCESS in 7m 33s\n- codegenerator-openapi-object-store-static https://zuul.opendev.org/t/openstack/build/6eaec8251b50406fa9226a2a5ff827d5 : SUCCESS in 1m 18s\n- codegenerator-openapi-placement-tips-with-api-ref https://zuul.opendev.org/t/openstack/build/8c30b0d3276a41f39c1816a38e0ea8ed : SUCCESS in 5m 53s\n- codegenerator-openapi-shared-file-system-tips-with-api-ref https://zuul.opendev.org/t/openstack/build/60ded8886208483f9cf9e33610032b04 : SUCCESS in 5m 39s\n- codegenerator-tox-publish-openapi-specs https://zuul.opendev.org/t/openstack/build/c2e9ddc2ebcb43daa19e47d99133685a : SUCCESS in 2m 54s\n- codegenerator-rust-all https://zuul.opendev.org/t/openstack/build/286cfd140d0c405481bb382f7f97eb3f : SUCCESS in 45m 40s","accounts_in_message":[],"_revision_number":3},{"id":"801beee40d9e76b32197a8f315ff3dd54c1cc942","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":27900,"name":"Artem Goncharov","email":"artem.goncharov@gmail.com","username":"gtema"},"date":"2026-08-05 09:32:08.000000000","message":"Uploaded patch set 4.\n\nOutdated Votes:\n* Verified+1 (copy condition: \"NEVER\")\n","accounts_in_message":[],"_revision_number":4},{"id":"f2e8f23d477f8d5c63a4fd5626a3a4be5e0a600d","tag":"autogenerated:zuul:check","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-08-05 10:15:54.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/24cf795450fe48c8b9536500e36a54a1\n\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/03aba0c1f3d947388de19e1c91ee615f : SUCCESS in 3m 51s\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/4b18cdd38d814488b6f535bb04bcbd6c : SUCCESS in 3m 10s\n- openstack-tox-py311 https://zuul.opendev.org/t/openstack/build/c3bdd9da2d2d47fc9a0396f524f4b66a : SUCCESS in 2m 52s\n- codegenerator-openapi-baremetal-tips-with-api-ref https://zuul.opendev.org/t/openstack/build/b50d51389a6f406882e0cfcb68dafac2 : SUCCESS in 5m 36s\n- codegenerator-openapi-block-storage-tips-with-api-ref https://zuul.opendev.org/t/openstack/build/4a380ee541bc4d8392ac05a63f67fdf2 : SUCCESS in 7m 03s\n- codegenerator-openapi-compute-tips-with-api-ref https://zuul.opendev.org/t/openstack/build/2bf08a4f80514467bcdff0d8d423d9ca : SUCCESS in 5m 20s\n- codegenerator-openapi-container-infrastructure-management-tips-with-api-ref https://zuul.opendev.org/t/openstack/build/c46ebe915caa475496a2057561db0d54 : SUCCESS in 4m 58s\n- codegenerator-openapi-dns-tips-with-api-ref https://zuul.opendev.org/t/openstack/build/f015db9dd62a49fd9845abbd9ee8b33a : SUCCESS in 5m 03s\n- codegenerator-openapi-identity-tips-with-api-ref https://zuul.opendev.org/t/openstack/build/614e5dbc3ac743cbb7ebb8f73f30b01f : SUCCESS in 6m 02s\n- codegenerator-openapi-identity-tips https://zuul.opendev.org/t/openstack/build/471dca25e65147d8959fd8853b057700 : SUCCESS in 4m 08s\n- codegenerator-openapi-image-tips-with-api-ref https://zuul.opendev.org/t/openstack/build/7ab0a307b2f44db5a65c17de43ee134a : SUCCESS in 3m 15s\n- codegenerator-openapi-key-manager-tips https://zuul.opendev.org/t/openstack/build/c66eb60d6c55409c88f4c1a939af8cf5 : SUCCESS in 5m 04s\n- codegenerator-openapi-load-balancing-tips-with-api-ref https://zuul.opendev.org/t/openstack/build/f30fdc437b244e208847908c06448b46 : SUCCESS in 2m 51s\n- codegenerator-openapi-network-tips-with-api-ref https://zuul.opendev.org/t/openstack/build/ad7b7b4d69724979afbee1526a57cf99 : SUCCESS in 4m 22s\n- codegenerator-openapi-object-store-static https://zuul.opendev.org/t/openstack/build/42f7519fd81b42c0b6d77b7b5d04618f : SUCCESS in 1m 04s\n- codegenerator-openapi-placement-tips-with-api-ref https://zuul.opendev.org/t/openstack/build/d73301cf3c1942b1aac44e402055c38f : SUCCESS in 4m 44s\n- codegenerator-openapi-shared-file-system-tips-with-api-ref https://zuul.opendev.org/t/openstack/build/1ef8d7b0f16d44cdbf12b203c9d724de : SUCCESS in 6m 28s\n- codegenerator-tox-publish-openapi-specs https://zuul.opendev.org/t/openstack/build/98af3bdb996e493580c66c1f8ab66e70 : SUCCESS in 3m 09s\n- codegenerator-rust-all https://zuul.opendev.org/t/openstack/build/8cd6381ebaf64827a5c969a98030b2cd : FAILURE in 9m 16s","accounts_in_message":[],"_revision_number":4},{"id":"9f04659b9c7e69050fbc5a501c5da713bd1f3754","author":{"_account_id":27900,"name":"Artem Goncharov","email":"artem.goncharov@gmail.com","username":"gtema"},"date":"2026-08-05 13:12:21.000000000","message":"Patch Set 4:\n\n(1 comment)","accounts_in_message":[],"_revision_number":4},{"id":"9428d0998541e1c23a0260f2ebcfa57b2fb93f8c","tag":"autogenerated:zuul:check","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-08-05 14:18:44.000000000","message":"Patch Set 4: Verified+1\n\nBuild succeeded (check pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/1b18619d8f0543cc8685cf88df0b154f\n\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/09a110f3c5494aeaaa66ae845295b697 : SUCCESS in 2m 34s\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/f35532d80e7e4ef3a64aadcb26f68764 : SUCCESS in 3m 11s\n- openstack-tox-py311 https://zuul.opendev.org/t/openstack/build/08b166d2ae6d4807be31b50e91b43c42 : SUCCESS in 3m 06s\n- codegenerator-openapi-baremetal-tips-with-api-ref https://zuul.opendev.org/t/openstack/build/a2bf511f3149477f822124ccab93fc21 : SUCCESS in 5m 59s\n- codegenerator-openapi-block-storage-tips-with-api-ref https://zuul.opendev.org/t/openstack/build/7058ee43f691466b8803efe83e1f0297 : SUCCESS in 7m 08s\n- codegenerator-openapi-compute-tips-with-api-ref https://zuul.opendev.org/t/openstack/build/37ef29367e4f41b1a5e0a90628446ddd : SUCCESS in 8m 31s\n- codegenerator-openapi-container-infrastructure-management-tips-with-api-ref https://zuul.opendev.org/t/openstack/build/6366303c9a54416c81a7893c1b8f5dda : SUCCESS in 6m 42s\n- codegenerator-openapi-dns-tips-with-api-ref https://zuul.opendev.org/t/openstack/build/b5829c0950a34a72873ec361c28a6363 : SUCCESS in 5m 36s\n- codegenerator-openapi-identity-tips-with-api-ref https://zuul.opendev.org/t/openstack/build/c3a3b498f2af45c88edaa3728d49063e : SUCCESS in 7m 27s\n- codegenerator-openapi-identity-tips https://zuul.opendev.org/t/openstack/build/c43aeb05fb64461b88e584b061e70d93 : SUCCESS in 5m 47s\n- codegenerator-openapi-image-tips-with-api-ref https://zuul.opendev.org/t/openstack/build/52f65fc45763436589148ae95724d8b1 : SUCCESS in 5m 44s\n- codegenerator-openapi-key-manager-tips https://zuul.opendev.org/t/openstack/build/16e910150cb94ceca962aee0e83f18d6 : SUCCESS in 4m 25s\n- codegenerator-openapi-load-balancing-tips-with-api-ref https://zuul.opendev.org/t/openstack/build/83bbcb787f924a74a9fc05db10d7564d : SUCCESS in 5m 36s\n- codegenerator-openapi-network-tips-with-api-ref https://zuul.opendev.org/t/openstack/build/524fdd2a8e444c1a9beef4e7db66de5f : SUCCESS in 8m 09s\n- codegenerator-openapi-object-store-static https://zuul.opendev.org/t/openstack/build/cc6c53057eb349f0822b51326c200a78 : SUCCESS in 2m 24s\n- codegenerator-openapi-placement-tips-with-api-ref https://zuul.opendev.org/t/openstack/build/bd13ec8102ee4e64be1192ac542c671d : SUCCESS in 4m 58s\n- codegenerator-openapi-shared-file-system-tips-with-api-ref https://zuul.opendev.org/t/openstack/build/3200e41645af44a0a0319d0361214149 : SUCCESS in 5m 46s\n- codegenerator-tox-publish-openapi-specs https://zuul.opendev.org/t/openstack/build/cdace118fac94ca68db4b297146d668c : SUCCESS in 3m 41s\n- codegenerator-rust-all https://zuul.opendev.org/t/openstack/build/7c4a73f04dfa42e3bd3bce9d9f78fbdf : SUCCESS in 46m 27s","accounts_in_message":[],"_revision_number":4},{"id":"ed5a88d1d5bca1b5a1a32ade8e7a92ef03b9d3d4","author":{"_account_id":27900,"name":"Artem Goncharov","email":"artem.goncharov@gmail.com","username":"gtema"},"date":"2026-08-05 14:52:50.000000000","message":"Patch Set 4: Code-Review+2 Workflow+1","accounts_in_message":[],"_revision_number":4},{"id":"7bb7c5c1657f5a9dc5580d5123847e3c7db97e41","tag":"autogenerated:zuul:gate","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-08-05 14:53:19.000000000","message":"Patch Set 4: -Verified\n\nStarting gate jobs.","accounts_in_message":[],"_revision_number":4},{"id":"aab50d827590b35dc6111b0dbe93c1edda7f5d24","tag":"autogenerated:zuul:gate","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-08-05 15:10:59.000000000","message":"Patch Set 4: Verified-2\n\nBuild failed (gate pipeline).  For information on how to proceed, see\nhttps://docs.opendev.org/opendev/infra-manual/latest/developers.html#automated-testing\n\nhttps://zuul.opendev.org/t/openstack/buildset/886e9b1bcbb1433b841275b1d86d36af\n\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/013ba6fd7c8e49a4bd642a6bc7e5582a : SUCCESS in 3m 14s\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/2bbb149fee0640c481376154cc493967 : FAILURE in 9m 01s\n- openstack-tox-py311 https://zuul.opendev.org/t/openstack/build/8ab46d0905bd4be2ac716073aec75846 : SUCCESS in 4m 33s\n- codegenerator-openapi-baremetal-tips-with-api-ref https://zuul.opendev.org/t/openstack/build/75823987580c4a4489c11c2f3519b48d : RETRY_LIMIT in 4m 06s\n- codegenerator-openapi-block-storage-tips-with-api-ref https://zuul.opendev.org/t/openstack/build/7392b980ea2d4e1982f57a49a855ad95 : SUCCESS in 6m 52s\n- codegenerator-openapi-compute-tips-with-api-ref https://zuul.opendev.org/t/openstack/build/7c00430c54524249a67a9981c15b4066 : SUCCESS in 7m 23s\n- codegenerator-openapi-container-infrastructure-management-tips-with-api-ref https://zuul.opendev.org/t/openstack/build/7d81cff1c6eb43a1b94284a2afbbccaa : RETRY_LIMIT in 3m 50s\n- codegenerator-openapi-dns-tips-with-api-ref https://zuul.opendev.org/t/openstack/build/b500c5322c3d4b33b63669da753caed8 : SUCCESS in 5m 33s\n- codegenerator-openapi-identity-tips-with-api-ref https://zuul.opendev.org/t/openstack/build/5122dd20a9c64b90a50c5ad73044c849 : SUCCESS in 5m 09s\n- codegenerator-openapi-image-tips-with-api-ref https://zuul.opendev.org/t/openstack/build/e43324ea2d854ed6b7da8a3bb1e56668 : SUCCESS in 5m 22s\n- codegenerator-openapi-key-manager-tips https://zuul.opendev.org/t/openstack/build/1e564222200c44dda249466a7f8e456d : SUCCESS in 2m 12s\n- codegenerator-openapi-load-balancing-tips-with-api-ref https://zuul.opendev.org/t/openstack/build/4764209acd324c2ca290a1588a2feb21 : SUCCESS in 5m 58s\n- codegenerator-openapi-network-tips-with-api-ref https://zuul.opendev.org/t/openstack/build/ba6a4ba14d1241ceb982f1d6c49eedb1 : SUCCESS in 8m 02s\n- codegenerator-openapi-object-store-static https://zuul.opendev.org/t/openstack/build/75682c5217eb49479747f4a02a27249f : SUCCESS in 1m 39s\n- codegenerator-openapi-placement-tips-with-api-ref https://zuul.opendev.org/t/openstack/build/b2b48c22aea14269a8dea83e14266ca8 : SUCCESS in 4m 21s\n- codegenerator-openapi-shared-file-system-tips-with-api-ref https://zuul.opendev.org/t/openstack/build/987af0d8edcb4550a9ff2d31506257b0 : SUCCESS in 5m 53s\n- codegenerator-tox-publish-openapi-specs https://zuul.opendev.org/t/openstack/build/03debc74e2b6454fb1eeb72550ff897c : SKIPPED Skipped due to failed job codegenerator-openapi-container-infrastructure-management-tips-with-api-ref\n- codegenerator-rust-all https://zuul.opendev.org/t/openstack/build/c11fd367db5d4d538a0f9d2372f9dc56 : SKIPPED Skipped due to failed job codegenerator-openapi-container-infrastructure-management-tips-with-api-ref","accounts_in_message":[],"_revision_number":4},{"id":"a248c1176d4a4d3e70dad994d711a4c70ef67d2a","author":{"_account_id":27900,"name":"Artem Goncharov","email":"artem.goncharov@gmail.com","username":"gtema"},"date":"2026-08-05 16:01:43.000000000","message":"Patch Set 4:\n\n(1 comment)","accounts_in_message":[],"_revision_number":4},{"id":"04761af096c5c95c571a29feeeb15f70ac2dc5ea","tag":"autogenerated:zuul:check","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-08-05 16:24:31.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/c46f45069c2043ea9a82b7fc8e873325\n\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/3255dade492c4dac84112aef71c9ddc9 : SUCCESS in 2m 52s\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/b816e04816a940a1a2b1f4547a140ac5 : SUCCESS in 4m 56s\n- openstack-tox-py311 https://zuul.opendev.org/t/openstack/build/bf64a1546f3c4335ba8677a31511e398 : SUCCESS in 3m 10s\n- codegenerator-openapi-baremetal-tips-with-api-ref https://zuul.opendev.org/t/openstack/build/c32bda2bd799456c90ed7b18fa67b21f : SUCCESS in 5m 24s\n- codegenerator-openapi-block-storage-tips-with-api-ref https://zuul.opendev.org/t/openstack/build/ce2c6251f86e47bf9e3a06059c73bbbe : SUCCESS in 7m 13s\n- codegenerator-openapi-compute-tips-with-api-ref https://zuul.opendev.org/t/openstack/build/9bba5fe9a21e4ec49dea7221fefdc8c6 : SUCCESS in 4m 18s\n- codegenerator-openapi-container-infrastructure-management-tips-with-api-ref https://zuul.opendev.org/t/openstack/build/432d2c5e8a984b609663e9e0b4805bb4 : SUCCESS in 4m 59s\n- codegenerator-openapi-dns-tips-with-api-ref https://zuul.opendev.org/t/openstack/build/dad4e998f8fe4070ac5aaa4a2ec0ca96 : SUCCESS in 4m 49s\n- codegenerator-openapi-identity-tips-with-api-ref https://zuul.opendev.org/t/openstack/build/1f87e8ca747b4b9aa3bae2a2395e859f : SUCCESS in 3m 26s\n- codegenerator-openapi-identity-tips https://zuul.opendev.org/t/openstack/build/9680e71a2a9041c496cb813d97922252 : SUCCESS in 4m 12s\n- codegenerator-openapi-image-tips-with-api-ref https://zuul.opendev.org/t/openstack/build/f4e679bb8c5046da8ccd12c56e1e8310 : SUCCESS in 5m 21s\n- codegenerator-openapi-key-manager-tips https://zuul.opendev.org/t/openstack/build/a9a2b8396f79402292c1ea1762924aba : SUCCESS in 5m 10s\n- codegenerator-openapi-load-balancing-tips-with-api-ref https://zuul.opendev.org/t/openstack/build/b5811031671f4acf8576fa159a53538e : RETRY_LIMIT in 4m 50s\n- codegenerator-openapi-network-tips-with-api-ref https://zuul.opendev.org/t/openstack/build/23832532420941aeb5fbd47cb4122ade : SUCCESS in 7m 33s\n- codegenerator-openapi-object-store-static https://zuul.opendev.org/t/openstack/build/c0c15891a8d0405fae33fcb3e62bafd2 : SUCCESS in 1m 52s\n- codegenerator-openapi-placement-tips-with-api-ref https://zuul.opendev.org/t/openstack/build/720b17c43a144ac0bd44e81ca7c1adf9 : SUCCESS in 4m 44s\n- codegenerator-openapi-shared-file-system-tips-with-api-ref https://zuul.opendev.org/t/openstack/build/0e239aff4dbb447f8c5af73f8a1201b5 : SUCCESS in 7m 43s\n- codegenerator-tox-publish-openapi-specs https://zuul.opendev.org/t/openstack/build/af832c5309ec48208124a66f8402885a : SKIPPED Skipped due to failed job codegenerator-openapi-load-balancing-tips-with-api-ref\n- codegenerator-rust-all https://zuul.opendev.org/t/openstack/build/766699dc5ca34a7b938d41f38d961fa0 : SKIPPED Skipped due to failed job codegenerator-openapi-load-balancing-tips-with-api-ref","accounts_in_message":[],"_revision_number":4},{"id":"6d30e01727634c3d135ccc05df4ea604a5d85703","author":{"_account_id":27900,"name":"Artem Goncharov","email":"artem.goncharov@gmail.com","username":"gtema"},"date":"2026-08-05 16:47:23.000000000","message":"Patch Set 4:\n\n(1 comment)","accounts_in_message":[],"_revision_number":4},{"id":"8118b3ef338ac9085c0b7dd48a15ea7aa979de5a","tag":"autogenerated:zuul:check","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-08-05 17:49:51.000000000","message":"Patch Set 4: Verified+1\n\nBuild succeeded (check pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/66b9a78e7dd94964b74d50f2319d32b0\n\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/a1270c5bec3e459c91f9a32c756e0cbf : SUCCESS in 3m 57s\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/a861d92ed9274fd4822516bf87bcc3f2 : SUCCESS in 4m 28s\n- openstack-tox-py311 https://zuul.opendev.org/t/openstack/build/f8219503c44b4556a799282992da1470 : SUCCESS in 2m 41s\n- codegenerator-openapi-baremetal-tips-with-api-ref https://zuul.opendev.org/t/openstack/build/5e7d9fb2e8da416c938960e9eb3a6473 : SUCCESS in 6m 03s\n- codegenerator-openapi-block-storage-tips-with-api-ref https://zuul.opendev.org/t/openstack/build/601ebc9e0df24e99984d1c0243ad9217 : SUCCESS in 6m 06s\n- codegenerator-openapi-compute-tips-with-api-ref https://zuul.opendev.org/t/openstack/build/b50bb144ac0b4bf8972e8877aec3348c : SUCCESS in 5m 30s\n- codegenerator-openapi-container-infrastructure-management-tips-with-api-ref https://zuul.opendev.org/t/openstack/build/485286275d754107b4be76d9a7bf63d2 : SUCCESS in 3m 54s\n- codegenerator-openapi-dns-tips-with-api-ref https://zuul.opendev.org/t/openstack/build/86e80b3ee59e4e0a8878c39ea962e29a : SUCCESS in 2m 50s\n- codegenerator-openapi-identity-tips-with-api-ref https://zuul.opendev.org/t/openstack/build/c5a07d0c14e242e88c67b77526b60772 : SUCCESS in 6m 20s\n- codegenerator-openapi-identity-tips https://zuul.opendev.org/t/openstack/build/c0381631c6bf46d4b71c2b2d1ee05ad4 : SUCCESS in 4m 06s\n- codegenerator-openapi-image-tips-with-api-ref https://zuul.opendev.org/t/openstack/build/4e9ae99bb3374b75ad060981a01ce122 : SUCCESS in 4m 46s\n- codegenerator-openapi-key-manager-tips https://zuul.opendev.org/t/openstack/build/b4d4d65a150c423aa28b25176594db43 : SUCCESS in 4m 43s\n- codegenerator-openapi-load-balancing-tips-with-api-ref https://zuul.opendev.org/t/openstack/build/d1e1629849c34983b6376cdd529ca1dd : SUCCESS in 3m 08s\n- codegenerator-openapi-network-tips-with-api-ref https://zuul.opendev.org/t/openstack/build/7e8a2a63ae13413d91165378a65dc958 : SUCCESS in 3m 29s\n- codegenerator-openapi-object-store-static https://zuul.opendev.org/t/openstack/build/8b72ff4e02af4297b65211369b4a415d : SUCCESS in 1m 28s\n- codegenerator-openapi-placement-tips-with-api-ref https://zuul.opendev.org/t/openstack/build/4d296f69c6c94da78f3ba1474d3ec22d : SUCCESS in 3m 34s\n- codegenerator-openapi-shared-file-system-tips-with-api-ref https://zuul.opendev.org/t/openstack/build/e7ea737e2e61442b83923232dc2a148a : SUCCESS in 6m 15s\n- codegenerator-tox-publish-openapi-specs https://zuul.opendev.org/t/openstack/build/9fcd445a0dd74b139f8958b4b961f282 : SUCCESS in 4m 37s\n- codegenerator-rust-all https://zuul.opendev.org/t/openstack/build/56a0cea4a3e04e6fb4561e6d2b35c7bf : SUCCESS in 44m 19s","accounts_in_message":[],"_revision_number":4},{"id":"1967a0fe0ebcd1e122beb9cb2d0efcb9b6000756","tag":"autogenerated:zuul:gate","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-08-05 17:50:20.000000000","message":"Patch Set 4: -Verified\n\nStarting gate jobs.","accounts_in_message":[],"_revision_number":4},{"id":"70919869009524d24ad773c85739d9ee329e4e82","tag":"autogenerated:zuul:gate","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-08-05 18:54:56.000000000","message":"Patch Set 4: Verified+2\n\nBuild succeeded (gate pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/b58b7eecaea44dd699a8113fd9851b94\n\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/9b611b7074264782811df7f35b1291db : SUCCESS in 2m 34s\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/bd8d714b33744537aa96cb18d90f46f0 : SUCCESS in 3m 01s\n- openstack-tox-py311 https://zuul.opendev.org/t/openstack/build/b19214c09f7247089ade134bd0a7e0b5 : SUCCESS in 2m 47s\n- codegenerator-openapi-baremetal-tips-with-api-ref https://zuul.opendev.org/t/openstack/build/a32718ebd4c64ebbb501297d7140a08c : SUCCESS in 2m 50s\n- codegenerator-openapi-block-storage-tips-with-api-ref https://zuul.opendev.org/t/openstack/build/b62d8f23dc8641de8eb456769a88f6e7 : SUCCESS in 6m 28s\n- codegenerator-openapi-compute-tips-with-api-ref https://zuul.opendev.org/t/openstack/build/6804cade06ac4e7288ba673b5fc4c741 : SUCCESS in 7m 24s\n- codegenerator-openapi-container-infrastructure-management-tips-with-api-ref https://zuul.opendev.org/t/openstack/build/64ae103760ec4b12979c679a771d6836 : SUCCESS in 5m 07s\n- codegenerator-openapi-dns-tips-with-api-ref https://zuul.opendev.org/t/openstack/build/91f66118654e4cb097ebd98761a910ed : SUCCESS in 5m 20s\n- codegenerator-openapi-identity-tips-with-api-ref https://zuul.opendev.org/t/openstack/build/24b5ee3e077c4a50a89c25297f3501ff : SUCCESS in 3m 52s\n- codegenerator-openapi-image-tips-with-api-ref https://zuul.opendev.org/t/openstack/build/5612bb6be0e643559912f1a136dd6e23 : SUCCESS in 4m 47s\n- codegenerator-openapi-key-manager-tips https://zuul.opendev.org/t/openstack/build/0c08eb848c7d4a469875cbe09b6cf881 : SUCCESS in 2m 37s\n- codegenerator-openapi-load-balancing-tips-with-api-ref https://zuul.opendev.org/t/openstack/build/a8c5c1ef48734862acea118ad54dee76 : SUCCESS in 3m 38s\n- codegenerator-openapi-network-tips-with-api-ref https://zuul.opendev.org/t/openstack/build/1527350aa7764c1596182c102f78e5c4 : SUCCESS in 4m 23s\n- codegenerator-openapi-object-store-static https://zuul.opendev.org/t/openstack/build/4e83d47ada2044cf9b0a24c0577a1e2e : SUCCESS in 1m 19s\n- codegenerator-openapi-placement-tips-with-api-ref https://zuul.opendev.org/t/openstack/build/3c84499f578548d4b63e36791c445d5e : SUCCESS in 4m 47s\n- codegenerator-openapi-shared-file-system-tips-with-api-ref https://zuul.opendev.org/t/openstack/build/4f662ed096944910a5d912dd79356ba7 : SUCCESS in 5m 37s\n- codegenerator-tox-publish-openapi-specs https://zuul.opendev.org/t/openstack/build/ea4f8208acfc482694c25e225cb8ac77 : SUCCESS in 2m 57s\n- codegenerator-rust-all https://zuul.opendev.org/t/openstack/build/fe5bce07be7545deb18d8f72ef1e6551 : SUCCESS in 47m 24s","accounts_in_message":[],"_revision_number":4},{"id":"db3b8192968dbd6d0ae1cc32ba2f9d5cf8efe742","tag":"autogenerated:gerrit:merged","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-08-05 18:54:56.000000000","message":"Change has been successfully merged","accounts_in_message":[],"_revision_number":4},{"id":"3d270c7b4e94ddb1f172b5264b19af30f0f0d9a5","tag":"autogenerated:zuul:promote","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-08-05 18:56:52.000000000","message":"Patch Set 4:\n\nBuild succeeded (promote pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/caed7ea65a8449ddaf3540afc4e5281e\n\n- promote-openstack-tox-docs https://zuul.opendev.org/t/openstack/build/99d8d1f62cef415c8129313e5e97848a : SUCCESS in 40s\n- codegenerator-propose-rust-openstack-change https://zuul.opendev.org/t/openstack/build/758dacc2e0eb4963a0e4f1d91e7992db : SUCCESS in 1m 45s\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":4}],"current_revision_number":4,"current_revision":"4578cd6fa7d6464576571c59fc6422f35bf671d7","revisions":{"90a24d37233609d4e181f8f0275cf73b1f01fd04":{"kind":"REWORK","_number":1,"created":"2026-07-30 16:09:57.000000000","uploader":{"_account_id":27900,"name":"Artem Goncharov","email":"artem.goncharov@gmail.com","username":"gtema"},"ref":"refs/changes/11/999311/1","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/codegenerator","ref":"refs/changes/11/999311/1","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/codegenerator refs/changes/11/999311/1 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/codegenerator refs/changes/11/999311/1 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/codegenerator refs/changes/11/999311/1 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/codegenerator refs/changes/11/999311/1"}}},"commit":{"parents":[{"commit":"600e3a5506370f15287a641db67345f264a9ec10","subject":"feat: Add missing filter_type to rust-tui-view resources","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/codegenerator/commit/600e3a5506370f15287a641db67345f264a9ec10"}]}],"author":{"name":"Artem Goncharov","email":"artem.goncharov@gmail.com","date":"2026-07-30 16:06:06.000000000","tz":120},"committer":{"name":"Artem Goncharov","email":"artem.goncharov@gmail.com","date":"2026-07-30 16:08:57.000000000","tz":120},"subject":"feat(rust-tui): classify response variants across microversions","message":"feat(rust-tui): classify response variants across microversions\n\nGenerated response modules for a microversioned resource (e.g.\nlist_detailed_21.rs, _216.rs, ...) previously had no tooling to tell\nwhether they\u0027re safely additive or contain a real breaking field-type\nchange, and no way to tell a genuine variant apart from an unrelated\nschema that hash-collided into the same generated module-name bucket\n(_a/_b suffixes). Needed before ResourceBehaviour generation can pick\na response type per negotiated microversion instead of hardcoding one.\n\nclassify_fields raises VariantClassificationError naming the\nresource/operation/field on a real type change rather than guessing a\nconversion.\n\nRustResourceBehaviourGenerator hardcoded one response module per\nresource at codegen time, which breaks for any microversioned\nresource (compute has no unversioned response::list.rs, only\nlist_241.rs/list_detailed_255.rs/etc).\n\ngenerate_behaviour now resolves the real response variants (via\nrust_response_variants) and, when there\u0027s more than one, renders a\ncanonical superset struct plus a deserialize_items override that\npicks the variant matching the negotiated microversion and upcasts it\n- mechanically, since every field across variants is either unchanged\nor additive by construction (classify_fields already ruled out\nbreaking changes). GeneratedResourceBehaviour gets a matching\ndeserialize_items default in openstack_tui to override.\n\nA real breaking change (caught live against compute.server\u0027s fleet\ndata) logs and skips just that resource rather than aborting the\nwhole rust-tui run - it needs a hand-written conversion first.\n\nChange-Id: Idd37315a68ef4013ed82f1bf841de0c11f0e4fd4\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/90a24d37233609d4e181f8f0275cf73b1f01fd04"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/codegenerator/commit/90a24d37233609d4e181f8f0275cf73b1f01fd04"}]},"branch":"refs/heads/master"},"8e7e8e76135623cf307be0c2d312cd9628100d5a":{"kind":"TRIVIAL_REBASE","_number":2,"created":"2026-07-30 17:42:45.000000000","uploader":{"_account_id":27900,"name":"Artem Goncharov","email":"artem.goncharov@gmail.com","username":"gtema"},"ref":"refs/changes/11/999311/2","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/codegenerator","ref":"refs/changes/11/999311/2","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/codegenerator refs/changes/11/999311/2 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/codegenerator refs/changes/11/999311/2 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/codegenerator refs/changes/11/999311/2 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/codegenerator refs/changes/11/999311/2"}}},"commit":{"parents":[{"commit":"4e937709fa6e70ae2c967fa47e6d8bffafa2ff1f","subject":"feat(rust-tui): generate ResourceBehaviour mechanical tier","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/codegenerator/commit/4e937709fa6e70ae2c967fa47e6d8bffafa2ff1f"}]}],"author":{"name":"Artem Goncharov","email":"artem.goncharov@gmail.com","date":"2026-07-30 16:06:06.000000000","tz":120},"committer":{"name":"Artem Goncharov","email":"artem.goncharov@gmail.com","date":"2026-07-30 17:42:45.000000000","tz":0},"subject":"feat(rust-tui): classify response variants across microversions","message":"feat(rust-tui): classify response variants across microversions\n\nGenerated response modules for a microversioned resource (e.g.\nlist_detailed_21.rs, _216.rs, ...) previously had no tooling to tell\nwhether they\u0027re safely additive or contain a real breaking field-type\nchange, and no way to tell a genuine variant apart from an unrelated\nschema that hash-collided into the same generated module-name bucket\n(_a/_b suffixes). Needed before ResourceBehaviour generation can pick\na response type per negotiated microversion instead of hardcoding one.\n\nclassify_fields raises VariantClassificationError naming the\nresource/operation/field on a real type change rather than guessing a\nconversion.\n\nRustResourceBehaviourGenerator hardcoded one response module per\nresource at codegen time, which breaks for any microversioned\nresource (compute has no unversioned response::list.rs, only\nlist_241.rs/list_detailed_255.rs/etc).\n\ngenerate_behaviour now resolves the real response variants (via\nrust_response_variants) and, when there\u0027s more than one, renders a\ncanonical superset struct plus a deserialize_items override that\npicks the variant matching the negotiated microversion and upcasts it\n- mechanically, since every field across variants is either unchanged\nor additive by construction (classify_fields already ruled out\nbreaking changes). GeneratedResourceBehaviour gets a matching\ndeserialize_items default in openstack_tui to override.\n\nA real breaking change (caught live against compute.server\u0027s fleet\ndata) logs and skips just that resource rather than aborting the\nwhole rust-tui run - it needs a hand-written conversion first.\n\nChange-Id: Idd37315a68ef4013ed82f1bf841de0c11f0e4fd4\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/8e7e8e76135623cf307be0c2d312cd9628100d5a"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/codegenerator/commit/8e7e8e76135623cf307be0c2d312cd9628100d5a"}]},"branch":"refs/heads/master","description":"Rebase","conflicts":{"base":"600e3a5506370f15287a641db67345f264a9ec10","ours":"90a24d37233609d4e181f8f0275cf73b1f01fd04","theirs":"4e937709fa6e70ae2c967fa47e6d8bffafa2ff1f","merge_strategy":"recursive","contains_conflicts":false}},"b98baac3ec05b6b0f7c5b5e6809cd73c20fffb89":{"kind":"TRIVIAL_REBASE","_number":3,"created":"2026-07-31 12:20:44.000000000","uploader":{"_account_id":27900,"name":"Artem Goncharov","email":"artem.goncharov@gmail.com","username":"gtema"},"ref":"refs/changes/11/999311/3","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/codegenerator","ref":"refs/changes/11/999311/3","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/codegenerator refs/changes/11/999311/3 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/codegenerator refs/changes/11/999311/3 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/codegenerator refs/changes/11/999311/3 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/codegenerator refs/changes/11/999311/3"}}},"commit":{"parents":[{"commit":"aefd72e53159510462812415b4c2b0e8c6a56a75","subject":"fix(rust-tui): thread negotiated_version through cloud_worker template","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/codegenerator/commit/aefd72e53159510462812415b4c2b0e8c6a56a75"}]}],"author":{"name":"Artem Goncharov","email":"artem.goncharov@gmail.com","date":"2026-07-30 16:06:06.000000000","tz":120},"committer":{"name":"Artem Goncharov","email":"artem.goncharov@gmail.com","date":"2026-07-31 12:20:44.000000000","tz":0},"subject":"feat(rust-tui): classify response variants across microversions","message":"feat(rust-tui): classify response variants across microversions\n\nGenerated response modules for a microversioned resource (e.g.\nlist_detailed_21.rs, _216.rs, ...) previously had no tooling to tell\nwhether they\u0027re safely additive or contain a real breaking field-type\nchange, and no way to tell a genuine variant apart from an unrelated\nschema that hash-collided into the same generated module-name bucket\n(_a/_b suffixes). Needed before ResourceBehaviour generation can pick\na response type per negotiated microversion instead of hardcoding one.\n\nclassify_fields raises VariantClassificationError naming the\nresource/operation/field on a real type change rather than guessing a\nconversion.\n\nRustResourceBehaviourGenerator hardcoded one response module per\nresource at codegen time, which breaks for any microversioned\nresource (compute has no unversioned response::list.rs, only\nlist_241.rs/list_detailed_255.rs/etc).\n\ngenerate_behaviour now resolves the real response variants (via\nrust_response_variants) and, when there\u0027s more than one, renders a\ncanonical superset struct plus a deserialize_items override that\npicks the variant matching the negotiated microversion and upcasts it\n- mechanically, since every field across variants is either unchanged\nor additive by construction (classify_fields already ruled out\nbreaking changes). GeneratedResourceBehaviour gets a matching\ndeserialize_items default in openstack_tui to override.\n\nA real breaking change (caught live against compute.server\u0027s fleet\ndata) logs and skips just that resource rather than aborting the\nwhole rust-tui run - it needs a hand-written conversion first.\n\nChange-Id: Idd37315a68ef4013ed82f1bf841de0c11f0e4fd4\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/b98baac3ec05b6b0f7c5b5e6809cd73c20fffb89"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/codegenerator/commit/b98baac3ec05b6b0f7c5b5e6809cd73c20fffb89"}]},"branch":"refs/heads/master","description":"Rebase","conflicts":{"base":"4e937709fa6e70ae2c967fa47e6d8bffafa2ff1f","ours":"8e7e8e76135623cf307be0c2d312cd9628100d5a","theirs":"aefd72e53159510462812415b4c2b0e8c6a56a75","merge_strategy":"recursive","contains_conflicts":false}},"4578cd6fa7d6464576571c59fc6422f35bf671d7":{"kind":"REWORK","_number":4,"created":"2026-08-05 09:32:08.000000000","uploader":{"_account_id":27900,"name":"Artem Goncharov","email":"artem.goncharov@gmail.com","username":"gtema"},"ref":"refs/changes/11/999311/4","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/codegenerator","ref":"refs/changes/11/999311/4","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/codegenerator refs/changes/11/999311/4 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/codegenerator refs/changes/11/999311/4 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/codegenerator refs/changes/11/999311/4 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/codegenerator refs/changes/11/999311/4"}}},"commit":{"parents":[{"commit":"d620fa34d2cdf1d9e64fd1ea66dd15221e18527a","subject":"Merge \"feat(rust-cli): Dispatch response schema per negotiated microversion\"","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/codegenerator/commit/d620fa34d2cdf1d9e64fd1ea66dd15221e18527a"}]}],"author":{"name":"Artem Goncharov","email":"artem.goncharov@gmail.com","date":"2026-07-30 16:06:06.000000000","tz":120},"committer":{"name":"Artem Goncharov","email":"artem.goncharov@gmail.com","date":"2026-08-05 09:31:37.000000000","tz":120},"subject":"feat(rust-tui): source ColumnSpec from config.yaml, not struct scraping","message":"feat(rust-tui): source ColumnSpec from config.yaml, not struct scraping\n\nRustResourceBehaviourGenerator previously imported the resource\u0027s\nopenstack_types response struct directly as ResourceBehaviour::Item.\nThat doesn\u0027t work for microversioned resources where the response\nschema genuinely changes shape across variants (e.g. compute.flavor\u0027s\nswap i64-\u003ei32) -- no single generated struct is correct for every\nversion.\n\ngenerate_behaviour now builds a ColumnSpec array from the resource\u0027s\n.config/config.yaml views.\u003cres\u003e entry (default_fields, wide_fields,\nfields[].json_pointer overrides, status_field) and emits\nimpl_dynamic_item!(...) instead, reading columns out of the raw\nresponse by JSON pointer at render time. The config already carries\nthis data by hand for every resource; there\u0027s no need for the\ngenerator to also scrape #[structable(...)] attrs out of generated\nstruct source to arrive at the same information.\n\nA resource with no `views` entry in config.yaml is skipped (same\nskip-not-crash pattern as the existing filter_type check) rather than\ngenerated with empty columns. api_version is no longer required\neither, since nothing derives an openstack_types import path from it\nanymore.\n\nAssisted-By: Claude Sonnet 5 \u003cnoreply@anthropic.com\u003e\nChange-Id: Idd37315a68ef4013ed82f1bf841de0c11f0e4fd4\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/4578cd6fa7d6464576571c59fc6422f35bf671d7"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/codegenerator/commit/4578cd6fa7d6464576571c59fc6422f35bf671d7"}]},"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":""}}}]}
