)]}'
{"id":"openstack%2Fironic-python-agent~966031","triplet_id":"openstack%2Fironic-python-agent~stable%2F2025.2~I28129f2ededb37474025f35164d5dc9ece21ec8e","project":"openstack/ironic-python-agent","branch":"stable/2025.2","attention_set":{},"removed_from_attention_set":{"38243":{"account":{"_account_id":38243,"name":"Morten Stephansen","display_name":"Morten Stephansen","email":"morten.kaastrup.stephansen@cern.ch","username":"mostepha"},"last_update":"2025-11-10 16:38:14.000000000","reason":"Change was submitted"},"35099":{"account":{"_account_id":35099,"name":"Jakub Jelinek","email":"jakub.jelinek@cern.ch","username":"kubajj"},"last_update":"2025-11-10 16:38:14.000000000","reason":"Change was submitted"}},"hashtags":["ironic-week-prio"],"change_id":"I28129f2ededb37474025f35164d5dc9ece21ec8e","subject":"Fix for matching hints with lists of strings","status":"MERGED","created":"2025-11-04 12:26:41.000000000","updated":"2025-11-10 16:39:08.000000000","submitted":"2025-11-10 16:38:14.000000000","submitter":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"total_comment_count":0,"unresolved_comment_count":0,"has_review_started":true,"submission_id":"966031","meta_rev_id":"66ef40d6ca095fe72305eeaa8121ec1211c0cf47","_number":966031,"virtual_id_number":966031,"owner":{"_account_id":38243,"name":"Morten Stephansen","display_name":"Morten Stephansen","email":"morten.kaastrup.stephansen@cern.ch","username":"mostepha"},"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"},{"tag":"autogenerated:zuul:gate","value":2,"date":"2025-11-10 16:38:14.000000000","permitted_voting_range":{"min":2,"max":2},"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},{"value":0,"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"}],"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":"2025-11-05 22:49:32.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":0,"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},{"value":2,"date":"2025-11-10 15:00:08.000000000","permitted_voting_range":{"min":2,"max":2},"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"}],"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":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"},"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":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},{"value":1,"date":"2025-11-10 15:00:08.000000000","permitted_voting_range":{"min":1,"max":1},"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"}],"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":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},{"value":0,"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"}],"values":{"-1":"Do Not Backport"," 0":"Backport Review Needed","+1":"Should Backport"},"description":"","default_value":0,"optional":true}},"removable_reviewers":[{"_account_id":35099,"name":"Jakub Jelinek","email":"jakub.jelinek@cern.ch","username":"kubajj"}],"reviewers":{"REVIEWER":[{"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"},{"_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":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},{"_account_id":35099,"name":"Jakub Jelinek","email":"jakub.jelinek@cern.ch","username":"kubajj"}]},"pending_reviewers":{},"reviewer_updates":[{"updated":"2025-11-04 12:26:41.000000000","updated_by":{"_account_id":38243,"name":"Morten Stephansen","display_name":"Morten Stephansen","email":"morten.kaastrup.stephansen@cern.ch","username":"mostepha"},"reviewer":{"_account_id":35099,"name":"Jakub Jelinek","email":"jakub.jelinek@cern.ch","username":"kubajj"},"state":"REVIEWER"},{"updated":"2025-11-04 14:22:26.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":"2025-11-05 22:49:32.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":"2025-11-10 15:00:08.000000000","updated_by":{"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"},"reviewer":{"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"},"state":"REVIEWER"}],"messages":[{"id":"21681f59121149a359ca6af16e040b912651d622","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":38243,"name":"Morten Stephansen","display_name":"Morten Stephansen","email":"morten.kaastrup.stephansen@cern.ch","username":"mostepha"},"date":"2025-11-04 12:26:41.000000000","message":"Uploaded patch set 1.","accounts_in_message":[],"_revision_number":1},{"id":"8de18d80dc4d481d7124aa23cf1561240ea3fa83","tag":"autogenerated:zuul:check","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2025-11-04 14:22:26.000000000","message":"Patch Set 1: Verified+1\n\nBuild succeeded (check pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/267cf49e7fb14a9db2284abed6ff6079\n\n- openstack-tox-cover https://zuul.opendev.org/t/openstack/build/260670185e8c46c0a3b17cd978ddca6a : SUCCESS in 4m 17s\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/fd72c018d5644e7dab38c60a08d4484b : SUCCESS in 5m 11s\n- openstack-tox-py310 https://zuul.opendev.org/t/openstack/build/2dcb04abff5a429790ffcbe67119a67c : SUCCESS in 5m 33s\n- openstack-tox-py312 https://zuul.opendev.org/t/openstack/build/e14fa500c9324caaa0890e063a457855 : SUCCESS in 3m 59s\n- openstack-tox-py313 https://zuul.opendev.org/t/openstack/build/0f272a551e2e45ad8ddce6bfb4d90fce : SUCCESS in 6m 22s (non-voting)\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/b0f9f5c7f89244ed9a81d1883bef1aec : SUCCESS in 8m 19s\n- build-openstack-releasenotes https://zuul.opendev.org/t/openstack/build/94e836ce497b4bfc8b24c46ac3997e1d : SUCCESS in 4m 38s\n- openstack-tox-functional https://zuul.opendev.org/t/openstack/build/f3afaff249d947638f3d35739772b957 : SUCCESS in 3m 46s\n- ipa-tox-bandit https://zuul.opendev.org/t/openstack/build/2d3fa3d3c8504ec8a6268dd20ed98683 : SUCCESS in 3m 07s\n- ipa-tempest-bios-ipmi-direct-src https://zuul.opendev.org/t/openstack/build/8276751ceb9a4a2e90a75118b3abff32 : SUCCESS in 1h 06m 59s\n- ipa-tempest-uefi-redfish-vmedia-src https://zuul.opendev.org/t/openstack/build/0c91a96e49b44d6b938af653c584e01d : SUCCESS in 1h 08m 31s\n- metalsmith-integration-ipa-src-uefi https://zuul.opendev.org/t/openstack/build/3a581726f2034d1bb4891fd6d52ad308 : SUCCESS in 1h 36m 13s\n- ironic-standalone-ipa-src https://zuul.opendev.org/t/openstack/build/402c4dd89571401180ddf118c29a736c : SUCCESS in 48m 29s\n- ironic-python-agent-check-image-dib-centos9 https://zuul.opendev.org/t/openstack/build/fa51c87979274b0997a5529bb91efa63 : SUCCESS in 10m 20s (non-voting)\n- ipa-tempest-ironic-inspector-src https://zuul.opendev.org/t/openstack/build/6dc9f60c2c6c4e0eb4a32ad34bb7d2d8 : SUCCESS in 1h 50m 25s (non-voting)","accounts_in_message":[],"_revision_number":1},{"id":"b37604ffcc84d22eb48a144958ea45628337d2cc","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":"2025-11-05 22:49:32.000000000","message":"Patch Set 1: Code-Review+2","accounts_in_message":[],"_revision_number":1},{"id":"de97e21c99c338cc3b4df4b0ae4469d9e333480f","tag":"autogenerated:gerrit:setHashtag","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":"2025-11-05 22:49:39.000000000","message":"Hashtag added: ironic-week-prio","accounts_in_message":[],"_revision_number":1},{"id":"5e20472c72da924ccd1b7cd72d239634e66bd2e2","author":{"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"},"date":"2025-11-10 15:00:08.000000000","message":"Patch Set 1: Code-Review+2 Workflow+1","accounts_in_message":[],"_revision_number":1},{"id":"a39c313d7d7f6236e42e063300247d3471e7bad3","tag":"autogenerated:zuul:gate","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2025-11-10 15:00:36.000000000","message":"Patch Set 1: -Verified\n\nStarting gate jobs.","accounts_in_message":[],"_revision_number":1},{"id":"dc413ee3e8b89afec993092f27bc5f9e743b3567","tag":"autogenerated:zuul:gate","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2025-11-10 16:38:14.000000000","message":"Patch Set 1: Verified+2\n\nBuild succeeded (gate pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/bdcdc6543fb74a16bbb07404d06ba6b6\n\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/1be7cdce7fc94c9784fa06a9d725a480 : SUCCESS in 4m 44s\n- openstack-tox-py310 https://zuul.opendev.org/t/openstack/build/50ec0211e96d4b1ca67d386fa9b63b98 : SUCCESS in 5m 33s\n- openstack-tox-py312 https://zuul.opendev.org/t/openstack/build/213cd65c022d4e968f8ba021c499ee11 : SUCCESS in 4m 05s\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/cc943ee439fa45309bc211c230017a06 : SUCCESS in 7m 20s\n- build-openstack-releasenotes https://zuul.opendev.org/t/openstack/build/d1e8f1c723bc41c79460afb96c941c2a : SUCCESS in 3m 03s\n- openstack-tox-functional https://zuul.opendev.org/t/openstack/build/c349865609f7491e9541572041031179 : SUCCESS in 5m 10s\n- ipa-tox-bandit https://zuul.opendev.org/t/openstack/build/09965b634aa546d7b76dd5bdff53a280 : SUCCESS in 3m 18s\n- ipa-tempest-bios-ipmi-direct-src https://zuul.opendev.org/t/openstack/build/7885b9d29504468787a71f1870b69b47 : SUCCESS in 1h 15m 00s\n- ipa-tempest-uefi-redfish-vmedia-src https://zuul.opendev.org/t/openstack/build/0fb78f310d9844a697dfd469f2c417e0 : SUCCESS in 55m 50s\n- metalsmith-integration-ipa-src-uefi https://zuul.opendev.org/t/openstack/build/977ddb864d1845688d028b7a53fc6aa8 : SUCCESS in 1h 33m 02s\n- ironic-standalone-ipa-src https://zuul.opendev.org/t/openstack/build/393c83b0d2974f0fa17ba93ecd3b5959 : SUCCESS in 50m 23s","accounts_in_message":[],"_revision_number":1},{"id":"a43d4a15210b260f19d033f0ac6589c810b6a143","tag":"autogenerated:gerrit:merged","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2025-11-10 16:38:14.000000000","message":"Change has been successfully merged","accounts_in_message":[],"_revision_number":1},{"id":"66ef40d6ca095fe72305eeaa8121ec1211c0cf47","tag":"autogenerated:zuul:promote","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2025-11-10 16:39:08.000000000","message":"Patch Set 1:\n\nBuild succeeded (promote pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/5bf2eb509eb1494fa2e46144d8c0a2a2\n\n- promote-openstack-tox-docs https://zuul.opendev.org/t/openstack/build/e6b2053744c64704b02b5f83cde9eb6c : SUCCESS in 36s\n- promote-openstack-releasenotes https://zuul.opendev.org/t/openstack/build/c1e6c4a366394b949f5206a1181ce8c7 : SUCCESS in 42s","accounts_in_message":[],"_revision_number":1}],"current_revision_number":1,"current_revision":"ce66b29cc613503dc835862540ff56a297420070","revisions":{"ce66b29cc613503dc835862540ff56a297420070":{"kind":"REWORK","_number":1,"created":"2025-11-04 12:26:41.000000000","uploader":{"_account_id":38243,"name":"Morten Stephansen","display_name":"Morten Stephansen","email":"morten.kaastrup.stephansen@cern.ch","username":"mostepha"},"ref":"refs/changes/31/966031/1","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/ironic-python-agent","ref":"refs/changes/31/966031/1","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/ironic-python-agent refs/changes/31/966031/1 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/ironic-python-agent refs/changes/31/966031/1 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/ironic-python-agent refs/changes/31/966031/1 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/ironic-python-agent refs/changes/31/966031/1"}}},"commit":{"parents":[{"commit":"378979b85dbe7e94986527f66a307f6972cc6794","subject":"Fix skip block devices for RAID arrays","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/ironic-python-agent/commit/378979b85dbe7e94986527f66a307f6972cc6794"}]}],"author":{"name":"Morten Stephansen","email":"morten.kaastrup.stephansen@cern.ch","date":"2025-10-31 13:28:16.000000000","tz":0},"committer":{"name":"Morten Stephansen","email":"morten.kaastrup.stephansen@cern.ch","date":"2025-11-04 12:24:50.000000000","tz":0},"subject":"Fix for matching hints with lists of strings","message":"Fix for matching hints with lists of strings\n\nAdded logic for matching hints with lists of WWN/Serial. These lists\nappear when both lsblk and udev are used to fetch the information about\na device. One consequence of this is that it allows a device on the\nskip list to be used as root device, thus overwriting the protected\ndata. This has previously been handled before matching the hints,\ne.g. the removed section in hardware.py. This patch aims to fix the\nproblem globally by handling the issue inside the find_devices_by_hints\nfunction.\n\nCloses-bug: #2130410\nChange-Id: I28129f2ededb37474025f35164d5dc9ece21ec8e\nSigned-off-by: Morten Stephansen \u003cmorten.kaastrup.stephansen@cern.ch\u003e\nSigned-off-by: Jakub Jelinek \u003cjakub.jelinek@cern.ch\u003e\n(cherry picked from commit bb4b4fdb3887c1fbe0e8536869ac68e9ed1dbe96)\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/ironic-python-agent/commit/ce66b29cc613503dc835862540ff56a297420070"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/ironic-python-agent/commit/ce66b29cc613503dc835862540ff56a297420070"}]},"branch":"refs/heads/stable/2025.2"}},"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":10342,"name":"Jay Faulkner","display_name":"JayF","email":"jay@jvf.cc","username":"JayF","status":"youtube.com/@oss-gr / podcast.gr-oss.io"}},{"label":"Workflow","status":"MAY","applied_by":{"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"}},{"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":{}}},{"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":{}}},{"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":{}}}]}
