)]}'
{"id":"openstack%2Fcyborg-tempest-plugin~992331","triplet_id":"openstack%2Fcyborg-tempest-plugin~master~I6f536dbf67937318bea45266b39747b0d6c6539f","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:31.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:37.000000000","reason":"Change was submitted"}},"hashtags":[],"change_id":"I6f536dbf67937318bea45266b39747b0d6c6539f","subject":"Add focused SRBAC policy tests for new defaults","status":"MERGED","created":"2026-06-08 17:40:21.000000000","updated":"2026-07-21 16:46:37.000000000","submitted":"2026-07-21 16:46:37.000000000","submitter":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"total_comment_count":9,"unresolved_comment_count":0,"has_review_started":true,"submission_id":"992331-bp/consistent-and-secure-rbac","meta_rev_id":"ddf71560eb3b5acc7aacdc3bd766a62bb2e6fbfb","_number":992331,"virtual_id_number":992331,"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:37.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:46.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:31.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:21:23.000000000","updated_by":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"reviewer":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"state":"REVIEWER"},{"updated":"2026-06-22 08:36:54.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-29 10:14:05.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":"0471d1642d68d883413cc393cf9aa61a6c564c8f","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":"674c7f34834e2912fa93fdeb2808166a9b2d5ab6","tag":"autogenerated:gerrit:setTopic","author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"date":"2026-06-08 17:58:03.000000000","message":"Topic set to bp/consistent-and-secure-rbac","accounts_in_message":[],"_revision_number":1},{"id":"662dd10e1bf52805f536cb414d9f534e48a06dba","tag":"autogenerated:zuul:check","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-06-08 18:21:23.000000000","message":"Patch Set 1: Verified-1\n\nBuild failed (check pipeline).  For information on how to proceed, see\nhttps://docs.opendev.org/opendev/infra-manual/latest/developers.html#automated-testing\nand https://docs.openstack.org/project-team-guide/testing.html#how-to-handle-test-failures\n\nhttps://zuul.opendev.org/t/openstack/buildset/fd55205fe27d402688820ce6afaa74ef\n\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/5d4c234bf765416a8ae05d2e00290974 : FAILURE in 4m 29s\n- cyborg-tempest https://zuul.opendev.org/t/openstack/build/7721ba1bc3dc4633b25699d257f129dd : SUCCESS in 14m 30s\n- cyborg-tempest-2026-1 https://zuul.opendev.org/t/openstack/build/885fbc8bd63b451d87704956070daa0b : SUCCESS in 18m 23s\n- cyborg-tempest-2025-2 https://zuul.opendev.org/t/openstack/build/861420f60afa4cde8edab35e8bca60ca : SUCCESS in 29m 12s\n- cyborg-tempest-2025-1 https://zuul.opendev.org/t/openstack/build/b5939dcae29646d9a366d170a7ecf63c : SUCCESS in 23m 51s\n- cyborg-tempest-ipv6-only https://zuul.opendev.org/t/openstack/build/99b49a17ea814b88bed9afb1c5ba5041 : SUCCESS in 34m 49s\n\nWarning:\n  Comments left for invalid file cyborg_tempest_plugin/tests/api/test_accelerator_request.py\n  Comments left for invalid file cyborg_tempest_plugin/tests/api/test_accelerator_request_negative.py\n  Comments left for invalid file cyborg_tempest_plugin/tests/api/test_deployable_negative.py\n  Comments left for invalid file cyborg_tempest_plugin/tests/api/test_deployables.py\n  Comments left for invalid file cyborg_tempest_plugin/tests/api/test_device.py\n  Comments left for invalid file cyborg_tempest_plugin/tests/api/test_device_negative.py\n  Comments left for invalid file cyborg_tempest_plugin/tests/api/test_device_profile.py\n  Comments left for invalid file cyborg_tempest_plugin/tests/api/test_device_profile_negative.py","accounts_in_message":[],"_revision_number":1},{"id":"aaf17992aca49f2ba62d033a11eadfe53131301b","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":"a6dff7ee8259783634c2c693fd02a5fd595d8c80","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":"e08125eb97b2b66876e52b7aa6a8b99b04d41163","tag":"autogenerated:zuul:check","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-06-08 19:40:56.000000000","message":"Patch Set 3: Verified+1\n\nBuild succeeded (check pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/d86ccdb21c0b4129b101c9ffbb24ac42\n\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/caedb735d5d24c718f727c5bffbcb5a7 : SUCCESS in 2m 50s\n- cyborg-tempest https://zuul.opendev.org/t/openstack/build/72c55a0fd28f45539ad31b5d9b155730 : SUCCESS in 22m 10s\n- cyborg-tempest-2026-1 https://zuul.opendev.org/t/openstack/build/9f7ff2d4627a481d814538c9a4ccf956 : SUCCESS in 23m 28s\n- cyborg-tempest-2025-2 https://zuul.opendev.org/t/openstack/build/814868a23ebb49278c67a5f3d820edf3 : SUCCESS in 32m 58s\n- cyborg-tempest-2025-1 https://zuul.opendev.org/t/openstack/build/efe5a67a3c3a4a0ca6138255d40d8b98 : SUCCESS in 28m 53s\n- cyborg-tempest-ipv6-only https://zuul.opendev.org/t/openstack/build/c8876aa316f64f00b16b51a53604255f : SUCCESS in 39m 21s","accounts_in_message":[],"_revision_number":3},{"id":"90132616acaee1530609d0464da41de8cf8c2a58","author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"date":"2026-06-22 08:36:30.000000000","message":"Patch Set 3:\n\n(1 comment)","accounts_in_message":[],"_revision_number":3},{"id":"c12e3720174f566ece3aaa95e1fefe6542268d9d","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:54.000000000","message":"Patch Set 3:\n\nStarting automatic-ci jobs.","accounts_in_message":[],"_revision_number":3},{"id":"1fa54625e81fec74be0ac019e9e596374610c1d1","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:50:51.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/3ad871c5e98e4206beb5f45f26f8c959\n\n- teim-code-review https://zuul.teim.app/t/main/build/92f544eaf0524c72b00699a82b55cdc5 : FAILURE in 3m 57s","accounts_in_message":[],"_revision_number":3},{"id":"e28fff7eb5ac926688ff10118e5d7c9096de35a8","author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"date":"2026-06-22 23:46:49.000000000","message":"Patch Set 3:\n\n(1 comment)","accounts_in_message":[],"_revision_number":3},{"id":"51ffe4b29d3ce6a73f580316ad236ee021f8d76c","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:12.000000000","message":"Patch Set 3:\n\nStarting automatic-ci jobs.","accounts_in_message":[],"_revision_number":3},{"id":"d103b8e078fc3581cecc6c26826c854a942d4cf0","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 03:11:38.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/c4be916cb3e445a589ef2ee0e85f95a0\n\n- teim-code-review https://zuul.teim.app/t/main/build/798ab5f9c30847f6be8a65f4d4e12f6a : FAILURE in 18m 46s","accounts_in_message":[],"_revision_number":3},{"id":"1e54cd1ef35b0f01949f532c456e1ab644558b15","author":{"_account_id":12393,"name":"chandan kumar","display_name":"Chandan Kumar","email":"chkumar@redhat.com","username":"chkumar246"},"date":"2026-06-29 10:14:05.000000000","message":"Patch Set 3: Code-Review+1\n\n(2 comments)","accounts_in_message":[],"_revision_number":3},{"id":"ecfa8abfeb9c8e7edabec83d6691702ac50267c7","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.\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":4},{"id":"afb9deae668d8e14f5ebfd1dea165c96e16c635d","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:52:09.000000000","message":"Patch Set 4:\n\nStarting automatic-ci jobs.","accounts_in_message":[],"_revision_number":4},{"id":"83827cdb4ac26bd642e87655cad87427e4387a91","author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"date":"2026-07-06 20:54:21.000000000","message":"Patch Set 4: Code-Review+2 Workflow+1\n\n(1 comment)","accounts_in_message":[],"_revision_number":4},{"id":"8365801fe0e0bedb2c0aa246f09ea6e380cf7475","tag":"autogenerated:zuul:check","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-07-06 21:33:15.000000000","message":"Patch Set 4: Verified+1\n\nBuild succeeded (check pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/657cc2595a73432e96a32bb4033bd2ce\n\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/c82f7d95fefa408faf28bcf831d754ee : SUCCESS in 2m 10s\n- cyborg-tempest https://zuul.opendev.org/t/openstack/build/a86e69b4077e4055bfaf793f902aef2f : SUCCESS in 16m 05s\n- cyborg-tempest-2026-1 https://zuul.opendev.org/t/openstack/build/72e6df690f56406c89b9388a7e564945 : SUCCESS in 25m 12s\n- cyborg-tempest-2025-2 https://zuul.opendev.org/t/openstack/build/384eb454967f4ad7a0389be7fdb721a3 : SUCCESS in 29m 29s\n- cyborg-tempest-2025-1 https://zuul.opendev.org/t/openstack/build/9d63e981d28e4050ad579bc08acd6892 : SUCCESS in 23m 06s\n- cyborg-tempest-ipv6-only https://zuul.opendev.org/t/openstack/build/523ce1a73ae249be96cd28f7087ad327 : SUCCESS in 32m 54s","accounts_in_message":[],"_revision_number":4},{"id":"4ae33763937247e9eb840baa6cfe6e585b8d55d1","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:41:47.000000000","message":"Patch Set 4:\n\n(1 comment)\n\nBuild succeeded (automatic-ci pipeline).\nhttps://zuul.teim.app/t/main/buildset/80e05f2ffdd84404ae651f552509b3f2\n\n- teim-code-review https://zuul.teim.app/t/main/build/2202e8b5ab814e83b25f0a1cf9a343bc : SUCCESS in 9m 27s\n\nWarning:\n  All 14 negative test methods in the new file use @decorators.attr(type\u003d\u0027negative\u0027) while every existing negative test across five files in this project consistently uses @decorators.attr(type\u003d[\u0027negative\u0027, \u0027gate\u0027]). The missing \u0027gate\u0027 tag means these tests may not execute in CI pipelines that sele... Impact: If CI runs tempest with type-based filtering (e.g., \u0027tempest run --type gate\u0027), these RBAC negative tests will be silently excluded from the gate pipeline, reducing coverage of the SRBAC enforcement they are designed to verify. Recommendation: Change all @decorators.attr(type\u003d\u0027negative\u0027) to @decorators.attr(type\u003d[\u0027negative\u0027, \u0027gate\u0027]) to match the project convention used by every other negative test file.","accounts_in_message":[],"_revision_number":4},{"id":"55a36913a1c9a2960588d68f94187a812708fb2d","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\nCopied Votes:\n* Code-Review+1, Code-Review+2 (copy condition: \"**changekind:TRIVIAL_REBASE** OR is:MIN\")\n\nOutdated Votes:\n* Verified+1 (copy condition: \"NEVER\")\n* Workflow+1 (copy condition: \"NEVER\")\n","accounts_in_message":[],"_revision_number":5},{"id":"0224aef32fd170cba2aeabad42cf28d2e7465323","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:26.000000000","message":"Patch Set 5:\n\nStarting automatic-ci jobs.","accounts_in_message":[],"_revision_number":5},{"id":"cd7cbb29bd9379151669a6be78fd7b7a28718369","tag":"autogenerated:zuul:check","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-07-06 22:21:52.000000000","message":"Patch Set 5: Verified+1\n\nBuild succeeded (check pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/b279ef6366cc45ae9a882dfd8195ce45\n\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/a6b0eae34c33404e8d12a090d751f488 : SUCCESS in 3m 12s\n- cyborg-tempest https://zuul.opendev.org/t/openstack/build/cabf4d1f0f9a4b26bc4a5b663d48f9ef : SUCCESS in 16m 04s\n- cyborg-tempest-2026-1 https://zuul.opendev.org/t/openstack/build/44ed3c901fff4a8382b9897bf2712b1e : SUCCESS in 15m 19s\n- cyborg-tempest-2025-2 https://zuul.opendev.org/t/openstack/build/7ef1c04a3ad743269ac0bc15ef5ab6d6 : SUCCESS in 22m 05s\n- cyborg-tempest-2025-1 https://zuul.opendev.org/t/openstack/build/bae397966ba44f60b452a2c87d5d5887 : SUCCESS in 22m 25s\n- cyborg-tempest-ipv6-only https://zuul.opendev.org/t/openstack/build/0a1bd65379cc45a59d7ce1c5fc35619b : SUCCESS in 23m 14s","accounts_in_message":[],"_revision_number":5},{"id":"3dd72fb9acd103dbe83c1f5ee1dd25fb99feb4ca","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:31:07.000000000","message":"Patch Set 5:\n\nBuild succeeded (automatic-ci pipeline).\nhttps://zuul.teim.app/t/main/buildset/61f556122da34e0eb1d81cac43b71dd5\n\n- teim-code-review https://zuul.teim.app/t/main/build/5f6592fb818d45018d43458b5fa6674f : SUCCESS in 9m 03s","accounts_in_message":[],"_revision_number":5},{"id":"06a7d2598adfb79a3abf23941bbfbbf33a79483e","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, Code-Review+2 (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":"c5cc163dfbff5b0605b0eabfeb78596556101aec","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:24.000000000","message":"Patch Set 6:\n\nStarting automatic-ci jobs.","accounts_in_message":[],"_revision_number":6},{"id":"5e2e79b8140ed39ef967ba4e500c743a9985ee61","tag":"autogenerated:zuul:check","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-07-20 16:16:00.000000000","message":"Patch Set 6: Verified+1\n\nBuild succeeded (check pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/08a3f2c0f36c4a9d8f0d75fa731615df\n\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/ed69f01074454eeca3683a2b5295b3d3 : SUCCESS in 4m 01s\n- cyborg-tempest-py3 https://zuul.opendev.org/t/openstack/build/9339e7243ab24f4db8e0f1421758791f : SUCCESS in 59m 09s\n- cyborg-tempest-2026-1 https://zuul.opendev.org/t/openstack/build/745cae578f244439bb54fcf839ebb6fb : SUCCESS in 35m 52s\n- cyborg-tempest-2025-2 https://zuul.opendev.org/t/openstack/build/8637cac82c3642a19e214a07fa7d75cc : SUCCESS in 36m 36s\n- cyborg-tempest-2025-1 https://zuul.opendev.org/t/openstack/build/1644075882de402ba1589c4b8e1d393e : SUCCESS in 30m 34s\n- cyborg-tempest-ipv6 https://zuul.opendev.org/t/openstack/build/66010d81ce88461b918b20987c59f4ef : SUCCESS in 42m 21s","accounts_in_message":[],"_revision_number":6},{"id":"6af7424f6b01903c26acc51b2c86a10510a52525","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:16:28.000000000","message":"Patch Set 6:\n\n(2 comments)\n\nBuild succeeded (automatic-ci pipeline).\nhttps://zuul.teim.app/t/main/buildset/77cb5a4a90c7441cac277232c1e174ea\n\n- teim-code-review https://zuul.teim.app/t/main/build/a34fe5fb90804c04bec711b81bec40a8 : SUCCESS in 7m 21s","accounts_in_message":[],"_revision_number":6},{"id":"bea6116df140af11b79ef7bca5b6d36dde423de8","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, Code-Review+2 (copy condition: \"changekind:TRIVIAL_REBASE OR is:MIN\")\n* Verified+1 (copy condition: \"NEVER\")\n","accounts_in_message":[],"_revision_number":7},{"id":"e1db8057123d33e87af376ad4c5d8fef2ee5dfc1","tag":"autogenerated:zuul:check","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-07-21 10:34:39.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/+/992330 is needed.","accounts_in_message":[],"_revision_number":7},{"id":"f36f92902b14fcc35b2d3d577a1d641321bc7399","author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"date":"2026-07-21 13:15:29.000000000","message":"Patch Set 7:\n\n(1 comment)","accounts_in_message":[],"_revision_number":7},{"id":"970f3d8c14db9488a65eceec1270d8973fd5e77d","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:44.000000000","message":"Patch Set 7:\n\nStarting automatic-ci jobs.","accounts_in_message":[],"_revision_number":7},{"id":"a1e1a6992fd352953f82cfc0f47580d9fbc5eb9b","author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"date":"2026-07-21 13:15:46.000000000","message":"Patch Set 7: Code-Review+2","accounts_in_message":[],"_revision_number":7},{"id":"25e3a9637b18796817e4340828ae2d1c6deb17a9","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:30:46.000000000","message":"Patch Set 7:\n\nBuild succeeded (automatic-ci pipeline).\nhttps://zuul.teim.app/t/main/buildset/459f21b1ab274c61a662b1fcf9f833c2\n\n- teim-code-review https://zuul.teim.app/t/main/build/a0db6ae70bb0476a9648e9f36607dde5 : SUCCESS in 7m 35s","accounts_in_message":[],"_revision_number":7},{"id":"a165ff3f3ddcb9b8bb8f0bcf9dacb9fe30c640d3","tag":"autogenerated:zuul:check","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-07-21 14:20:26.000000000","message":"Patch Set 7: Verified+1\n\nBuild succeeded (check pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/023183ee358f4679a4cf4dc4baa2cfc7\n\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/1be352400ee643c1809fdce8ec9a1cda : SUCCESS in 2m 55s\n- cyborg-tempest-py3 https://zuul.opendev.org/t/openstack/build/f65b6a800872424dbea7d1a6999afcf6 : SUCCESS in 58m 59s\n- cyborg-tempest-2026-1 https://zuul.opendev.org/t/openstack/build/cae2d213fcee4246ad38f028fb7ae206 : SUCCESS in 15m 26s\n- cyborg-tempest-2025-2 https://zuul.opendev.org/t/openstack/build/6ff06c9d016842739d9585c6f1d8b91b : SUCCESS in 14m 57s\n- cyborg-tempest-2025-1 https://zuul.opendev.org/t/openstack/build/020d11f40ce841e4907f9767dc2d5ae9 : SUCCESS in 29m 17s\n- cyborg-tempest-ipv6 https://zuul.opendev.org/t/openstack/build/87eec645241044a18b7ece43a7624036 : SUCCESS in 45m 31s","accounts_in_message":[],"_revision_number":7},{"id":"0a7a4ab04b07b850fd8caf4dfee70c827e7e867c","author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"date":"2026-07-21 15:29:31.000000000","message":"Patch Set 7: Workflow+1","accounts_in_message":[],"_revision_number":7},{"id":"ea131058ea945348515132a9f6f64b2fd34b72a7","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":"7efb5fb24e081b36fefcafe771197e668d48497d","tag":"autogenerated:zuul:gate","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-07-21 16:46:37.000000000","message":"Patch Set 7: Verified+2\n\nBuild succeeded (gate pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/86a53eb1229c42289c90fae46d089eec\n\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/5d62cc91ab104e798d755ae5fc85fcd3 : SUCCESS in 2m 56s\n- cyborg-tempest-py3 https://zuul.opendev.org/t/openstack/build/0bd1a56f3b4149d4aeb68109a6306905 : SUCCESS in 45m 18s\n- cyborg-tempest-2026-1 https://zuul.opendev.org/t/openstack/build/c5c09a6657a64c9eb7f1909d642ad489 : SUCCESS in 30m 40s\n- cyborg-tempest-2025-2 https://zuul.opendev.org/t/openstack/build/343910d310654315864119bc5261e5bf : SUCCESS in 31m 21s\n- cyborg-tempest-2025-1 https://zuul.opendev.org/t/openstack/build/ad15a1f642154eaabec8c070455fe19d : SUCCESS in 33m 59s\n- cyborg-tempest-ipv6 https://zuul.opendev.org/t/openstack/build/9e428e510f3e4d33a6dd4508ce75f4e7 : SUCCESS in 20m 52s","accounts_in_message":[],"_revision_number":7},{"id":"ddf71560eb3b5acc7aacdc3bd766a62bb2e6fbfb","tag":"autogenerated:gerrit:merged","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-07-21 16:46:37.000000000","message":"Change has been successfully merged","accounts_in_message":[],"_revision_number":7}],"current_revision_number":7,"current_revision":"b470452ab44cc7021b192b88caa2f436c69358bf","revisions":{"75f0c8404249619e5c54952bd9f9563650d8f38d":{"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/31/992331/1","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/cyborg-tempest-plugin","ref":"refs/changes/31/992331/1","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/cyborg-tempest-plugin refs/changes/31/992331/1 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/cyborg-tempest-plugin refs/changes/31/992331/1 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/cyborg-tempest-plugin refs/changes/31/992331/1 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/cyborg-tempest-plugin refs/changes/31/992331/1"}}},"commit":{"parents":[{"commit":"fe559cdd9881d98d7430f90d4aa72046b8e4ce1c","subject":"Migrate API tests to least-privilege client aliases","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/cyborg-tempest-plugin/commit/fe559cdd9881d98d7430f90d4aa72046b8e4ce1c"}]}],"author":{"name":"Sean Mooney","email":"work@seanmooney.info","date":"2026-06-08 16:34:12.000000000","tz":60},"committer":{"name":"Sean Mooney","email":"work@seanmooney.info","date":"2026-06-08 17:39:54.000000000","tz":60},"subject":"Add SRBAC-specific policy tests for new defaults","message":"Add SRBAC-specific policy tests for new defaults\n\nAdd test_srbac.py with three test classes that verify persona-based\nRBAC enforcement when enforce_scope.cyborg is True:\n\nTestSRBACServiceRole:\n  - Service role can create and delete ARQs (project_member_or_service)\n  - Service role is denied ARQ list (no reader implication)\n\nTestSRBACAdminImpliedRoles:\n  - Admin can read/write ARQs via implied roles\n    (admin -\u003e manager -\u003e member -\u003e reader)\n  - Admin can list devices and deployables via implied manager\n\nTestSRBACNegativeAccess:\n  - Reader cannot create/delete ARQs (needs member or service)\n  - Reader cannot list devices/deployables (needs manager)\n  - Member cannot list devices/deployables (needs manager)\n  - Member/reader cannot create device profiles (needs admin)\n\nAll tests are skipped when CONF.enforce_scope.cyborg is False so\nthey do not affect existing CI jobs.\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: I6f536dbf67937318bea45266b39747b0d6c6539f\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/75f0c8404249619e5c54952bd9f9563650d8f38d"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/cyborg-tempest-plugin/commit/75f0c8404249619e5c54952bd9f9563650d8f38d"}]},"branch":"refs/heads/master"},"411ac7562a2360e4a45f0a009035321ec9e5e449":{"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/31/992331/2","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/cyborg-tempest-plugin","ref":"refs/changes/31/992331/2","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/cyborg-tempest-plugin refs/changes/31/992331/2 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/cyborg-tempest-plugin refs/changes/31/992331/2 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/cyborg-tempest-plugin refs/changes/31/992331/2 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/cyborg-tempest-plugin refs/changes/31/992331/2"}}},"commit":{"parents":[{"commit":"3fee517020fc2b86649b93d668dcafdc6a58f01f","subject":"Migrate API tests to least-privilege client aliases","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/cyborg-tempest-plugin/commit/3fee517020fc2b86649b93d668dcafdc6a58f01f"}]}],"author":{"name":"Sean Mooney","email":"work@seanmooney.info","date":"2026-06-08 16:34:12.000000000","tz":60},"committer":{"name":"Sean Mooney","email":"work@seanmooney.info","date":"2026-06-08 18:44:46.000000000","tz":60},"subject":"Add SRBAC-specific policy tests for new defaults","message":"Add SRBAC-specific policy tests for new defaults\n\nAdd test_srbac.py with three test classes that verify persona-based\nRBAC enforcement when enforce_scope.cyborg is True:\n\nTestSRBACServiceRole:\n  - Service role can create and delete ARQs (project_member_or_service)\n  - Service role is denied ARQ list (no reader implication)\n\nTestSRBACAdminImpliedRoles:\n  - Admin can read/write ARQs via implied roles\n    (admin -\u003e manager -\u003e member -\u003e reader)\n  - Admin can list devices and deployables via implied manager\n\nTestSRBACNegativeAccess:\n  - Reader cannot create/delete ARQs (needs member or service)\n  - Reader cannot list devices/deployables (needs manager)\n  - Member cannot list devices/deployables (needs manager)\n  - Member/reader cannot create device profiles (needs admin)\n\nAll tests are skipped when CONF.enforce_scope.cyborg is False so\nthey do not affect existing CI jobs.\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: I6f536dbf67937318bea45266b39747b0d6c6539f\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/411ac7562a2360e4a45f0a009035321ec9e5e449"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/cyborg-tempest-plugin/commit/411ac7562a2360e4a45f0a009035321ec9e5e449"}]},"branch":"refs/heads/master"},"251e09854dc6065a032d9145872ed6cb4901df6f":{"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/31/992331/3","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/cyborg-tempest-plugin","ref":"refs/changes/31/992331/3","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/cyborg-tempest-plugin refs/changes/31/992331/3 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/cyborg-tempest-plugin refs/changes/31/992331/3 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/cyborg-tempest-plugin refs/changes/31/992331/3 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/cyborg-tempest-plugin refs/changes/31/992331/3"}}},"commit":{"parents":[{"commit":"2e5cec5490e1f68ff629948fc193acfcf4bfc22d","subject":"Migrate API tests to least-privilege client aliases","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/cyborg-tempest-plugin/commit/2e5cec5490e1f68ff629948fc193acfcf4bfc22d"}]}],"author":{"name":"Sean Mooney","email":"work@seanmooney.info","date":"2026-06-08 16:34:12.000000000","tz":60},"committer":{"name":"Sean Mooney","email":"work@seanmooney.info","date":"2026-06-08 18:54:01.000000000","tz":60},"subject":"Add SRBAC-specific policy tests for new defaults","message":"Add SRBAC-specific policy tests for new defaults\n\nAdd test_srbac.py with three test classes that verify persona-based\nRBAC enforcement when enforce_scope.cyborg is True:\n\nTestSRBACServiceRole:\n  - Service role can create and delete ARQs (project_member_or_service)\n  - Service role is denied ARQ list (no reader implication)\n\nTestSRBACAdminImpliedRoles:\n  - Admin can read/write ARQs via implied roles\n    (admin -\u003e manager -\u003e member -\u003e reader)\n  - Admin can list devices and deployables via implied manager\n\nTestSRBACNegativeAccess:\n  - Reader cannot create/delete ARQs (needs member or service)\n  - Reader cannot list devices/deployables (needs manager)\n  - Member cannot list devices/deployables (needs manager)\n  - Member/reader cannot create device profiles (needs admin)\n\nAll tests are skipped when CONF.enforce_scope.cyborg is False so\nthey do not affect existing CI jobs.\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: I6f536dbf67937318bea45266b39747b0d6c6539f\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/251e09854dc6065a032d9145872ed6cb4901df6f"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/cyborg-tempest-plugin/commit/251e09854dc6065a032d9145872ed6cb4901df6f"}]},"branch":"refs/heads/master"},"54cf7e93ab9de47c143a0c27640cbb2e47f0d61f":{"kind":"TRIVIAL_REBASE","_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/31/992331/4","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/cyborg-tempest-plugin","ref":"refs/changes/31/992331/4","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/cyborg-tempest-plugin refs/changes/31/992331/4 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/cyborg-tempest-plugin refs/changes/31/992331/4 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/cyborg-tempest-plugin refs/changes/31/992331/4 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/cyborg-tempest-plugin refs/changes/31/992331/4"}}},"commit":{"parents":[{"commit":"d399cd3fbc152ed64400e091502e4ad3e739a34e","subject":"Migrate API tests to least-privilege client aliases","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/cyborg-tempest-plugin/commit/d399cd3fbc152ed64400e091502e4ad3e739a34e"}]}],"author":{"name":"Sean Mooney","email":"work@seanmooney.info","date":"2026-06-08 16:34:12.000000000","tz":60},"committer":{"name":"Sean Mooney","email":"work@seanmooney.info","date":"2026-07-06 20:40:43.000000000","tz":60},"subject":"Add SRBAC-specific policy tests for new defaults","message":"Add SRBAC-specific policy tests for new defaults\n\nAdd test_srbac.py with three test classes that verify persona-based\nRBAC enforcement when enforce_scope.cyborg is True:\n\nTestSRBACServiceRole:\n  - Service role can create and delete ARQs (project_member_or_service)\n  - Service role is denied ARQ list (no reader implication)\n\nTestSRBACAdminImpliedRoles:\n  - Admin can read/write ARQs via implied roles\n    (admin -\u003e manager -\u003e member -\u003e reader)\n  - Admin can list devices and deployables via implied manager\n\nTestSRBACNegativeAccess:\n  - Reader cannot create/delete ARQs (needs member or service)\n  - Reader cannot list devices/deployables (needs manager)\n  - Member cannot list devices/deployables (needs manager)\n  - Member/reader cannot create device profiles (needs admin)\n\nAll tests are skipped when CONF.enforce_scope.cyborg is False so\nthey do not affect existing CI jobs.\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: I6f536dbf67937318bea45266b39747b0d6c6539f\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/54cf7e93ab9de47c143a0c27640cbb2e47f0d61f"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/cyborg-tempest-plugin/commit/54cf7e93ab9de47c143a0c27640cbb2e47f0d61f"}]},"branch":"refs/heads/master"},"c1086edb15d1098cd8c3b8bd7a3c853ea4578f09":{"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/31/992331/5","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/cyborg-tempest-plugin","ref":"refs/changes/31/992331/5","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/cyborg-tempest-plugin refs/changes/31/992331/5 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/cyborg-tempest-plugin refs/changes/31/992331/5 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/cyborg-tempest-plugin refs/changes/31/992331/5 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/cyborg-tempest-plugin refs/changes/31/992331/5"}}},"commit":{"parents":[{"commit":"7d0e63ef4aaa8290a98a1669c109184cfae518c9","subject":"Migrate API tests to least-privilege client aliases","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/cyborg-tempest-plugin/commit/7d0e63ef4aaa8290a98a1669c109184cfae518c9"}]}],"author":{"name":"Sean Mooney","email":"work@seanmooney.info","date":"2026-06-08 16:34:12.000000000","tz":60},"committer":{"name":"Sean Mooney","email":"work@seanmooney.info","date":"2026-07-06 21:49:59.000000000","tz":60},"subject":"Add SRBAC-specific policy tests for new defaults","message":"Add SRBAC-specific policy tests for new defaults\n\nAdd test_srbac.py with three test classes that verify persona-based\nRBAC enforcement when enforce_scope.cyborg is True:\n\nTestSRBACServiceRole:\n  - Service role can create and delete ARQs (project_member_or_service)\n  - Service role is denied ARQ list (no reader implication)\n\nTestSRBACAdminImpliedRoles:\n  - Admin can read/write ARQs via implied roles\n    (admin -\u003e manager -\u003e member -\u003e reader)\n  - Admin can list devices and deployables via implied manager\n\nTestSRBACNegativeAccess:\n  - Reader cannot create/delete ARQs (needs member or service)\n  - Reader cannot list devices/deployables (needs manager)\n  - Member cannot list devices/deployables (needs manager)\n  - Member/reader cannot create device profiles (needs admin)\n\nAll tests are skipped when CONF.enforce_scope.cyborg is False so\nthey do not affect existing CI jobs.\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: I6f536dbf67937318bea45266b39747b0d6c6539f\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/c1086edb15d1098cd8c3b8bd7a3c853ea4578f09"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/cyborg-tempest-plugin/commit/c1086edb15d1098cd8c3b8bd7a3c853ea4578f09"}]},"branch":"refs/heads/master"},"6d3221083ae3e3747eb24c50a71c5c62d33e6824":{"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/31/992331/6","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/cyborg-tempest-plugin","ref":"refs/changes/31/992331/6","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/cyborg-tempest-plugin refs/changes/31/992331/6 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/cyborg-tempest-plugin refs/changes/31/992331/6 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/cyborg-tempest-plugin refs/changes/31/992331/6 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/cyborg-tempest-plugin refs/changes/31/992331/6"}}},"commit":{"parents":[{"commit":"7661cc2d3b45a20365c006308c5838ff2c66a7a5","subject":"Migrate API tests to least-privilege client aliases","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/cyborg-tempest-plugin/commit/7661cc2d3b45a20365c006308c5838ff2c66a7a5"}]}],"author":{"name":"Sean Mooney","email":"work@seanmooney.info","date":"2026-06-08 16:34:12.000000000","tz":60},"committer":{"name":"Sean Mooney","email":"work@seanmooney.info","date":"2026-07-20 15:01:45.000000000","tz":60},"subject":"Add SRBAC-specific policy tests for new defaults","message":"Add SRBAC-specific policy tests for new defaults\n\nAdd test_srbac.py with three test classes that verify persona-based\nRBAC enforcement when enforce_scope.cyborg is True:\n\nTestSRBACServiceRole:\n  - Service role can create and delete ARQs (project_member_or_service)\n  - Service role is denied ARQ list (no reader implication)\n\nTestSRBACAdminImpliedRoles:\n  - Admin can read/write ARQs via implied roles\n    (admin -\u003e manager -\u003e member -\u003e reader)\n  - Admin can list devices and deployables via implied manager\n\nTestSRBACNegativeAccess:\n  - Reader cannot create/delete ARQs (needs member or service)\n  - Reader cannot list devices/deployables (needs manager)\n  - Member cannot list devices/deployables (needs manager)\n  - Member/reader cannot create device profiles (needs admin)\n\nAll tests are skipped when CONF.enforce_scope.cyborg is False so\nthey do not affect existing CI jobs.\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: I6f536dbf67937318bea45266b39747b0d6c6539f\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/6d3221083ae3e3747eb24c50a71c5c62d33e6824"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/cyborg-tempest-plugin/commit/6d3221083ae3e3747eb24c50a71c5c62d33e6824"}]},"branch":"refs/heads/master"},"b470452ab44cc7021b192b88caa2f436c69358bf":{"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/31/992331/7","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/cyborg-tempest-plugin","ref":"refs/changes/31/992331/7","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/cyborg-tempest-plugin refs/changes/31/992331/7 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/cyborg-tempest-plugin refs/changes/31/992331/7 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/cyborg-tempest-plugin refs/changes/31/992331/7 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/cyborg-tempest-plugin refs/changes/31/992331/7"}}},"commit":{"parents":[{"commit":"7d8b767a37664a52d60f837a69c5f6ca40dbaef7","subject":"Migrate API tests to least-privilege client aliases","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/cyborg-tempest-plugin/commit/7d8b767a37664a52d60f837a69c5f6ca40dbaef7"}]}],"author":{"name":"Sean Mooney","email":"work@seanmooney.info","date":"2026-06-08 16:34:12.000000000","tz":60},"committer":{"name":"Sean Mooney","email":"work@seanmooney.info","date":"2026-07-21 09:59:55.000000000","tz":60},"subject":"Add focused SRBAC policy tests for new defaults","message":"Add focused SRBAC policy tests for new defaults\n\nAdd positive integration coverage for the Cyborg new policy defaults.\nThe tests verify service-role ARQ writes and reader access. They also\nverify admin access: the ARQ write exercises Keystone\u0027s implied member\nrole, while ARQ, device, deployable, and attribute reads allow admin\ndirectly through their *_or_admin policy alternatives. The API tests\nmigrated in the preceding change continue to exercise the\nleast-privilege reader, member, and manager personas.\n\nAdd one focused negative test proving that scope enforcement rejects a\nsystem-scoped admin token from a representative project-scoped Cyborg\nread API. Scope is always enforced for policies that declare\nscope_types; the plugin\u0027s cyborg_policy.enforce_new_defaults option\ncontrols only whether tests select the new defaults without\ndeprecated-rule fallbacks. These SRBAC-specific tests remain gated by\nthat option for compatibility with legacy-policy jobs.\n\nKeep negative policy coverage intentionally minimal rather than testing\nevery denied persona and endpoint combination. Register created device\nprofiles for class cleanup before inspecting create responses, and\nregister service-created ARQs for cleanup immediately after creation.\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: I6f536dbf67937318bea45266b39747b0d6c6539f\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/b470452ab44cc7021b192b88caa2f436c69358bf"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/cyborg-tempest-plugin/commit/b470452ab44cc7021b192b88caa2f436c69358bf"}]},"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":""}}}]}
