)]}'
{"id":"openstack%2Fironic-python-agent~998375","triplet_id":"openstack%2Fironic-python-agent~master~I366aaac2f8be75c8b4bea51268180463baed0f54","project":"openstack/ironic-python-agent","branch":"master","attention_set":{},"removed_from_attention_set":{"36770":{"account":{"_account_id":36770,"name":"cid","display_name":"cid","email":"cid@gr-oss.io","username":"cidelight","status":"@gr-oss upstream: Doing good IRONIC things..."},"last_update":"2026-08-06 21:57:37.000000000","reason":"Change was submitted"},"10342":{"account":{"_account_id":10342,"name":"Jay Faulkner","display_name":"JayF","email":"jay@jvf.cc","username":"JayF","status":"youtube.com/@oss-gr / podcast.gr-oss.io"},"last_update":"2026-08-05 16:13:49.000000000","reason":"removed on reply"},"11655":{"account":{"_account_id":11655,"name":"Julia Kreger","email":"juliaashleykreger@gmail.com","username":"jkreger","status":"Flying to the moon with a Jetpack!"},"last_update":"2026-08-06 19:57:34.000000000","reason":"\u003cGERRIT_ACCOUNT_11655\u003e replied on the change","reason_account":{"_account_id":11655,"name":"Julia Kreger","email":"juliaashleykreger@gmail.com","username":"jkreger","status":"Flying to the moon with a Jetpack!"}}},"hashtags":["ironic-week-prio"],"change_id":"I366aaac2f8be75c8b4bea51268180463baed0f54","subject":"security: Fix the container allowlist not being enforced","status":"MERGED","created":"2026-07-22 23:28:51.000000000","updated":"2026-08-06 21:58:45.000000000","submitted":"2026-08-06 21:57:37.000000000","submitter":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"total_comment_count":6,"unresolved_comment_count":5,"has_review_started":true,"submission_id":"998375","meta_rev_id":"a024ad00a35ecb21f9e110dd6ef84de3c2e60ca5","_number":998375,"virtual_id_number":998375,"owner":{"_account_id":36770,"name":"cid","display_name":"cid","email":"cid@gr-oss.io","username":"cidelight","status":"@gr-oss upstream: Doing good IRONIC things..."},"actions":{},"labels":{"Verified":{"approved":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"all":[{"value":0,"_account_id":10342,"name":"Jay Faulkner","display_name":"JayF","email":"jay@jvf.cc","username":"JayF","status":"youtube.com/@oss-gr / podcast.gr-oss.io"},{"value":0,"_account_id":11655,"name":"Julia Kreger","email":"juliaashleykreger@gmail.com","username":"jkreger","status":"Flying to the moon with a Jetpack!"},{"value":0,"_account_id":4571,"name":"Steve Baker","email":"sbaker@redhat.com","username":"steve-stevebaker"},{"tag":"autogenerated:zuul:gate","value":2,"date":"2026-08-06 21:57: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":10342,"name":"Jay Faulkner","display_name":"JayF","email":"jay@jvf.cc","username":"JayF","status":"youtube.com/@oss-gr / podcast.gr-oss.io"},"all":[{"value":2,"date":"2026-08-05 16:13:49.000000000","permitted_voting_range":{"min":2,"max":2},"_account_id":10342,"name":"Jay Faulkner","display_name":"JayF","email":"jay@jvf.cc","username":"JayF","status":"youtube.com/@oss-gr / podcast.gr-oss.io"},{"value":2,"date":"2026-08-06 19:57:34.000000000","permitted_voting_range":{"min":2,"max":2},"_account_id":11655,"name":"Julia Kreger","email":"juliaashleykreger@gmail.com","username":"jkreger","status":"Flying to the moon with a Jetpack!"},{"value":2,"date":"2026-08-06 20:28:44.000000000","permitted_voting_range":{"min":2,"max":2},"_account_id":4571,"name":"Steve Baker","email":"sbaker@redhat.com","username":"steve-stevebaker"},{"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":4571,"name":"Steve Baker","email":"sbaker@redhat.com","username":"steve-stevebaker"},"all":[{"value":0,"_account_id":10342,"name":"Jay Faulkner","display_name":"JayF","email":"jay@jvf.cc","username":"JayF","status":"youtube.com/@oss-gr / podcast.gr-oss.io"},{"value":0,"_account_id":11655,"name":"Julia Kreger","email":"juliaashleykreger@gmail.com","username":"jkreger","status":"Flying to the moon with a Jetpack!"},{"value":1,"date":"2026-08-06 20:28:44.000000000","permitted_voting_range":{"min":1,"max":1},"_account_id":4571,"name":"Steve Baker","email":"sbaker@redhat.com","username":"steve-stevebaker"},{"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},"Backport-Candidate":{"all":[{"value":0,"_account_id":10342,"name":"Jay Faulkner","display_name":"JayF","email":"jay@jvf.cc","username":"JayF","status":"youtube.com/@oss-gr / podcast.gr-oss.io"},{"value":0,"_account_id":11655,"name":"Julia Kreger","email":"juliaashleykreger@gmail.com","username":"jkreger","status":"Flying to the moon with a Jetpack!"},{"value":0,"_account_id":4571,"name":"Steve Baker","email":"sbaker@redhat.com","username":"steve-stevebaker"},{"value":0,"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]}],"values":{"-1":"Do Not Backport"," 0":"Backport Review Needed","+1":"Should Backport"},"description":"","default_value":0,"optional":true}},"removable_reviewers":[],"reviewers":{"REVIEWER":[{"_account_id":4571,"name":"Steve Baker","email":"sbaker@redhat.com","username":"steve-stevebaker"},{"_account_id":10342,"name":"Jay Faulkner","display_name":"JayF","email":"jay@jvf.cc","username":"JayF","status":"youtube.com/@oss-gr / podcast.gr-oss.io"},{"_account_id":11655,"name":"Julia Kreger","email":"juliaashleykreger@gmail.com","username":"jkreger","status":"Flying to the moon with a Jetpack!"},{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]}]},"pending_reviewers":{},"reviewer_updates":[{"updated":"2026-07-22 23:41:27.000000000","updated_by":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"reviewer":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"state":"CC"},{"updated":"2026-07-23 00:32:54.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-07-30 16:38:06.000000000","updated_by":{"_account_id":10342,"name":"Jay Faulkner","display_name":"JayF","email":"jay@jvf.cc","username":"JayF","status":"youtube.com/@oss-gr / podcast.gr-oss.io"},"reviewer":{"_account_id":10342,"name":"Jay Faulkner","display_name":"JayF","email":"jay@jvf.cc","username":"JayF","status":"youtube.com/@oss-gr / podcast.gr-oss.io"},"state":"REVIEWER"},{"updated":"2026-07-30 21:36:56.000000000","updated_by":{"_account_id":4571,"name":"Steve Baker","email":"sbaker@redhat.com","username":"steve-stevebaker"},"reviewer":{"_account_id":4571,"name":"Steve Baker","email":"sbaker@redhat.com","username":"steve-stevebaker"},"state":"CC"},{"updated":"2026-07-31 14:00:22.000000000","updated_by":{"_account_id":11655,"name":"Julia Kreger","email":"juliaashleykreger@gmail.com","username":"jkreger","status":"Flying to the moon with a Jetpack!"},"reviewer":{"_account_id":11655,"name":"Julia Kreger","email":"juliaashleykreger@gmail.com","username":"jkreger","status":"Flying to the moon with a Jetpack!"},"state":"REVIEWER"},{"updated":"2026-08-06 20:28:44.000000000","updated_by":{"_account_id":4571,"name":"Steve Baker","email":"sbaker@redhat.com","username":"steve-stevebaker"},"reviewer":{"_account_id":4571,"name":"Steve Baker","email":"sbaker@redhat.com","username":"steve-stevebaker"},"state":"REVIEWER"}],"messages":[{"id":"f17b2511710a43674b740aa1186a296e8b307b56","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":36770,"name":"cid","display_name":"cid","email":"cid@gr-oss.io","username":"cidelight","status":"@gr-oss upstream: Doing good IRONIC things..."},"date":"2026-07-22 23:28:51.000000000","message":"Uploaded patch set 1.","accounts_in_message":[],"_revision_number":1},{"id":"4ef2b58562d5fff219a2198d44cde32955de1e08","tag":"autogenerated:zuul:check-arm64","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-07-22 23:41:27.000000000","message":"Patch Set 1:\n\nBuild succeeded (ARM64 pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/c0025b9b4e0f4152854e3e705d546d6b\n\n- openstack-tox-py311-arm64 https://zuul.opendev.org/t/openstack/build/de9ac7d4df1442b681ae74b18fa9b501 : SUCCESS in 5m 47s (non-voting)\n- openstack-tox-py313-arm64 https://zuul.opendev.org/t/openstack/build/002111dcc0c04de68c1746d4abe1c1b2 : SUCCESS in 6m 01s (non-voting)\n- openstack-tox-py314-arm64 https://zuul.opendev.org/t/openstack/build/1378221375bc4f39b9bfabbc9d1775c5 : SUCCESS in 10m 05s (non-voting)","accounts_in_message":[],"_revision_number":1},{"id":"ed30860126e61d2336fcbffb609757253f38b370","tag":"autogenerated:zuul:check","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-07-23 00:32:54.000000000","message":"Patch Set 1: Verified+1\n\nBuild succeeded (check pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/036bf2bff35c4fa5acc46910edc9b8d3\n\n- openstack-tox-cover https://zuul.opendev.org/t/openstack/build/aee38268302b4508a0d0f89e86af32a5 : SUCCESS in 4m 14s\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/6ad87647821d437aa028336799fefe28 : SUCCESS in 5m 15s\n- openstack-tox-py311 https://zuul.opendev.org/t/openstack/build/2ef7f07342c6437ea07760ee3f0bb08c : SUCCESS in 4m 08s\n- openstack-tox-py313 https://zuul.opendev.org/t/openstack/build/9d5787b271244ce6b5b1708e88c4409c : SUCCESS in 3m 50s\n- openstack-tox-py314 https://zuul.opendev.org/t/openstack/build/11a1e5812fb2440497b9c927c0d64e46 : SUCCESS in 4m 49s (non-voting)\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/5bca763073d34c56be1833169a15e2ae : SUCCESS in 7m 40s\n- build-openstack-releasenotes https://zuul.opendev.org/t/openstack/build/b25b52b6ebf04051a3e3926779a6aaae : SUCCESS in 5m 18s\n- openstack-tox-functional https://zuul.opendev.org/t/openstack/build/672d412c99b54dbaa47a9e569fc741d1 : SUCCESS in 5m 23s\n- ipa-tox-bandit https://zuul.opendev.org/t/openstack/build/7f5bc2df3016498b8e0f7a71c94ed69e : SUCCESS in 2m 53s\n- ipa-tempest-bios-ipmi-direct-src https://zuul.opendev.org/t/openstack/build/285b2de4ad1e4f3d84c451e4d19655ea : SUCCESS in 1h 01m 55s\n- ipa-tempest-uefi-redfish-vmedia-src https://zuul.opendev.org/t/openstack/build/d6ed7fb7f89a4d1091c96427e3248f35 : SUCCESS in 52m 26s\n- ironic-standalone-ipa-src https://zuul.opendev.org/t/openstack/build/c7652934504744eca29d9402e35caf37 : SUCCESS in 57m 33s\n- ironic-python-agent-check-image-dib-centos9 https://zuul.opendev.org/t/openstack/build/851cf683b38849868c7426dacc529cd0 : SUCCESS in 10m 03s (non-voting)\n- ironic-python-agent-check-image-dib-centos10 https://zuul.opendev.org/t/openstack/build/2f7cdef0404945e68f75f705a85582a5 : SUCCESS in 9m 15s (non-voting)\n- ironic-python-agent-check-image-dib-debian https://zuul.opendev.org/t/openstack/build/eb0e93dcfb704292af4cd04d7cc1c8f8 : SUCCESS in 7m 10s (non-voting)","accounts_in_message":[],"_revision_number":1},{"id":"b98316cda972f6c07a1078aa518e37d19809c36b","author":{"_account_id":10342,"name":"Jay Faulkner","display_name":"JayF","email":"jay@jvf.cc","username":"JayF","status":"youtube.com/@oss-gr / podcast.gr-oss.io"},"date":"2026-07-30 16:38:06.000000000","message":"Patch Set 1: Code-Review+1\n\n(3 comments)","accounts_in_message":[],"_revision_number":1},{"id":"233bfb4ce3983aa2e949eae0932f1f1e67c01680","author":{"_account_id":4571,"name":"Steve Baker","email":"sbaker@redhat.com","username":"steve-stevebaker"},"date":"2026-07-30 21:36:56.000000000","message":"Patch Set 1:\n\n(1 comment)","accounts_in_message":[],"_revision_number":1},{"id":"6257ccfe07d96e6bf0d82a089b0086bb08eb4c1d","author":{"_account_id":11655,"name":"Julia Kreger","email":"juliaashleykreger@gmail.com","username":"jkreger","status":"Flying to the moon with a Jetpack!"},"date":"2026-07-31 14:00:22.000000000","message":"Patch Set 1: Code-Review+1\n\n(2 comments)","accounts_in_message":[],"_revision_number":1},{"id":"6324d31eb1d50c85b2e0c85330fa5cdccf3c2eee","tag":"autogenerated:gerrit:setHashtag","author":{"_account_id":11655,"name":"Julia Kreger","email":"juliaashleykreger@gmail.com","username":"jkreger","status":"Flying to the moon with a Jetpack!"},"date":"2026-07-31 14:00:36.000000000","message":"Hashtag added: ironic-week-prio","accounts_in_message":[],"_revision_number":1},{"id":"b5112bda8fa50b29d9c4f0aa026cdbd17ca47054","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":36770,"name":"cid","display_name":"cid","email":"cid@gr-oss.io","username":"cidelight","status":"@gr-oss upstream: Doing good IRONIC things..."},"date":"2026-08-04 13:46:24.000000000","message":"Uploaded patch set 2.\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":2},{"id":"ddf2f546a1053f5df097b40836289f2d3b975fa6","tag":"autogenerated:zuul:check-arm64","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-08-04 14:16:12.000000000","message":"Patch Set 2:\n\nBuild succeeded (ARM64 pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/9c9c61a4516e458cb9e37d704def30e8\n\n- openstack-tox-py311-arm64 https://zuul.opendev.org/t/openstack/build/cbad3b05e3da44cb9de7dec5c007168c : SUCCESS in 4m 42s (non-voting)\n- openstack-tox-py313-arm64 https://zuul.opendev.org/t/openstack/build/38e86aa68cca4a5ab9c1b0ef4cebf5d0 : SUCCESS in 5m 36s (non-voting)\n- openstack-tox-py314-arm64 https://zuul.opendev.org/t/openstack/build/1248f0eaf19e4325aa35d3a3bcdad61e : SUCCESS in 13m 00s (non-voting)","accounts_in_message":[],"_revision_number":2},{"id":"dfed15a33fe1cb27f1293d916311f0d8a0710b15","tag":"autogenerated:zuul:check","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-08-04 15:10:22.000000000","message":"Patch Set 2: Verified+1\n\nBuild succeeded (check pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/9967456ddd7e4fb5bbbc69ce286e9692\n\n- openstack-tox-cover https://zuul.opendev.org/t/openstack/build/94e608a85b6949c1be368ae73af62294 : SUCCESS in 5m 32s\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/28cae3356629479fb5f73695a6a133d1 : SUCCESS in 5m 48s\n- openstack-tox-py311 https://zuul.opendev.org/t/openstack/build/bb74d8633d0a4f579be0b112d390619d : SUCCESS in 4m 47s\n- openstack-tox-py313 https://zuul.opendev.org/t/openstack/build/d50fe1bab0944482b91c712030b22946 : SUCCESS in 3m 45s\n- openstack-tox-py314 https://zuul.opendev.org/t/openstack/build/fabef5c89611450e8d66e268d8f4936c : SUCCESS in 6m 08s (non-voting)\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/8b5d12fb178d4f03b3b50c6623c3e3ae : SUCCESS in 6m 25s\n- build-openstack-releasenotes https://zuul.opendev.org/t/openstack/build/c655172b9ca944b992683b75a2092104 : SUCCESS in 4m 17s\n- openstack-tox-functional https://zuul.opendev.org/t/openstack/build/cdc6dbbabb86409d81343955995832b5 : SUCCESS in 3m 10s\n- ipa-tox-bandit https://zuul.opendev.org/t/openstack/build/76980b56ca7d46a78c378f4bdddaf8af : SUCCESS in 3m 55s\n- ipa-tempest-bios-ipmi-direct-src https://zuul.opendev.org/t/openstack/build/ee79b8b3a5f14e83bb6a2c0fd67d0439 : SUCCESS in 1h 10m 45s\n- ipa-tempest-uefi-redfish-vmedia-src https://zuul.opendev.org/t/openstack/build/34eba5f7045547ae91a934f0eee5ac1c : SUCCESS in 1h 13m 18s\n- ironic-standalone-ipa-src https://zuul.opendev.org/t/openstack/build/b7f4da1c1ecc42c5a5454414a4d03f16 : SUCCESS in 54m 19s\n- ironic-python-agent-check-image-dib-centos9 https://zuul.opendev.org/t/openstack/build/cab8c6284ed647fe8e31a3c4816cbf9f : SUCCESS in 10m 11s (non-voting)\n- ironic-python-agent-check-image-dib-centos10 https://zuul.opendev.org/t/openstack/build/837846fcb66d4d69829da32298b5d0b9 : SUCCESS in 9m 27s (non-voting)\n- ironic-python-agent-check-image-dib-debian https://zuul.opendev.org/t/openstack/build/17e064cbc55945f19eb70261970bd11b : SUCCESS in 8m 48s (non-voting)","accounts_in_message":[],"_revision_number":2},{"id":"66a50119ecb07100326a10a1ddee16cde77ed1c6","author":{"_account_id":10342,"name":"Jay Faulkner","display_name":"JayF","email":"jay@jvf.cc","username":"JayF","status":"youtube.com/@oss-gr / podcast.gr-oss.io"},"date":"2026-08-05 16:13:49.000000000","message":"Patch Set 2: Code-Review+2","accounts_in_message":[],"_revision_number":2},{"id":"d5b42ad643aca0a5f5443e8cae0d7b8eda10739a","author":{"_account_id":11655,"name":"Julia Kreger","email":"juliaashleykreger@gmail.com","username":"jkreger","status":"Flying to the moon with a Jetpack!"},"date":"2026-08-06 19:57:34.000000000","message":"Patch Set 2: Code-Review+2","accounts_in_message":[],"_revision_number":2},{"id":"5b5195c31a3234225464194cb095833d0b616e60","author":{"_account_id":4571,"name":"Steve Baker","email":"sbaker@redhat.com","username":"steve-stevebaker"},"date":"2026-08-06 20:28:44.000000000","message":"Patch Set 2: Code-Review+2 Workflow+1","accounts_in_message":[],"_revision_number":2},{"id":"436581f3a1346a4fd20a34409530486b1a78c5dc","tag":"autogenerated:zuul:gate","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-08-06 20:29:15.000000000","message":"Patch Set 2: -Verified\n\nStarting gate jobs.","accounts_in_message":[],"_revision_number":2},{"id":"464b6f683f73c0e0df4e0df8f558db6825e0525b","tag":"autogenerated:zuul:gate","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-08-06 21:57:37.000000000","message":"Patch Set 2: Verified+2\n\nBuild succeeded (gate pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/91bd3b46dcea4dca81912b1d36421e3c\n\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/5dee8ea40f764f1e9399df74a16ee096 : SUCCESS in 3m 17s\n- openstack-tox-py311 https://zuul.opendev.org/t/openstack/build/9fedb75cc38c4a2f90bcc548adeab514 : SUCCESS in 6m 33s\n- openstack-tox-py313 https://zuul.opendev.org/t/openstack/build/3ecb4028d0c34a3bbada22b9c33fde0a : SUCCESS in 2m 51s\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/c143698890f442a898a374dd00e30cbd : SUCCESS in 3m 59s\n- build-openstack-releasenotes https://zuul.opendev.org/t/openstack/build/b268d9fafaf8421bbd5a1d7a62dc616d : SUCCESS in 5m 33s\n- openstack-tox-functional https://zuul.opendev.org/t/openstack/build/2f62016ab4824753aeea1323ab757731 : SUCCESS in 3m 46s\n- ipa-tox-bandit https://zuul.opendev.org/t/openstack/build/739c6610d497450eb34e7e4d07ad1bea : SUCCESS in 3m 19s\n- ipa-tempest-bios-ipmi-direct-src https://zuul.opendev.org/t/openstack/build/5c7e558d158e4d6fa057d61dd4bd0970 : SUCCESS in 42m 18s\n- ipa-tempest-uefi-redfish-vmedia-src https://zuul.opendev.org/t/openstack/build/03de84307f5a4e74b1c0e77f9ca43480 : SUCCESS in 1h 07m 13s\n- ironic-standalone-ipa-src https://zuul.opendev.org/t/openstack/build/0f8766c8ba4240ab9e0e36c50e300440 : SUCCESS in 1h 03m 48s","accounts_in_message":[],"_revision_number":2},{"id":"ec760a1564691c72c414e3b759893355e97ea4b1","tag":"autogenerated:gerrit:merged","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-08-06 21:57:37.000000000","message":"Change has been successfully merged","accounts_in_message":[],"_revision_number":2},{"id":"a024ad00a35ecb21f9e110dd6ef84de3c2e60ca5","tag":"autogenerated:zuul:promote","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-08-06 21:58:45.000000000","message":"Patch Set 2:\n\nBuild succeeded (promote pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/bce4bd62ac3f41ab8adff2c63adf1472\n\n- promote-openstack-tox-docs https://zuul.opendev.org/t/openstack/build/f7feb64f9e0b48c8a20337da98bd3564 : SUCCESS in 47s\n- promote-openstack-releasenotes https://zuul.opendev.org/t/openstack/build/7a32a6d38ba24fd1be0178e25b536552 : SUCCESS in 37s","accounts_in_message":[],"_revision_number":2}],"current_revision_number":2,"current_revision":"a5f92d3d42c8cafe4cf8e39a96afb585de7a6b1c","revisions":{"55bc9e7cfafa83175539c68019862bcb63d96c5d":{"kind":"REWORK","_number":1,"created":"2026-07-22 23:28:51.000000000","uploader":{"_account_id":36770,"name":"cid","display_name":"cid","email":"cid@gr-oss.io","username":"cidelight","status":"@gr-oss upstream: Doing good IRONIC things..."},"ref":"refs/changes/75/998375/1","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/ironic-python-agent","ref":"refs/changes/75/998375/1","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/ironic-python-agent refs/changes/75/998375/1 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/ironic-python-agent refs/changes/75/998375/1 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/ironic-python-agent refs/changes/75/998375/1 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/ironic-python-agent refs/changes/75/998375/1"}}},"commit":{"parents":[{"commit":"9b002bde0d63d73d9338dd497ebafa0311b1a183","subject":"Move container execution into a single method","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/ironic-python-agent/commit/9b002bde0d63d73d9338dd497ebafa0311b1a183"}]}],"author":{"name":"Afonne-CID","email":"afonnepaulc@gmail.com","date":"2026-07-22 21:28:40.000000000","tz":60},"committer":{"name":"Afonne-CID","email":"afonnepaulc@gmail.com","date":"2026-07-22 23:28:26.000000000","tz":60},"subject":"security: Fix the container allowlist not being enforced","message":"security: Fix the container allowlist not being enforced\n\n[container]allow_arbitrary_containers and allowed_containers had no\neffect. A missing line continuation split the check into two\nstatements, so it tested a configuration group object which is always\ntrue, and the allowlist was never read. container_clean_step did not\nconsult the allowlist at all, so the runbook and deploy template path\nwas unguarded regardless.\n\nThe check now lives in _check_permitted(), which every execution path\npasses through, and takes into account where the step came from. Steps\nbaked into the ramdisk are written by the operator at build time and\nremain exempt. Steps naming an image in their arguments are checked.\n\npull_options and run_options given as step arguments are also ignored\nwhile the allowlist is in effect. Options alone are enough to get\naround it (--privileged, -v /:/host, --entrypoint), so a caller which\nmay not choose the image does not choose the flags either.\n\nCloses-Bug: #2160143\nAssisted-by: Claude Opus 4.8\nChange-Id: I366aaac2f8be75c8b4bea51268180463baed0f54\nSigned-off-by: Afonne-CID \u003cafonnepaulc@gmail.com\u003e\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/ironic-python-agent/commit/55bc9e7cfafa83175539c68019862bcb63d96c5d"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/ironic-python-agent/commit/55bc9e7cfafa83175539c68019862bcb63d96c5d"}]},"branch":"refs/heads/master"},"a5f92d3d42c8cafe4cf8e39a96afb585de7a6b1c":{"kind":"REWORK","_number":2,"created":"2026-08-04 13:46:24.000000000","uploader":{"_account_id":36770,"name":"cid","display_name":"cid","email":"cid@gr-oss.io","username":"cidelight","status":"@gr-oss upstream: Doing good IRONIC things..."},"ref":"refs/changes/75/998375/2","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/ironic-python-agent","ref":"refs/changes/75/998375/2","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/ironic-python-agent refs/changes/75/998375/2 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/ironic-python-agent refs/changes/75/998375/2 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/ironic-python-agent refs/changes/75/998375/2 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/ironic-python-agent refs/changes/75/998375/2"}}},"commit":{"parents":[{"commit":"9b002bde0d63d73d9338dd497ebafa0311b1a183","subject":"Move container execution into a single method","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/ironic-python-agent/commit/9b002bde0d63d73d9338dd497ebafa0311b1a183"}]}],"author":{"name":"Afonne-CID","email":"afonnepaulc@gmail.com","date":"2026-07-22 21:28:40.000000000","tz":60},"committer":{"name":"Afonne-CID","email":"afonnepaulc@gmail.com","date":"2026-08-04 12:06:40.000000000","tz":60},"subject":"security: Fix the container allowlist not being enforced","message":"security: Fix the container allowlist not being enforced\n\n[container]allow_arbitrary_containers and allowed_containers had no\neffect. A missing line continuation split the check into two\nstatements, so it tested a configuration group object which is always\ntrue, and the allowlist was never read. container_clean_step did not\nconsult the allowlist at all, so the runbook and deploy template path\nwas unguarded regardless.\n\nThe check now lives in _check_permitted(), which every execution path\npasses through, and takes into account where the step came from. Steps\nbaked into the ramdisk are written by the operator at build time and\nremain exempt. Steps naming an image in their arguments are checked.\n\npull_options and run_options given as step arguments are also ignored\nwhile the allowlist is in effect. Options alone are enough to get\naround it (--privileged, -v /:/host, --entrypoint), so a caller which\nmay not choose the image does not choose the flags either.\n\nCloses-Bug: #2160143\nAssisted-by: Claude Opus 4.8\nChange-Id: I366aaac2f8be75c8b4bea51268180463baed0f54\nSigned-off-by: Afonne-CID \u003cafonnepaulc@gmail.com\u003e\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/ironic-python-agent/commit/a5f92d3d42c8cafe4cf8e39a96afb585de7a6b1c"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/ironic-python-agent/commit/a5f92d3d42c8cafe4cf8e39a96afb585de7a6b1c"}]},"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":4571,"name":"Steve Baker","email":"sbaker@redhat.com","username":"steve-stevebaker"}},{"label":"Workflow","status":"MAY","applied_by":{"_account_id":4571,"name":"Steve Baker","email":"sbaker@redhat.com","username":"steve-stevebaker"}},{"label":"Backport-Candidate","status":"MAY"}]}],"submit_requirements":[{"name":"Verified","description":"Verified in gate by CI","status":"SATISFIED","is_legacy":false,"submittability_expression_result":{"expression":"label:Verified\u003dMAX AND -label:Verified\u003dMIN","fulfilled":true,"status":"PASS","passing_atoms":["label:Verified\u003dMAX"],"failing_atoms":["label:Verified\u003dMIN"],"atom_explanations":{"label:Verified\u003dMAX":"","label:Verified\u003dMIN":""}}},{"name":"Backport-Candidate","description":"Backport candidate status","status":"NOT_APPLICABLE","is_legacy":false,"applicability_expression_result":{"fulfilled":false,"status":"FAIL"},"submittability_expression_result":{"expression":"is:true","fulfilled":true,"status":"NOT_EVALUATED","passing_atoms":[],"failing_atoms":[],"atom_explanations":{}}},{"name":"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":""}}}]}
