)]}'
{"id":"openstack%2Fcyborg-tempest-plugin~992330","triplet_id":"openstack%2Fcyborg-tempest-plugin~master~I314b42eaec9f303c51770865b5357eacf617e0dc","project":"openstack/cyborg-tempest-plugin","branch":"master","topic":"bp/consistent-and-secure-rbac","attention_set":{},"removed_from_attention_set":{"11604":{"account":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"last_update":"2026-07-21 15:29:39.000000000","reason":"\u003cGERRIT_ACCOUNT_11604\u003e replied on the change","reason_account":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"}},"12393":{"account":{"_account_id":12393,"name":"chandan kumar","display_name":"Chandan Kumar","email":"chkumar@redhat.com","username":"chkumar246"},"last_update":"2026-07-21 16:46:36.000000000","reason":"Change was submitted"}},"hashtags":[],"change_id":"I314b42eaec9f303c51770865b5357eacf617e0dc","subject":"Migrate API tests to least-privilege client aliases","status":"MERGED","created":"2026-06-08 17:40:21.000000000","updated":"2026-07-21 16:46:36.000000000","submitted":"2026-07-21 16:46:36.000000000","submitter":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"total_comment_count":19,"unresolved_comment_count":0,"has_review_started":true,"submission_id":"992330-bp/consistent-and-secure-rbac","meta_rev_id":"3616486722c395bc4441a104e9fe824ef17c32b2","_number":992330,"virtual_id_number":992330,"owner":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"actions":{},"labels":{"Verified":{"approved":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"all":[{"value":0,"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},{"value":0,"_account_id":12393,"name":"chandan kumar","display_name":"Chandan Kumar","email":"chkumar@redhat.com","username":"chkumar246"},{"tag":"autogenerated:zuul:gate","value":2,"date":"2026-07-21 16:46:36.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":2,"date":"2026-07-21 13:15:53.000000000","permitted_voting_range":{"min":2,"max":2},"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},{"value":0,"_account_id":12393,"name":"chandan kumar","display_name":"Chandan Kumar","email":"chkumar@redhat.com","username":"chkumar246"},{"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":1,"date":"2026-07-21 15:29:39.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":12393,"name":"chandan kumar","display_name":"Chandan Kumar","email":"chkumar@redhat.com","username":"chkumar246"},{"value":0,"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]}],"values":{"-1":"Work in progress"," 0":"Ready for reviews","+1":"Approved"},"description":"","default_value":0,"optional":true}},"removable_reviewers":[],"reviewers":{"CC":[{"_account_id":28006,"name":"teim-ci","display_name":"teim-ci","email":"ci@seanmooney.info","username":"ci-sean-mooney","status":"this is a third-party ci account run by sean-k-mooney on irc\nhosted at zuul.teim.app"}],"REVIEWER":[{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},{"_account_id":12393,"name":"chandan kumar","display_name":"Chandan Kumar","email":"chkumar@redhat.com","username":"chkumar246"},{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]}]},"pending_reviewers":{},"reviewer_updates":[{"updated":"2026-06-08 18:17:17.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-06-22 08:36:45.000000000","updated_by":{"_account_id":28006,"name":"teim-ci","display_name":"teim-ci","email":"ci@seanmooney.info","username":"ci-sean-mooney","status":"this is a third-party ci account run by sean-k-mooney on irc\nhosted at zuul.teim.app"},"reviewer":{"_account_id":28006,"name":"teim-ci","display_name":"teim-ci","email":"ci@seanmooney.info","username":"ci-sean-mooney","status":"this is a third-party ci account run by sean-k-mooney on irc\nhosted at zuul.teim.app"},"state":"CC"},{"updated":"2026-06-30 11:58:40.000000000","updated_by":{"_account_id":12393,"name":"chandan kumar","display_name":"Chandan Kumar","email":"chkumar@redhat.com","username":"chkumar246"},"reviewer":{"_account_id":12393,"name":"chandan kumar","display_name":"Chandan Kumar","email":"chkumar@redhat.com","username":"chkumar246"},"state":"CC"},{"updated":"2026-07-07 04:26:32.000000000","updated_by":{"_account_id":12393,"name":"chandan kumar","display_name":"Chandan Kumar","email":"chkumar@redhat.com","username":"chkumar246"},"reviewer":{"_account_id":12393,"name":"chandan kumar","display_name":"Chandan Kumar","email":"chkumar@redhat.com","username":"chkumar246"},"state":"REVIEWER"}],"messages":[{"id":"bb774486f6c2b4a6b0466238549d4ebf6c4375ea","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"date":"2026-06-08 17:40:21.000000000","message":"Uploaded patch set 1.","accounts_in_message":[],"_revision_number":1},{"id":"c1606a4ce43ff730d72e06e2cd9834478a953015","tag":"autogenerated:gerrit:setTopic","author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"date":"2026-06-08 17:57:57.000000000","message":"Topic set to bp/consistent-and-secure-rbac","accounts_in_message":[],"_revision_number":1},{"id":"ecd6eb6755d5481e4124cd61716ee0d82f0aa420","tag":"autogenerated:zuul:check","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-06-08 18:17:17.000000000","message":"Patch Set 1: Verified-1\n\n(8 comments)\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/dc65e920d2d24c61b546dee7d3e3790b\n\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/0bf96213264b4771ada8d65bf9e0c0a9 : FAILURE in 3m 26s\n- cyborg-tempest https://zuul.opendev.org/t/openstack/build/41ab404c238447379a530c2921dd06a0 : SUCCESS in 31m 23s\n- cyborg-tempest-2026-1 https://zuul.opendev.org/t/openstack/build/1855e506d2bc4c2cb9f6af3428ef4726 : SUCCESS in 33m 30s\n- cyborg-tempest-2025-2 https://zuul.opendev.org/t/openstack/build/5731f72d86b340c7a7fcb0486f303da6 : SUCCESS in 19m 09s\n- cyborg-tempest-2025-1 https://zuul.opendev.org/t/openstack/build/f6d588ebad2840b3adafb27d794390d2 : SUCCESS in 29m 29s\n- cyborg-tempest-ipv6-only https://zuul.opendev.org/t/openstack/build/0c497816658840fd810d5cc1c20fb429 : SUCCESS in 19m 07s","accounts_in_message":[],"_revision_number":1},{"id":"657519b898957ab80bc174fc1352d8d99f31024e","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"date":"2026-06-08 18:46:18.000000000","message":"Uploaded patch set 2.\n\nOutdated Votes:\n* Verified-1 (copy condition: \"NEVER\")\n","accounts_in_message":[],"_revision_number":2},{"id":"912ba2a950a93bc02cccc47c0e3412a9b5ecddfb","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"date":"2026-06-08 18:54:47.000000000","message":"Uploaded patch set 3: Patch Set 2 was rebased.","accounts_in_message":[],"_revision_number":3},{"id":"cda32330fedd878ec936c500de21ce97ef9073b4","tag":"autogenerated:zuul:check","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-06-08 19:40:02.000000000","message":"Patch Set 3: Verified+1\n\nBuild succeeded (check pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/95d3a752b1c646f9af849597e1579a11\n\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/0f79590103664530b14b212a7be62ca6 : SUCCESS in 4m 03s\n- cyborg-tempest https://zuul.opendev.org/t/openstack/build/1dac819e92ee49aaba816f0c82399300 : SUCCESS in 36m 15s\n- cyborg-tempest-2026-1 https://zuul.opendev.org/t/openstack/build/58d08cd4c8e34aff924d92e6c2b0c19e : SUCCESS in 38m 27s\n- cyborg-tempest-2025-2 https://zuul.opendev.org/t/openstack/build/a5d3fba8e9c24ee68bc62dcd0941069f : SUCCESS in 32m 46s\n- cyborg-tempest-2025-1 https://zuul.opendev.org/t/openstack/build/368c841e536648ba804f9ee3dfdbb4a7 : SUCCESS in 30m 51s\n- cyborg-tempest-ipv6-only https://zuul.opendev.org/t/openstack/build/381561145301405f9c0dd7c93bcf45b3 : SUCCESS in 23m 29s","accounts_in_message":[],"_revision_number":3},{"id":"07bf9e41f2e7e48283aac81fd0fd6cf5df8cda6b","author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"date":"2026-06-22 08:36:21.000000000","message":"Patch Set 3:\n\n(1 comment)","accounts_in_message":[],"_revision_number":3},{"id":"8489e02807b4b340f099b29f99a6c11fc9842b63","tag":"autogenerated:zuul:automatic-ci","author":{"_account_id":28006,"name":"teim-ci","display_name":"teim-ci","email":"ci@seanmooney.info","username":"ci-sean-mooney","status":"this is a third-party ci account run by sean-k-mooney on irc\nhosted at zuul.teim.app"},"date":"2026-06-22 08:36:45.000000000","message":"Patch Set 3:\n\nStarting automatic-ci jobs.","accounts_in_message":[],"_revision_number":3},{"id":"8a5cda450b145ea0df320936f38b28bf3c1bf95a","tag":"autogenerated:zuul:automatic-ci","author":{"_account_id":28006,"name":"teim-ci","display_name":"teim-ci","email":"ci@seanmooney.info","username":"ci-sean-mooney","status":"this is a third-party ci account run by sean-k-mooney on irc\nhosted at zuul.teim.app"},"date":"2026-06-22 10:46:45.000000000","message":"Patch Set 3:\n\nBuild failed (automatic-ci pipeline). To rerun just this ci comment\n\"teim-ci: auto\". To rerun other ci jobs comment \"recheck\".\nNote this ci does run on \"recheck\".\n\nhttps://zuul.teim.app/t/main/buildset/305fb13865a94102bc4937e16fb5ca35\n\n- teim-code-review https://zuul.teim.app/t/main/build/27eace53abcc4a21a6836f90b34c329c : FAILURE in 3m 55s","accounts_in_message":[],"_revision_number":3},{"id":"29c192490fbde16061d59b04c83e15334709b6bb","author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"date":"2026-06-22 23:46:41.000000000","message":"Patch Set 3:\n\n(1 comment)","accounts_in_message":[],"_revision_number":3},{"id":"30baff27a23d6f50d2eb89b12b05e26c2beb3b59","tag":"autogenerated:zuul:automatic-ci","author":{"_account_id":28006,"name":"teim-ci","display_name":"teim-ci","email":"ci@seanmooney.info","username":"ci-sean-mooney","status":"this is a third-party ci account run by sean-k-mooney on irc\nhosted at zuul.teim.app"},"date":"2026-06-22 23:47:06.000000000","message":"Patch Set 3:\n\nStarting automatic-ci jobs.","accounts_in_message":[],"_revision_number":3},{"id":"7c20a0992a6718cd8999e7ccb53bf08c012caa62","tag":"autogenerated:zuul:automatic-ci","author":{"_account_id":28006,"name":"teim-ci","display_name":"teim-ci","email":"ci@seanmooney.info","username":"ci-sean-mooney","status":"this is a third-party ci account run by sean-k-mooney on irc\nhosted at zuul.teim.app"},"date":"2026-06-23 02:52:44.000000000","message":"Patch Set 3:\n\nBuild failed (automatic-ci pipeline). To rerun just this ci comment\n\"teim-ci: auto\". To rerun other ci jobs comment \"recheck\".\nNote this ci does run on \"recheck\".\n\nhttps://zuul.teim.app/t/main/buildset/9ea4a76ffe8144deaff3a81a846166f0\n\n- teim-code-review https://zuul.teim.app/t/main/build/5a20650e556d4afb902f0165752964cd : FAILURE in 18m 19s","accounts_in_message":[],"_revision_number":3},{"id":"6af3d988bdd4bb97d6107199b725ed5622d32f6c","author":{"_account_id":12393,"name":"chandan kumar","display_name":"Chandan Kumar","email":"chkumar@redhat.com","username":"chkumar246"},"date":"2026-06-30 11:58:40.000000000","message":"Patch Set 3:\n\n(2 comments)","accounts_in_message":[],"_revision_number":3},{"id":"019c9a96283e19dce3d06a96b5a47642f9621453","author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"date":"2026-06-30 12:15:10.000000000","message":"Patch Set 3:\n\n(1 comment)","accounts_in_message":[],"_revision_number":3},{"id":"34a40cbcb0f1c8a38341f9b73160268f16fc6bf7","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"date":"2026-07-06 20:49:45.000000000","message":"Uploaded patch set 4: Patch Set 3 was rebased. Commit message was updated.\n\nOutdated Votes:\n* Verified+1 (copy condition: \"NEVER\")\n","accounts_in_message":[],"_revision_number":4},{"id":"d9adcfff5cabec9fdfa7f36c219a57f460ebf5eb","tag":"autogenerated:zuul:automatic-ci","author":{"_account_id":28006,"name":"teim-ci","display_name":"teim-ci","email":"ci@seanmooney.info","username":"ci-sean-mooney","status":"this is a third-party ci account run by sean-k-mooney on irc\nhosted at zuul.teim.app"},"date":"2026-07-06 20:50:58.000000000","message":"Patch Set 4:\n\nStarting automatic-ci jobs.","accounts_in_message":[],"_revision_number":4},{"id":"4aca25bef5755be86b758546d41fedfb763916ac","author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"date":"2026-07-06 20:53:37.000000000","message":"Patch Set 4: Code-Review+2 Workflow+1\n\n(1 comment)","accounts_in_message":[],"_revision_number":4},{"id":"dd9f05f77ae8d324010240d822f261d6c13f256d","tag":"autogenerated:zuul:automatic-ci","author":{"_account_id":28006,"name":"teim-ci","display_name":"teim-ci","email":"ci@seanmooney.info","username":"ci-sean-mooney","status":"this is a third-party ci account run by sean-k-mooney on irc\nhosted at zuul.teim.app"},"date":"2026-07-06 21:32:05.000000000","message":"Patch Set 4:\n\n(1 comment)\n\nBuild succeeded (automatic-ci pipeline).\nhttps://zuul.teim.app/t/main/buildset/2ec6c87e03ef4a1cbf8fec00a1e2b51a\n\n- teim-code-review https://zuul.teim.app/t/main/build/d691f9e94f5848fe8c872fc2961a041c : SUCCESS in 8m 47s","accounts_in_message":[],"_revision_number":4},{"id":"25e7542e290861129a1c33ff9143a3e1f07d7239","tag":"autogenerated:zuul:check","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-07-06 21:32:44.000000000","message":"Patch Set 4: Verified+1\n\nBuild succeeded (check pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/5bc37101ff9947499d77dd73777326b9\n\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/7ab29980ef0142b0929b148cba1e04a1 : SUCCESS in 4m 06s\n- cyborg-tempest https://zuul.opendev.org/t/openstack/build/a451e7e3ce2d43448cf01bd0119042aa : SUCCESS in 32m 02s\n- cyborg-tempest-2026-1 https://zuul.opendev.org/t/openstack/build/0dc77064e7b144528c0229e28fc07744 : SUCCESS in 33m 53s\n- cyborg-tempest-2025-2 https://zuul.opendev.org/t/openstack/build/96209467f8dc4020aafbc7910084f1fa : SUCCESS in 23m 50s\n- cyborg-tempest-2025-1 https://zuul.opendev.org/t/openstack/build/3aa75885cb9d4a2aa08065177a55dc5c : SUCCESS in 19m 29s\n- cyborg-tempest-ipv6-only https://zuul.opendev.org/t/openstack/build/9709a6bbb7904614a72e3683c7184575 : SUCCESS in 31m 42s","accounts_in_message":[],"_revision_number":4},{"id":"d30d7c363cd05a1e0936d495436dbb6927306cc6","author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"date":"2026-07-06 21:42:21.000000000","message":"Patch Set 4: -Code-Review Workflow-1","accounts_in_message":[],"_revision_number":4},{"id":"42d38c96c3c55fe41ae2cf14b2e46a5a25a5a169","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"date":"2026-07-06 21:56:22.000000000","message":"Uploaded patch set 5: Patch Set 4 was rebased.\n\nOutdated Votes:\n* Verified+1 (copy condition: \"NEVER\")\n* Workflow-1 (copy condition: \"NEVER\")\n","accounts_in_message":[],"_revision_number":5},{"id":"c9eaad2ba9348b0686fcfeaaf1c1076b4195f38b","tag":"autogenerated:zuul:automatic-ci","author":{"_account_id":28006,"name":"teim-ci","display_name":"teim-ci","email":"ci@seanmooney.info","username":"ci-sean-mooney","status":"this is a third-party ci account run by sean-k-mooney on irc\nhosted at zuul.teim.app"},"date":"2026-07-06 21:58:23.000000000","message":"Patch Set 5:\n\nStarting automatic-ci jobs.","accounts_in_message":[],"_revision_number":5},{"id":"5eedab2d77cdd2648d851aa19f0fc321d354dd3e","tag":"autogenerated:zuul:automatic-ci","author":{"_account_id":28006,"name":"teim-ci","display_name":"teim-ci","email":"ci@seanmooney.info","username":"ci-sean-mooney","status":"this is a third-party ci account run by sean-k-mooney on irc\nhosted at zuul.teim.app"},"date":"2026-07-06 22:21:54.000000000","message":"Patch Set 5:\n\n(1 comment)\n\nBuild succeeded (automatic-ci pipeline).\nhttps://zuul.teim.app/t/main/buildset/5903ce36d5d6407e9f2614a836f76a78\n\n- teim-code-review https://zuul.teim.app/t/main/build/7ff9a4a420fa489185f5ba91e0bf70ab : SUCCESS in 8m 05s","accounts_in_message":[],"_revision_number":5},{"id":"5837798a288e9267c565d52888cd02e85f837b98","tag":"autogenerated:zuul:check","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-07-06 22:36:36.000000000","message":"Patch Set 5: Verified+1\n\nBuild succeeded (check pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/ac8f0402074e4532b362d133fa431fb7\n\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/7480dbeacfb343c7bfcad0c391b2a3db : SUCCESS in 3m 43s\n- cyborg-tempest https://zuul.opendev.org/t/openstack/build/15e8490415014e42bad577cd9e5a8510 : SUCCESS in 32m 24s\n- cyborg-tempest-2026-1 https://zuul.opendev.org/t/openstack/build/3faa3b0c1d0c49a2a9f336fb1fbaf76e : SUCCESS in 22m 04s\n- cyborg-tempest-2025-2 https://zuul.opendev.org/t/openstack/build/7896d948a63849028f654e3da6217549 : SUCCESS in 22m 31s\n- cyborg-tempest-2025-1 https://zuul.opendev.org/t/openstack/build/49e6397a9b504d0384c021a87413ca31 : SUCCESS in 30m 31s\n- cyborg-tempest-ipv6-only https://zuul.opendev.org/t/openstack/build/f711b1aa4ad641fa94ba70b5602a192b : SUCCESS in 34m 07s","accounts_in_message":[],"_revision_number":5},{"id":"40e3049a7f22cd34d61c6e64c04e1a7b138c3802","author":{"_account_id":12393,"name":"chandan kumar","display_name":"Chandan Kumar","email":"chkumar@redhat.com","username":"chkumar246"},"date":"2026-07-07 04:26:32.000000000","message":"Patch Set 5: Code-Review+1\n\n(1 comment)","accounts_in_message":[],"_revision_number":5},{"id":"0383c66d7c06986b59764600a9f42d3f51ba5a8b","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"date":"2026-07-20 15:10:47.000000000","message":"Uploaded patch set 6: Patch Set 5 was rebased.\n\nCopied Votes:\n* Code-Review+1 (copy condition: \"**changekind:TRIVIAL_REBASE** OR is:MIN\")\n\nOutdated Votes:\n* Verified+1 (copy condition: \"NEVER\")\n","accounts_in_message":[],"_revision_number":6},{"id":"9c1a371952bad7b069cccc7b43d9ba404a4f6698","tag":"autogenerated:zuul:automatic-ci","author":{"_account_id":28006,"name":"teim-ci","display_name":"teim-ci","email":"ci@seanmooney.info","username":"ci-sean-mooney","status":"this is a third-party ci account run by sean-k-mooney on irc\nhosted at zuul.teim.app"},"date":"2026-07-20 15:11:12.000000000","message":"Patch Set 6:\n\nStarting automatic-ci jobs.","accounts_in_message":[],"_revision_number":6},{"id":"fcaa68ff7c49a729948c4340e4f4692eb5f6bb78","tag":"autogenerated:zuul:check","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-07-20 16:13:08.000000000","message":"Patch Set 6: Verified+1\n\nBuild succeeded (check pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/e01393e92f9a4158b00dcbf000e07bae\n\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/c2112ccf27ae4dc288f7daf62bc49dd1 : SUCCESS in 3m 28s\n- cyborg-tempest-py3 https://zuul.opendev.org/t/openstack/build/58d38153cb5b41f4a57b1940066f23ee : SUCCESS in 55m 58s\n- cyborg-tempest-2026-1 https://zuul.opendev.org/t/openstack/build/991e625d00f047c385578be721f41811 : SUCCESS in 31m 42s\n- cyborg-tempest-2025-2 https://zuul.opendev.org/t/openstack/build/f44ce53b649f4b1fabc0b98909466645 : SUCCESS in 39m 53s\n- cyborg-tempest-2025-1 https://zuul.opendev.org/t/openstack/build/0da0179441eb472faf3620f269e2fc62 : SUCCESS in 31m 03s\n- cyborg-tempest-ipv6 https://zuul.opendev.org/t/openstack/build/6867ea007aff46a6bd5cbb0773d3a39f : SUCCESS in 46m 12s","accounts_in_message":[],"_revision_number":6},{"id":"34a1dbaa496da0b6e4eb7fc8adc6f04d982ae4ca","tag":"autogenerated:zuul:automatic-ci","author":{"_account_id":28006,"name":"teim-ci","display_name":"teim-ci","email":"ci@seanmooney.info","username":"ci-sean-mooney","status":"this is a third-party ci account run by sean-k-mooney on irc\nhosted at zuul.teim.app"},"date":"2026-07-20 17:08:58.000000000","message":"Patch Set 6:\n\nBuild succeeded (automatic-ci pipeline).\nhttps://zuul.teim.app/t/main/buildset/35c07d604e5548ff8ca5905d0f7f3aff\n\n- teim-code-review https://zuul.teim.app/t/main/build/7af746ee3bf34289bfa159b0465fef02 : SUCCESS in 7m 08s","accounts_in_message":[],"_revision_number":6},{"id":"3f19a9b3c23637b0c19aae824555faf6951da2c0","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"date":"2026-07-21 10:24:28.000000000","message":"Uploaded patch set 7.\n\nOutdated Votes:\n* Code-Review+1 (copy condition: \"changekind:TRIVIAL_REBASE OR is:MIN\")\n* Verified+1 (copy condition: \"NEVER\")\n","accounts_in_message":[],"_revision_number":7},{"id":"5d649b8ff5fcc1f1909b38f15a00c237317770fd","tag":"autogenerated:zuul:check","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-07-21 10:34:38.000000000","message":"Patch Set 7: Verified-1\n\nThis change depends on a change that failed to merge.\n\nChange https://review.opendev.org/c/openstack/cyborg-tempest-plugin/+/992329 is needed.","accounts_in_message":[],"_revision_number":7},{"id":"aad51dfc732f03ca3ba6dff6826486ca33861995","author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"date":"2026-07-21 13:15:18.000000000","message":"Patch Set 7:\n\n(1 comment)","accounts_in_message":[],"_revision_number":7},{"id":"df9638bda2e56f5f063bff8d298119dd239c19e9","tag":"autogenerated:zuul:automatic-ci","author":{"_account_id":28006,"name":"teim-ci","display_name":"teim-ci","email":"ci@seanmooney.info","username":"ci-sean-mooney","status":"this is a third-party ci account run by sean-k-mooney on irc\nhosted at zuul.teim.app"},"date":"2026-07-21 13:15:27.000000000","message":"Patch Set 7:\n\nStarting automatic-ci jobs.","accounts_in_message":[],"_revision_number":7},{"id":"81db144089cd34716333ed238cc99fa00c1a9477","author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"date":"2026-07-21 13:15:53.000000000","message":"Patch Set 7: Code-Review+2","accounts_in_message":[],"_revision_number":7},{"id":"2335c8290bacf756ea5f5d545af500b7f0d5ebe0","tag":"autogenerated:zuul:automatic-ci","author":{"_account_id":28006,"name":"teim-ci","display_name":"teim-ci","email":"ci@seanmooney.info","username":"ci-sean-mooney","status":"this is a third-party ci account run by sean-k-mooney on irc\nhosted at zuul.teim.app"},"date":"2026-07-21 13:23:03.000000000","message":"Patch Set 7:\n\n(1 comment)\n\nBuild succeeded (automatic-ci pipeline).\nhttps://zuul.teim.app/t/main/buildset/3b83df37f4a24aca8e127dc6e70a9e89\n\n- teim-code-review https://zuul.teim.app/t/main/build/3fc2a99afa7240e6aa5e6ffc5dfcab1b : SUCCESS in 7m 24s","accounts_in_message":[],"_revision_number":7},{"id":"f352523cb0c7eb01d5bddb38070dfb7ad14b9fd5","tag":"autogenerated:zuul:check","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-07-21 14:16:01.000000000","message":"Patch Set 7: Verified+1\n\nBuild succeeded (check pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/05af7a7218da4f68afb9fa228b90eaf2\n\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/8dfe7f5258c94341b397ec452c5b8028 : SUCCESS in 2m 53s\n- cyborg-tempest-py3 https://zuul.opendev.org/t/openstack/build/ef13d9a76eab48d29b7814f4d2911b27 : SUCCESS in 55m 29s\n- cyborg-tempest-2026-1 https://zuul.opendev.org/t/openstack/build/294b80d8c3584e5bb3a21d08776f7756 : SUCCESS in 32m 39s\n- cyborg-tempest-2025-2 https://zuul.opendev.org/t/openstack/build/577c0558a26f432a9da525cdef18c1fc : SUCCESS in 31m 37s\n- cyborg-tempest-2025-1 https://zuul.opendev.org/t/openstack/build/e4fe7ed67eaf4521bc9f2d0173eca131 : SUCCESS in 37m 09s\n- cyborg-tempest-ipv6 https://zuul.opendev.org/t/openstack/build/03f69ced89f7465f867e521ae5acb8c1 : SUCCESS in 52m 21s","accounts_in_message":[],"_revision_number":7},{"id":"89af03fe333e2300c49d170eed5e7e2c257b24c9","author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"date":"2026-07-21 15:29:39.000000000","message":"Patch Set 7: Workflow+1","accounts_in_message":[],"_revision_number":7},{"id":"b178bba574351eaa2bebc934bbd489b54821aa36","tag":"autogenerated:zuul:gate","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-07-21 15:30:35.000000000","message":"Patch Set 7: -Verified\n\nStarting gate jobs.","accounts_in_message":[],"_revision_number":7},{"id":"3ed8ea1ad015dd6a171a5c5876533ce3bc9d1ff8","tag":"autogenerated:zuul:gate","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-07-21 16:46:36.000000000","message":"Patch Set 7: Verified+2\n\nBuild succeeded (gate pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/6217b1269cbe443b80f8a2ab7665a727\n\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/a720eeabccc44461be9544c9a18a80a4 : SUCCESS in 3m 13s\n- cyborg-tempest-py3 https://zuul.opendev.org/t/openstack/build/72b32525376d479abc8148a5c0cf95a1 : SUCCESS in 1h 03m 25s\n- cyborg-tempest-2026-1 https://zuul.opendev.org/t/openstack/build/43cf99a4cfcc4e059125cf4d74d3920f : SUCCESS in 20m 36s\n- cyborg-tempest-2025-2 https://zuul.opendev.org/t/openstack/build/ce51f1e7e26246fe8533a9c7f1338ab4 : SUCCESS in 14m 18s\n- cyborg-tempest-2025-1 https://zuul.opendev.org/t/openstack/build/c2e3c309bb5e4f17b30f17681a99796d : SUCCESS in 19m 23s\n- cyborg-tempest-ipv6 https://zuul.opendev.org/t/openstack/build/dcbda7d5346c43ffa284323bfd8e0392 : SUCCESS in 42m 51s","accounts_in_message":[],"_revision_number":7},{"id":"3616486722c395bc4441a104e9fe824ef17c32b2","tag":"autogenerated:gerrit:merged","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-07-21 16:46:36.000000000","message":"Change has been successfully merged","accounts_in_message":[],"_revision_number":7}],"current_revision_number":7,"current_revision":"7d8b767a37664a52d60f837a69c5f6ca40dbaef7","revisions":{"fe559cdd9881d98d7430f90d4aa72046b8e4ce1c":{"kind":"REWORK","_number":1,"created":"2026-06-08 17:40:21.000000000","uploader":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"ref":"refs/changes/30/992330/1","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/cyborg-tempest-plugin","ref":"refs/changes/30/992330/1","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/cyborg-tempest-plugin refs/changes/30/992330/1 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/cyborg-tempest-plugin refs/changes/30/992330/1 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/cyborg-tempest-plugin refs/changes/30/992330/1 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/cyborg-tempest-plugin refs/changes/30/992330/1"}}},"commit":{"parents":[{"commit":"7323de0751ebebe3ca9010126822dddef1b0b1f0","subject":"Add enforce_scope config and multi-persona client aliases","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/cyborg-tempest-plugin/commit/7323de0751ebebe3ca9010126822dddef1b0b1f0"}]}],"author":{"name":"Sean Mooney","email":"work@seanmooney.info","date":"2026-06-08 16:29:34.000000000","tz":60},"committer":{"name":"Sean Mooney","email":"work@seanmooney.info","date":"2026-06-08 17:39:54.000000000","tz":60},"subject":"Migrate API tests to least-privilege client aliases","message":"Migrate API tests to least-privilege client aliases\n\nReplace all self.os_admin.cyborg_client references in API test\nfiles with the appropriate least-privilege alias from BaseAPITest:\n\n  ARQ list/get       -\u003e cyborg_arq_read_client   (reader)\n  ARQ create/delete  -\u003e cyborg_arq_write_client   (member)\n  device/deployable  -\u003e cyborg_hw_read_client      (manager)\n  device profile r/o -\u003e cyborg_dp_read_client      (reader)\n  device profile w   -\u003e cyborg_dp_write_client     (admin)\n\nWhen enforce_scope.cyborg is False (legacy), all aliases resolve\nto admin so existing jobs pass unchanged. When True, each test\nruns with the minimum persona required by the new policy defaults.\n\nCleanup callbacks consistently use the write client to ensure\nresource teardown succeeds regardless of policy mode.\n\nPartial-Implements: blueprint consistent-and-secure-rbac\nAssisted-By: pi opus-4.6 (orchestrator)\nAssisted-By: pi sonnet-4.6 (implementer)\nAssisted-By: pi gpt-5.5 (reviewer)\nChange-Id: I314b42eaec9f303c51770865b5357eacf617e0dc\nSigned-off-by: Sean Mooney \u003cwork@seanmooney.info\u003e\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/cyborg-tempest-plugin/commit/fe559cdd9881d98d7430f90d4aa72046b8e4ce1c"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/cyborg-tempest-plugin/commit/fe559cdd9881d98d7430f90d4aa72046b8e4ce1c"}]},"branch":"refs/heads/master"},"3fee517020fc2b86649b93d668dcafdc6a58f01f":{"kind":"REWORK","_number":2,"created":"2026-06-08 18:46:18.000000000","uploader":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"ref":"refs/changes/30/992330/2","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/cyborg-tempest-plugin","ref":"refs/changes/30/992330/2","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/cyborg-tempest-plugin refs/changes/30/992330/2 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/cyborg-tempest-plugin refs/changes/30/992330/2 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/cyborg-tempest-plugin refs/changes/30/992330/2 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/cyborg-tempest-plugin refs/changes/30/992330/2"}}},"commit":{"parents":[{"commit":"49c56e48aecc95d1236a5e3c5354fd45c842be42","subject":"Add enforce_scope config and multi-persona client aliases","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/cyborg-tempest-plugin/commit/49c56e48aecc95d1236a5e3c5354fd45c842be42"}]}],"author":{"name":"Sean Mooney","email":"work@seanmooney.info","date":"2026-06-08 16:29:34.000000000","tz":60},"committer":{"name":"Sean Mooney","email":"work@seanmooney.info","date":"2026-06-08 18:44:46.000000000","tz":60},"subject":"Migrate API tests to least-privilege client aliases","message":"Migrate API tests to least-privilege client aliases\n\nReplace all self.os_admin.cyborg_client references in API test\nfiles with the appropriate least-privilege alias from BaseAPITest:\n\n  ARQ list/get       -\u003e cyborg_arq_read_client   (reader)\n  ARQ create/delete  -\u003e cyborg_arq_write_client   (member)\n  device/deployable  -\u003e cyborg_hw_read_client      (manager)\n  device profile r/o -\u003e cyborg_dp_read_client      (reader)\n  device profile w   -\u003e cyborg_dp_write_client     (admin)\n\nWhen enforce_scope.cyborg is False (legacy), all aliases resolve\nto admin so existing jobs pass unchanged. When True, each test\nruns with the minimum persona required by the new policy defaults.\n\nCleanup callbacks consistently use the write client to ensure\nresource teardown succeeds regardless of policy mode.\n\nPartial-Implements: blueprint consistent-and-secure-rbac\nAssisted-By: pi opus-4.6 (orchestrator)\nAssisted-By: pi sonnet-4.6 (implementer)\nAssisted-By: pi gpt-5.5 (reviewer)\nChange-Id: I314b42eaec9f303c51770865b5357eacf617e0dc\nSigned-off-by: Sean Mooney \u003cwork@seanmooney.info\u003e\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/cyborg-tempest-plugin/commit/3fee517020fc2b86649b93d668dcafdc6a58f01f"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/cyborg-tempest-plugin/commit/3fee517020fc2b86649b93d668dcafdc6a58f01f"}]},"branch":"refs/heads/master"},"2e5cec5490e1f68ff629948fc193acfcf4bfc22d":{"kind":"TRIVIAL_REBASE","_number":3,"created":"2026-06-08 18:54:47.000000000","uploader":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"ref":"refs/changes/30/992330/3","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/cyborg-tempest-plugin","ref":"refs/changes/30/992330/3","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/cyborg-tempest-plugin refs/changes/30/992330/3 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/cyborg-tempest-plugin refs/changes/30/992330/3 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/cyborg-tempest-plugin refs/changes/30/992330/3 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/cyborg-tempest-plugin refs/changes/30/992330/3"}}},"commit":{"parents":[{"commit":"f0ce8befc494decb6c33a6cf35af4d643947ae32","subject":"Add enforce_scope config and multi-persona client aliases","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/cyborg-tempest-plugin/commit/f0ce8befc494decb6c33a6cf35af4d643947ae32"}]}],"author":{"name":"Sean Mooney","email":"work@seanmooney.info","date":"2026-06-08 16:29:34.000000000","tz":60},"committer":{"name":"Sean Mooney","email":"work@seanmooney.info","date":"2026-06-08 18:54:01.000000000","tz":60},"subject":"Migrate API tests to least-privilege client aliases","message":"Migrate API tests to least-privilege client aliases\n\nReplace all self.os_admin.cyborg_client references in API test\nfiles with the appropriate least-privilege alias from BaseAPITest:\n\n  ARQ list/get       -\u003e cyborg_arq_read_client   (reader)\n  ARQ create/delete  -\u003e cyborg_arq_write_client   (member)\n  device/deployable  -\u003e cyborg_hw_read_client      (manager)\n  device profile r/o -\u003e cyborg_dp_read_client      (reader)\n  device profile w   -\u003e cyborg_dp_write_client     (admin)\n\nWhen enforce_scope.cyborg is False (legacy), all aliases resolve\nto admin so existing jobs pass unchanged. When True, each test\nruns with the minimum persona required by the new policy defaults.\n\nCleanup callbacks consistently use the write client to ensure\nresource teardown succeeds regardless of policy mode.\n\nPartial-Implements: blueprint consistent-and-secure-rbac\nAssisted-By: pi opus-4.6 (orchestrator)\nAssisted-By: pi sonnet-4.6 (implementer)\nAssisted-By: pi gpt-5.5 (reviewer)\nChange-Id: I314b42eaec9f303c51770865b5357eacf617e0dc\nSigned-off-by: Sean Mooney \u003cwork@seanmooney.info\u003e\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/cyborg-tempest-plugin/commit/2e5cec5490e1f68ff629948fc193acfcf4bfc22d"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/cyborg-tempest-plugin/commit/2e5cec5490e1f68ff629948fc193acfcf4bfc22d"}]},"branch":"refs/heads/master"},"d399cd3fbc152ed64400e091502e4ad3e739a34e":{"kind":"TRIVIAL_REBASE_WITH_MESSAGE_UPDATE","_number":4,"created":"2026-07-06 20:49:45.000000000","uploader":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"ref":"refs/changes/30/992330/4","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/cyborg-tempest-plugin","ref":"refs/changes/30/992330/4","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/cyborg-tempest-plugin refs/changes/30/992330/4 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/cyborg-tempest-plugin refs/changes/30/992330/4 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/cyborg-tempest-plugin refs/changes/30/992330/4 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/cyborg-tempest-plugin refs/changes/30/992330/4"}}},"commit":{"parents":[{"commit":"53234476773aa66dc1f6571c30eda053cbe90b44","subject":"Add enforce_scope config and multi-persona client aliases","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/cyborg-tempest-plugin/commit/53234476773aa66dc1f6571c30eda053cbe90b44"}]}],"author":{"name":"Sean Mooney","email":"work@seanmooney.info","date":"2026-06-08 16:29:34.000000000","tz":60},"committer":{"name":"Sean Mooney","email":"work@seanmooney.info","date":"2026-07-06 20:40:40.000000000","tz":60},"subject":"Migrate API tests to least-privilege client aliases","message":"Migrate API tests to least-privilege client aliases\n\nReplace all self.os_admin.cyborg_client references in API test\nfiles with the appropriate least-privilege alias from BaseAPITest:\n\n  ARQ list/get       -\u003e cyborg_reader_client   (reader)\n  ARQ create/delete  -\u003e cyborg_member_client   (member)\n  device/deployable  -\u003e cyborg_manager_client  (manager)\n  attribute          -\u003e cyborg_manager_client  (manager)\n  device profile r/o -\u003e cyborg_reader_client   (reader)\n  device profile w   -\u003e cyborg_admin_client    (admin)\n\nWhen enforce_scope.cyborg is False (legacy), all aliases resolve\nto admin so existing jobs pass unchanged. When True, each test\nruns with the minimum persona required by the new policy defaults.\n\nCleanup callbacks consistently use the write client to ensure\nresource teardown succeeds regardless of policy mode.\n\nPartial-Implements: blueprint consistent-and-secure-rbac\nAssisted-By: pi opus-4.6 (orchestrator)\nAssisted-By: pi sonnet-4.6 (implementer)\nAssisted-By: pi gpt-5.5 (reviewer)\nChange-Id: I314b42eaec9f303c51770865b5357eacf617e0dc\nSigned-off-by: Sean Mooney \u003cwork@seanmooney.info\u003e\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/cyborg-tempest-plugin/commit/d399cd3fbc152ed64400e091502e4ad3e739a34e"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/cyborg-tempest-plugin/commit/d399cd3fbc152ed64400e091502e4ad3e739a34e"}]},"branch":"refs/heads/master"},"7d0e63ef4aaa8290a98a1669c109184cfae518c9":{"kind":"TRIVIAL_REBASE","_number":5,"created":"2026-07-06 21:56:22.000000000","uploader":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"ref":"refs/changes/30/992330/5","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/cyborg-tempest-plugin","ref":"refs/changes/30/992330/5","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/cyborg-tempest-plugin refs/changes/30/992330/5 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/cyborg-tempest-plugin refs/changes/30/992330/5 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/cyborg-tempest-plugin refs/changes/30/992330/5 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/cyborg-tempest-plugin refs/changes/30/992330/5"}}},"commit":{"parents":[{"commit":"7070653af8208310edb2fc4ca1b98dac6e726348","subject":"Add enforce_scope config and multi-persona client aliases","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/cyborg-tempest-plugin/commit/7070653af8208310edb2fc4ca1b98dac6e726348"}]}],"author":{"name":"Sean Mooney","email":"work@seanmooney.info","date":"2026-06-08 16:29:34.000000000","tz":60},"committer":{"name":"Sean Mooney","email":"work@seanmooney.info","date":"2026-07-06 21:49:59.000000000","tz":60},"subject":"Migrate API tests to least-privilege client aliases","message":"Migrate API tests to least-privilege client aliases\n\nReplace all self.os_admin.cyborg_client references in API test\nfiles with the appropriate least-privilege alias from BaseAPITest:\n\n  ARQ list/get       -\u003e cyborg_reader_client   (reader)\n  ARQ create/delete  -\u003e cyborg_member_client   (member)\n  device/deployable  -\u003e cyborg_manager_client  (manager)\n  attribute          -\u003e cyborg_manager_client  (manager)\n  device profile r/o -\u003e cyborg_reader_client   (reader)\n  device profile w   -\u003e cyborg_admin_client    (admin)\n\nWhen enforce_scope.cyborg is False (legacy), all aliases resolve\nto admin so existing jobs pass unchanged. When True, each test\nruns with the minimum persona required by the new policy defaults.\n\nCleanup callbacks consistently use the write client to ensure\nresource teardown succeeds regardless of policy mode.\n\nPartial-Implements: blueprint consistent-and-secure-rbac\nAssisted-By: pi opus-4.6 (orchestrator)\nAssisted-By: pi sonnet-4.6 (implementer)\nAssisted-By: pi gpt-5.5 (reviewer)\nChange-Id: I314b42eaec9f303c51770865b5357eacf617e0dc\nSigned-off-by: Sean Mooney \u003cwork@seanmooney.info\u003e\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/cyborg-tempest-plugin/commit/7d0e63ef4aaa8290a98a1669c109184cfae518c9"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/cyborg-tempest-plugin/commit/7d0e63ef4aaa8290a98a1669c109184cfae518c9"}]},"branch":"refs/heads/master"},"7661cc2d3b45a20365c006308c5838ff2c66a7a5":{"kind":"TRIVIAL_REBASE","_number":6,"created":"2026-07-20 15:10:47.000000000","uploader":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"ref":"refs/changes/30/992330/6","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/cyborg-tempest-plugin","ref":"refs/changes/30/992330/6","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/cyborg-tempest-plugin refs/changes/30/992330/6 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/cyborg-tempest-plugin refs/changes/30/992330/6 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/cyborg-tempest-plugin refs/changes/30/992330/6 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/cyborg-tempest-plugin refs/changes/30/992330/6"}}},"commit":{"parents":[{"commit":"f879a43f481ecd37e06a319b62f16f776f4a15d9","subject":"Add enforce_scope config and multi-persona client aliases","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/cyborg-tempest-plugin/commit/f879a43f481ecd37e06a319b62f16f776f4a15d9"}]}],"author":{"name":"Sean Mooney","email":"work@seanmooney.info","date":"2026-06-08 16:29:34.000000000","tz":60},"committer":{"name":"Sean Mooney","email":"work@seanmooney.info","date":"2026-07-20 15:01:45.000000000","tz":60},"subject":"Migrate API tests to least-privilege client aliases","message":"Migrate API tests to least-privilege client aliases\n\nReplace all self.os_admin.cyborg_client references in API test\nfiles with the appropriate least-privilege alias from BaseAPITest:\n\n  ARQ list/get       -\u003e cyborg_reader_client   (reader)\n  ARQ create/delete  -\u003e cyborg_member_client   (member)\n  device/deployable  -\u003e cyborg_manager_client  (manager)\n  attribute          -\u003e cyborg_manager_client  (manager)\n  device profile r/o -\u003e cyborg_reader_client   (reader)\n  device profile w   -\u003e cyborg_admin_client    (admin)\n\nWhen enforce_scope.cyborg is False (legacy), all aliases resolve\nto admin so existing jobs pass unchanged. When True, each test\nruns with the minimum persona required by the new policy defaults.\n\nCleanup callbacks consistently use the write client to ensure\nresource teardown succeeds regardless of policy mode.\n\nPartial-Implements: blueprint consistent-and-secure-rbac\nAssisted-By: pi opus-4.6 (orchestrator)\nAssisted-By: pi sonnet-4.6 (implementer)\nAssisted-By: pi gpt-5.5 (reviewer)\nChange-Id: I314b42eaec9f303c51770865b5357eacf617e0dc\nSigned-off-by: Sean Mooney \u003cwork@seanmooney.info\u003e\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/cyborg-tempest-plugin/commit/7661cc2d3b45a20365c006308c5838ff2c66a7a5"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/cyborg-tempest-plugin/commit/7661cc2d3b45a20365c006308c5838ff2c66a7a5"}]},"branch":"refs/heads/master"},"7d8b767a37664a52d60f837a69c5f6ca40dbaef7":{"kind":"REWORK","_number":7,"created":"2026-07-21 10:24:28.000000000","uploader":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"ref":"refs/changes/30/992330/7","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/cyborg-tempest-plugin","ref":"refs/changes/30/992330/7","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/cyborg-tempest-plugin refs/changes/30/992330/7 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/cyborg-tempest-plugin refs/changes/30/992330/7 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/cyborg-tempest-plugin refs/changes/30/992330/7 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/cyborg-tempest-plugin refs/changes/30/992330/7"}}},"commit":{"parents":[{"commit":"30bd6e8b21791ad18129dbb674c1406954c4020a","subject":"Add new-defaults config and multi-persona client aliases","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/cyborg-tempest-plugin/commit/30bd6e8b21791ad18129dbb674c1406954c4020a"}]}],"author":{"name":"Sean Mooney","email":"work@seanmooney.info","date":"2026-06-08 16:29:34.000000000","tz":60},"committer":{"name":"Sean Mooney","email":"work@seanmooney.info","date":"2026-07-21 09:57:35.000000000","tz":60},"subject":"Migrate API tests to least-privilege client aliases","message":"Migrate API tests to least-privilege client aliases\n\nReplace self.os_admin.cyborg_client references in API tests with the\nappropriate least-privilege alias from BaseAPITest:\n\n  ARQ list/get       -\u003e cyborg_reader_client   (reader)\n  ARQ create/delete  -\u003e cyborg_member_client   (member)\n  device/deployable  -\u003e cyborg_manager_client  (manager)\n  attribute          -\u003e cyborg_manager_client  (manager)\n  device profile r/o -\u003e cyborg_reader_client   (reader)\n  device profile w   -\u003e cyborg_admin_client    (admin)\n\nWhen cyborg_policy.enforce_new_defaults is False, the reader, member, and\nmanager aliases resolve to admin so legacy-policy jobs pass unchanged.\nWhen it is True, each test runs with the minimum persona required by the\nnew policy defaults. Scope enforcement is independent of this selection.\n\nCleanup callbacks consistently use the write client to ensure resource\nteardown succeeds in either policy-default mode.\n\nPartial-Implements: blueprint consistent-and-secure-rbac\nAssisted-By: pi opus-4.6 (orchestrator)\nAssisted-By: pi sonnet-4.6 (implementer)\nAssisted-By: pi gpt-5.5 (reviewer)\nChange-Id: I314b42eaec9f303c51770865b5357eacf617e0dc\nSigned-off-by: Sean Mooney \u003cwork@seanmooney.info\u003e\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/cyborg-tempest-plugin/commit/7d8b767a37664a52d60f837a69c5f6ca40dbaef7"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/cyborg-tempest-plugin/commit/7d8b767a37664a52d60f837a69c5f6ca40dbaef7"}]},"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":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"}},{"label":"Workflow","status":"MAY","applied_by":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"}}]}],"submit_requirements":[{"name":"Verified","description":"Verified in gate by CI","status":"SATISFIED","is_legacy":false,"submittability_expression_result":{"expression":"label:Verified\u003dMAX AND -label:Verified\u003dMIN","fulfilled":true,"status":"PASS","passing_atoms":["label:Verified\u003dMAX"],"failing_atoms":["label:Verified\u003dMIN"],"atom_explanations":{"label:Verified\u003dMAX":"","label:Verified\u003dMIN":""}}},{"name":"Code-Review","description":"Code reviewed by core reviewer","status":"SATISFIED","is_legacy":false,"submittability_expression_result":{"expression":"label:Code-Review\u003dMAX AND -label:Code-Review\u003dMIN","fulfilled":true,"status":"PASS","passing_atoms":["label:Code-Review\u003dMAX"],"failing_atoms":["label:Code-Review\u003dMIN"],"atom_explanations":{"label:Code-Review\u003dMAX":"","label:Code-Review\u003dMIN":""}}},{"name":"Workflow","description":"Approved for gate by core reviewer","status":"SATISFIED","is_legacy":false,"submittability_expression_result":{"expression":"label:Workflow\u003dMAX AND -label:Workflow\u003dMIN","fulfilled":true,"status":"PASS","passing_atoms":["label:Workflow\u003dMAX"],"failing_atoms":["label:Workflow\u003dMIN"],"atom_explanations":{"label:Workflow\u003dMAX":"","label:Workflow\u003dMIN":""}}}]}
