)]}'
{"id":"openstack%2Fcyborg~992722","triplet_id":"openstack%2Fcyborg~master~Ibc97c5bc35be54c06eae71c18bc4d4b3d31bdc54","project":"openstack/cyborg","branch":"master","topic":"bp/consistent-and-secure-rbac","attention_set":{},"removed_from_attention_set":{"4690":{"account":{"_account_id":4690,"name":"melanie witt","display_name":"melwitt","email":"melwittt@gmail.com","username":"melwitt"},"last_update":"2026-07-21 12:45:14.000000000","reason":"Change was submitted"},"34452":{"account":{"_account_id":34452,"name":"Joan Gilabert","display_name":"jgilaber","email":"jgilaber@redhat.com","username":"jgilaber"},"last_update":"2026-07-21 12:45:14.000000000","reason":"Change was submitted"},"11604":{"account":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"last_update":"2026-07-21 11:05:45.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"}},"28006":{"account":{"_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"},"last_update":"2026-07-21 12:45:14.000000000","reason":"Change was submitted"},"12393":{"account":{"_account_id":12393,"name":"chandan kumar","display_name":"Chandan Kumar","email":"chkumar@redhat.com","username":"chkumar246"},"last_update":"2026-07-21 12:45:14.000000000","reason":"Change was submitted"}},"hashtags":[],"change_id":"Ibc97c5bc35be54c06eae71c18bc4d4b3d31bdc54","subject":"Use request context as policy target","status":"MERGED","created":"2026-06-10 16:55:28.000000000","updated":"2026-07-21 12:46:34.000000000","submitted":"2026-07-21 12:45:14.000000000","submitter":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"total_comment_count":27,"unresolved_comment_count":1,"has_review_started":true,"submission_id":"992722-bp/consistent-and-secure-rbac","meta_rev_id":"34ec84ca78a3267d2153c093efc247d4186f512c","_number":992722,"virtual_id_number":992722,"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":4690,"name":"melanie witt","display_name":"melwitt","email":"melwittt@gmail.com","username":"melwitt"},{"value":0,"_account_id":34452,"name":"Joan Gilabert","display_name":"jgilaber","email":"jgilaber@redhat.com","username":"jgilaber"},{"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 12:45:14.000000000","permitted_voting_range":{"min":2,"max":2},"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]}],"values":{"-2":"Fails","-1":"Doesn\u0027t seem to work"," 0":"No score","+1":"Works for me","+2":"Verified"},"description":"","default_value":0,"optional":true},"Code-Review":{"approved":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"all":[{"value":0,"_account_id":4690,"name":"melanie witt","display_name":"melwitt","email":"melwittt@gmail.com","username":"melwitt"},{"value":0,"_account_id":34452,"name":"Joan Gilabert","display_name":"jgilaber","email":"jgilaber@redhat.com","username":"jgilaber"},{"value":2,"date":"2026-07-21 11:05:45.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":0,"_account_id":4690,"name":"melanie witt","display_name":"melwitt","email":"melwittt@gmail.com","username":"melwitt"},{"value":0,"_account_id":34452,"name":"Joan Gilabert","display_name":"jgilaber","email":"jgilaber@redhat.com","username":"jgilaber"},{"value":1,"date":"2026-07-21 11:44:22.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":{"REVIEWER":[{"_account_id":4690,"name":"melanie witt","display_name":"melwitt","email":"melwittt@gmail.com","username":"melwitt"},{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},{"_account_id":12393,"name":"chandan kumar","display_name":"Chandan Kumar","email":"chkumar@redhat.com","username":"chkumar246"},{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},{"_account_id":34452,"name":"Joan Gilabert","display_name":"jgilaber","email":"jgilaber@redhat.com","username":"jgilaber"}],"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"}]},"pending_reviewers":{},"reviewer_updates":[{"updated":"2026-06-10 17:42:44.000000000","updated_by":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"reviewer":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"state":"REVIEWER"},{"updated":"2026-06-22 08:34:35.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-23 16:35:38.000000000","updated_by":{"_account_id":34452,"name":"Joan Gilabert","display_name":"jgilaber","email":"jgilaber@redhat.com","username":"jgilaber"},"reviewer":{"_account_id":34452,"name":"Joan Gilabert","display_name":"jgilaber","email":"jgilaber@redhat.com","username":"jgilaber"},"state":"REVIEWER"},{"updated":"2026-06-25 06:47:56.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-06-25 06:48:03.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"},{"updated":"2026-06-26 20:37:12.000000000","updated_by":{"_account_id":4690,"name":"melanie witt","display_name":"melwitt","email":"melwittt@gmail.com","username":"melwitt"},"reviewer":{"_account_id":4690,"name":"melanie witt","display_name":"melwitt","email":"melwittt@gmail.com","username":"melwitt"},"state":"REVIEWER"}],"messages":[{"id":"385dba9b72e2d38a6567fd7265bff0df20c3151b","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"date":"2026-06-10 16:55:28.000000000","message":"Uploaded patch set 1.","accounts_in_message":[],"_revision_number":1},{"id":"4fdf21d72e5c204b95b00413dd565e4e110837c5","tag":"autogenerated:gerrit:setTopic","author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"date":"2026-06-10 16:56:03.000000000","message":"Topic set to bp/consistent-and-secure-rbac","accounts_in_message":[],"_revision_number":1},{"id":"f3ef72c8b665151ef916dd8f417534d44fadea39","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"date":"2026-06-10 16:57:38.000000000","message":"Uploaded patch set 2: Commit message was updated.","accounts_in_message":[],"_revision_number":2},{"id":"c6aa3d6b2957fea6186bcdc3c060ce2476e7479d","tag":"autogenerated:zuul:check","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-06-10 17:42:44.000000000","message":"Patch Set 2: Verified+1\n\nBuild succeeded (check pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/415971e2fe3d4efaa8e6fa0a8c3c2bff\n\n- openstack-tox-cover https://zuul.opendev.org/t/openstack/build/365fafe782924f299f9f965205f56719 : SUCCESS in 4m 38s\n- build-openstack-releasenotes https://zuul.opendev.org/t/openstack/build/8ce8bccd4d074d8fb6763d709cf0fcd3 : SUCCESS in 5m 00s\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/4cea924eda274cb59bd7203d587134e0 : SUCCESS in 9m 20s\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/f24930a0d164476ab6ffcca2ec421359 : SUCCESS in 3m 21s\n- openstack-tox-py311 https://zuul.opendev.org/t/openstack/build/753c69881c4948489720391f23cb9358 : SUCCESS in 3m 47s\n- openstack-tox-py313 https://zuul.opendev.org/t/openstack/build/a051695097fb4ecfb7f94e10964381b9 : SUCCESS in 3m 23s\n- openstack-tox-py314 https://zuul.opendev.org/t/openstack/build/2786f428372d42939a9b19d0f651f9c0 : SUCCESS in 5m 52s (non-voting)\n- cyborg-tempest-py3 https://zuul.opendev.org/t/openstack/build/201c8b21bf3f44a0b9e85246f377dee8 : SUCCESS in 30m 45s\n- cyborg-tempest-ipv6 https://zuul.opendev.org/t/openstack/build/f23d05cc24824176b7654c2f1f1d6aca : SUCCESS in 31m 23s\n- cyborg-grenade https://zuul.opendev.org/t/openstack/build/10ffcf434c8b456a81c2bc3353c683c1 : SUCCESS in 24m 59s\n- cyborg-grenade-skip-level-always https://zuul.opendev.org/t/openstack/build/5eec7c530fdc4a5fb0d2cb18c756e962 : SUCCESS in 43m 04s","accounts_in_message":[],"_revision_number":2},{"id":"c8feff414cacdb18091ae70605648e9624365f9b","author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"date":"2026-06-22 08:34:21.000000000","message":"Patch Set 2:\n\n(1 comment)","accounts_in_message":[],"_revision_number":2},{"id":"f5d2b225d5eb7488ffb7805d0a7fa8bfbe6799de","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:34:35.000000000","message":"Patch Set 2:\n\nStarting automatic-ci jobs.","accounts_in_message":[],"_revision_number":2},{"id":"43e87202dbbf7d4417c09d58fb1f34c4ba1fb750","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:58:24.000000000","message":"Patch Set 2:\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/910a1fd4ae6341eba9e0fde7f2ab2d3d\n\n- teim-code-review https://zuul.teim.app/t/main/build/bc8673e969f4445cb6f94f0177f20211 : FAILURE in 23m 42s","accounts_in_message":[],"_revision_number":2},{"id":"f6bf8aa86f701a00339cd36507929aae23b0f605","author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"date":"2026-06-22 14:00:05.000000000","message":"Patch Set 2:\n\n(1 comment)","accounts_in_message":[],"_revision_number":2},{"id":"efc300cd9f603d811fb0188561f5419a0e5c9bcd","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 14:00:14.000000000","message":"Patch Set 2:\n\nStarting automatic-ci jobs.","accounts_in_message":[],"_revision_number":2},{"id":"d0e2c489b7b31eb861dadf99f8d982c948bdc5fb","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 14:28:34.000000000","message":"Patch Set 2:\n\n(1 comment)\n\nBuild succeeded (automatic-ci pipeline).\nhttps://zuul.teim.app/t/main/buildset/afd540a963c847ef9c41ff6a80c6aaac\n\n- teim-code-review https://zuul.teim.app/t/main/build/6c10df3f90b1477fa587f451904459be : SUCCESS in 18m 35s\n\nWarning:\n  The decorator signature changed from authorize_wsgi(api_name, act\u003dNone, need_target\u003dTrue) to authorize_wsgi(api_name, act\u003dNone). Any out-of-tree consumer still passing a third positional argument will now get a TypeError at decoration time rather than silent misbehavior. Impact: Out-of-tree callers of authorize_wsgi with the old 3-positional-arg form will break on upgrade, though they fail loudly with TypeError rather than silently. All in-tree call sites are updated by this patch. Recommendation: Add a release note (reno) documenting the removed need_target parameter and the new always-context-target behavior so operators and downstream consumers are aware of the authorization behavior change.","accounts_in_message":[],"_revision_number":2},{"id":"4f81ab5f12e83765d617a976f107547447cf6a83","author":{"_account_id":34452,"name":"Joan Gilabert","display_name":"jgilaber","email":"jgilaber@redhat.com","username":"jgilaber"},"date":"2026-06-23 16:35:38.000000000","message":"Patch Set 2: Code-Review+1\n\n(1 comment)","accounts_in_message":[],"_revision_number":2},{"id":"b8226496110266d4a690fefa1e883d19b6864e51","author":{"_account_id":12393,"name":"chandan kumar","display_name":"Chandan Kumar","email":"chkumar@redhat.com","username":"chkumar246"},"date":"2026-06-25 06:47:56.000000000","message":"Patch Set 2:\n\n(2 comments)","accounts_in_message":[],"_revision_number":2},{"id":"c7ac3370f718c9f2b86735a545b131770b69a4e0","author":{"_account_id":12393,"name":"chandan kumar","display_name":"Chandan Kumar","email":"chkumar@redhat.com","username":"chkumar246"},"date":"2026-06-25 06:48:03.000000000","message":"Patch Set 2: Code-Review+1","accounts_in_message":[],"_revision_number":2},{"id":"6b404cefeefa6fc8855db42fc28697b903ef72d7","author":{"_account_id":4690,"name":"melanie witt","display_name":"melwitt","email":"melwittt@gmail.com","username":"melwitt"},"date":"2026-06-26 20:37:12.000000000","message":"Patch Set 2: Code-Review+1\n\n(2 comments)","accounts_in_message":[],"_revision_number":2},{"id":"010edea088a8f78bd702b46da0e68fd8d42a3778","author":{"_account_id":4690,"name":"melanie witt","display_name":"melwitt","email":"melwittt@gmail.com","username":"melwitt"},"date":"2026-06-26 20:46:36.000000000","message":"Patch Set 2:\n\n(1 comment)","accounts_in_message":[],"_revision_number":2},{"id":"556b9810947f3cb7a15cd237958d8cd4f9e35640","author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"date":"2026-06-29 12:51:28.000000000","message":"Patch Set 2:\n\n(1 comment)","accounts_in_message":[],"_revision_number":2},{"id":"65a3e15eb5ad6513485d6b0f049743ce485b9b78","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"date":"2026-06-30 11:06:18.000000000","message":"Uploaded patch set 3.\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":3},{"id":"84ffac4966e052a40cb9f7a72c7a7aac86e215ef","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-30 11:06:41.000000000","message":"Patch Set 3:\n\nStarting automatic-ci jobs.","accounts_in_message":[],"_revision_number":3},{"id":"6504fcb162368177447b0c56e73d8b12f9e1525c","author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"date":"2026-06-30 11:06:45.000000000","message":"Patch Set 3:\n\n(1 comment)","accounts_in_message":[],"_revision_number":3},{"id":"0d743dbb654f3559d6180e9b5dbae203ed773490","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-30 11:21:53.000000000","message":"Patch Set 3:\n\n(4 comments)\n\nBuild succeeded (automatic-ci pipeline).\nhttps://zuul.teim.app/t/main/buildset/b3693cd3b4384c959ca1cca5d5ca360c\n\n- teim-code-review https://zuul.teim.app/t/main/build/04d54ec45ffe48ca9f7688b37250ae15 : SUCCESS in 15m 03s\n\nWarning:\n  Dropping the need_target parameter is an API-level change to the public authorize_wsgi helper. All 12 in-tree call sites were updated, and a repo-wide grep confirms no remaining need_target/_get_resource references and no caller passing a boolean third arg, so the in-tree migration is complete. Impact: No in-tree breakage, but any out-of-tree consumer (e.g. a downstream cyborg plugin or vendor controller) calling authorize_wsgi with three positional arguments would get a TypeError. Low risk for Cyborg but worth flagging as a public-helper contract change. Recommendation: Mention the signature change in a release note or the blueprint (bp/consistent-and-secure-rbac) so downstream consumers know the third positional arg is removed.","accounts_in_message":[],"_revision_number":3},{"id":"31cd37ac0a13d44dd988b253fb399e55d38e728c","tag":"autogenerated:zuul:check","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-06-30 12:11:30.000000000","message":"Patch Set 3: Verified+1\n\nBuild succeeded (check pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/0f7c48aba0ab4756a23748eca0268646\n\n- openstack-tox-cover https://zuul.opendev.org/t/openstack/build/2916975647684b02bcd2e66eb8a76aa8 : SUCCESS in 4m 00s\n- build-openstack-releasenotes https://zuul.opendev.org/t/openstack/build/7c10b147c36e48eeb4e1ee445e9caecf : SUCCESS in 4m 14s\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/bc3becf625d440f1993a25144b94ca2a : SUCCESS in 8m 36s\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/32573e04ad52406099e130d227d29ccc : SUCCESS in 3m 41s\n- openstack-tox-py311 https://zuul.opendev.org/t/openstack/build/c7574314985a4f23b838d4e6c5418680 : SUCCESS in 3m 16s\n- openstack-tox-py313 https://zuul.opendev.org/t/openstack/build/32d6fcac88544fb3baff62aec26dd784 : SUCCESS in 3m 28s\n- openstack-tox-py314 https://zuul.opendev.org/t/openstack/build/cc892a2383524943a301618b78e9fac0 : SUCCESS in 6m 14s (non-voting)\n- cyborg-tempest-py3 https://zuul.opendev.org/t/openstack/build/96a6c2dcd5334a7eaec256b229429797 : SUCCESS in 37m 51s\n- cyborg-tempest-ipv6 https://zuul.opendev.org/t/openstack/build/d9e502cc164249e599ac4bc32daf3c2b : SUCCESS in 18m 52s\n- cyborg-grenade https://zuul.opendev.org/t/openstack/build/59f6083fed0949c0ba62216889dad35a : SUCCESS in 52m 26s\n- cyborg-grenade-skip-level-always https://zuul.opendev.org/t/openstack/build/b5340abd42224048873a6504e1a24bbb : SUCCESS in 59m 03s","accounts_in_message":[],"_revision_number":3},{"id":"e78866d94a68a5a9f7c0a56092aec59b2250c2ae","author":{"_account_id":34452,"name":"Joan Gilabert","display_name":"jgilaber","email":"jgilaber@redhat.com","username":"jgilaber"},"date":"2026-06-30 13:56:44.000000000","message":"Patch Set 3: Code-Review+1","accounts_in_message":[],"_revision_number":3},{"id":"201b6d0245a345eb1286dc9b9dae02434b0b0ec3","author":{"_account_id":12393,"name":"chandan kumar","display_name":"Chandan Kumar","email":"chkumar@redhat.com","username":"chkumar246"},"date":"2026-07-02 08:25:08.000000000","message":"Patch Set 3: Code-Review+1","accounts_in_message":[],"_revision_number":3},{"id":"dc4a627143d644195e8927abde37aec3b0381fd2","author":{"_account_id":4690,"name":"melanie witt","display_name":"melwitt","email":"melwittt@gmail.com","username":"melwitt"},"date":"2026-07-02 20:59:44.000000000","message":"Patch Set 3: Code-Review+1\n\n(1 comment)","accounts_in_message":[],"_revision_number":3},{"id":"5735e05f47f1ab972b841787b843199f89b99a91","author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"date":"2026-07-06 22:10:31.000000000","message":"Patch Set 3: Workflow-1\n\n(3 comments)","accounts_in_message":[],"_revision_number":3},{"id":"e49014e779c5a9fdac4eea8bbab98ae72712ab18","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"date":"2026-07-20 14:41:16.000000000","message":"Uploaded patch set 4.\n\nOutdated Votes:\n* Code-Review+1 (copy condition: \"changekind:TRIVIAL_REBASE OR is:MIN\")\n* Verified+1 (copy condition: \"NEVER\")\n* Workflow-1 (copy condition: \"NEVER\")\n","accounts_in_message":[],"_revision_number":4},{"id":"b8eeef5fda1ad3b9b6785ce5c23b3c3ed087dfe4","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 14:41:55.000000000","message":"Patch Set 4:\n\nStarting automatic-ci jobs.","accounts_in_message":[],"_revision_number":4},{"id":"21f7043e691a10be999393fcde6312db0b89d736","author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"date":"2026-07-20 14:47:35.000000000","message":"Patch Set 4:\n\n(3 comments)","accounts_in_message":[],"_revision_number":4},{"id":"cc2628697e01479cfe9fd315508a68cbb4bf4f31","author":{"_account_id":4690,"name":"melanie witt","display_name":"melwitt","email":"melwittt@gmail.com","username":"melwitt"},"date":"2026-07-20 15:26:02.000000000","message":"Patch Set 4: Code-Review+1\n\n(1 comment)","accounts_in_message":[],"_revision_number":4},{"id":"efa046cc8f6fe0d9ef13d9f0a0726e513c95daaf","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:40:48.000000000","message":"Patch Set 4:\n\nBuild succeeded (automatic-ci pipeline).\nhttps://zuul.teim.app/t/main/buildset/158407b68b964a24b4bec41e643e34d1\n\n- teim-code-review https://zuul.teim.app/t/main/build/deb86e0b4c9a4f24b1d6b4edefa47958 : SUCCESS in 12m 53s","accounts_in_message":[],"_revision_number":4},{"id":"169eb3b886da3c7ad0ab6b6aca7641f78942a892","tag":"autogenerated:zuul:check","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-07-20 15:48:58.000000000","message":"Patch Set 4: Verified-1\n\nBuild failed (check pipeline).  For information on how to proceed, see\nhttps://docs.opendev.org/opendev/infra-manual/latest/developers.html#automated-testing\nand https://docs.openstack.org/project-team-guide/testing.html#how-to-handle-test-failures\n\nhttps://zuul.opendev.org/t/openstack/buildset/9db3fa1e4c964afbad83e2ee074a2c26\n\n- openstack-tox-cover https://zuul.opendev.org/t/openstack/build/0baeb5c1cb064e4499b363fd7b9cf05a : SUCCESS in 5m 49s\n- build-openstack-releasenotes https://zuul.opendev.org/t/openstack/build/97d2a72bd68941eb9f7703eef698a7cc : SUCCESS in 3m 54s\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/8eac516399dc4e0ba9192680c0e976cf : SUCCESS in 8m 07s\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/c56ee770949e43448fbedda833493d16 : SUCCESS in 3m 16s\n- openstack-tox-py311 https://zuul.opendev.org/t/openstack/build/03b571ef01fa4860bae08f02c47df7c6 : SUCCESS in 4m 07s\n- openstack-tox-py313 https://zuul.opendev.org/t/openstack/build/9cb16053c7d84b04818f593f63ebe409 : SUCCESS in 3m 56s\n- openstack-tox-py314 https://zuul.opendev.org/t/openstack/build/18470bfcc0d54b0c8152507c29ef4974 : SUCCESS in 6m 03s (non-voting)\n- openstack-tox-functional https://zuul.opendev.org/t/openstack/build/22216b85b1ad43b2b65c85f7af57362d : SUCCESS in 3m 32s\n- cyborg-tempest-py3 https://zuul.opendev.org/t/openstack/build/6f7525b89534400c860dc1fce91d30ad : FAILURE in 50m 23s\n- cyborg-tempest-ipv6 https://zuul.opendev.org/t/openstack/build/5be3c09deacf49a8b11a7d96d37a4cb8 : SUCCESS in 41m 46s\n- cyborg-grenade https://zuul.opendev.org/t/openstack/build/454750d7e12a4a52a633f16902866e98 : SUCCESS in 57m 29s\n- cyborg-grenade-skip-level-always https://zuul.opendev.org/t/openstack/build/f819a90937e0471cb3fc67151490f984 : SUCCESS in 1h 01m 01s","accounts_in_message":[],"_revision_number":4},{"id":"ffb8d52d07c983396fd81cde3c60b9f6f75af2d3","author":{"_account_id":34452,"name":"Joan Gilabert","display_name":"jgilaber","email":"jgilaber@redhat.com","username":"jgilaber"},"date":"2026-07-20 17:24:20.000000000","message":"Patch Set 4: Code-Review+1","accounts_in_message":[],"_revision_number":4},{"id":"96153805111507728f8c85b4f9f6203f2ca08fa9","author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"date":"2026-07-20 21:09:34.000000000","message":"Patch Set 4: Code-Review+2\n\n(1 comment)","accounts_in_message":[],"_revision_number":4},{"id":"021716eb04526d0b1533a125a7eb855d204dcb37","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 21:09:44.000000000","message":"Patch Set 4:\n\nStarting automatic-ci jobs.","accounts_in_message":[],"_revision_number":4},{"id":"8d82a5dc69ac77194869e81f777b0c067538f414","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 21:18:41.000000000","message":"Patch Set 4:\n\n(1 comment)\n\nBuild succeeded (automatic-ci pipeline).\nhttps://zuul.teim.app/t/main/buildset/0efe68467d964c0c8cea386b9152c4fd\n\n- teim-code-review https://zuul.teim.app/t/main/build/a0287e7d70fe4347bba7246bd5a2b5b6 : SUCCESS in 8m 49s","accounts_in_message":[],"_revision_number":4},{"id":"1009851251e829026fc3659110e9db6ad4b9c4b9","author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"date":"2026-07-20 21:29:49.000000000","message":"Patch Set 4: -Code-Review Workflow-1\n\n(1 comment)","accounts_in_message":[],"_revision_number":4},{"id":"96007ba7a048b11391b0e602a05f4207938b5aff","tag":"autogenerated:zuul:check","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-07-20 22:10:03.000000000","message":"Patch Set 4: Verified+1\n\nBuild succeeded (check pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/da84812f684149ed85c583b328747328\n\n- openstack-tox-cover https://zuul.opendev.org/t/openstack/build/dcb0c3f0c9a84e8682cc9c2ddd2985fc : SUCCESS in 5m 45s\n- build-openstack-releasenotes https://zuul.opendev.org/t/openstack/build/6c1bd18df79946669b80e15f478c6b7b : SUCCESS in 3m 32s\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/40341898891944138248001c66cdfc07 : SUCCESS in 9m 01s\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/5598ec7f14f94c8fb9b694157ef00e39 : SUCCESS in 3m 25s\n- openstack-tox-py311 https://zuul.opendev.org/t/openstack/build/9526379ef72b430aac2640c3fd08d8a2 : SUCCESS in 3m 48s\n- openstack-tox-py313 https://zuul.opendev.org/t/openstack/build/6f58966e4a5e4301afde03c040acc31b : SUCCESS in 3m 38s\n- openstack-tox-py314 https://zuul.opendev.org/t/openstack/build/31773cb207774216a9f6d5d6e68e6832 : SUCCESS in 5m 38s (non-voting)\n- openstack-tox-functional https://zuul.opendev.org/t/openstack/build/41d6d1bd13744ad08b9c2c5646e38076 : SUCCESS in 2m 08s\n- cyborg-tempest-py3 https://zuul.opendev.org/t/openstack/build/edd78139f924484892153997bb8454f2 : SUCCESS in 27m 07s\n- cyborg-tempest-ipv6 https://zuul.opendev.org/t/openstack/build/3a91de8d854f4494a61ee59b94caa442 : SUCCESS in 43m 34s\n- cyborg-grenade https://zuul.opendev.org/t/openstack/build/6eed500d6db74e8aacf85cbd331c497d : SUCCESS in 38m 46s\n- cyborg-grenade-skip-level-always https://zuul.opendev.org/t/openstack/build/0df5da4f69e646888ceec33d5c7499a1 : SUCCESS in 59m 49s","accounts_in_message":[],"_revision_number":4},{"id":"927cf1b9febb8cb00d9419640b49a480b20f9e53","author":{"_account_id":12393,"name":"chandan kumar","display_name":"Chandan Kumar","email":"chkumar@redhat.com","username":"chkumar246"},"date":"2026-07-21 07:00:02.000000000","message":"Patch Set 4: Code-Review+1","accounts_in_message":[],"_revision_number":4},{"id":"3c6e36fcd39ade63ea655e9728f476e1c050f659","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"date":"2026-07-21 10:34:26.000000000","message":"Uploaded patch set 5.\n\nOutdated Votes:\n* Code-Review+1 (copy condition: \"changekind:TRIVIAL_REBASE OR is:MIN\")\n* Verified+1 (copy condition: \"NEVER\")\n* Workflow-1 (copy condition: \"NEVER\")\n","accounts_in_message":[],"_revision_number":5},{"id":"1499f2720ce65917840a674008a843ae68418113","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 10:35:08.000000000","message":"Patch Set 5:\n\nStarting automatic-ci jobs.","accounts_in_message":[],"_revision_number":5},{"id":"989ceca520904b267b8b44dab999da8b90a0a03f","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 10:46:50.000000000","message":"Patch Set 5:\n\nBuild succeeded (automatic-ci pipeline).\nhttps://zuul.teim.app/t/main/buildset/b1d06192b1b64049b51c460d8c8dd5c5\n\n- teim-code-review https://zuul.teim.app/t/main/build/dfe7eaa522c04b329205a9e2809393df : SUCCESS in 11m 30s","accounts_in_message":[],"_revision_number":5},{"id":"4bb8db6edff180bac17666f025f7d2fe063bbde6","author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"date":"2026-07-21 11:05:45.000000000","message":"Patch Set 5: Code-Review+2\n\n(1 comment)","accounts_in_message":[],"_revision_number":5},{"id":"bcd6647b89767bc9c7091800d4a10ac429264770","tag":"autogenerated:zuul:check","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-07-21 11:33:36.000000000","message":"Patch Set 5: Verified+1\n\nBuild succeeded (check pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/9b49ea987718411bb13976be03872e5e\n\n- openstack-tox-cover https://zuul.opendev.org/t/openstack/build/ecd544f0561442d7b0e3107c9ddbeec5 : SUCCESS in 5m 45s\n- build-openstack-releasenotes https://zuul.opendev.org/t/openstack/build/269f820000d248b7b6d6a9aa313a3596 : SUCCESS in 4m 00s\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/013e9a11d0ab4e1993c7005769a095cc : SUCCESS in 7m 56s\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/7b7811914d9c4b299a2e1af121b2ce2b : SUCCESS in 4m 14s\n- openstack-tox-py311 https://zuul.opendev.org/t/openstack/build/7426e1237f0147b296fa449bef51e6fa : SUCCESS in 5m 13s\n- openstack-tox-py313 https://zuul.opendev.org/t/openstack/build/9af1616d70fe439b873016dc231c58db : SUCCESS in 3m 44s\n- openstack-tox-py314 https://zuul.opendev.org/t/openstack/build/29c1401b9ded40d2a71e238204e4dc8f : SUCCESS in 8m 22s (non-voting)\n- openstack-tox-functional https://zuul.opendev.org/t/openstack/build/da25e9c7c06e4acbac8daf0d6df3c67d : SUCCESS in 3m 58s\n- cyborg-tempest-py3 https://zuul.opendev.org/t/openstack/build/79d9cee7f05343f1a3a08d6c8ccd888a : SUCCESS in 52m 08s\n- cyborg-tempest-ipv6 https://zuul.opendev.org/t/openstack/build/6f0b99b9fd274145ae4c52b8bc019b98 : SUCCESS in 39m 35s\n- cyborg-grenade https://zuul.opendev.org/t/openstack/build/c295b93280b949029be81ddedc0f7227 : SUCCESS in 50m 31s\n- cyborg-grenade-skip-level-always https://zuul.opendev.org/t/openstack/build/ae2d0a544aa944f995e45f0693e7e57a : SUCCESS in 54m 34s","accounts_in_message":[],"_revision_number":5},{"id":"c7a443a299949eda923914b46f1976daf74313ff","author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"date":"2026-07-21 11:44:22.000000000","message":"Patch Set 5: Workflow+1","accounts_in_message":[],"_revision_number":5},{"id":"83ffaaae999f03fb908987ef9bfb2f86d858ab3b","tag":"autogenerated:zuul:gate","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-07-21 11:44:50.000000000","message":"Patch Set 5: -Verified\n\nStarting gate jobs.","accounts_in_message":[],"_revision_number":5},{"id":"9f65619b8dc513b09b17b017623e3f6fd376394a","tag":"autogenerated:zuul:gate","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-07-21 12:45:14.000000000","message":"Patch Set 5: Verified+2\n\nBuild succeeded (gate pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/5f674c28994a497b8129adb42467b454\n\n- build-openstack-releasenotes https://zuul.opendev.org/t/openstack/build/ca965385ba1246f3bcb0a8d5eb74bf85 : SUCCESS in 5m 04s\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/66ae467248e84e169f2d84e1e7881238 : SUCCESS in 6m 41s\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/a26f813a75ed43469a687b419cb1ad90 : SUCCESS in 3m 08s\n- openstack-tox-py311 https://zuul.opendev.org/t/openstack/build/32f25ba369984c958b89fc170e169228 : SUCCESS in 3m 46s\n- openstack-tox-py313 https://zuul.opendev.org/t/openstack/build/407f42fa707d4ac1a67e637e99965d89 : SUCCESS in 3m 52s\n- openstack-tox-functional https://zuul.opendev.org/t/openstack/build/7f70c6cadbd241348b8e939382aff7a6 : SUCCESS in 3m 27s\n- cyborg-tempest-py3 https://zuul.opendev.org/t/openstack/build/355fe4745bc34dd9bcd07a0e42269207 : SUCCESS in 54m 42s\n- cyborg-tempest-ipv6 https://zuul.opendev.org/t/openstack/build/d6c1a9169b4743139b3e56cd82ac18bb : SUCCESS in 44m 08s\n- cyborg-grenade https://zuul.opendev.org/t/openstack/build/b0795440b23b4b13817b2fdfbcb027d5 : SUCCESS in 55m 24s\n- cyborg-grenade-skip-level-always https://zuul.opendev.org/t/openstack/build/02b7395087654b338b7f0ac11046d18f : SUCCESS in 55m 12s","accounts_in_message":[],"_revision_number":5},{"id":"fb1de05cd1905bd210bf2c2fcfe1fd3b340135d9","tag":"autogenerated:gerrit:merged","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-07-21 12:45:14.000000000","message":"Change has been successfully merged","accounts_in_message":[],"_revision_number":5},{"id":"34ec84ca78a3267d2153c093efc247d4186f512c","tag":"autogenerated:zuul:promote","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-07-21 12:46:34.000000000","message":"Patch Set 5:\n\nBuild succeeded (promote pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/47b524fb62ee4a4599c151ce857e398a\n\n- promote-openstack-releasenotes https://zuul.opendev.org/t/openstack/build/9d7e8bf3b36946219dfab5cd52982a3a : SUCCESS in 59s\n- promote-openstack-tox-docs https://zuul.opendev.org/t/openstack/build/357455e272ce44148100f8587f209412 : SUCCESS in 1m 05s","accounts_in_message":[],"_revision_number":5}],"current_revision_number":5,"current_revision":"9b059f40a6664182f197c4953b72abba885f4c9d","revisions":{"ce8c1bde4a9f0cc75ffeb1f649f21af76b7fe551":{"kind":"REWORK","_number":1,"created":"2026-06-10 16:55:28.000000000","uploader":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"ref":"refs/changes/22/992722/1","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/cyborg","ref":"refs/changes/22/992722/1","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/cyborg refs/changes/22/992722/1 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/cyborg refs/changes/22/992722/1 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/cyborg refs/changes/22/992722/1 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/cyborg refs/changes/22/992722/1"}}},"commit":{"parents":[{"commit":"233f2a5b7e396c24bf15ae22f8cf64a480666f5c","subject":"Merge \"pci: add OWNER_CYBORG constant and fix trait\"","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/cyborg/commit/233f2a5b7e396c24bf15ae22f8cf64a480666f5c"}]}],"author":{"name":"Sean Mooney","email":"work@seanmooney.info","date":"2026-06-10 14:33:43.000000000","tz":60},"committer":{"name":"Sean Mooney","email":"work@seanmooney.info","date":"2026-06-10 16:31:55.000000000","tz":60},"subject":"Use request context as policy target","message":"Use request context as policy target\n\nCyborg\u0027s authorize_wsgi helper attempted to support resource targets\nvia need_target\u003dTrue and _get_resource(), but the v2 controllers do\nnot implement _get_resource. As a result, need_target\u003dTrue fell back\nto an empty target, which breaks project persona checks that require\nproject_id:%(project_id)s.\n\nAlign Cyborg with Nova\u0027s default policy target behavior by always using\nthe request context project_id and user_id as the policy target. Remove\nthe obsolete need_target parameter and boolean decorator arguments.\n\nDocument the API policy target semantics for contributors. Global\nresources should use admin-only policy rules, and ARQ ownership\ncontinues to be enforced in the object and database layers.\n\nChange-Id: Ibc97c5bc35be54c06eae71c18bc4d4b3d31bdc54\nSigned-off-by: Sean Mooney \u003cwork@seanmooney.info\u003e\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/cyborg/commit/ce8c1bde4a9f0cc75ffeb1f649f21af76b7fe551"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/cyborg/commit/ce8c1bde4a9f0cc75ffeb1f649f21af76b7fe551"}]},"branch":"refs/heads/master"},"f67f7b6964058fb5505dc86ded6d63ec8e1ca98f":{"kind":"NO_CODE_CHANGE","_number":2,"created":"2026-06-10 16:57:38.000000000","uploader":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"ref":"refs/changes/22/992722/2","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/cyborg","ref":"refs/changes/22/992722/2","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/cyborg refs/changes/22/992722/2 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/cyborg refs/changes/22/992722/2 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/cyborg refs/changes/22/992722/2 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/cyborg refs/changes/22/992722/2"}}},"commit":{"parents":[{"commit":"233f2a5b7e396c24bf15ae22f8cf64a480666f5c","subject":"Merge \"pci: add OWNER_CYBORG constant and fix trait\"","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/cyborg/commit/233f2a5b7e396c24bf15ae22f8cf64a480666f5c"}]}],"author":{"name":"Sean Mooney","email":"work@seanmooney.info","date":"2026-06-10 14:33:43.000000000","tz":60},"committer":{"name":"Sean Mooney","email":"work@seanmooney.info","date":"2026-06-10 16:57:22.000000000","tz":60},"subject":"Use request context as policy target","message":"Use request context as policy target\n\nCyborg\u0027s authorize_wsgi helper attempted to support resource targets\nvia need_target\u003dTrue and _get_resource(), but the v2 controllers do\nnot implement _get_resource. As a result, need_target\u003dTrue fell back\nto an empty target, which breaks project persona checks that require\nproject_id:%(project_id)s.\n\nAlign Cyborg with Nova\u0027s default policy target behavior by always using\nthe request context project_id and user_id as the policy target. Remove\nthe obsolete need_target parameter and boolean decorator arguments.\n\nDocument the API policy target semantics for contributors. Global\nresources should use admin-only policy rules, and ARQ ownership\ncontinues to be enforced in the object and database layers.\n\nGenerated-By: pi gpt-5.5\nChange-Id: Ibc97c5bc35be54c06eae71c18bc4d4b3d31bdc54\nSigned-off-by: Sean Mooney \u003cwork@seanmooney.info\u003e\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/cyborg/commit/f67f7b6964058fb5505dc86ded6d63ec8e1ca98f"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/cyborg/commit/f67f7b6964058fb5505dc86ded6d63ec8e1ca98f"}]},"branch":"refs/heads/master"},"6b516433c40345cad39cd19044e314a0f0773e65":{"kind":"REWORK","_number":3,"created":"2026-06-30 11:06:18.000000000","uploader":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"ref":"refs/changes/22/992722/3","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/cyborg","ref":"refs/changes/22/992722/3","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/cyborg refs/changes/22/992722/3 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/cyborg refs/changes/22/992722/3 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/cyborg refs/changes/22/992722/3 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/cyborg refs/changes/22/992722/3"}}},"commit":{"parents":[{"commit":"2bff6797cadfafc787322b6628b3c79f55d20b43","subject":"Rename devstack CYBORG_CONF_FILE to CYBORG_CONF for consistency","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/cyborg/commit/2bff6797cadfafc787322b6628b3c79f55d20b43"}]}],"author":{"name":"Sean Mooney","email":"work@seanmooney.info","date":"2026-06-10 14:33:43.000000000","tz":60},"committer":{"name":"Sean Mooney","email":"work@seanmooney.info","date":"2026-06-29 17:36:05.000000000","tz":60},"subject":"Use request context as policy target","message":"Use request context as policy target\n\nCyborg\u0027s authorize_wsgi helper attempted to support resource targets\nvia need_target\u003dTrue and _get_resource(), but the v2 controllers do\nnot implement _get_resource. As a result, need_target\u003dTrue fell back\nto an empty target, which breaks project persona checks that require\nproject_id:%(project_id)s.\n\nAlign Cyborg with Nova\u0027s default policy target behavior by always using\nthe request context project_id and user_id as the policy target. Remove\nthe obsolete need_target parameter and boolean decorator arguments.\n\nDocument the API policy target semantics for contributors. Global\nresources should use admin-only policy rules, and ARQ ownership\ncontinues to be enforced in the object and database layers.\n\nRelated-Bug: #2144056\nGenerated-By: pi gpt-5.5\nChange-Id: Ibc97c5bc35be54c06eae71c18bc4d4b3d31bdc54\nSigned-off-by: Sean Mooney \u003cwork@seanmooney.info\u003e\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/cyborg/commit/6b516433c40345cad39cd19044e314a0f0773e65"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/cyborg/commit/6b516433c40345cad39cd19044e314a0f0773e65"}]},"branch":"refs/heads/master"},"2afb66469506b5a2ddea685e4713fc333eddebc1":{"kind":"REWORK","_number":4,"created":"2026-07-20 14:41:16.000000000","uploader":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"ref":"refs/changes/22/992722/4","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/cyborg","ref":"refs/changes/22/992722/4","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/cyborg refs/changes/22/992722/4 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/cyborg refs/changes/22/992722/4 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/cyborg refs/changes/22/992722/4 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/cyborg refs/changes/22/992722/4"}}},"commit":{"parents":[{"commit":"57432be4b63bf1e62fc17d4cc79d4f4b22b04069","subject":"Merge \"Configure pci lifecycle tempest settings via devstack plugin\"","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/cyborg/commit/57432be4b63bf1e62fc17d4cc79d4f4b22b04069"}]}],"author":{"name":"Sean Mooney","email":"work@seanmooney.info","date":"2026-06-10 14:33:43.000000000","tz":60},"committer":{"name":"Sean Mooney","email":"work@seanmooney.info","date":"2026-07-20 11:30:33.000000000","tz":60},"subject":"Use request context as policy target","message":"Use request context as policy target\n\nCyborg\u0027s authorize_wsgi helper attempted to support resource targets\nvia need_target\u003dTrue and _get_resource(), but the v2 controllers do\nnot implement _get_resource. As a result, need_target\u003dTrue fell back\nto an empty target, which breaks project persona checks that require\nproject_id:%(project_id)s.\n\nAlign Cyborg with Nova\u0027s default policy target behavior by always using\nthe request context project_id and user_id as the policy target. Remove\nthe obsolete need_target parameter and boolean decorator arguments.\n\nKeep the deprecated device-profile delete bridge admin-only. Device\nprofiles are global resources, and applying admin_or_owner to the\nrequest-owned target would allow project users to delete them while\nlegacy defaults are enabled.\n\nDocument the API policy target semantics for contributors. Global\nresources should use admin-only policy rules, and ARQ ownership\ncontinues to be enforced in the object and database layers.\n\nRelated-Bug: #2144056\nGenerated-By: pi gpt-5.5\nChange-Id: Ibc97c5bc35be54c06eae71c18bc4d4b3d31bdc54\nSigned-off-by: Sean Mooney \u003cwork@seanmooney.info\u003e\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/cyborg/commit/2afb66469506b5a2ddea685e4713fc333eddebc1"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/cyborg/commit/2afb66469506b5a2ddea685e4713fc333eddebc1"}]},"branch":"refs/heads/master"},"9b059f40a6664182f197c4953b72abba885f4c9d":{"kind":"REWORK","_number":5,"created":"2026-07-21 10:34:26.000000000","uploader":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"ref":"refs/changes/22/992722/5","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/cyborg","ref":"refs/changes/22/992722/5","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/cyborg refs/changes/22/992722/5 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/cyborg refs/changes/22/992722/5 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/cyborg refs/changes/22/992722/5 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/cyborg refs/changes/22/992722/5"}}},"commit":{"parents":[{"commit":"57432be4b63bf1e62fc17d4cc79d4f4b22b04069","subject":"Merge \"Configure pci lifecycle tempest settings via devstack plugin\"","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/cyborg/commit/57432be4b63bf1e62fc17d4cc79d4f4b22b04069"}]}],"author":{"name":"Sean Mooney","email":"work@seanmooney.info","date":"2026-06-10 14:33:43.000000000","tz":60},"committer":{"name":"Sean Mooney","email":"work@seanmooney.info","date":"2026-07-21 10:31:49.000000000","tz":60},"subject":"Use request context as policy target","message":"Use request context as policy target\n\nCyborg\u0027s authorize_wsgi helper attempted to support resource targets\nvia need_target\u003dTrue and _get_resource(), but the v2 controllers do\nnot implement _get_resource. As a result, need_target\u003dTrue fell back\nto an empty target, which breaks project persona checks that require\nproject_id:%(project_id)s.\n\nAlign Cyborg with Nova\u0027s default policy target behavior by always using\nthe request context project_id and user_id as the policy target. Remove\nthe obsolete need_target parameter and boolean decorator arguments.\n\nKeep the deprecated device-profile delete bridge admin-only. Device\nprofiles are global resources, and applying admin_or_owner to the\nrequest-owned target would allow project users to delete them while\nlegacy defaults are enabled.\n\nDocument the API policy target semantics for contributors. Global\nresources should use admin-only policy rules, and ARQ ownership\ncontinues to be enforced in the object and database layers.\n\nRelated-Bug: #2144056\nGenerated-By: pi gpt-5.5\nChange-Id: Ibc97c5bc35be54c06eae71c18bc4d4b3d31bdc54\nSigned-off-by: Sean Mooney \u003cwork@seanmooney.info\u003e\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/cyborg/commit/9b059f40a6664182f197c4953b72abba885f4c9d"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/cyborg/commit/9b059f40a6664182f197c4953b72abba885f4c9d"}]},"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":""}}}]}
