)]}'
{"id":"openstack%2Fnova~1002007","triplet_id":"openstack%2Fnova~master~I65a9358244b0683f7d47eac8d9d878c467a9fef7","project":"openstack/nova","branch":"master","attention_set":{},"removed_from_attention_set":{"4690":{"account":{"_account_id":4690,"name":"melanie witt","display_name":"melwitt","email":"melwittt@gmail.com","username":"melwitt"},"last_update":"2026-08-26 15:17:28.000000000","reason":"\u003cGERRIT_ACCOUNT_4690\u003e replied on the change","reason_account":{"_account_id":4690,"name":"melanie witt","display_name":"melwitt","email":"melwittt@gmail.com","username":"melwitt"}},"11604":{"account":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"last_update":"2026-08-26 17:04:45.000000000","reason":"Change was submitted"},"15334":{"account":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"last_update":"2026-08-26 10:27:14.000000000","reason":"\u003cGERRIT_ACCOUNT_15334\u003e replied on the change","reason_account":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"}},"26471":{"account":{"_account_id":26471,"name":"Software Factory CI","email":"softwarefactory-operations-team@redhat.com","username":"sf-project-io"},"last_update":"2026-08-25 21:38:39.000000000","reason":"removed on reply"}},"hashtags":[],"change_id":"I65a9358244b0683f7d47eac8d9d878c467a9fef7","subject":"Switch Cyborg client from keystoneauth1 to openstacksdk","status":"MERGED","created":"2026-08-24 03:47:31.000000000","updated":"2026-08-26 17:09:50.000000000","submitted":"2026-08-26 17:04:45.000000000","submitter":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"total_comment_count":48,"unresolved_comment_count":3,"has_review_started":true,"submission_id":"1002007","meta_rev_id":"54ed303c83ec5c99c65607afb37544a6fe2b64b8","_number":1002007,"virtual_id_number":1002007,"owner":{"_account_id":4690,"name":"melanie witt","display_name":"melwitt","email":"melwittt@gmail.com","username":"melwitt"},"actions":{},"labels":{"Verified":{"approved":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"all":[{"value":0,"_account_id":4690,"name":"melanie witt","display_name":"melwitt","email":"melwittt@gmail.com","username":"melwitt"},{"value":0,"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},{"value":0,"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},{"value":0,"_account_id":26471,"name":"Software Factory CI","email":"softwarefactory-operations-team@redhat.com","username":"sf-project-io"},{"tag":"autogenerated:zuul:gate","value":2,"date":"2026-08-26 17:04:44.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":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"all":[{"value":0,"_account_id":4690,"name":"melanie witt","display_name":"melwitt","email":"melwittt@gmail.com","username":"melwitt"},{"value":2,"date":"2026-08-26 11:40:35.000000000","permitted_voting_range":{"min":2,"max":2},"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},{"value":2,"date":"2026-08-26 10:27:14.000000000","permitted_voting_range":{"min":2,"max":2},"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},{"value":1,"date":"2026-08-25 21:38:39.000000000","permitted_voting_range":{"min":1,"max":1},"_account_id":26471,"name":"Software Factory CI","email":"softwarefactory-operations-team@redhat.com","username":"sf-project-io"},{"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":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"all":[{"value":0,"_account_id":4690,"name":"melanie witt","display_name":"melwitt","email":"melwittt@gmail.com","username":"melwitt"},{"value":1,"date":"2026-08-26 15:06:48.000000000","permitted_voting_range":{"min":1,"max":1},"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},{"value":0,"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},{"value":0,"_account_id":26471,"name":"Software Factory CI","email":"softwarefactory-operations-team@redhat.com","username":"sf-project-io"},{"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":{"all":[{"value":0,"_account_id":4690,"name":"melanie witt","display_name":"melwitt","email":"melwittt@gmail.com","username":"melwitt"},{"value":0,"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},{"value":0,"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},{"value":0,"_account_id":26471,"name":"Software Factory CI","email":"softwarefactory-operations-team@redhat.com","username":"sf-project-io"},{"value":0,"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]}],"values":{" 0":"Default Priority","+1":"Contributor Review Promise","+2":"Core Review Promise"},"description":"","default_value":0,"optional":true}},"removable_reviewers":[],"reviewers":{"REVIEWER":[{"_account_id":4690,"name":"melanie witt","display_name":"melwitt","email":"melwittt@gmail.com","username":"melwitt"},{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},{"_account_id":26471,"name":"Software Factory CI","email":"softwarefactory-operations-team@redhat.com","username":"sf-project-io"}],"CC":[{"_account_id":14384,"name":"Quobyte CI","email":"openstack-ci-external@quobyte.com","username":"quobyteci","tags":["SERVICE_USER"]},{"_account_id":34420,"name":"openstack lightbits","display_name":"Lightbits CI","email":"openstack@lightbitslabs.com","username":"openstack_lightbits"}]},"pending_reviewers":{},"reviewer_updates":[{"updated":"2026-08-24 04:43:54.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":"2026-08-24 05:08:24.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":"2026-08-24 05:52:02.000000000","updated_by":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"reviewer":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"state":"REVIEWER"},{"updated":"2026-08-24 10:32:19.000000000","updated_by":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"reviewer":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"state":"CC"},{"updated":"2026-08-24 10:46:36.000000000","updated_by":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"reviewer":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"state":"REVIEWER"},{"updated":"2026-08-24 11:27:12.000000000","updated_by":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"reviewer":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"state":"REVIEWER"},{"updated":"2026-08-24 22:26:20.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":"2026-08-25 20:18:43.000000000","updated_by":{"_account_id":26471,"name":"Software Factory CI","email":"softwarefactory-operations-team@redhat.com","username":"sf-project-io"},"reviewer":{"_account_id":26471,"name":"Software Factory CI","email":"softwarefactory-operations-team@redhat.com","username":"sf-project-io"},"state":"REVIEWER"}],"messages":[{"id":"558887dfc69b3770acc6848f77032c99e031c5dd","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":4690,"name":"melanie witt","display_name":"melwitt","email":"melwittt@gmail.com","username":"melwitt"},"date":"2026-08-24 03:47:31.000000000","message":"Uploaded patch set 1.","accounts_in_message":[],"_revision_number":1},{"id":"ade22306089b17c4f459375ff4f0c9f73e9d45b8","author":{"_account_id":14384,"name":"Quobyte CI","email":"openstack-ci-external@quobyte.com","username":"quobyteci","tags":["SERVICE_USER"]},"date":"2026-08-24 04:43:54.000000000","message":"Patch Set 1:\n\nBuild Successful \n\n* quobyteci:  nova_quobyteci : SUCCESS, logs at: https://oscilogs.quobyte.com/logs/I65a9358244b0683f7d47eac8d9d878c467a9fef7 .","accounts_in_message":[],"_revision_number":1},{"id":"6064f551063f6b500b86c17ce31a164e25da3638","tag":"autogenerated:zuul:check-arm64","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-08-24 05:08:24.000000000","message":"Patch Set 1:\n\nBuild succeeded (ARM64 pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/251770c09e91412e94cd9acfa96f91f6\n\n- openstack-tox-py311-arm64 https://zuul.opendev.org/t/openstack/build/caf92926d8aa425c9ed499f720b159b6 : SUCCESS in 24m 26s (non-voting)\n- openstack-tox-py313-arm64 https://zuul.opendev.org/t/openstack/build/785de39aa8bd4dd39a6a35a394640a32 : SUCCESS in 13m 33s (non-voting)\n- openstack-tox-py314-arm64 https://zuul.opendev.org/t/openstack/build/28f83f33a26f45e880cd7d38b5c81e8c : SUCCESS in 39m 21s (non-voting)","accounts_in_message":[],"_revision_number":1},{"id":"a5f9eb3c27f0723fbde2fa56b27ecd7b636ff4f5","tag":"autogenerated:zuul:check","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-08-24 05:52:02.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/774c15539d414e31a2e9d66889cb0335\n\n- grenade-skip-level-always https://zuul.opendev.org/t/openstack/build/9b71f8b0419349b3989fedf9d0b55680 : SUCCESS in 47m 16s\n- tempest-integrated-compute https://zuul.opendev.org/t/openstack/build/8dd35bc53cd04a1e9be63f073a644c46 : SUCCESS in 53m 04s\n- openstacksdk-functional-devstack https://zuul.opendev.org/t/openstack/build/2120e84bfac44a17803dc982cf57b88e : SUCCESS in 43m 42s\n- openstack-tox-cover https://zuul.opendev.org/t/openstack/build/c994fa1f4ef8455988b0b6e3646ba624 : SUCCESS in 58m 22s\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/2b3db567cc944c37a1cb97e9e4e5eb6f : SUCCESS in 4m 33s\n- openstack-tox-py311 https://zuul.opendev.org/t/openstack/build/4b6d9fe433e944118686cdc900af9530 : SUCCESS in 9m 40s\n- openstack-tox-py313 https://zuul.opendev.org/t/openstack/build/854b5b92b9c245c3bb503b178f636a84 : SUCCESS in 8m 13s\n- openstack-tox-py314 https://zuul.opendev.org/t/openstack/build/d2aaa3d56cfc49a997d13da89ce81155 : SUCCESS in 10m 36s (non-voting)\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/a5591f883c58487c96a408e12c3aa009 : SUCCESS in 6m 48s\n- build-openstack-releasenotes https://zuul.opendev.org/t/openstack/build/cb3f9a21534e4776853bd46b02523f8e : SUCCESS in 4m 19s\n- ironic-tempest-bios-ipmi-autodetect https://zuul.opendev.org/t/openstack/build/7d1c7392781947f18d77e566c1b39653 : SUCCESS in 52m 13s (non-voting)\n- nova-ceph-multistore https://zuul.opendev.org/t/openstack/build/a4d97d46478d417f9b9edb56c186e1cd : SUCCESS in 1h 55m 54s\n- nova-live-migration https://zuul.opendev.org/t/openstack/build/85c47133c7b14ba38c43a23885ef9bf4 : SUCCESS in 51m 12s\n- nova-whitebox https://zuul.opendev.org/t/openstack/build/0910a486f1ca4127889f9d7f1e119977 : SUCCESS in 35m 12s\n- nova-graceful-shutdown https://zuul.opendev.org/t/openstack/build/6cd7c1c5d1344fbe99e7ea952e2292fd : SUCCESS in 36m 48s\n- nova-live-migration-ceph https://zuul.opendev.org/t/openstack/build/2382a4ddde9046fe99ecc897c99b478b : POST_FAILURE in 40m 43s\n- nova-multi-cell https://zuul.opendev.org/t/openstack/build/864fc84ce8294acfbe0c0cde1b8d1eb0 : SUCCESS in 1h 58m 08s\n- nova-next https://zuul.opendev.org/t/openstack/build/27b71510783c45689a8aca0f1abc3048 : SUCCESS in 59m 11s\n- nova-alt-configurations https://zuul.opendev.org/t/openstack/build/11fb350876f2403593cbdb99fcbd3cfe : SUCCESS in 47m 28s\n- nova-tox-validate-backport https://zuul.opendev.org/t/openstack/build/e5e05cd5b7894625ad8b0be9d7ef1ac4 : SUCCESS in 5m 03s (non-voting)\n- nova-tox-functional-py311 https://zuul.opendev.org/t/openstack/build/92c693728eb845d6960b17ec51ae70b7 : SUCCESS in 26m 07s\n- nova-tox-functional-py313 https://zuul.opendev.org/t/openstack/build/ee24f999e9ad4a06a39b3eddb11ea5f3 : SUCCESS in 25m 55s\n- nova-tox-functional-py313-threading https://zuul.opendev.org/t/openstack/build/f15f1be7312f4c1996cd9f2b1fc353f8 : SUCCESS in 24m 18s\n- nova-grenade-multinode https://zuul.opendev.org/t/openstack/build/1d3e7c0114834b73a7237541ac574695 : SUCCESS in 51m 07s\n- tempest-ipv6-only https://zuul.opendev.org/t/openstack/build/a516712bb05c4eecbb48901960de599a : SUCCESS in 29m 01s\n- cyborg-tempest-py3 https://zuul.opendev.org/t/openstack/build/f9691dda91f24d4490064ca8b808a4f9 : FAILURE in 43m 25s (non-voting)\n- barbican-tempest-plugin-simple-crypto https://zuul.opendev.org/t/openstack/build/d6eef225d67a42c0bc8644bad1aa9e56 : SUCCESS in 35m 38s (non-voting)\n- nova-tox-py313-threading https://zuul.opendev.org/t/openstack/build/d9ee782be0154a77b50165eaa85580ad : SUCCESS in 8m 34s","accounts_in_message":[],"_revision_number":1},{"id":"f1c431f0bd1e96e2d53f4755a13929eefc997c4a","author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"date":"2026-08-24 10:32:19.000000000","message":"Patch Set 1:\n\n(1 comment)","accounts_in_message":[],"_revision_number":1},{"id":"f7260fefd13951b375caa0821368872e84caca04","author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"date":"2026-08-24 10:46:36.000000000","message":"Patch Set 1: Code-Review+2\n\n(4 comments)","accounts_in_message":[],"_revision_number":1},{"id":"bd1b229fa13517abd39328ec93acce10381a5242","tag":"autogenerated:zuul:check-arm64","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-08-24 11:23:41.000000000","message":"Patch Set 1:\n\nBuild succeeded (ARM64 pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/698c918d7fe14d79a4a703e9e62784f9\n\n- openstack-tox-py311-arm64 https://zuul.opendev.org/t/openstack/build/b12def87d3d143979c69e6fa7781f9c9 : SUCCESS in 13m 21s (non-voting)\n- openstack-tox-py313-arm64 https://zuul.opendev.org/t/openstack/build/18e2aa0791524fbcb74f06aec417e01c : SUCCESS in 23m 42s (non-voting)\n- openstack-tox-py314-arm64 https://zuul.opendev.org/t/openstack/build/d6d07becb8884df88ae757143e74e3ff : SUCCESS in 35m 09s (non-voting)","accounts_in_message":[],"_revision_number":1},{"id":"01ea673464b354928b5ccd8cfb7f97c6b3223366","author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"date":"2026-08-24 11:27:12.000000000","message":"Patch Set 1: Code-Review+1\n\n(4 comments)","accounts_in_message":[],"_revision_number":1},{"id":"2de2a0afa9af0694e992bbd5709bcdd4a72a005d","author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"date":"2026-08-24 12:00:59.000000000","message":"Patch Set 1:\n\n(1 comment)","accounts_in_message":[],"_revision_number":1},{"id":"858046ba4a977eeb9e410ece528ef4de0dfbb528","tag":"autogenerated:zuul:check","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-08-24 12:34:09.000000000","message":"Patch Set 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/bcbbf8111c874af08835bc356986b058\n\n- grenade-skip-level-always https://zuul.opendev.org/t/openstack/build/aafbfc32bd4f4cb5a2047f9bccef67e0 : SUCCESS in 34m 00s\n- tempest-integrated-compute https://zuul.opendev.org/t/openstack/build/f14a5875c11d417ebc20583962a69792 : SUCCESS in 1h 21m 22s\n- openstacksdk-functional-devstack https://zuul.opendev.org/t/openstack/build/45ec9c5a8395447cba4da4308500dcea : SUCCESS in 58m 26s\n- openstack-tox-cover https://zuul.opendev.org/t/openstack/build/4ee40686b2124317afe3f3fd87c04f26 : SUCCESS in 53m 10s\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/1bea52f44f9a4311b819e421b99322c2 : SUCCESS in 7m 22s\n- openstack-tox-py311 https://zuul.opendev.org/t/openstack/build/7520ad764eea418c8fe5fabffb8c5f75 : SUCCESS in 10m 25s\n- openstack-tox-py313 https://zuul.opendev.org/t/openstack/build/d3fe01487b7c4e76a7abdf1f4d342831 : SUCCESS in 13m 24s\n- openstack-tox-py314 https://zuul.opendev.org/t/openstack/build/22cda0a02d92413e8dc70c4225fb9f82 : SUCCESS in 11m 16s (non-voting)\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/a46f6859d7a34d0b90993d81b817fc5a : SUCCESS in 6m 51s\n- build-openstack-releasenotes https://zuul.opendev.org/t/openstack/build/2b35c105d181488e83f233e2b2350313 : SUCCESS in 4m 54s\n- ironic-tempest-bios-ipmi-autodetect https://zuul.opendev.org/t/openstack/build/f96d45ebcfbc4be18f4ce906d390a601 : SUCCESS in 1h 01m 24s (non-voting)\n- nova-ceph-multistore https://zuul.opendev.org/t/openstack/build/8c3e75b2069a4e2c80e48ba09a212e76 : SUCCESS in 1h 41m 06s\n- nova-live-migration https://zuul.opendev.org/t/openstack/build/ad46a60c9982443fb5888ae11f329ce0 : SUCCESS in 43m 00s\n- nova-whitebox https://zuul.opendev.org/t/openstack/build/5a98c456423c46238a0bc0d04999f66a : SUCCESS in 35m 58s\n- nova-graceful-shutdown https://zuul.opendev.org/t/openstack/build/f91f6ee3607846d0bfbdd29b280e4814 : SUCCESS in 59m 39s\n- nova-live-migration-ceph https://zuul.opendev.org/t/openstack/build/5c00bcda86684a579f2c8911be37f568 : SUCCESS in 53m 39s\n- nova-multi-cell https://zuul.opendev.org/t/openstack/build/085c20a8e90e49eda0ba07a0631dd639 : SUCCESS in 1h 55m 29s\n- nova-next https://zuul.opendev.org/t/openstack/build/2d1cec393cae4af784eb14a523b9fc04 : SUCCESS in 1h 08m 44s\n- nova-alt-configurations https://zuul.opendev.org/t/openstack/build/c36006ab3309476cb5cc7d6219c20b8f : SUCCESS in 50m 00s\n- nova-tox-validate-backport https://zuul.opendev.org/t/openstack/build/ac5199103d1a425eb3bc3c78b54b785f : SUCCESS in 3m 44s (non-voting)\n- nova-tox-functional-py311 https://zuul.opendev.org/t/openstack/build/cc3ef7b4654c4e849a0e5701630fe79a : SUCCESS in 22m 21s\n- nova-tox-functional-py313 https://zuul.opendev.org/t/openstack/build/64ba583bfb704714b4b0037669b2bd81 : SUCCESS in 24m 05s\n- nova-tox-functional-py313-threading https://zuul.opendev.org/t/openstack/build/cd2b3564f8e94567bc3934d82ed18485 : FAILURE in 27m 43s\n- nova-grenade-multinode https://zuul.opendev.org/t/openstack/build/00b6bd965dca496b83a56f24c9a71320 : SUCCESS in 1h 04m 53s\n- tempest-ipv6-only https://zuul.opendev.org/t/openstack/build/327e9cc1adea4266824d242ac8495e25 : SUCCESS in 59m 53s\n- cyborg-tempest-py3 https://zuul.opendev.org/t/openstack/build/1eb57239a96043369a41beb1c08b61c4 : FAILURE in 32m 00s (non-voting)\n- barbican-tempest-plugin-simple-crypto https://zuul.opendev.org/t/openstack/build/fb32ed345cb34754b938815a6283ba3f : SUCCESS in 35m 01s (non-voting)\n- nova-tox-py313-threading https://zuul.opendev.org/t/openstack/build/caac7f39f47c4a2082e06a65babeae5d : SUCCESS in 12m 09s","accounts_in_message":[],"_revision_number":1},{"id":"cf5877077fe88b6311af5798270270c48ba8dad1","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":4690,"name":"melanie witt","display_name":"melwitt","email":"melwittt@gmail.com","username":"melwitt"},"date":"2026-08-24 15:08:07.000000000","message":"Uploaded patch set 2.\n\nOutdated Votes:\n* Code-Review+1, Code-Review+2 (copy condition: \"changekind:TRIVIAL_REBASE OR is:MIN\")\n* Verified-1 (copy condition: \"NEVER\")\n","accounts_in_message":[],"_revision_number":2},{"id":"e07b612f4332cb1be7f9b111b430fc381c448332","author":{"_account_id":4690,"name":"melanie witt","display_name":"melwitt","email":"melwittt@gmail.com","username":"melwitt"},"date":"2026-08-24 15:12:57.000000000","message":"Patch Set 2:\n\n(5 comments)","accounts_in_message":[],"_revision_number":2},{"id":"8e33d2794b2cf3dcf71e19a5f45fce6c669a8b76","author":{"_account_id":4690,"name":"melanie witt","display_name":"melwitt","email":"melwittt@gmail.com","username":"melwitt"},"date":"2026-08-24 15:16:51.000000000","message":"Patch Set 2:\n\n(1 comment)","accounts_in_message":[],"_revision_number":2},{"id":"afc976683de55666e1c092eba00e23908f340ffb","author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"date":"2026-08-24 15:18:36.000000000","message":"Patch Set 2:\n\n(2 comments)","accounts_in_message":[],"_revision_number":2},{"id":"d9003c39b045889b700635d76e2d46efb4b236ef","author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"date":"2026-08-24 15:19:37.000000000","message":"Patch Set 2:\n\n(1 comment)","accounts_in_message":[],"_revision_number":2},{"id":"486a370efbe6af526e12b7824d1d620a828ea0aa","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":4690,"name":"melanie witt","display_name":"melwitt","email":"melwittt@gmail.com","username":"melwitt"},"date":"2026-08-24 15:23:03.000000000","message":"Uploaded patch set 3.","accounts_in_message":[],"_revision_number":3},{"id":"c63b6a6f81e95e6a657930eee11548c74551b802","author":{"_account_id":4690,"name":"melanie witt","display_name":"melwitt","email":"melwittt@gmail.com","username":"melwitt"},"date":"2026-08-24 15:23:14.000000000","message":"Patch Set 2:\n\n(1 comment)","accounts_in_message":[],"_revision_number":2},{"id":"5e83c94dfe5a57659a1eee5783fc36bff90ed082","author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"date":"2026-08-24 15:25:09.000000000","message":"Patch Set 3: Code-Review+2\n\n(1 comment)","accounts_in_message":[],"_revision_number":3},{"id":"4f4d731f3e0744eb746ff96464c34205cab7c958","author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"date":"2026-08-24 15:25:21.000000000","message":"Patch Set 2: Code-Review-1\n\n(1 comment)","accounts_in_message":[],"_revision_number":2},{"id":"3e6b5952c9fe7fe42abbe4920970c638eabd6c79","author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"date":"2026-08-24 15:28:52.000000000","message":"Patch Set 3: -Code-Review\n\n(1 comment)","accounts_in_message":[],"_revision_number":3},{"id":"227e00651cec2d51474a7e71ad2f156920186a05","author":{"_account_id":4690,"name":"melanie witt","display_name":"melwitt","email":"melwittt@gmail.com","username":"melwitt"},"date":"2026-08-24 15:29:16.000000000","message":"Patch Set 3: Workflow-1\n\n(1 comment)","accounts_in_message":[],"_revision_number":3},{"id":"284d0c215477bee7e9f7e3dabddf63f43ca513dc","tag":"autogenerated:gerrit:setWorkInProgress","author":{"_account_id":4690,"name":"melanie witt","display_name":"melwitt","email":"melwittt@gmail.com","username":"melwitt"},"date":"2026-08-24 15:37:24.000000000","message":"Set Work In Progress","accounts_in_message":[],"_revision_number":3},{"id":"e6c4e56bd3154cabf31f4ada647c1358efbd0253","author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"date":"2026-08-24 15:47:27.000000000","message":"Patch Set 3: Code-Review-1\n\n(1 comment)","accounts_in_message":[],"_revision_number":3},{"id":"b90afa20ecaa182cc9fb1658eb7e49d29437dfba","author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"date":"2026-08-24 15:51:28.000000000","message":"Patch Set 3:\n\n(1 comment)","accounts_in_message":[],"_revision_number":3},{"id":"b26a964a97c01e84a47f601a7107a0ac2625b9e7","author":{"_account_id":14384,"name":"Quobyte CI","email":"openstack-ci-external@quobyte.com","username":"quobyteci","tags":["SERVICE_USER"]},"date":"2026-08-24 16:06:16.000000000","message":"Patch Set 2:\n\nBuild Successful \n\n* quobyteci:  nova_quobyteci : SUCCESS, logs at: https://oscilogs.quobyte.com/logs/I65a9358244b0683f7d47eac8d9d878c467a9fef7 .","accounts_in_message":[],"_revision_number":2},{"id":"6b4873ff05da2a9728daa1dae82aee752704cade","tag":"autogenerated:gerrit:newWipPatchSet","author":{"_account_id":4690,"name":"melanie witt","display_name":"melwitt","email":"melwittt@gmail.com","username":"melwitt"},"date":"2026-08-24 16:08:21.000000000","message":"Uploaded patch set 4.\n\nOutdated Votes:\n* Code-Review-1 (copy condition: \"changekind:TRIVIAL_REBASE OR is:MIN\")\n* Workflow-1 (copy condition: \"NEVER\")\n","accounts_in_message":[],"_revision_number":4},{"id":"84a384a5566773890572d79d11f9952aa8c01948","tag":"autogenerated:gerrit:newWipPatchSet","author":{"_account_id":4690,"name":"melanie witt","display_name":"melwitt","email":"melwittt@gmail.com","username":"melwitt"},"date":"2026-08-24 16:12:35.000000000","message":"Uploaded patch set 5: Commit message was updated.","accounts_in_message":[],"_revision_number":5},{"id":"d3e65a2ca83e7419fecf370bf7ba4765f75a7f9d","author":{"_account_id":14384,"name":"Quobyte CI","email":"openstack-ci-external@quobyte.com","username":"quobyteci","tags":["SERVICE_USER"]},"date":"2026-08-24 16:19:13.000000000","message":"Patch Set 3:\n\nBuild Successful \n\n* quobyteci:  nova_quobyteci : SUCCESS, logs at: https://oscilogs.quobyte.com/logs/I65a9358244b0683f7d47eac8d9d878c467a9fef7 .","accounts_in_message":[],"_revision_number":3},{"id":"ca296051d75f0db961d08abbc6624c9b1aabe443","author":{"_account_id":14384,"name":"Quobyte CI","email":"openstack-ci-external@quobyte.com","username":"quobyteci","tags":["SERVICE_USER"]},"date":"2026-08-24 17:06:47.000000000","message":"Patch Set 4:\n\nBuild Successful \n\n* quobyteci:  nova_quobyteci : SUCCESS, logs at: https://oscilogs.quobyte.com/logs/I65a9358244b0683f7d47eac8d9d878c467a9fef7 .","accounts_in_message":[],"_revision_number":4},{"id":"657a9944d20b270b3181f4d297a9d8d68587a3ea","author":{"_account_id":14384,"name":"Quobyte CI","email":"openstack-ci-external@quobyte.com","username":"quobyteci","tags":["SERVICE_USER"]},"date":"2026-08-24 17:08:47.000000000","message":"Patch Set 5:\n\nBuild Successful \n\n* quobyteci:  nova_quobyteci : SUCCESS, logs at: https://oscilogs.quobyte.com/logs/I65a9358244b0683f7d47eac8d9d878c467a9fef7 .","accounts_in_message":[],"_revision_number":5},{"id":"ae3ff8b70931d7b95ac4708172e9b735bbc85657","tag":"autogenerated:gerrit:newWipPatchSet","author":{"_account_id":4690,"name":"melanie witt","display_name":"melwitt","email":"melwittt@gmail.com","username":"melwitt"},"date":"2026-08-24 18:00:51.000000000","message":"Uploaded patch set 6.","accounts_in_message":[],"_revision_number":6},{"id":"c2a7b4fa020ef17f1ff4a7ed4b3a786735007c7c","author":{"_account_id":4690,"name":"melanie witt","display_name":"melwitt","email":"melwittt@gmail.com","username":"melwitt"},"date":"2026-08-24 18:40:13.000000000","message":"Patch Set 6: Workflow-1","accounts_in_message":[],"_revision_number":6},{"id":"2f1e723264417dee34f5fedb0257a1ce4877454b","author":{"_account_id":14384,"name":"Quobyte CI","email":"openstack-ci-external@quobyte.com","username":"quobyteci","tags":["SERVICE_USER"]},"date":"2026-08-24 18:59:43.000000000","message":"Patch Set 6:\n\nBuild Successful \n\n* quobyteci:  nova_quobyteci : SUCCESS, logs at: https://oscilogs.quobyte.com/logs/I65a9358244b0683f7d47eac8d9d878c467a9fef7 .","accounts_in_message":[],"_revision_number":6},{"id":"616fb8c0ee3b86cdef0be42a7320e264e621c5f8","tag":"autogenerated:gerrit:newWipPatchSet","author":{"_account_id":4690,"name":"melanie witt","display_name":"melwitt","email":"melwittt@gmail.com","username":"melwitt"},"date":"2026-08-24 19:22:25.000000000","message":"Uploaded patch set 7.\n\nOutdated Votes:\n* Workflow-1 (copy condition: \"NEVER\")\n","accounts_in_message":[],"_revision_number":7},{"id":"b0bc4f56ef3ef5ba5c11f2063e28c0be2e7ece3d","author":{"_account_id":14384,"name":"Quobyte CI","email":"openstack-ci-external@quobyte.com","username":"quobyteci","tags":["SERVICE_USER"]},"date":"2026-08-24 20:18:43.000000000","message":"Patch Set 7:\n\nBuild Successful \n\n* quobyteci:  nova_quobyteci : SUCCESS, logs at: https://oscilogs.quobyte.com/logs/I65a9358244b0683f7d47eac8d9d878c467a9fef7 .","accounts_in_message":[],"_revision_number":7},{"id":"95603e475958c838ed104e197994820e71c51c0d","author":{"_account_id":4690,"name":"melanie witt","display_name":"melwitt","email":"melwittt@gmail.com","username":"melwitt"},"date":"2026-08-24 20:21:18.000000000","message":"Patch Set 7: Workflow-1","accounts_in_message":[],"_revision_number":7},{"id":"bba435aa036292a6dafe16559693f63f503ac6f5","tag":"autogenerated:gerrit:newWipPatchSet","author":{"_account_id":4690,"name":"melanie witt","display_name":"melwitt","email":"melwittt@gmail.com","username":"melwitt"},"date":"2026-08-24 20:54:18.000000000","message":"Uploaded patch set 8.\n\nOutdated Votes:\n* Workflow-1 (copy condition: \"NEVER\")\n","accounts_in_message":[],"_revision_number":8},{"id":"2a14eac9a2d3754a701ef4037c92fe268129b8f4","author":{"_account_id":4690,"name":"melanie witt","display_name":"melwitt","email":"melwittt@gmail.com","username":"melwitt"},"date":"2026-08-24 21:34:40.000000000","message":"Patch Set 8:\n\n(1 comment)\n\nThis change is ready for review.","accounts_in_message":[],"_revision_number":8},{"id":"4f54f124b70db4eddddcec2c3c5688581540bd81","author":{"_account_id":14384,"name":"Quobyte CI","email":"openstack-ci-external@quobyte.com","username":"quobyteci","tags":["SERVICE_USER"]},"date":"2026-08-24 21:52:24.000000000","message":"Patch Set 8:\n\nBuild Successful \n\n* quobyteci:  nova_quobyteci : SUCCESS, logs at: https://oscilogs.quobyte.com/logs/I65a9358244b0683f7d47eac8d9d878c467a9fef7 .","accounts_in_message":[],"_revision_number":8},{"id":"4b4bf27a64f26c5f849152c1585b81349aa5c8ce","author":{"_account_id":4690,"name":"melanie witt","display_name":"melwitt","email":"melwittt@gmail.com","username":"melwitt"},"date":"2026-08-24 21:52:57.000000000","message":"Patch Set 8:\n\n(1 comment)","accounts_in_message":[],"_revision_number":8},{"id":"1dba140caffab95e755fbbbd1e498e3d006f8e14","tag":"autogenerated:zuul:check","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-08-24 22:26:11.000000000","message":"Patch Set 8: Verified+1\n\nBuild succeeded (check pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/6d9e5ecb14274d2b8f259c788255f168\n\n- grenade-skip-level-always https://zuul.opendev.org/t/openstack/build/68582b3aee8045d6bbbbfaa3f35315f7 : SUCCESS in 1h 03m 44s\n- tempest-integrated-compute https://zuul.opendev.org/t/openstack/build/3868eb05931c40a79aaf48aa56d03897 : SUCCESS in 51m 30s\n- openstacksdk-functional-devstack https://zuul.opendev.org/t/openstack/build/3393f7debb0d4986bc3a679cc806fcb5 : SUCCESS in 31m 42s\n- openstack-tox-cover https://zuul.opendev.org/t/openstack/build/d0fd19789704484abc11f6fffe1de749 : SUCCESS in 1h 16m 38s\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/7179705f7c6649809114abf210bcf854 : SUCCESS in 7m 32s\n- openstack-tox-py311 https://zuul.opendev.org/t/openstack/build/1c7f03ca6d2a4f03a1bc5a010f84202a : SUCCESS in 15m 14s\n- openstack-tox-py313 https://zuul.opendev.org/t/openstack/build/442abec7e2d04227a2eda387f38645b7 : SUCCESS in 12m 31s\n- openstack-tox-py314 https://zuul.opendev.org/t/openstack/build/5750cf6a0a224484a102e216ecdd62bb : SUCCESS in 18m 58s (non-voting)\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/f97b98562c9a484ab8f788fab436918e : SUCCESS in 10m 56s\n- build-openstack-releasenotes https://zuul.opendev.org/t/openstack/build/ebb1394740cc43008397f52e2110fa66 : SUCCESS in 8m 19s\n- ironic-tempest-bios-ipmi-autodetect https://zuul.opendev.org/t/openstack/build/be55126721a446109d40e39c3bdecd47 : SUCCESS in 47m 49s (non-voting)\n- nova-ceph-multistore https://zuul.opendev.org/t/openstack/build/3d9e211b0298437b80ab4d498c875baa : SUCCESS in 49m 50s\n- nova-live-migration https://zuul.opendev.org/t/openstack/build/61421aa2c76747f0a03c41fa31a6d280 : SUCCESS in 53m 33s\n- nova-whitebox https://zuul.opendev.org/t/openstack/build/8ec78ab0ebfa491396232e88bee407c8 : SUCCESS in 36m 28s\n- nova-graceful-shutdown https://zuul.opendev.org/t/openstack/build/066695e5d60445aba184425bdba97554 : SUCCESS in 40m 03s\n- nova-live-migration-ceph https://zuul.opendev.org/t/openstack/build/afb9cd57f9e44395961bfcaf9fe1dd00 : SUCCESS in 52m 33s\n- nova-multi-cell https://zuul.opendev.org/t/openstack/build/cb5febe109584e608337efeb7ac904a7 : SUCCESS in 55m 47s\n- nova-next https://zuul.opendev.org/t/openstack/build/dcfb86f3186c41bd80626e2fc6cf9447 : SUCCESS in 1h 28m 15s\n- nova-alt-configurations https://zuul.opendev.org/t/openstack/build/3ceca9c99a5c440cb2364adc769faa94 : SUCCESS in 54m 43s\n- nova-tox-validate-backport https://zuul.opendev.org/t/openstack/build/5d6596408d474198874f1c24bfc6ad8a : SUCCESS in 5m 36s (non-voting)\n- nova-tox-functional-py311 https://zuul.opendev.org/t/openstack/build/cb7c40aaf78b47e38c9d6142a1b6be81 : SUCCESS in 32m 34s\n- nova-tox-functional-py313 https://zuul.opendev.org/t/openstack/build/fc97828b5c9f4ed5a97e8489a05f981d : SUCCESS in 24m 56s\n- nova-tox-functional-py313-threading https://zuul.opendev.org/t/openstack/build/8dae671496f746a4988b331ae406c414 : SUCCESS in 37m 46s\n- nova-grenade-multinode https://zuul.opendev.org/t/openstack/build/a640fd1138ea4c068f3a02d03e6bdfc8 : SUCCESS in 55m 10s\n- tempest-ipv6-only https://zuul.opendev.org/t/openstack/build/4c556dffe6e046cc94aabdaf04761c01 : SUCCESS in 25m 26s\n- cyborg-tempest-py3 https://zuul.opendev.org/t/openstack/build/4dc1b4b9429d45598168769b96046851 : SUCCESS in 30m 05s (non-voting)\n- barbican-tempest-plugin-simple-crypto https://zuul.opendev.org/t/openstack/build/cbdbcd8938c6419db50905829dacd18c : SUCCESS in 34m 27s (non-voting)\n- nova-tox-py313-threading https://zuul.opendev.org/t/openstack/build/a256117538b64453b837194f9e9e4eec : SUCCESS in 13m 25s","accounts_in_message":[],"_revision_number":8},{"id":"2c96b9672911ac62277ad91dc2aab9a599d8aa8b","tag":"autogenerated:jenkins-gerrit-trigger","author":{"_account_id":34420,"name":"openstack lightbits","display_name":"Lightbits CI","email":"openstack@lightbitslabs.com","username":"openstack_lightbits"},"date":"2026-08-24 22:36:44.000000000","message":"Patch Set 8:\n\nBuild succeeded. log path: ${LOG_PATH}\nLeave a comment with","accounts_in_message":[],"_revision_number":8},{"id":"836f5c3685efb76785e23deab5ae3ad4e3d2f6cb","author":{"_account_id":4690,"name":"melanie witt","display_name":"melwitt","email":"melwittt@gmail.com","username":"melwitt"},"date":"2026-08-24 23:47:50.000000000","message":"Patch Set 8:\n\n(1 comment)","accounts_in_message":[],"_revision_number":8},{"id":"7302a2218fcd058aea3b87417133efe7cc15c05d","tag":"autogenerated:zuul:check-arm64","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-08-25 00:29:43.000000000","message":"Patch Set 8:\n\nBuild succeeded (ARM64 pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/ccdf1c9dc92644dda98f84a47e9c408f\n\n- openstack-tox-py311-arm64 https://zuul.opendev.org/t/openstack/build/c566a3f473db4b1b8e26527c9c9f808c : SUCCESS in 22m 22s (non-voting)\n- openstack-tox-py313-arm64 https://zuul.opendev.org/t/openstack/build/9d7aec9f8ce94de08334a73d191db5b4 : SUCCESS in 13m 11s (non-voting)\n- openstack-tox-py314-arm64 https://zuul.opendev.org/t/openstack/build/7c9bd619fc8d4c88981f7c20f4dd68d5 : SUCCESS in 37m 32s (non-voting)","accounts_in_message":[],"_revision_number":8},{"id":"f7f7fef21992bb5c33c05818379b8d02e0e65992","author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"date":"2026-08-25 16:54:57.000000000","message":"Patch Set 8: Code-Review+2","accounts_in_message":[],"_revision_number":8},{"id":"e025dd73f816302ec40bb639629178c03aa58f1b","author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"date":"2026-08-25 18:07:20.000000000","message":"Patch Set 8: Code-Review-1\n\n(3 comments)","accounts_in_message":[],"_revision_number":8},{"id":"f43f6ca4abf4985edfa04d77ff12e2d7ff9c80b0","author":{"_account_id":4690,"name":"melanie witt","display_name":"melwitt","email":"melwittt@gmail.com","username":"melwitt"},"date":"2026-08-25 18:14:46.000000000","message":"Patch Set 8: Workflow-1","accounts_in_message":[],"_revision_number":8},{"id":"042b12743ed52bda663654338693bf56f751d53a","author":{"_account_id":4690,"name":"melanie witt","display_name":"melwitt","email":"melwittt@gmail.com","username":"melwitt"},"date":"2026-08-25 18:40:35.000000000","message":"Patch Set 8:\n\n(2 comments)","accounts_in_message":[],"_revision_number":8},{"id":"a256818bd3c854027ef94ebc47d45b94bada1f07","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":4690,"name":"melanie witt","display_name":"melwitt","email":"melwittt@gmail.com","username":"melwitt"},"date":"2026-08-25 20:11:15.000000000","message":"Uploaded patch set 9.\n\nOutdated Votes:\n* Code-Review+2, Code-Review-1 (copy condition: \"changekind:TRIVIAL_REBASE OR is:MIN\")\n* Verified+1 (copy condition: \"NEVER\")\n* Workflow-1 (copy condition: \"NEVER\")\n","accounts_in_message":[],"_revision_number":9},{"id":"ea09767fd0b040d601684de097dbf90c7036d327","tag":"autogenerated:gerrit:setWorkInProgress","author":{"_account_id":4690,"name":"melanie witt","display_name":"melwitt","email":"melwittt@gmail.com","username":"melwitt"},"date":"2026-08-25 20:11:29.000000000","message":"Set Work In Progress","accounts_in_message":[],"_revision_number":9},{"id":"6c356396aa759f14c33e2d43e41b0ffa045283f5","author":{"_account_id":26471,"name":"Software Factory CI","email":"softwarefactory-operations-team@redhat.com","username":"sf-project-io"},"date":"2026-08-25 20:18:43.000000000","message":"Patch Set 9: Code-Review+1\n\nBuild succeeded (check pipeline).\nhttps://gateway-cloud-softwarefactory.apps.ocp.cloud.ci.centos.org/zuul/t/rdoproject.org/buildset/a096e00c89874b1f8fc1340285734016\n\n- s2i-openstack-container-content-provider https://gateway-cloud-softwarefactory.apps.ocp.cloud.ci.centos.org/zuul/t/rdoproject.org/build/d3c92c7801524554b7b5a9927b789e6d : SUCCESS in 6m 02s (non-voting)","accounts_in_message":[],"_revision_number":9},{"id":"4bae5c24096f7f9b1f826a23612ede50f5dd7ed6","author":{"_account_id":14384,"name":"Quobyte CI","email":"openstack-ci-external@quobyte.com","username":"quobyteci","tags":["SERVICE_USER"]},"date":"2026-08-25 21:00:11.000000000","message":"Patch Set 9:\n\nBuild Failed \n\n* quobyteci:  nova_quobyteci : FAILURE, logs at: https://oscilogs.quobyte.com/logs/I65a9358244b0683f7d47eac8d9d878c467a9fef7 .","accounts_in_message":[],"_revision_number":9},{"id":"bc561c99746acea4817949f0d33088c634fdfd69","author":{"_account_id":4690,"name":"melanie witt","display_name":"melwitt","email":"melwittt@gmail.com","username":"melwitt"},"date":"2026-08-25 21:01:46.000000000","message":"Patch Set 9: Workflow-1","accounts_in_message":[],"_revision_number":9},{"id":"ec28f2238851e086a524c64f24db26d517e2bd3a","tag":"autogenerated:zuul:check-arm64","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-08-25 21:24:16.000000000","message":"Patch Set 9:\n\nBuild succeeded (ARM64 pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/0df7a8a870924c4b9f1dcdb1f1dd3d95\n\n- openstack-tox-py311-arm64 https://zuul.opendev.org/t/openstack/build/9fd9cd35b5eb4e65828eb645d01d7a63 : SUCCESS in 13m 40s (non-voting)\n- openstack-tox-py313-arm64 https://zuul.opendev.org/t/openstack/build/c840220caade4e94a9ac6cd3d7b5589b : SUCCESS in 30m 57s (non-voting)\n- openstack-tox-py314-arm64 https://zuul.opendev.org/t/openstack/build/3ed457d4e7d64463a1ca38fce8ac8c6f : SUCCESS in 47m 15s (non-voting)","accounts_in_message":[],"_revision_number":9},{"id":"b5f1c9fbe58d8972df7bb88db800d4098e401286","tag":"autogenerated:gerrit:newWipPatchSet","author":{"_account_id":4690,"name":"melanie witt","display_name":"melwitt","email":"melwittt@gmail.com","username":"melwitt"},"date":"2026-08-25 21:29:03.000000000","message":"Uploaded patch set 10.\n\nOutdated Votes:\n* Code-Review+1 (copy condition: \"changekind:TRIVIAL_REBASE OR is:MIN\")\n* Workflow-1 (copy condition: \"NEVER\")\n","accounts_in_message":[],"_revision_number":10},{"id":"398058524c9b9ddc5888e6c5c33456650373e9fc","tag":"autogenerated:gerrit:newWipPatchSet","author":{"_account_id":4690,"name":"melanie witt","display_name":"melwitt","email":"melwittt@gmail.com","username":"melwitt"},"date":"2026-08-25 21:32:34.000000000","message":"Uploaded patch set 11.","accounts_in_message":[],"_revision_number":11},{"id":"ba3c7d1ce91108d50e2e4ca2428f8f7775ab2894","author":{"_account_id":26471,"name":"Software Factory CI","email":"softwarefactory-operations-team@redhat.com","username":"sf-project-io"},"date":"2026-08-25 21:38:39.000000000","message":"Patch Set 11: Code-Review+1\n\nBuild succeeded (check pipeline).\nhttps://gateway-cloud-softwarefactory.apps.ocp.cloud.ci.centos.org/zuul/t/rdoproject.org/buildset/b2b4f968615d460aac122aef7818c136\n\n- s2i-openstack-container-content-provider https://gateway-cloud-softwarefactory.apps.ocp.cloud.ci.centos.org/zuul/t/rdoproject.org/build/55edad16eff44139a0f1d741d0795786 : RETRY_LIMIT in 1m 14s (non-voting)","accounts_in_message":[],"_revision_number":11},{"id":"50a7d17a4d8c892e94507e7b039e5cdc0a67e2d2","tag":"autogenerated:zuul:check-arm64","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-08-25 22:19:17.000000000","message":"Patch Set 11:\n\nBuild succeeded (ARM64 pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/32afdfb702064623b58d99a8eac1a810\n\n- openstack-tox-py311-arm64 https://zuul.opendev.org/t/openstack/build/067f778a584f4103a3d2b6e60d9310e4 : SUCCESS in 27m 21s (non-voting)\n- openstack-tox-py313-arm64 https://zuul.opendev.org/t/openstack/build/5ed207020dac4d078ffb6dde6af25e40 : SUCCESS in 15m 11s (non-voting)\n- openstack-tox-py314-arm64 https://zuul.opendev.org/t/openstack/build/8e16a67e402a4dd3af06060ab66af0eb : SUCCESS in 40m 04s (non-voting)","accounts_in_message":[],"_revision_number":11},{"id":"272dd2c376b536d2de445dfe887177df520fc6d6","author":{"_account_id":4690,"name":"melanie witt","display_name":"melwitt","email":"melwittt@gmail.com","username":"melwitt"},"date":"2026-08-25 22:24:38.000000000","message":"Patch Set 11:\n\n(4 comments)","accounts_in_message":[],"_revision_number":11},{"id":"033fc70b6778ab2270b3ecd995a5675d4f2b2ded","author":{"_account_id":14384,"name":"Quobyte CI","email":"openstack-ci-external@quobyte.com","username":"quobyteci","tags":["SERVICE_USER"]},"date":"2026-08-25 22:25:08.000000000","message":"Patch Set 10:\n\nBuild Successful \n\n* quobyteci:  nova_quobyteci : SUCCESS, logs at: https://oscilogs.quobyte.com/logs/I65a9358244b0683f7d47eac8d9d878c467a9fef7 .","accounts_in_message":[],"_revision_number":10},{"id":"775ed77f6173e5094267785f02df405ce39fde62","author":{"_account_id":14384,"name":"Quobyte CI","email":"openstack-ci-external@quobyte.com","username":"quobyteci","tags":["SERVICE_USER"]},"date":"2026-08-25 22:28:58.000000000","message":"Patch Set 11:\n\nBuild Successful \n\n* quobyteci:  nova_quobyteci : SUCCESS, logs at: https://oscilogs.quobyte.com/logs/I65a9358244b0683f7d47eac8d9d878c467a9fef7 .","accounts_in_message":[],"_revision_number":11},{"id":"131878ecf829d4af93c860c43606942edc8a6dcc","tag":"autogenerated:zuul:check","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-08-25 23:32:29.000000000","message":"Patch Set 11: Verified+1\n\nBuild succeeded (check pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/63dba4fe485d4261aa39478acc9bb49e\n\n- grenade-skip-level-always https://zuul.opendev.org/t/openstack/build/8a8ee23dcfbc4c299b7b4b727b2e7d2e : SUCCESS in 54m 31s\n- tempest-integrated-compute https://zuul.opendev.org/t/openstack/build/fe95aff3f3e5421aaf586dda9455690b : SUCCESS in 1h 45m 43s\n- openstacksdk-functional-devstack https://zuul.opendev.org/t/openstack/build/6a4f0247744c4db5bc09a2a38e2a0315 : SUCCESS in 50m 45s\n- openstack-tox-cover https://zuul.opendev.org/t/openstack/build/76b117b750ed4b558f301ab2928418b6 : SUCCESS in 55m 04s\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/a2946acec43b4e6d9e2807dcd1b559d1 : SUCCESS in 8m 49s\n- openstack-tox-py311 https://zuul.opendev.org/t/openstack/build/b9b4759c28284950aae3986797391315 : SUCCESS in 9m 03s\n- openstack-tox-py313 https://zuul.opendev.org/t/openstack/build/0b4c74839b9b4019830f1683006bd919 : SUCCESS in 12m 51s\n- openstack-tox-py314 https://zuul.opendev.org/t/openstack/build/b9d20584c7fd4f6781eb73bc7fec5135 : SUCCESS in 13m 51s (non-voting)\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/c00f5eb2b988478eba42c811f3175090 : SUCCESS in 13m 00s\n- build-openstack-releasenotes https://zuul.opendev.org/t/openstack/build/a42758d4c36f48eea646fe25c76aa169 : SUCCESS in 4m 34s\n- ironic-tempest-bios-ipmi-autodetect https://zuul.opendev.org/t/openstack/build/cf472eab9f574796b48bb9bf933c88c2 : SUCCESS in 1h 02m 27s (non-voting)\n- nova-ceph-multistore https://zuul.opendev.org/t/openstack/build/6f3374f7925e4ce09f1e879868233560 : SUCCESS in 1h 25m 02s\n- nova-live-migration https://zuul.opendev.org/t/openstack/build/77bf54c6d1ff43be8f39f50c43ad971c : SUCCESS in 30m 49s\n- nova-whitebox https://zuul.opendev.org/t/openstack/build/31eb79ea8f284c718b639523df8c81d9 : SUCCESS in 37m 49s\n- nova-graceful-shutdown https://zuul.opendev.org/t/openstack/build/b6887ea3767f4132ad57eb81fce91dba : SUCCESS in 41m 55s\n- nova-live-migration-ceph https://zuul.opendev.org/t/openstack/build/7f55493b08a54ac5b8807592f2010b9a : SUCCESS in 52m 30s\n- nova-multi-cell https://zuul.opendev.org/t/openstack/build/31df53aa9dcc4215942f053e142fb994 : SUCCESS in 1h 51m 06s\n- nova-next https://zuul.opendev.org/t/openstack/build/1f251889c03e44eb8fddfe9d1d59b8cd : SUCCESS in 1h 26m 22s\n- nova-alt-configurations https://zuul.opendev.org/t/openstack/build/25615c751ea04ab3a13e25e852310d7a : SUCCESS in 41m 05s\n- nova-tox-validate-backport https://zuul.opendev.org/t/openstack/build/b8ac71ef10b7491c9bea6f0f8b053692 : SUCCESS in 3m 27s (non-voting)\n- nova-tox-functional-py311 https://zuul.opendev.org/t/openstack/build/e5c4a4d6ebb04bbc9dd882e52a0030de : SUCCESS in 27m 22s\n- nova-tox-functional-py313 https://zuul.opendev.org/t/openstack/build/a26544c285564d608b1d151a058d261d : SUCCESS in 25m 38s\n- nova-tox-functional-py313-threading https://zuul.opendev.org/t/openstack/build/d2b0e11462be443d91f657fe5a562d8c : SUCCESS in 25m 56s\n- nova-grenade-multinode https://zuul.opendev.org/t/openstack/build/6c0e0d3889d44ecaa034ef384c84c411 : SUCCESS in 1h 53m 29s\n- tempest-ipv6-only https://zuul.opendev.org/t/openstack/build/276761173a814c3cb2f326d8b2fbce28 : SUCCESS in 58m 39s\n- cyborg-tempest-py3 https://zuul.opendev.org/t/openstack/build/b5f4b0819f8c4a3faf907508bdd2d5f8 : SUCCESS in 54m 03s (non-voting)\n- barbican-tempest-plugin-simple-crypto https://zuul.opendev.org/t/openstack/build/1824606876e9499c8512e66558a1978c : SUCCESS in 32m 45s (non-voting)\n- nova-tox-py313-threading https://zuul.opendev.org/t/openstack/build/4585ce62442f426cb83c74c95e17859b : SUCCESS in 13m 30s","accounts_in_message":[],"_revision_number":11},{"id":"74d5d9caf51517eca208282e676ca257b4c66e47","tag":"autogenerated:jenkins-gerrit-trigger","author":{"_account_id":34420,"name":"openstack lightbits","display_name":"Lightbits CI","email":"openstack@lightbitslabs.com","username":"openstack_lightbits"},"date":"2026-08-25 23:44:15.000000000","message":"Patch Set 11:\n\nBuild succeeded. log path: ${LOG_PATH}\nLeave a comment with","accounts_in_message":[],"_revision_number":11},{"id":"cefca3bea865a52f1f5f0ad11c462b0ae9915119","author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"date":"2026-08-26 10:27:14.000000000","message":"Patch Set 11: Code-Review+2\n\n(1 comment)","accounts_in_message":[],"_revision_number":11},{"id":"3494d3310f8542744855212bb8f4e34f5e3c35f6","author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"date":"2026-08-26 11:40:35.000000000","message":"Patch Set 11: Code-Review+2\n\n(3 comments)\n\nThis change is ready for review.","accounts_in_message":[],"_revision_number":11},{"id":"e3e8d708ced446058f598c55bff83a804b4a7102","author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"date":"2026-08-26 11:42:05.000000000","message":"Patch Set 11:\n\n(1 comment)","accounts_in_message":[],"_revision_number":11},{"id":"514bf69ae6790d3c6139791964ba23abd69765f4","author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"date":"2026-08-26 13:25:00.000000000","message":"Patch Set 11:\n\n(1 comment)","accounts_in_message":[],"_revision_number":11},{"id":"0c9c658675a8f1c0b29902da79b280f66e94ecf2","author":{"_account_id":4690,"name":"melanie witt","display_name":"melwitt","email":"melwittt@gmail.com","username":"melwitt"},"date":"2026-08-26 14:16:34.000000000","message":"Patch Set 11:\n\n(1 comment)","accounts_in_message":[],"_revision_number":11},{"id":"ce1e49ef58b05fa37bed7090b7f3ab569b10a247","author":{"_account_id":4690,"name":"melanie witt","display_name":"melwitt","email":"melwittt@gmail.com","username":"melwitt"},"date":"2026-08-26 14:32:23.000000000","message":"Patch Set 11:\n\n(1 comment)","accounts_in_message":[],"_revision_number":11},{"id":"c9c0eed623eb9b6e0fb36e2eb6e27daf3e53e0c5","author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"date":"2026-08-26 15:06:48.000000000","message":"Patch Set 11: Workflow+1\n\n(1 comment)","accounts_in_message":[],"_revision_number":11},{"id":"7141e9e07738e71b1fc3546b3ba65c1f1ff9f320","tag":"autogenerated:zuul:gate","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-08-26 15:08:28.000000000","message":"Patch Set 11: -Verified\n\nStarting gate jobs.","accounts_in_message":[],"_revision_number":11},{"id":"cea8704f8136bb2353356463be920ff5bd0d112f","author":{"_account_id":4690,"name":"melanie witt","display_name":"melwitt","email":"melwittt@gmail.com","username":"melwitt"},"date":"2026-08-26 15:17:28.000000000","message":"Patch Set 11:\n\n(1 comment)","accounts_in_message":[],"_revision_number":11},{"id":"276e88985ef8ec8a0344c3f0b80fee2b6994991e","tag":"autogenerated:zuul:gate","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-08-26 17:04:44.000000000","message":"Patch Set 11: Verified+2\n\nBuild succeeded (gate pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/f2fb00c088494ce0b7bfcb673f9ed8ef\n\n- grenade-skip-level-always https://zuul.opendev.org/t/openstack/build/564638ca47f24e599f26aa505744fdea : SUCCESS in 1h 03m 10s\n- tempest-integrated-compute https://zuul.opendev.org/t/openstack/build/43639b0d1f3043748faef78e9208c51a : SUCCESS in 1h 46m 06s\n- openstacksdk-functional-devstack https://zuul.opendev.org/t/openstack/build/87b09fa7157e482888e22c3eefcc59ca : SUCCESS in 55m 04s\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/b8f87a2486da4f288b492e8a4a0d226a : SUCCESS in 9m 47s\n- openstack-tox-py311 https://zuul.opendev.org/t/openstack/build/0496308cb9c04d8897a5c68476374d2e : SUCCESS in 14m 41s\n- openstack-tox-py313 https://zuul.opendev.org/t/openstack/build/6cab4cb3dd674494822f57bd170ec002 : SUCCESS in 13m 00s\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/8ad86b559b254839b8c14c28d7c72c4f : SUCCESS in 6m 56s\n- build-openstack-releasenotes https://zuul.opendev.org/t/openstack/build/c02ee78ed3a1481cb7668ff6641889a4 : SUCCESS in 8m 12s\n- nova-live-migration https://zuul.opendev.org/t/openstack/build/2dec55d4ecc941bc867a68b53419a308 : SUCCESS in 55m 32s\n- nova-tox-functional-py311 https://zuul.opendev.org/t/openstack/build/5b97f37a88d043a3868e9d1be9e15bee : SUCCESS in 30m 22s\n- nova-tox-functional-py313 https://zuul.opendev.org/t/openstack/build/7ceb4cd4d45f41ed8676cadb431fc69a : SUCCESS in 28m 19s\n- nova-tox-functional-py313-threading https://zuul.opendev.org/t/openstack/build/1909ceb2a63f4adfab3437df3a566cfe : SUCCESS in 35m 31s\n- nova-multi-cell https://zuul.opendev.org/t/openstack/build/898baf0035f643cc956b5e93d3b9a4b9 : SUCCESS in 1h 20m 29s\n- nova-next https://zuul.opendev.org/t/openstack/build/788bcd0f7b314a0588aed96aee9f5f85 : SUCCESS in 1h 53m 13s\n- nova-tox-validate-backport https://zuul.opendev.org/t/openstack/build/5e547fb1b6a64662ad3651d6e5bc3907 : SUCCESS in 6m 51s\n- nova-ceph-multistore https://zuul.opendev.org/t/openstack/build/1842b9ca96e7497cab57348b2a64e0bc : SUCCESS in 1h 29m 42s\n- nova-grenade-multinode https://zuul.opendev.org/t/openstack/build/5455a6e283824b98b7bd0404ead3e946 : SUCCESS in 1h 27m 43s\n- tempest-ipv6-only https://zuul.opendev.org/t/openstack/build/4f2fced4fbfc47be9efb6a0d9f27133f : SUCCESS in 1h 00m 16s\n- nova-tox-py313-threading https://zuul.opendev.org/t/openstack/build/543e08a2095d47d69c3971a3fa9b735c : SUCCESS in 15m 03s\n- nova-alt-configurations https://zuul.opendev.org/t/openstack/build/a9e414f246ba4ec08f9dd96469761bc8 : SUCCESS in 49m 59s","accounts_in_message":[],"_revision_number":11},{"id":"3b69cfc8f0a536d4177601ebd1a6cddb2aa233a8","tag":"autogenerated:gerrit:merged","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-08-26 17:04:45.000000000","message":"Change has been successfully merged","accounts_in_message":[],"_revision_number":11},{"id":"54ed303c83ec5c99c65607afb37544a6fe2b64b8","tag":"autogenerated:zuul:promote","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-08-26 17:09:50.000000000","message":"Patch Set 11:\n\nBuild succeeded (promote pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/cfe5316790c6436f8eed2e2023136196\n\n- promote-openstack-tox-docs https://zuul.opendev.org/t/openstack/build/a37602af2dc0426b9d5d3c7f6d1f6193 : SUCCESS in 55s\n- promote-openstack-releasenotes https://zuul.opendev.org/t/openstack/build/0b64230fca4d4ec1845f2a237cfae92e : SUCCESS in 53s","accounts_in_message":[],"_revision_number":11}],"current_revision_number":11,"current_revision":"5be4a1827ece302ed97765b6f90e827c27e9d60e","revisions":{"8ae56023b1d6487cdf3c78c3992f6161c2402bd8":{"kind":"REWORK","_number":1,"created":"2026-08-24 03:47:31.000000000","uploader":{"_account_id":4690,"name":"melanie witt","display_name":"melwitt","email":"melwittt@gmail.com","username":"melwitt"},"ref":"refs/changes/07/1002007/1","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/nova","ref":"refs/changes/07/1002007/1","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/nova refs/changes/07/1002007/1 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/nova refs/changes/07/1002007/1 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/nova refs/changes/07/1002007/1 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/nova refs/changes/07/1002007/1"}}},"commit":{"parents":[{"commit":"ec47550235877e82f529f6a8c99f32dd9ea9c1a8","subject":"Merge \"libvirt: Check only x86_64 arch for SEV capability detection\"","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/nova/commit/ec47550235877e82f529f6a8c99f32dd9ea9c1a8"}]}],"author":{"name":"melanie witt","email":"melwittt@gmail.com","date":"2026-08-20 19:46:32.000000000","tz":-420},"committer":{"name":"melanie witt","email":"melwittt@gmail.com","date":"2026-08-24 03:40:46.000000000","tz":-420},"subject":"Switch Cyborg client from keystoneauth1 to openstacksdk","message":"Switch Cyborg client from keystoneauth1 to openstacksdk\n\nThe Cyborg (accelerator) client was using a raw keystoneauth1\nadapter for HTTP calls, with no microversion negotiation. Switch\nto openstacksdk via get_sdk_adapter(), matching the pattern used\nby the Ironic and Manila clients.\n\nThe [cyborg] config group now registers auth options\n(include_auth\u003dTrue, the default) so that get_sdk_adapter can\nauthenticate with service user credentials from nova.conf. This\nis the same model used by [ironic].\n\nThe SDK adapter is cached in a module-level global (_ADAPTER)\nwith a reset_globals() function, following the same pattern used\nby the placement client (PLACEMENTCLIENT) and service_auth. The\nadapter is created lazily on first use via a _client property,\nso code paths that never reach Cyborg (the common case for\nnon-accelerator workloads) avoid the overhead entirely.\n\nBecause the SDK uses keystoneauth1 internally for authentication,\nconnection-time errors like MissingAuthPlugin leak as KSA\nexceptions rather than sdk_exc.SDKException. The _client property\ntranslates these to SDKException so that _call_cyborg\u0027s existing\ncatch handles them uniformly.\n\n_call_cyborg now accepts a method name string (\u0027get\u0027, \u0027post\u0027,\netc.) instead of a bound method reference. This ensures the\n_client property is accessed inside the try block, where\nconnection errors can be caught, rather than in the argument\nexpression where they would escape.\n\nSeveral call sites previously created the Cyborg client\nunconditionally before checking whether accelerators were\ninvolved. These are tightened to defer client creation behind\naccelerator-presence guards:\n\n- delete_arqs_if_needed: early return when no device profile\n  and no ARQ UUIDs\n- _create_and_bind_arq_for_instance: conditional on device\n  profile or requested networks\n- _poll_shelved_instances: moved inside the device profile check\n\nAssisted-by: Claude claude-opus-4-6 claude-code-2.1.241\nChange-Id: I65a9358244b0683f7d47eac8d9d878c467a9fef7\nSigned-off-by: melanie witt \u003cmelwittt@gmail.com\u003e\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/nova/commit/8ae56023b1d6487cdf3c78c3992f6161c2402bd8"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/nova/commit/8ae56023b1d6487cdf3c78c3992f6161c2402bd8"}]},"branch":"refs/heads/master"},"b8b4d58a46fd551137ed3e37e28c4e0c99451c95":{"kind":"REWORK","_number":2,"created":"2026-08-24 15:08:07.000000000","uploader":{"_account_id":4690,"name":"melanie witt","display_name":"melwitt","email":"melwittt@gmail.com","username":"melwitt"},"ref":"refs/changes/07/1002007/2","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/nova","ref":"refs/changes/07/1002007/2","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/nova refs/changes/07/1002007/2 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/nova refs/changes/07/1002007/2 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/nova refs/changes/07/1002007/2 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/nova refs/changes/07/1002007/2"}}},"commit":{"parents":[{"commit":"ec47550235877e82f529f6a8c99f32dd9ea9c1a8","subject":"Merge \"libvirt: Check only x86_64 arch for SEV capability detection\"","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/nova/commit/ec47550235877e82f529f6a8c99f32dd9ea9c1a8"}]}],"author":{"name":"melanie witt","email":"melwittt@gmail.com","date":"2026-08-20 19:46:32.000000000","tz":-420},"committer":{"name":"melanie witt","email":"melwittt@gmail.com","date":"2026-08-24 14:56:07.000000000","tz":-420},"subject":"Switch Cyborg client from keystoneauth1 to openstacksdk","message":"Switch Cyborg client from keystoneauth1 to openstacksdk\n\nThe Cyborg (accelerator) client was using a raw keystoneauth1\nadapter for HTTP calls, with no microversion negotiation. Switch\nto openstacksdk via get_sdk_adapter(), matching the pattern used\nby the Ironic and Manila clients.\n\nThe [cyborg] config group now registers auth options\n(include_auth\u003dTrue, the default) so that get_sdk_adapter can\nauthenticate with service user credentials from nova.conf. This\nis the same model used by [ironic].\n\nThe SDK adapter is cached in a module-level global (_ADAPTER)\nwith a reset_globals() function, following the same pattern used\nby the placement client (PLACEMENTCLIENT) and service_auth. The\nadapter is created lazily on first use via a _client property,\nso code paths that never reach Cyborg (the common case for\nnon-accelerator workloads) avoid the overhead entirely.\n\nBecause the SDK uses keystoneauth1 internally for authentication,\nconnection-time errors like MissingAuthPlugin leak as KSA\nexceptions rather than sdk_exc.SDKException. The _client property\ntranslates these to SDKException so that _call_cyborg\u0027s existing\ncatch handles them uniformly.\n\n_call_cyborg now accepts a method name string (\u0027get\u0027, \u0027post\u0027,\netc.) instead of a bound method reference. This ensures the\n_client property is accessed inside the try block, where\nconnection errors can be caught, rather than in the argument\nexpression where they would escape.\n\nSeveral call sites previously created the Cyborg client\nunconditionally before checking whether accelerators were\ninvolved. These are tightened to defer client creation behind\naccelerator-presence guards:\n\n- delete_arqs_if_needed: early return when no device profile\n  and no ARQ UUIDs\n- _create_and_bind_arq_for_instance: conditional on device\n  profile or requested networks\n- _poll_shelved_instances: moved inside the device profile check\n\nAssisted-by: Claude claude-opus-4-6 claude-code-2.1.241\nChange-Id: I65a9358244b0683f7d47eac8d9d878c467a9fef7\nSigned-off-by: melanie witt \u003cmelwittt@gmail.com\u003e\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/nova/commit/b8b4d58a46fd551137ed3e37e28c4e0c99451c95"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/nova/commit/b8b4d58a46fd551137ed3e37e28c4e0c99451c95"}]},"branch":"refs/heads/master"},"b4371cf2ea8251cf05f69339612439f0464717a3":{"kind":"REWORK","_number":3,"created":"2026-08-24 15:23:03.000000000","uploader":{"_account_id":4690,"name":"melanie witt","display_name":"melwitt","email":"melwittt@gmail.com","username":"melwitt"},"ref":"refs/changes/07/1002007/3","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/nova","ref":"refs/changes/07/1002007/3","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/nova refs/changes/07/1002007/3 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/nova refs/changes/07/1002007/3 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/nova refs/changes/07/1002007/3 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/nova refs/changes/07/1002007/3"}}},"commit":{"parents":[{"commit":"ec47550235877e82f529f6a8c99f32dd9ea9c1a8","subject":"Merge \"libvirt: Check only x86_64 arch for SEV capability detection\"","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/nova/commit/ec47550235877e82f529f6a8c99f32dd9ea9c1a8"}]}],"author":{"name":"melanie witt","email":"melwittt@gmail.com","date":"2026-08-20 19:46:32.000000000","tz":-420},"committer":{"name":"melanie witt","email":"melwittt@gmail.com","date":"2026-08-24 15:22:53.000000000","tz":-420},"subject":"Switch Cyborg client from keystoneauth1 to openstacksdk","message":"Switch Cyborg client from keystoneauth1 to openstacksdk\n\nThe Cyborg (accelerator) client was using a raw keystoneauth1\nadapter for HTTP calls, with no microversion negotiation. Switch\nto openstacksdk via get_sdk_adapter(), matching the pattern used\nby the Ironic and Manila clients.\n\nThe [cyborg] config group now registers auth options\n(include_auth\u003dTrue, the default) so that get_sdk_adapter can\nauthenticate with service user credentials from nova.conf. This\nis the same model used by [ironic].\n\nThe SDK adapter is cached in a module-level global (_ADAPTER)\nwith a reset_globals() function, following the same pattern used\nby the placement client (PLACEMENTCLIENT) and service_auth. The\nadapter is created lazily on first use via a _client property,\nso code paths that never reach Cyborg (the common case for\nnon-accelerator workloads) avoid the overhead entirely.\n\nBecause the SDK uses keystoneauth1 internally for authentication,\nconnection-time errors like MissingAuthPlugin leak as KSA\nexceptions rather than sdk_exc.SDKException. The _client property\ntranslates these to SDKException so that _call_cyborg\u0027s existing\ncatch handles them uniformly.\n\n_call_cyborg now accepts a method name string (\u0027get\u0027, \u0027post\u0027,\netc.) instead of a bound method reference. This ensures the\n_client property is accessed inside the try block, where\nconnection errors can be caught, rather than in the argument\nexpression where they would escape.\n\nSeveral call sites previously created the Cyborg client\nunconditionally before checking whether accelerators were\ninvolved. These are tightened to defer client creation behind\naccelerator-presence guards:\n\n- delete_arqs_if_needed: early return when no device profile\n  and no ARQ UUIDs\n- _create_and_bind_arq_for_instance: conditional on device\n  profile or requested networks\n- _poll_shelved_instances: moved inside the device profile check\n\nAssisted-by: Claude claude-opus-4-6 claude-code-2.1.241\nChange-Id: I65a9358244b0683f7d47eac8d9d878c467a9fef7\nSigned-off-by: melanie witt \u003cmelwittt@gmail.com\u003e\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/nova/commit/b4371cf2ea8251cf05f69339612439f0464717a3"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/nova/commit/b4371cf2ea8251cf05f69339612439f0464717a3"}]},"branch":"refs/heads/master"},"c7011038cffe8575c7b3ac44c077d6679dd25d39":{"kind":"REWORK","_number":4,"created":"2026-08-24 16:08:21.000000000","uploader":{"_account_id":4690,"name":"melanie witt","display_name":"melwitt","email":"melwittt@gmail.com","username":"melwitt"},"ref":"refs/changes/07/1002007/4","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/nova","ref":"refs/changes/07/1002007/4","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/nova refs/changes/07/1002007/4 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/nova refs/changes/07/1002007/4 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/nova refs/changes/07/1002007/4 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/nova refs/changes/07/1002007/4"}}},"commit":{"parents":[{"commit":"ec47550235877e82f529f6a8c99f32dd9ea9c1a8","subject":"Merge \"libvirt: Check only x86_64 arch for SEV capability detection\"","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/nova/commit/ec47550235877e82f529f6a8c99f32dd9ea9c1a8"}]}],"author":{"name":"melanie witt","email":"melwittt@gmail.com","date":"2026-08-20 19:46:32.000000000","tz":-420},"committer":{"name":"melanie witt","email":"melwittt@gmail.com","date":"2026-08-24 16:07:01.000000000","tz":-420},"subject":"Switch Cyborg client from keystoneauth1 to openstacksdk","message":"Switch Cyborg client from keystoneauth1 to openstacksdk\n\nThe Cyborg (accelerator) client was using a raw keystoneauth1\nadapter for HTTP calls, with no microversion negotiation. Switch\nto openstacksdk via get_sdk_adapter(), matching the pattern used\nby the Ironic and Manila clients.\n\nThe SDK adapter is created per request context using\nget_sdk_adapter(\u0027accelerator\u0027, admin\u003dFalse, context\u003dcontext),\nwhich builds a connection authenticated with the user\u0027s token.\nCyborg API 2.0 requires the user\u0027s token to associate ARQs with\nthe correct project; admin credentials cannot be used until Nova\nadds support for API 2.1 which accepts an explicit project_id.\n\nBecause each request context carries a different user token, the\nadapter is cached as a per-instance lazy property on _CyborgClient\nrather than in a module-level global. This also eliminates the\nneed for reset_globals() in test teardown.\n\nThe [cyborg] config group registers with include_auth\u003dFalse since\nauthentication comes from the user\u0027s request context, not from\nservice credentials in nova.conf.\n\n_call_cyborg catches bare Exception rather than\nsdk_exc.SDKException because the old code caught\nks_exc.ClientException (the root of the entire KSA exception\nhierarchy) and SDK/KSA exceptions share no common ancestor.\n_call_cyborg is a deliberate error-conversion wrapper that never\nre-raises, so the broad catch is intentional.\n\nSeveral call sites previously created the Cyborg client\nunconditionally before checking whether accelerators were\ninvolved. These are tightened to defer client creation behind\naccelerator-presence guards:\n\n- delete_arqs_if_needed: early return when no device profile\n  and no ARQ UUIDs\n- _create_and_bind_arq_for_instance: conditional on device\n  profile or requested networks\n- _poll_shelved_instances: moved inside the device profile check\n\nAssisted-by: Claude claude-opus-4-6 claude-code-2.1.241\nChange-Id: I65a9358244b0683f7d47eac8d9d878c467a9fef7\nSigned-off-by: melanie witt \u003cmelwittt@gmail.com\u003e\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/nova/commit/c7011038cffe8575c7b3ac44c077d6679dd25d39"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/nova/commit/c7011038cffe8575c7b3ac44c077d6679dd25d39"}]},"branch":"refs/heads/master"},"992fdadfe6f4bdc829eb93eadd45e6e5cba1f9b6":{"kind":"NO_CODE_CHANGE","_number":5,"created":"2026-08-24 16:12:35.000000000","uploader":{"_account_id":4690,"name":"melanie witt","display_name":"melwitt","email":"melwittt@gmail.com","username":"melwitt"},"ref":"refs/changes/07/1002007/5","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/nova","ref":"refs/changes/07/1002007/5","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/nova refs/changes/07/1002007/5 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/nova refs/changes/07/1002007/5 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/nova refs/changes/07/1002007/5 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/nova refs/changes/07/1002007/5"}}},"commit":{"parents":[{"commit":"ec47550235877e82f529f6a8c99f32dd9ea9c1a8","subject":"Merge \"libvirt: Check only x86_64 arch for SEV capability detection\"","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/nova/commit/ec47550235877e82f529f6a8c99f32dd9ea9c1a8"}]}],"author":{"name":"melanie witt","email":"melwittt@gmail.com","date":"2026-08-20 19:46:32.000000000","tz":-420},"committer":{"name":"melanie witt","email":"melwittt@gmail.com","date":"2026-08-24 16:11:38.000000000","tz":-420},"subject":"Switch Cyborg client from keystoneauth1 to openstacksdk","message":"Switch Cyborg client from keystoneauth1 to openstacksdk\n\nThe Cyborg (accelerator) client was using a raw keystoneauth1\nadapter for HTTP calls, with no microversion negotiation. Switch\nto openstacksdk via get_sdk_adapter(), matching the pattern used\nby the Ironic and Manila clients.\n\nThe SDK adapter is created per request context using\nget_sdk_adapter(\u0027accelerator\u0027, admin\u003dFalse, context\u003dcontext),\nwhich builds a connection authenticated with the user\u0027s token.\nCyborg API 2.0 requires the user\u0027s token to associate ARQs with\nthe correct project; admin credentials cannot be used until Nova\nadds support for API 2.1 which accepts an explicit project_id.\n\nThe adapter is cached as a per-instance lazy property on\n_CyborgClient so code paths that never reach Cyborg avoid the\noverhead entirely.\n\nThe [cyborg] config group now explicitly registers with\ninclude_auth\u003dFalse since authentication comes from the user\u0027s\nrequest context, not from service credentials in nova.conf.\n\n_call_cyborg now accepts a method name string (\u0027get\u0027, \u0027post\u0027,\netc.) instead of a bound method reference. This ensures the\nlazy _client property is accessed inside the try block, where\nconnection errors can be caught.\n\n_call_cyborg catches bare Exception because the old\nks_exc.ClientException was the root of the entire KSA exception\nhierarchy and SDK/KSA exceptions share no common ancestor.\n_call_cyborg is a deliberate error-conversion wrapper that never\nre-raises, so the broad catch is intentional.\n\nSeveral call sites previously created the Cyborg client\nunconditionally before checking whether accelerators were\ninvolved. These are tightened to defer client creation behind\naccelerator-presence guards:\n\n- delete_arqs_if_needed: early return when no device profile\n  and no ARQ UUIDs\n- _create_and_bind_arq_for_instance: conditional on device\n  profile or requested networks\n- _poll_shelved_instances: moved inside the device profile check\n\nAssisted-by: Claude claude-opus-4-6 claude-code-2.1.241\nChange-Id: I65a9358244b0683f7d47eac8d9d878c467a9fef7\nSigned-off-by: melanie witt \u003cmelwittt@gmail.com\u003e\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/nova/commit/992fdadfe6f4bdc829eb93eadd45e6e5cba1f9b6"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/nova/commit/992fdadfe6f4bdc829eb93eadd45e6e5cba1f9b6"}]},"branch":"refs/heads/master"},"42b62e2e3ccef31dda8a89181cbe954885b05e5b":{"kind":"REWORK","_number":6,"created":"2026-08-24 18:00:51.000000000","uploader":{"_account_id":4690,"name":"melanie witt","display_name":"melwitt","email":"melwittt@gmail.com","username":"melwitt"},"ref":"refs/changes/07/1002007/6","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/nova","ref":"refs/changes/07/1002007/6","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/nova refs/changes/07/1002007/6 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/nova refs/changes/07/1002007/6 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/nova refs/changes/07/1002007/6 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/nova refs/changes/07/1002007/6"}}},"commit":{"parents":[{"commit":"ec47550235877e82f529f6a8c99f32dd9ea9c1a8","subject":"Merge \"libvirt: Check only x86_64 arch for SEV capability detection\"","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/nova/commit/ec47550235877e82f529f6a8c99f32dd9ea9c1a8"}]}],"author":{"name":"melanie witt","email":"melwittt@gmail.com","date":"2026-08-20 19:46:32.000000000","tz":-420},"committer":{"name":"melanie witt","email":"melwittt@gmail.com","date":"2026-08-24 17:56:48.000000000","tz":-420},"subject":"Switch Cyborg client from keystoneauth1 to openstacksdk","message":"Switch Cyborg client from keystoneauth1 to openstacksdk\n\nThe Cyborg (accelerator) client was using a raw keystoneauth1\nadapter for HTTP calls, with no microversion negotiation. Switch\nto openstacksdk via get_sdk_adapter(), matching the pattern used\nby the Ironic and Manila clients.\n\nAuthentication uses the same composite auth plugin as before\n(service_auth.get_service_user_token_auth_plugin), which sends\nboth the user\u0027s token and Nova\u0027s service token. This is passed\nto get_sdk_adapter via a new ksa_auth parameter, which builds\na KSA session from the provided auth plugin instead of loading\ncredentials from config.\n\nThe adapter is created lazily via a per-instance _client property\nrather than eagerly in __init__. This ensures adapter creation\nhappens inside _call_cyborg\u0027s try block when accessed via\ngetattr(self._client, method), so connection errors are caught.\n\n_call_cyborg now accepts a method name string (\u0027get\u0027, \u0027post\u0027,\netc.) instead of a bound method reference, for the same reason.\n\n_call_cyborg catches bare Exception because the old\nks_exc.ClientException was the root of the entire KSA exception\nhierarchy and SDK/KSA exceptions share no common ancestor.\n_call_cyborg is a deliberate error-conversion wrapper that never\nre-raises, so the broad catch is intentional.\n\nSeveral call sites previously created the Cyborg client\nunconditionally before checking whether accelerators were\ninvolved. These are tightened to defer client creation behind\naccelerator-presence guards:\n\n- delete_arqs_if_needed: early return when no device profile\n  and no ARQ UUIDs\n- _create_and_bind_arq_for_instance: conditional on device\n  profile or requested networks\n- _poll_shelved_instances: moved inside the device profile check\n\nAssisted-by: Claude claude-opus-4-6 claude-code-2.1.241\nChange-Id: I65a9358244b0683f7d47eac8d9d878c467a9fef7\nSigned-off-by: melanie witt \u003cmelwittt@gmail.com\u003e\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/nova/commit/42b62e2e3ccef31dda8a89181cbe954885b05e5b"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/nova/commit/42b62e2e3ccef31dda8a89181cbe954885b05e5b"}]},"branch":"refs/heads/master"},"5d00a481f7791ed52dc87363e1d669069a62a65a":{"kind":"REWORK","_number":7,"created":"2026-08-24 19:22:25.000000000","uploader":{"_account_id":4690,"name":"melanie witt","display_name":"melwitt","email":"melwittt@gmail.com","username":"melwitt"},"ref":"refs/changes/07/1002007/7","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/nova","ref":"refs/changes/07/1002007/7","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/nova refs/changes/07/1002007/7 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/nova refs/changes/07/1002007/7 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/nova refs/changes/07/1002007/7 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/nova refs/changes/07/1002007/7"}}},"commit":{"parents":[{"commit":"ec47550235877e82f529f6a8c99f32dd9ea9c1a8","subject":"Merge \"libvirt: Check only x86_64 arch for SEV capability detection\"","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/nova/commit/ec47550235877e82f529f6a8c99f32dd9ea9c1a8"}]}],"author":{"name":"melanie witt","email":"melwittt@gmail.com","date":"2026-08-20 19:46:32.000000000","tz":-420},"committer":{"name":"melanie witt","email":"melwittt@gmail.com","date":"2026-08-24 19:16:33.000000000","tz":-420},"subject":"Switch Cyborg client from keystoneauth1 to openstacksdk","message":"Switch Cyborg client from keystoneauth1 to openstacksdk\n\nThe Cyborg (accelerator) client was using a raw keystoneauth1\nadapter for HTTP calls, with no microversion negotiation. Switch\nto openstacksdk via get_sdk_adapter(), matching the pattern used\nby the Ironic and Manila clients.\n\nAuthentication uses the same composite auth plugin as before\n(service_auth.get_service_user_token_auth_plugin), which sends\nboth the user\u0027s token and Nova\u0027s service token. This is passed\nto get_sdk_adapter via a new ksa_auth parameter, which builds\na KSA session from the provided auth plugin instead of loading\ncredentials from config.\n\nThe upstream ServiceTokenAuthWrapper delegates get_endpoint() to\nuser_auth but not get_endpoint_data(), which the SDK needs for\nAPI version discovery. A local subclass adds the missing\ndelegation as a workaround (LP#2164939 [1]).\n\nThe adapter is created lazily via a per-instance _client property\nrather than eagerly in __init__. This ensures adapter creation\nhappens inside _call_cyborg\u0027s try block when accessed via\ngetattr(self._client, method), so connection errors are caught.\n\n_call_cyborg now accepts a method name string (\u0027get\u0027, \u0027post\u0027,\netc.) instead of a bound method reference, for the same reason.\n\n_call_cyborg catches bare Exception because the old\nks_exc.ClientException was the root of the entire KSA exception\nhierarchy and SDK/KSA exceptions share no common ancestor.\n_call_cyborg is a deliberate error-conversion wrapper that never\nre-raises, so the broad catch is intentional.\n\nSeveral call sites previously created the Cyborg client\nunconditionally before checking whether accelerators were\ninvolved. These are tightened to defer client creation behind\naccelerator-presence guards:\n\n- delete_arqs_if_needed: early return when no device profile\n  and no ARQ UUIDs\n- _create_and_bind_arq_for_instance: conditional on device\n  profile or requested networks\n- _poll_shelved_instances: moved inside the device profile check\n\n[1] https://bugs.launchpad.net/keystoneauth/+bug/2164939\n\nAssisted-by: Claude claude-opus-4-6 claude-code-2.1.241\nChange-Id: I65a9358244b0683f7d47eac8d9d878c467a9fef7\nSigned-off-by: melanie witt \u003cmelwittt@gmail.com\u003e\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/nova/commit/5d00a481f7791ed52dc87363e1d669069a62a65a"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/nova/commit/5d00a481f7791ed52dc87363e1d669069a62a65a"}]},"branch":"refs/heads/master"},"a192328e2e5002f49811aa2b86c4836c4039d4e2":{"kind":"REWORK","_number":8,"created":"2026-08-24 20:54:18.000000000","uploader":{"_account_id":4690,"name":"melanie witt","display_name":"melwitt","email":"melwittt@gmail.com","username":"melwitt"},"ref":"refs/changes/07/1002007/8","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/nova","ref":"refs/changes/07/1002007/8","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/nova refs/changes/07/1002007/8 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/nova refs/changes/07/1002007/8 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/nova refs/changes/07/1002007/8 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/nova refs/changes/07/1002007/8"}}},"commit":{"parents":[{"commit":"ec47550235877e82f529f6a8c99f32dd9ea9c1a8","subject":"Merge \"libvirt: Check only x86_64 arch for SEV capability detection\"","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/nova/commit/ec47550235877e82f529f6a8c99f32dd9ea9c1a8"}]}],"author":{"name":"melanie witt","email":"melwittt@gmail.com","date":"2026-08-20 19:46:32.000000000","tz":-420},"committer":{"name":"melanie witt","email":"melwittt@gmail.com","date":"2026-08-24 20:53:37.000000000","tz":-420},"subject":"Switch Cyborg client from keystoneauth1 to openstacksdk","message":"Switch Cyborg client from keystoneauth1 to openstacksdk\n\nThe Cyborg (accelerator) client was using a raw keystoneauth1\nadapter for HTTP calls, with no microversion negotiation. Switch\nto openstacksdk via get_sdk_adapter(), matching the pattern used\nby the Ironic and Manila clients.\n\nAuthentication uses the same composite auth plugin as before\n(service_auth.get_service_user_token_auth_plugin), which sends\nboth the user\u0027s token and Nova\u0027s service token. This is passed\nto get_sdk_adapter via a new ksa_auth parameter, which builds\na KSA session from the provided auth plugin instead of loading\ncredentials from config.\n\nThe upstream ServiceTokenAuthWrapper delegates get_endpoint() to\nuser_auth but not get_endpoint_data(), which the SDK needs for\nAPI version discovery. A local subclass adds the missing\ndelegation as a workaround (LP#2164939 [1]).\n\n_ContextAuthPlugin (used when the middleware\u0027s UserAuthPlugin is\nnot available, e.g. over RPC) also lacks get_endpoint_data(),\nsince it extends BaseAuthPlugin directly. Add an override that\nresolves the endpoint from the service catalog and passes it as\nendpoint_override to the base class for version discovery.\n\nThe adapter is created lazily via a per-instance _client property\nrather than eagerly in __init__. This ensures adapter creation\nhappens inside _call_cyborg\u0027s try block when accessed via\ngetattr(self._client, method), so connection errors are caught.\n\n_call_cyborg now accepts a method name string (\u0027get\u0027, \u0027post\u0027,\netc.) instead of a bound method reference, for the same reason.\n\n_call_cyborg catches bare Exception because the old\nks_exc.ClientException was the root of the entire KSA exception\nhierarchy and SDK/KSA exceptions share no common ancestor.\n_call_cyborg is a deliberate error-conversion wrapper that never\nre-raises, so the broad catch is intentional.\n\nInclude the actual exception in _call_cyborg\u0027s error message so\nSDK/KSA errors propagate into instance faults instead of being\nreplaced with a generic message. Add debug logging of the auth\nplugin type used for Cyborg calls.\n\nSeveral call sites previously created the Cyborg client\nunconditionally before checking whether accelerators were\ninvolved. These are tightened to defer client creation behind\naccelerator-presence guards:\n\n- delete_arqs_if_needed: early return when no device profile\n  and no ARQ UUIDs\n- _create_and_bind_arq_for_instance: conditional on device\n  profile or requested networks\n- _poll_shelved_instances: moved inside the device profile check\n\n[1] https://bugs.launchpad.net/keystoneauth/+bug/2164939\n\nAssisted-by: Claude claude-opus-4-6 claude-code-2.1.241\nChange-Id: I65a9358244b0683f7d47eac8d9d878c467a9fef7\nSigned-off-by: melanie witt \u003cmelwittt@gmail.com\u003e\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/nova/commit/a192328e2e5002f49811aa2b86c4836c4039d4e2"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/nova/commit/a192328e2e5002f49811aa2b86c4836c4039d4e2"}]},"branch":"refs/heads/master"},"444cb89b652e52b55999fadb003e9cbe4f9ebd57":{"kind":"REWORK","_number":9,"created":"2026-08-25 20:11:15.000000000","uploader":{"_account_id":4690,"name":"melanie witt","display_name":"melwitt","email":"melwittt@gmail.com","username":"melwitt"},"ref":"refs/changes/07/1002007/9","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/nova","ref":"refs/changes/07/1002007/9","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/nova refs/changes/07/1002007/9 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/nova refs/changes/07/1002007/9 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/nova refs/changes/07/1002007/9 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/nova refs/changes/07/1002007/9"}}},"commit":{"parents":[{"commit":"ec47550235877e82f529f6a8c99f32dd9ea9c1a8","subject":"Merge \"libvirt: Check only x86_64 arch for SEV capability detection\"","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/nova/commit/ec47550235877e82f529f6a8c99f32dd9ea9c1a8"}]}],"author":{"name":"melanie witt","email":"melwittt@gmail.com","date":"2026-08-20 19:46:32.000000000","tz":-420},"committer":{"name":"melanie witt","email":"melwittt@gmail.com","date":"2026-08-25 20:07:43.000000000","tz":-420},"subject":"Switch Cyborg client from keystoneauth1 to openstacksdk","message":"Switch Cyborg client from keystoneauth1 to openstacksdk\n\nThe Cyborg (accelerator) client used a raw keystoneauth1 adapter\nwith no microversion negotiation. Switch it to openstacksdk via\nget_sdk_adapter(), matching the Ironic and Manila clients.\n\nAuthentication is unchanged: the same composite auth plugin\n(service_auth.get_service_user_token_auth_plugin) still sends both\nthe user\u0027s token and Nova\u0027s service token. It reaches the SDK via a\nnew ksa_auth parameter on get_sdk_adapter, which builds a session\nfrom the provided plugin rather than from config. get_sdk_adapter is\nrestructured into three explicit branches -- ksa_auth (takes\nprecedence), admin (Nova\u0027s service credentials), and the user\u0027s\ntoken from context -- so ksa_auth works independently of the admin\nflag.\n\nThe SDK calls get_endpoint_data() for API version discovery, but\nneither ServiceTokenAuthWrapper nor _ContextAuthPlugin implements\nit. Add the missing behavior to both: a local ServiceTokenAuthWrapper\nsubclass delegates to user_auth (LP#2164939 [1]), and\n_ContextAuthPlugin resolves the endpoint from the service catalog and\npasses it as endpoint_override for version discovery.\n\n_call_cyborg now takes a method name string (\u0027get\u0027, \u0027post\u0027, ...)\ninstead of a bound method, and includes the actual exception in its\nerror message so SDK/KSA errors reach instance faults instead of a\ngeneric message. It catches bare Exception on purpose: it is an\nerror-conversion wrapper that never re-raises, and SDK and KSA\nexceptions share no common ancestor now that the old\nks_exc.ClientException root is gone. Debug logging of the auth plugin\ntype is also added.\n\nFinally, defer Cyborg client creation behind accelerator-presence\nguards, where it was previously created unconditionally:\ndelete_arqs_if_needed returns early with no device profile and no ARQ\nUUIDs; _create_and_bind_arq_for_instance creates the client only for\na device profile or requested networks (dropping a stale\nnodename-vs-hostname comment whose code is gone); and\n_poll_shelved_instances moves creation inside the device profile\ncheck.\n\n[1] https://bugs.launchpad.net/keystoneauth/+bug/2164939\n\nAssisted-by: Claude claude-opus-4-8 claude-code-2.1.245\nChange-Id: I65a9358244b0683f7d47eac8d9d878c467a9fef7\nSigned-off-by: melanie witt \u003cmelwittt@gmail.com\u003e\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/nova/commit/444cb89b652e52b55999fadb003e9cbe4f9ebd57"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/nova/commit/444cb89b652e52b55999fadb003e9cbe4f9ebd57"}]},"branch":"refs/heads/master"},"44aadf0d52ea34034a2a1d649acb9be1cedd28ed":{"kind":"REWORK","_number":10,"created":"2026-08-25 21:29:03.000000000","uploader":{"_account_id":4690,"name":"melanie witt","display_name":"melwitt","email":"melwittt@gmail.com","username":"melwitt"},"ref":"refs/changes/07/1002007/10","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/nova","ref":"refs/changes/07/1002007/10","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/nova refs/changes/07/1002007/10 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/nova refs/changes/07/1002007/10 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/nova refs/changes/07/1002007/10 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/nova refs/changes/07/1002007/10"}}},"commit":{"parents":[{"commit":"ec47550235877e82f529f6a8c99f32dd9ea9c1a8","subject":"Merge \"libvirt: Check only x86_64 arch for SEV capability detection\"","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/nova/commit/ec47550235877e82f529f6a8c99f32dd9ea9c1a8"}]}],"author":{"name":"melanie witt","email":"melwittt@gmail.com","date":"2026-08-20 19:46:32.000000000","tz":-420},"committer":{"name":"melanie witt","email":"melwittt@gmail.com","date":"2026-08-25 21:25:43.000000000","tz":-420},"subject":"Switch Cyborg client from keystoneauth1 to openstacksdk","message":"Switch Cyborg client from keystoneauth1 to openstacksdk\n\nThe Cyborg (accelerator) client used a raw keystoneauth1 adapter\nwith no microversion negotiation. Switch it to openstacksdk via\nget_sdk_adapter(), matching the Ironic and Manila clients.\n\nAuthentication is unchanged: the same composite auth plugin\n(service_auth.get_service_user_token_auth_plugin) still sends both\nthe user\u0027s token and Nova\u0027s service token. It reaches the SDK via a\nnew ksa_auth parameter on get_sdk_adapter, which builds a session\nfrom the provided plugin rather than from config. get_sdk_adapter is\nrestructured into three explicit branches -- ksa_auth (takes\nprecedence), admin (Nova\u0027s service credentials), and the user\u0027s\ntoken from context -- so ksa_auth works independently of the admin\nflag.\n\nThe SDK calls get_endpoint_data() for API version discovery, but\nneither ServiceTokenAuthWrapper nor _ContextAuthPlugin implements\nit. Add the missing behavior to both: a local ServiceTokenAuthWrapper\nsubclass delegates to user_auth (LP#2164939 [1]), and\n_ContextAuthPlugin resolves the endpoint from the service catalog and\npasses it as endpoint_override for version discovery.\n\n_call_cyborg now takes a method name string (\u0027get\u0027, \u0027post\u0027, ...)\ninstead of a bound method, and includes the actual exception in its\nerror message so SDK/KSA errors reach instance faults instead of a\ngeneric message. It catches bare Exception on purpose: it is an\nerror-conversion wrapper that never re-raises, and SDK and KSA\nexceptions share no common ancestor now that the old\nks_exc.ClientException root is gone. Debug logging of the auth plugin\ntype is also added.\n\nUnlike the old keystoneauth1 adapter, which deferred endpoint\ndiscovery until the first request, openstacksdk contacts the service\ncatalog when the adapter is built. Constructing a Cyborg client in a\ndeployment without an accelerator endpoint would therefore fail even\nfor instances that use no accelerators. To preserve the previous lazy\nbehavior, _CyborgClient now builds its SDK adapter on first use, so\nmerely creating a client never contacts Cyborg; discovery happens\nonly on the first real call and any failure is handled by\n_call_cyborg.\n\nClient creation is also deferred behind accelerator-presence guards\nwhere it was previously unconditional: delete_arqs_if_needed returns\nearly with no device profile and no ARQ UUIDs;\n_create_and_bind_arq_for_instance creates the client only for a\ndevice profile or requested networks (dropping a stale\nnodename-vs-hostname comment whose code is gone); and\n_poll_shelved_instances moves creation inside the device profile\ncheck.\n\n[1] https://bugs.launchpad.net/keystoneauth/+bug/2164939\n\nAssisted-by: Claude claude-opus-4-8 claude-code-2.1.245\nChange-Id: I65a9358244b0683f7d47eac8d9d878c467a9fef7\nSigned-off-by: melanie witt \u003cmelwittt@gmail.com\u003e\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/nova/commit/44aadf0d52ea34034a2a1d649acb9be1cedd28ed"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/nova/commit/44aadf0d52ea34034a2a1d649acb9be1cedd28ed"}]},"branch":"refs/heads/master"},"5be4a1827ece302ed97765b6f90e827c27e9d60e":{"kind":"REWORK","_number":11,"created":"2026-08-25 21:32:34.000000000","uploader":{"_account_id":4690,"name":"melanie witt","display_name":"melwitt","email":"melwittt@gmail.com","username":"melwitt"},"ref":"refs/changes/07/1002007/11","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/nova","ref":"refs/changes/07/1002007/11","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/nova refs/changes/07/1002007/11 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/nova refs/changes/07/1002007/11 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/nova refs/changes/07/1002007/11 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/nova refs/changes/07/1002007/11"}}},"commit":{"parents":[{"commit":"ec47550235877e82f529f6a8c99f32dd9ea9c1a8","subject":"Merge \"libvirt: Check only x86_64 arch for SEV capability detection\"","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/nova/commit/ec47550235877e82f529f6a8c99f32dd9ea9c1a8"}]}],"author":{"name":"melanie witt","email":"melwittt@gmail.com","date":"2026-08-20 19:46:32.000000000","tz":-420},"committer":{"name":"melanie witt","email":"melwittt@gmail.com","date":"2026-08-25 21:31:59.000000000","tz":-420},"subject":"Switch Cyborg client from keystoneauth1 to openstacksdk","message":"Switch Cyborg client from keystoneauth1 to openstacksdk\n\nThe Cyborg (accelerator) client used a raw keystoneauth1 adapter\nwith no microversion negotiation. Switch it to openstacksdk via\nget_sdk_adapter(), matching the Ironic and Manila clients.\n\nAuthentication is unchanged: the same composite auth plugin\n(service_auth.get_service_user_token_auth_plugin) still sends both\nthe user\u0027s token and Nova\u0027s service token. It reaches the SDK via a\nnew ksa_auth parameter on get_sdk_adapter, which builds a session\nfrom the provided plugin rather than from config. get_sdk_adapter is\nrestructured into three explicit branches -- ksa_auth (takes\nprecedence), admin (Nova\u0027s service credentials), and the user\u0027s\ntoken from context -- so ksa_auth works independently of the admin\nflag.\n\nThe SDK calls get_endpoint_data() for API version discovery, but\nneither ServiceTokenAuthWrapper nor _ContextAuthPlugin implements\nit. Add the missing behavior to both: a local ServiceTokenAuthWrapper\nsubclass delegates to user_auth (LP#2164939 [1]), and\n_ContextAuthPlugin resolves the endpoint from the service catalog and\npasses it as endpoint_override for version discovery.\n\n_call_cyborg now takes a method name string (\u0027get\u0027, \u0027post\u0027, ...)\ninstead of a bound method, and includes the actual exception in its\nerror message so SDK/KSA errors reach instance faults instead of a\ngeneric message. It catches bare Exception on purpose: it is an\nerror-conversion wrapper that never re-raises, and SDK and KSA\nexceptions share no common ancestor now that the old\nks_exc.ClientException root is gone. Debug logging of the auth plugin\ntype is also added.\n\nUnlike the old keystoneauth1 adapter, which deferred endpoint\ndiscovery until the first request, openstacksdk contacts the service\ncatalog when the adapter is built. Constructing a Cyborg client in a\ndeployment without an accelerator endpoint would therefore fail even\nfor instances that use no accelerators. To preserve the previous lazy\nbehavior, _CyborgClient now builds its SDK adapter on first use, so\nmerely creating a client never contacts Cyborg; discovery happens\nonly on the first real call and any failure is handled by\n_call_cyborg.\n\nClient creation is also deferred behind accelerator-presence guards\nwhere it was previously unconditional: delete_arqs_if_needed returns\nearly with no device profile and no ARQ UUIDs;\n_create_and_bind_arq_for_instance creates the client only for a\ndevice profile or requested networks (dropping a stale\nnodename-vs-hostname comment whose code is gone); and\n_poll_shelved_instances moves creation inside the device profile\ncheck.\n\n[1] https://bugs.launchpad.net/keystoneauth/+bug/2164939\n\nAssisted-by: Claude claude-opus-4-8 claude-code-2.1.245\nChange-Id: I65a9358244b0683f7d47eac8d9d878c467a9fef7\nSigned-off-by: melanie witt \u003cmelwittt@gmail.com\u003e\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/nova/commit/5be4a1827ece302ed97765b6f90e827c27e9d60e"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/nova/commit/5be4a1827ece302ed97765b6f90e827c27e9d60e"}]},"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":26471,"name":"Software Factory CI","email":"softwarefactory-operations-team@redhat.com","username":"sf-project-io"}},{"label":"Workflow","status":"MAY","applied_by":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"}},{"label":"Review-Priority","status":"MAY"}]}],"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":"Review-Priority","description":"Review Priority","status":"NOT_APPLICABLE","is_legacy":false,"applicability_expression_result":{"fulfilled":false,"status":"FAIL"},"submittability_expression_result":{"expression":"is:true","fulfilled":true,"status":"NOT_EVALUATED","passing_atoms":[],"failing_atoms":[],"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":{"label:Workflow\u003dMAX":"","label:Workflow\u003dMIN":""}}}]}
