)]}'
{"id":"openstack%2Fcinder~965836","triplet_id":"openstack%2Fcinder~master~I364d92738da7fecbc9c278dbeedaa74c63ee1595","project":"openstack/cinder","branch":"master","topic":"openapi","attention_set":{},"removed_from_attention_set":{"15334":{"account":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"last_update":"2025-12-01 21:52:04.000000000","reason":"Change was submitted"}},"hashtags":[],"change_id":"I364d92738da7fecbc9c278dbeedaa74c63ee1595","subject":"api: Simplify enable/disable APIs (clusters)","status":"MERGED","created":"2025-10-31 17:40:18.000000000","updated":"2025-12-01 21:53:11.000000000","submitted":"2025-12-01 21:52:04.000000000","submitter":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"total_comment_count":1,"unresolved_comment_count":0,"has_review_started":true,"submission_id":"965836-openapi","meta_rev_id":"bca665a754de67a269b0606d860e7473976e8e39","_number":965836,"virtual_id_number":965836,"owner":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"actions":{},"labels":{"Verified":{"approved":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"all":[{"value":0,"_account_id":5314,"name":"Brian Rosmaita","email":"rosmaita.fossdev@gmail.com","username":"brian-rosmaita"},{"value":0,"_account_id":9236,"name":"Jon Bernard","email":"jobernar@redhat.com","username":"jbernard"},{"tag":"autogenerated:zuul:gate","value":2,"date":"2025-12-01 21:52:04.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":5314,"name":"Brian Rosmaita","email":"rosmaita.fossdev@gmail.com","username":"brian-rosmaita"},"all":[{"value":2,"date":"2025-11-20 20:23:06.000000000","permitted_voting_range":{"min":2,"max":2},"_account_id":5314,"name":"Brian Rosmaita","email":"rosmaita.fossdev@gmail.com","username":"brian-rosmaita"},{"value":2,"date":"2025-12-01 20:04:44.000000000","permitted_voting_range":{"min":2,"max":2},"_account_id":9236,"name":"Jon Bernard","email":"jobernar@redhat.com","username":"jbernard"},{"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":9236,"name":"Jon Bernard","email":"jobernar@redhat.com","username":"jbernard"},"all":[{"value":0,"_account_id":5314,"name":"Brian Rosmaita","email":"rosmaita.fossdev@gmail.com","username":"brian-rosmaita"},{"value":1,"date":"2025-12-01 20:04:44.000000000","permitted_voting_range":{"min":1,"max":1},"_account_id":9236,"name":"Jon Bernard","email":"jobernar@redhat.com","username":"jbernard"},{"value":0,"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]}],"values":{"-1":"Work in progress"," 0":"Ready for reviews","+1":"Approved"},"description":"","default_value":0,"optional":true},"Review-Priority":{"recommended":{"_account_id":5314,"name":"Brian Rosmaita","email":"rosmaita.fossdev@gmail.com","username":"brian-rosmaita"},"all":[{"value":1,"date":"2025-11-20 20:23:06.000000000","permitted_voting_range":{"min":1,"max":2},"_account_id":5314,"name":"Brian Rosmaita","email":"rosmaita.fossdev@gmail.com","username":"brian-rosmaita"},{"value":0,"_account_id":9236,"name":"Jon Bernard","email":"jobernar@redhat.com","username":"jbernard"},{"value":0,"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]}],"values":{"-1":"Branch Freeze"," 0":"No Priority","+1":"Important Change","+2":"Gate Blocker Fix / Urgent Change"},"description":"","value":1,"default_value":0,"optional":true}},"removable_reviewers":[],"reviewers":{"REVIEWER":[{"_account_id":5314,"name":"Brian Rosmaita","email":"rosmaita.fossdev@gmail.com","username":"brian-rosmaita"},{"_account_id":9236,"name":"Jon Bernard","email":"jobernar@redhat.com","username":"jbernard"},{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]}],"CC":[{"_account_id":14384,"name":"Quobyte CI","email":"openstack-ci-external@quobyte.com","username":"quobyteci","tags":["SERVICE_USER"]},{"_account_id":15670,"name":"StorPool OpenStack CI","email":"openstack-ci@storpool.com","username":"storpoolci","tags":["SERVICE_USER"]},{"_account_id":22248,"name":"HPE STORAGE CI","display_name":"HPE AlletraMP CI","email":"hp.cinder.blr.ci@groups.ext.hpe.com","username":"hp-storage-blr-ci","status":"Alletra MP Openstack CI","tags":["SERVICE_USER"]},{"_account_id":33746,"name":"YADRO TATLIN CI","email":"tatlin_ci@yadro.com","username":"tatlin-ci"},{"_account_id":34318,"name":"HPE Nimble Storage CI","display_name":"HPE Nimble Storage CI","email":"raghavendra.tilay@capgemini.com","username":"hpe-nimble"},{"_account_id":34420,"name":"openstack lightbits","display_name":"Lightbits CI","email":"openstack@lightbitslabs.com","username":"openstack_lightbits"}]},"pending_reviewers":{},"reviewer_updates":[{"updated":"2025-10-31 17:43:18.000000000","updated_by":{"_account_id":22248,"name":"HPE STORAGE CI","display_name":"HPE AlletraMP CI","email":"hp.cinder.blr.ci@groups.ext.hpe.com","username":"hp-storage-blr-ci","status":"Alletra MP Openstack CI","tags":["SERVICE_USER"]},"reviewer":{"_account_id":22248,"name":"HPE STORAGE CI","display_name":"HPE AlletraMP CI","email":"hp.cinder.blr.ci@groups.ext.hpe.com","username":"hp-storage-blr-ci","status":"Alletra MP Openstack CI","tags":["SERVICE_USER"]},"state":"CC"},{"updated":"2025-10-31 18:46:09.000000000","updated_by":{"_account_id":14384,"name":"Quobyte CI","email":"openstack-ci-external@quobyte.com","username":"quobyteci","tags":["SERVICE_USER"]},"reviewer":{"_account_id":14384,"name":"Quobyte CI","email":"openstack-ci-external@quobyte.com","username":"quobyteci","tags":["SERVICE_USER"]},"state":"CC"},{"updated":"2025-10-31 19:55:15.000000000","updated_by":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"reviewer":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"state":"CC"},{"updated":"2025-10-31 19:59:44.000000000","updated_by":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"reviewer":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"state":"REVIEWER"},{"updated":"2025-10-31 20:06:32.000000000","updated_by":{"_account_id":34420,"name":"openstack lightbits","display_name":"Lightbits CI","email":"openstack@lightbitslabs.com","username":"openstack_lightbits"},"reviewer":{"_account_id":34420,"name":"openstack lightbits","display_name":"Lightbits CI","email":"openstack@lightbitslabs.com","username":"openstack_lightbits"},"state":"CC"},{"updated":"2025-11-01 11:20:51.000000000","updated_by":{"_account_id":34318,"name":"HPE Nimble Storage CI","display_name":"HPE Nimble Storage CI","email":"raghavendra.tilay@capgemini.com","username":"hpe-nimble"},"reviewer":{"_account_id":34318,"name":"HPE Nimble Storage CI","display_name":"HPE Nimble Storage CI","email":"raghavendra.tilay@capgemini.com","username":"hpe-nimble"},"state":"CC"},{"updated":"2025-11-01 12:28:18.000000000","updated_by":{"_account_id":33746,"name":"YADRO TATLIN CI","email":"tatlin_ci@yadro.com","username":"tatlin-ci"},"reviewer":{"_account_id":33746,"name":"YADRO TATLIN CI","email":"tatlin_ci@yadro.com","username":"tatlin-ci"},"state":"CC"},{"updated":"2025-11-02 00:12:55.000000000","updated_by":{"_account_id":15670,"name":"StorPool OpenStack CI","email":"openstack-ci@storpool.com","username":"storpoolci","tags":["SERVICE_USER"]},"reviewer":{"_account_id":15670,"name":"StorPool OpenStack CI","email":"openstack-ci@storpool.com","username":"storpoolci","tags":["SERVICE_USER"]},"state":"CC"},{"updated":"2025-11-20 20:23:06.000000000","updated_by":{"_account_id":5314,"name":"Brian Rosmaita","email":"rosmaita.fossdev@gmail.com","username":"brian-rosmaita"},"reviewer":{"_account_id":5314,"name":"Brian Rosmaita","email":"rosmaita.fossdev@gmail.com","username":"brian-rosmaita"},"state":"REVIEWER"},{"updated":"2025-12-01 20:04:44.000000000","updated_by":{"_account_id":9236,"name":"Jon Bernard","email":"jobernar@redhat.com","username":"jbernard"},"reviewer":{"_account_id":9236,"name":"Jon Bernard","email":"jobernar@redhat.com","username":"jbernard"},"state":"REVIEWER"}],"messages":[{"id":"e7bdd52764c7b3378a5378599b1b9abf001feb4e","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"date":"2025-10-31 17:40:18.000000000","message":"Uploaded patch set 1.","accounts_in_message":[],"_revision_number":1},{"id":"006eb38036522257f3a42ee9426a6562a6f256c2","author":{"_account_id":22248,"name":"HPE STORAGE CI","display_name":"HPE AlletraMP CI","email":"hp.cinder.blr.ci@groups.ext.hpe.com","username":"hp-storage-blr-ci","status":"Alletra MP Openstack CI","tags":["SERVICE_USER"]},"date":"2025-10-31 17:43:18.000000000","message":"Patch Set 1:\n\nBuild failed.\n\n- 3par-iscsi-driver-master-client-pip-ssa02-dsvm 3par-iscsi-driver-master-client-pip-ssa02-dsvm : NODE_FAILURE in 0s","accounts_in_message":[],"_revision_number":1},{"id":"35e1d1046e685b90b0c183cdecde7b29e3a13917","author":{"_account_id":14384,"name":"Quobyte CI","email":"openstack-ci-external@quobyte.com","username":"quobyteci","tags":["SERVICE_USER"]},"date":"2025-10-31 18:46:09.000000000","message":"Patch Set 1:\n\nBuild Failed \n\n* quobyteci:  cinder_quobyteci : FAILURE, logs at: https://oscilogs.quobyte.com/logs/I364d92738da7fecbc9c278dbeedaa74c63ee1595 .","accounts_in_message":[],"_revision_number":1},{"id":"b34f2dbf618e264ff7d0fb6edc77985c36587d5c","tag":"autogenerated:zuul:check-arm64","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2025-10-31 19:55:15.000000000","message":"Patch Set 1:\n\nBuild succeeded (ARM64 pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/2351b0e6bbc347a9891e6729c8556fb1\n\n- openstack-tox-py310-arm64 https://zuul.opendev.org/t/openstack/build/03dc7f7e42f34053a0e84caa9d4b339e : SUCCESS in 25m 39s (non-voting)\n- openstack-tox-py312-arm64 https://zuul.opendev.org/t/openstack/build/6106d80871e14009a76890fb3bddb410 : SUCCESS in 26m 33s (non-voting)\n- openstack-tox-py313-arm64 https://zuul.opendev.org/t/openstack/build/8bb6d9e8390740488861aba80bc590b2 : SUCCESS in 29m 48s (non-voting)","accounts_in_message":[],"_revision_number":1},{"id":"8337ff3414d5dad9e60ab6c9c878ae025bb0dbc9","tag":"autogenerated:zuul:check","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2025-10-31 19:59:44.000000000","message":"Patch Set 1: Verified+1\n\nBuild succeeded (check pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/4f592ee169a14f1fbb3240821122b083\n\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/5f491168e9cf46579b665f066560a1d1 : SUCCESS in 7m 13s\n- openstack-tox-py310 https://zuul.opendev.org/t/openstack/build/9079e49731ae4397930491959937015f : SUCCESS in 11m 48s\n- openstack-tox-py313 https://zuul.opendev.org/t/openstack/build/f08da9da81564e9b9f080be5fb47e83d : SUCCESS in 15m 19s\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/9dc9a6c8cb184da9b7756055d106e3ed : SUCCESS in 14m 42s\n- grenade https://zuul.opendev.org/t/openstack/build/5552d076de5b4a6eab9cd085d7d7b359 : SUCCESS in 30m 03s\n- grenade-skip-level-always https://zuul.opendev.org/t/openstack/build/8f7ea741da4a44ee9b81ae6c1666c6a8 : SUCCESS in 1h 08m 35s\n- tempest-integrated-storage https://zuul.opendev.org/t/openstack/build/a660668425074c76af316d8c712faab8 : SUCCESS in 1h 28m 35s\n- openstacksdk-functional-devstack https://zuul.opendev.org/t/openstack/build/611da3c2b3c84d7a85cf46b8d09c1816 : SUCCESS in 1h 03m 04s\n- cinder-code-coverage https://zuul.opendev.org/t/openstack/build/535bdb06806d4948aa22e89894cc22d0 : TIMED_OUT in 41m 16s (non-voting)\n- cinder-mypy https://zuul.opendev.org/t/openstack/build/bcecb8f414294d91a15c0e6367b0d38e : SUCCESS in 5m 58s\n- cinder-tox-bandit-baseline https://zuul.opendev.org/t/openstack/build/a3e1daa9f20d43ec85ec4772285a0809 : SUCCESS in 6m 41s (non-voting)\n- openstack-tox-functional-py310 https://zuul.opendev.org/t/openstack/build/5dae50a6bc7e43368a97c3aa15d6605c : SUCCESS in 5m 07s\n- openstack-tox-functional-py312 https://zuul.opendev.org/t/openstack/build/47799471ee044185b76940a0077b7dc2 : SUCCESS in 10m 52s\n- cinder-rally-task https://zuul.opendev.org/t/openstack/build/adda5159bed9489480bf7eb986ef85c1 : FAILURE in 39m 53s (non-voting)\n- openstack-tox-pylint https://zuul.opendev.org/t/openstack/build/1ec5611ff2b9493b877b128079873338 : SUCCESS in 6m 14s (non-voting)\n- cinder-plugin-ceph-tempest https://zuul.opendev.org/t/openstack/build/dc5a82a5e9c3455a8dd7096c99bebb2b : SUCCESS in 1h 57m 05s\n- cinder-plugin-ceph-tempest-mn-aa https://zuul.opendev.org/t/openstack/build/8a8f878cddff47569a7416a793afe6fb : FAILURE in 2h 04m 10s (non-voting)\n- cinder-tempest-plugin-lvm-lio-barbican https://zuul.opendev.org/t/openstack/build/c619e84452694f2db3953ea2a0cfe7e7 : SUCCESS in 1h 44m 26s\n- cinder-tempest-plugin-lvm-lio-barbican-fips-py311 https://zuul.opendev.org/t/openstack/build/5e54ec8d1bc6473ba881699d33df7649 : SUCCESS in 1h 53m 15s (non-voting)\n- cinder-tempest-plugin-protection-functional https://zuul.opendev.org/t/openstack/build/77d137ae452e4d1fb56f1967047e5a59 : SUCCESS in 29m 14s\n- cinder-grenade-mn-sub-volbak https://zuul.opendev.org/t/openstack/build/0d53a5b38aaa4851b8e489a20077efc3 : SUCCESS in 40m 06s\n- cinder-tempest-lvm-multibackend https://zuul.opendev.org/t/openstack/build/05ab72011c64462fb593c844d349f00c : SUCCESS in 1h 40m 15s (non-voting)\n- cinder-for-glance-optimized https://zuul.opendev.org/t/openstack/build/f3b7271d24694641b0854e774c88f364 : SUCCESS in 46m 57s (non-voting)\n- devstack-plugin-nfs-tempest-full https://zuul.opendev.org/t/openstack/build/bf5b982f250f4a0d86ca8a40d67e809f : SUCCESS in 1h 07m 40s\n- devstack-plugin-nfs-tempest-full-fips-py311 https://zuul.opendev.org/t/openstack/build/e1fb6842989444dfbde8d63a083d8f58 : SUCCESS in 2h 17m 34s (non-voting)\n- tempest-slow-py3 https://zuul.opendev.org/t/openstack/build/9dca155e3b0b4f008067c0758ed62707 : SUCCESS in 1h 39m 39s\n- tempest-ipv6-only https://zuul.opendev.org/t/openstack/build/424f6af23b7a44d3a1508d7b50eebea3 : SUCCESS in 1h 00m 41s","accounts_in_message":[],"_revision_number":1},{"id":"742cea5bf9abc587cb203674b605971a088de1fd","tag":"autogenerated:jenkins-gerrit-trigger","author":{"_account_id":34420,"name":"openstack lightbits","display_name":"Lightbits CI","email":"openstack@lightbitslabs.com","username":"openstack_lightbits"},"date":"2025-10-31 20:06:32.000000000","message":"Patch Set 1:\n\nBuild succeeded. log path: https://github.com/LightBitsLabs/logs/tree/main/31_10_2025_19_59_54\nLeave a comment with \u0027run-Lightbits CI\u0027 to trigger a recheck. \nFor more information about CI, please see https://wiki.openstack.org/wiki/ThirdPartySystems/LightbitsLabs_CI","accounts_in_message":[],"_revision_number":1},{"id":"6da11f65c779806f87094873c40d1a26c61e7a14","author":{"_account_id":34318,"name":"HPE Nimble Storage CI","display_name":"HPE Nimble Storage CI","email":"raghavendra.tilay@capgemini.com","username":"hpe-nimble"},"date":"2025-11-01 11:20:51.000000000","message":"Patch Set 1:\n\nBuild failed.\n\n- iscsi-driver-nimble https://github.com/hpe-storage/nimble-ci-logs/tree/master/new_logs/965836 : FAILURE in 35m 55s","accounts_in_message":[],"_revision_number":1},{"id":"9b226644210cd46561dee5ad62bdc4a863480a5b","author":{"_account_id":33746,"name":"YADRO TATLIN CI","email":"tatlin_ci@yadro.com","username":"tatlin-ci"},"date":"2025-11-01 12:28:18.000000000","message":"Patch Set 1:\n\nBuild succeeded (FC).\nLogs: http://tempest-openstack.spb.yadro.com/openstack-gerrit-trigger-fc/2267/.","accounts_in_message":[],"_revision_number":1},{"id":"100d6311ceded04bfbdb3c3a2e9b4e79ae7defee","author":{"_account_id":33746,"name":"YADRO TATLIN CI","email":"tatlin_ci@yadro.com","username":"tatlin-ci"},"date":"2025-11-01 14:01:42.000000000","message":"Patch Set 1:\n\nBuild succeeded (iSCSI).\nLogs: http://tempest-openstack.spb.yadro.com/openstack-gerrit-trigger-iscsi/2381/.","accounts_in_message":[],"_revision_number":1},{"id":"b04ef5d3b33ade9dab1959542ead824e2db9abc9","author":{"_account_id":15670,"name":"StorPool OpenStack CI","email":"openstack-ci@storpool.com","username":"storpoolci","tags":["SERVICE_USER"]},"date":"2025-11-02 00:12:55.000000000","message":"Patch Set 1:\n\nBuild failed.\n\n- cinder-storpool-tempest https://spfactory.storpool.com/zuul/t/local/build/4223805b26c14918ba52550fab365deb : SUCCESS in 47m 16s\n- cinder-storpool-tempest-iscsi-multipath https://spfactory.storpool.com/zuul/t/local/build/14c54f3619954563b85983ac20927f7e : FAILURE in 1h 51m 15s","accounts_in_message":[],"_revision_number":1},{"id":"0607c1a85a05869de51a6589016dce18b8d5da71","author":{"_account_id":5314,"name":"Brian Rosmaita","email":"rosmaita.fossdev@gmail.com","username":"brian-rosmaita"},"date":"2025-11-20 20:23:06.000000000","message":"Patch Set 1: Code-Review+2 Review-Priority+1\n\n(1 comment)","accounts_in_message":[],"_revision_number":1},{"id":"96fc2efbb1166e4c37f74a9f19c21e8720b35fd1","author":{"_account_id":9236,"name":"Jon Bernard","email":"jobernar@redhat.com","username":"jbernard"},"date":"2025-12-01 20:04:44.000000000","message":"Patch Set 1: Code-Review+2 Workflow+1","accounts_in_message":[],"_revision_number":1},{"id":"7a2f70c36992e36cb8d5133e63723b5c6674bab2","tag":"autogenerated:zuul:gate","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2025-12-01 20:05:19.000000000","message":"Patch Set 1: -Verified\n\nStarting gate jobs.","accounts_in_message":[],"_revision_number":1},{"id":"e7a139a130edff49b1863f46b711929f060ea9cf","tag":"autogenerated:zuul:gate","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2025-12-01 21:52:04.000000000","message":"Patch Set 1: Verified+2\n\nBuild succeeded (gate pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/6d20ddc4abd34960a9df8e2a6b0de095\n\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/87d425fffc7943bfba46554d795aa961 : SUCCESS in 6m 32s\n- openstack-tox-py310 https://zuul.opendev.org/t/openstack/build/75638e62210b43418ae4230597f348eb : SUCCESS in 7m 05s\n- openstack-tox-py313 https://zuul.opendev.org/t/openstack/build/20dbb17d30bf4c929103a95f6bc8dab7 : SUCCESS in 15m 20s\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/bb37fc7a5b1a4ec3b8cbf59dbb4fc127 : SUCCESS in 6m 46s\n- grenade https://zuul.opendev.org/t/openstack/build/8cfaa3a2955147c4aeaa8e7d5325689b : SUCCESS in 33m 29s\n- grenade-skip-level-always https://zuul.opendev.org/t/openstack/build/7df1ba5ae33844c8a31bb7642df7d390 : SUCCESS in 1h 00m 16s\n- tempest-integrated-storage https://zuul.opendev.org/t/openstack/build/f5a5f658cc2d4d7eb563fbb30ad7d1ff : SUCCESS in 1h 22m 45s\n- openstacksdk-functional-devstack https://zuul.opendev.org/t/openstack/build/14fca3a5751042f984956852b563d863 : SUCCESS in 47m 21s\n- cinder-grenade-mn-sub-volbak https://zuul.opendev.org/t/openstack/build/db828386282b4963b9fbb53913717b00 : SUCCESS in 54m 17s\n- cinder-plugin-ceph-tempest https://zuul.opendev.org/t/openstack/build/5e41c14b55ca458693dcb63f3ce31a69 : SUCCESS in 1h 20m 28s\n- tempest-ipv6-only https://zuul.opendev.org/t/openstack/build/9ebee46395d44b5e84f3fd8a8a8553b5 : SUCCESS in 1h 02m 37s","accounts_in_message":[],"_revision_number":1},{"id":"d729acd16c6f643160ca5e5f14474ba26531c6c4","tag":"autogenerated:gerrit:merged","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2025-12-01 21:52:04.000000000","message":"Change has been successfully merged","accounts_in_message":[],"_revision_number":1},{"id":"bca665a754de67a269b0606d860e7473976e8e39","tag":"autogenerated:zuul:promote","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2025-12-01 21:53:11.000000000","message":"Patch Set 1:\n\nBuild succeeded (promote pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/755682e04b81403cafa2d6a377e4e524\n\n- promote-openstack-tox-docs https://zuul.opendev.org/t/openstack/build/374c328960e4460b8dd632e40383a1ba : SUCCESS in 48s","accounts_in_message":[],"_revision_number":1}],"current_revision_number":1,"current_revision":"91b5501585544cadeed9d569556332b80c4e0c56","revisions":{"91b5501585544cadeed9d569556332b80c4e0c56":{"kind":"REWORK","_number":1,"created":"2025-10-31 17:40:18.000000000","uploader":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"ref":"refs/changes/36/965836/1","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/cinder","ref":"refs/changes/36/965836/1","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/cinder refs/changes/36/965836/1 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/cinder refs/changes/36/965836/1 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/cinder refs/changes/36/965836/1 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/cinder refs/changes/36/965836/1"}}},"commit":{"parents":[{"commit":"beba53bf02a44f0db9f6f7793c5125f3922712f5","subject":"tests: Add API sample tests for cluster API","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/cinder/commit/beba53bf02a44f0db9f6f7793c5125f3922712f5"}]}],"author":{"name":"Stephen Finucane","email":"stephenfin@redhat.com","date":"2024-04-23 09:50:55.000000000","tz":60},"committer":{"name":"Stephen Finucane","email":"stephenfin@redhat.com","date":"2025-10-31 17:39:32.000000000","tz":0},"subject":"api: Simplify enable/disable APIs (clusters)","message":"api: Simplify enable/disable APIs (clusters)\n\nI\u0027m using simplify a little liberally here: what we are actually\nsimplifying is our later addition of API schemas. This change migrates\nus from using route\u0027s \"update\" method to using a proper \"action\" method\nlike we use for most other actions. This allows us to work towards the 1\nschema 1 method model that is easiest to introspect.\n\nNote that to do this, we must migrate this resource away from\n\u0027mapper.resource\u0027. What we wanted to do was this:\n\n  mapper.resource(\n      \u0027cluster\u0027,\n      \u0027clusters\u0027,\n      controller\u003dself.resources[\u0027clusters\u0027],\n      collection\u003d{\n          \u0027detail\u0027: \u0027GET\u0027,\n          \u0027enable\u0027: \u0027PUT\u0027,\n          \u0027disable\u0027: \u0027PUT\u0027,\n      },\n  )\n\nHowever, this doesn\u0027t work because Routes has a feature/bug where if we\npass non-GET actions via the \u0027collection\u0027 argument, then the first of\nthese will be marked as the \"primary\" route. When this happens, we don\u0027t\nuse the action to lookup the controller method nor do we suffix the path\nwith the action [1]. In concrete terms, instead of getting a \u0027PUT\n/clusters/enable\u0027 route that resolves to \u0027ClusterController.enable\u0027, we\nget a \u0027PUT /clusters\u0027 route that resolves to a non-existent\n\u0027ClusterController.update\u0027 method. The solution to this is to use\n\u0027mapper.connect\u0027 - or more specifically a newly introduced\n\u0027mapper.resource\u0027 wrapper based on nova\u0027s equivalent [2] - to manually\nspecify each path instead.\n\n[1] https://github.com/bbangert/routes/blob/v2.5.1/routes/mapper.py#L1157-L1169\n[2] https://github.com/openstack/nova/blob/29.0.1/nova/api/openstack/__init__.py#L203-L215\n\nChange-Id: I364d92738da7fecbc9c278dbeedaa74c63ee1595\nSigned-off-by: Stephen Finucane \u003cstephenfin@redhat.com\u003e\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/cinder/commit/91b5501585544cadeed9d569556332b80c4e0c56"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/cinder/commit/91b5501585544cadeed9d569556332b80c4e0c56"}]},"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":9236,"name":"Jon Bernard","email":"jobernar@redhat.com","username":"jbernard"}},{"label":"Workflow","status":"MAY","applied_by":{"_account_id":9236,"name":"Jon Bernard","email":"jobernar@redhat.com","username":"jbernard"}},{"label":"Review-Priority","status":"MAY","applied_by":{"_account_id":5314,"name":"Brian Rosmaita","email":"rosmaita.fossdev@gmail.com","username":"brian-rosmaita"}}]}],"submit_requirements":[{"name":"Verified","description":"Verified in gate by CI","status":"SATISFIED","is_legacy":false,"submittability_expression_result":{"expression":"label:Verified\u003dMAX AND -label:Verified\u003dMIN","fulfilled":true,"status":"PASS","passing_atoms":["label:Verified\u003dMAX"],"failing_atoms":["label:Verified\u003dMIN"],"atom_explanations":{}}},{"name":"Code-Review","description":"Code reviewed by core reviewer","status":"SATISFIED","is_legacy":false,"submittability_expression_result":{"expression":"label:Code-Review\u003dMAX AND -label:Code-Review\u003dMIN","fulfilled":true,"status":"PASS","passing_atoms":["label:Code-Review\u003dMAX"],"failing_atoms":["label:Code-Review\u003dMIN"],"atom_explanations":{}}},{"name":"Review-Priority","description":"Review priority","status":"SATISFIED","is_legacy":false,"submittability_expression_result":{"expression":"-label:Review-Priority\u003dMIN","fulfilled":true,"status":"PASS","passing_atoms":[],"failing_atoms":["label:Review-Priority\u003dMIN"],"atom_explanations":{}}},{"name":"Workflow","description":"Approved for gate by core reviewer","status":"SATISFIED","is_legacy":false,"submittability_expression_result":{"expression":"label:Workflow\u003dMAX AND -label:Workflow\u003dMIN","fulfilled":true,"status":"PASS","passing_atoms":["label:Workflow\u003dMAX"],"failing_atoms":["label:Workflow\u003dMIN"],"atom_explanations":{}}}]}
