)]}'
{"id":"openstack%2Fironic-python-agent~954024","triplet_id":"openstack%2Fironic-python-agent~master~I5437343af6c6157882bcf0600dd89bd20478c948","project":"openstack/ironic-python-agent","branch":"master","topic":"filter-device","attention_set":{},"removed_from_attention_set":{"10239":{"account":{"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"},"last_update":"2025-07-11 14:20:15.000000000","reason":"\u003cGERRIT_ACCOUNT_10239\u003e replied on the change","reason_account":{"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"}}},"hashtags":["ironic-week-prio"],"change_id":"I5437343af6c6157882bcf0600dd89bd20478c948","subject":"Graceful way for hardware managers to ignore certain devices","status":"MERGED","created":"2025-07-03 10:23:19.000000000","updated":"2025-07-11 17:46:16.000000000","submitted":"2025-07-11 17:45:25.000000000","submitter":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"total_comment_count":2,"unresolved_comment_count":0,"has_review_started":true,"submission_id":"954024-filter-device","meta_rev_id":"18726ac1cce1a3e04a0b4cdae77d43e153079fdd","_number":954024,"virtual_id_number":954024,"owner":{"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"},"actions":{},"labels":{"Verified":{"approved":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"all":[{"value":0,"_account_id":23851,"name":"Riccardo Pittau","email":"elfosardo@gmail.com","username":"elfosardo"},{"tag":"autogenerated:zuul:gate","value":2,"date":"2025-07-11 17:45:24.000000000","permitted_voting_range":{"min":2,"max":2},"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},{"value":0,"_account_id":24828,"name":"Kaifeng Wang","email":"kaifeng.w@gmail.com","username":"wangkf"}],"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":23851,"name":"Riccardo Pittau","email":"elfosardo@gmail.com","username":"elfosardo"},"all":[{"value":2,"date":"2025-07-09 08:20:02.000000000","permitted_voting_range":{"min":2,"max":2},"_account_id":23851,"name":"Riccardo Pittau","email":"elfosardo@gmail.com","username":"elfosardo"},{"value":0,"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},{"value":2,"date":"2025-07-09 09:13:42.000000000","permitted_voting_range":{"min":2,"max":2},"_account_id":24828,"name":"Kaifeng Wang","email":"kaifeng.w@gmail.com","username":"wangkf"}],"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":24828,"name":"Kaifeng Wang","email":"kaifeng.w@gmail.com","username":"wangkf"},"all":[{"value":0,"_account_id":23851,"name":"Riccardo Pittau","email":"elfosardo@gmail.com","username":"elfosardo"},{"value":0,"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},{"value":1,"date":"2025-07-09 09:13:42.000000000","permitted_voting_range":{"min":1,"max":1},"_account_id":24828,"name":"Kaifeng Wang","email":"kaifeng.w@gmail.com","username":"wangkf"}],"values":{"-1":"Work in progress"," 0":"Ready for reviews","+1":"Approved"},"description":"","default_value":0,"optional":true},"Backport-Candidate":{"all":[{"value":0,"_account_id":23851,"name":"Riccardo Pittau","email":"elfosardo@gmail.com","username":"elfosardo"},{"value":0,"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},{"value":0,"_account_id":24828,"name":"Kaifeng Wang","email":"kaifeng.w@gmail.com","username":"wangkf"}],"values":{"-1":"Do Not Backport"," 0":"Backport Review Needed","+1":"Should Backport"},"description":"","default_value":0,"optional":true}},"removable_reviewers":[],"reviewers":{"REVIEWER":[{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},{"_account_id":23851,"name":"Riccardo Pittau","email":"elfosardo@gmail.com","username":"elfosardo"},{"_account_id":24828,"name":"Kaifeng Wang","email":"kaifeng.w@gmail.com","username":"wangkf"}]},"pending_reviewers":{},"reviewer_updates":[{"updated":"2025-07-03 10:42:59.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":"2025-07-03 13:32:49.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-07-09 08:20:02.000000000","updated_by":{"_account_id":23851,"name":"Riccardo Pittau","email":"elfosardo@gmail.com","username":"elfosardo"},"reviewer":{"_account_id":23851,"name":"Riccardo Pittau","email":"elfosardo@gmail.com","username":"elfosardo"},"state":"REVIEWER"},{"updated":"2025-07-09 09:13:42.000000000","updated_by":{"_account_id":24828,"name":"Kaifeng Wang","email":"kaifeng.w@gmail.com","username":"wangkf"},"reviewer":{"_account_id":24828,"name":"Kaifeng Wang","email":"kaifeng.w@gmail.com","username":"wangkf"},"state":"REVIEWER"}],"messages":[{"id":"3c1c39071939dc1b22b29c29b42eaeae9ccb90bf","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"},"date":"2025-07-03 10:23:19.000000000","message":"Uploaded patch set 1.","accounts_in_message":[],"_revision_number":1},{"id":"3b65d334b3072f1126747ddf1344bbc008bb3057","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"},"date":"2025-07-03 10:29:10.000000000","message":"Uploaded patch set 2.","accounts_in_message":[],"_revision_number":2},{"id":"c7e3ae79df1463de46ea421432943ec81973ed02","tag":"autogenerated:zuul:check-arm64","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2025-07-03 10:42:59.000000000","message":"Patch Set 2:\n\nBuild succeeded (ARM64 pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/090a8b74d83041a28d01a28c4f08353f\n\n- openstack-tox-py310-arm64 https://zuul.opendev.org/t/openstack/build/4353ae787ebc48a9a2794cf9c8f2a3f3 : SUCCESS in 4m 17s (non-voting)\n- openstack-tox-py312-arm64 https://zuul.opendev.org/t/openstack/build/5dc2b399fee240daa93adbc901b12fe6 : SUCCESS in 6m 12s (non-voting)\n- openstack-tox-py313-arm64 https://zuul.opendev.org/t/openstack/build/1864daee17cf4d278c3bd1db7937fa83 : SUCCESS in 11m 48s (non-voting)","accounts_in_message":[],"_revision_number":2},{"id":"8450c9c8e12fae768ce94dfa5f8ecf7ab9a3b0dd","tag":"autogenerated:zuul:check","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2025-07-03 13:32:49.000000000","message":"Patch Set 2: 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/d109efa512d34a92b24ac14d3b1c570d\n\n- openstack-tox-cover https://zuul.opendev.org/t/openstack/build/9eaad57399f64ac48417ce29c4890317 : SUCCESS in 5m 31s\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/2424c67e87f646789180d257dd238e7f : SUCCESS in 4m 56s\n- openstack-tox-py310 https://zuul.opendev.org/t/openstack/build/e4ab773efe2b4ab9afbf5a8fe3ece400 : SUCCESS in 3m 19s\n- openstack-tox-py312 https://zuul.opendev.org/t/openstack/build/e8f6ff455b04438089956a01e8d81a10 : SUCCESS in 4m 10s\n- openstack-tox-py313 https://zuul.opendev.org/t/openstack/build/565fc6d6a37349a2840c86e94dc07cba : SUCCESS in 6m 04s (non-voting)\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/f1902fd44fd44bc2a4dcdbe4a1798bdb : SUCCESS in 7m 39s\n- build-openstack-releasenotes https://zuul.opendev.org/t/openstack/build/98e3b99f2a664941a61ed85e83b435e8 : SUCCESS in 2m 40s\n- openstack-tox-functional https://zuul.opendev.org/t/openstack/build/5b86b39b06d04387a853809ac8d26f8f : FAILURE in 3m 20s\n- ipa-tox-bandit https://zuul.opendev.org/t/openstack/build/9d84988b28224b92ae246925fd2cca0f : SUCCESS in 3m 40s\n- ipa-tempest-bios-ipmi-direct-src https://zuul.opendev.org/t/openstack/build/ce337e88231d47d49f93f3cd315f443f : FAILURE in 59m 13s\n- ipa-tempest-uefi-redfish-vmedia-src https://zuul.opendev.org/t/openstack/build/be15d3bc13174577bd37c571fb4c289a : FAILURE in 57m 35s\n- metalsmith-integration-ipa-src-uefi https://zuul.opendev.org/t/openstack/build/f933f177f65a4285a62aa8cf98410369 : FAILURE in 1h 16m 05s\n- ironic-standalone-ipa-src https://zuul.opendev.org/t/openstack/build/3f4318d9693849d781dc06b2cf510340 : TIMED_OUT in 3h 02m 37s\n- ironic-python-agent-check-image-dib-centos9 https://zuul.opendev.org/t/openstack/build/c67cd8e9e33f4be08978891f05037352 : SUCCESS in 9m 22s (non-voting)\n- ipa-tempest-ironic-inspector-src https://zuul.opendev.org/t/openstack/build/352874b3b34549e486b7654f98f1d6c8 : FAILURE in 1h 09m 02s (non-voting)","accounts_in_message":[],"_revision_number":2},{"id":"f92277ce9a3e2c65ed1c868efbc2317c89d095f6","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"},"date":"2025-07-04 14:33:35.000000000","message":"Uploaded patch set 3: Patch Set 2 was rebased.\n\nOutdated Votes:\n* Verified-1\n","accounts_in_message":[],"_revision_number":3},{"id":"849b9f36900e72953d953c469a51d800a6cddcda","tag":"autogenerated:zuul:check-arm64","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2025-07-04 15:42:57.000000000","message":"Patch Set 3:\n\nBuild succeeded (ARM64 pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/e8f55dc8b4b54b87ad1a2f2d3b5ec3ec\n\n- openstack-tox-py310-arm64 https://zuul.opendev.org/t/openstack/build/20d1a935471e4eeab415de44b72b2c1c : SUCCESS in 6m 44s (non-voting)\n- openstack-tox-py312-arm64 https://zuul.opendev.org/t/openstack/build/a4089cc058f54a35ba80dd75c2bfd5ba : SUCCESS in 6m 38s (non-voting)\n- openstack-tox-py313-arm64 https://zuul.opendev.org/t/openstack/build/c9b152ccb0b948c6b05a36d94ff6eab7 : SUCCESS in 9m 52s (non-voting)","accounts_in_message":[],"_revision_number":3},{"id":"dcf5b82cecf4ca16b20f07554bdd59c70ffc69b3","tag":"autogenerated:zuul:check","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2025-07-04 16:18:38.000000000","message":"Patch Set 3: Verified+1\n\nBuild succeeded (check pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/4b3c91e0f7be4780af4064c2ab5bd0cb\n\n- openstack-tox-cover https://zuul.opendev.org/t/openstack/build/4d4e4124a2c84577a487a361626d3675 : SUCCESS in 5m 07s\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/41e0fc4edbf34eec93941b781a4548cd : SUCCESS in 7m 17s\n- openstack-tox-py310 https://zuul.opendev.org/t/openstack/build/dcc08f6a97d34bf8b8d51a3f8697d913 : SUCCESS in 3m 37s\n- openstack-tox-py312 https://zuul.opendev.org/t/openstack/build/5a410b85e04145ee8553e97f0aceec48 : SUCCESS in 2m 40s\n- openstack-tox-py313 https://zuul.opendev.org/t/openstack/build/1217440974f04cfc8c45e6ffac7a2940 : SUCCESS in 7m 36s (non-voting)\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/6812f8e3dab44a049262d2967d4ebe96 : SUCCESS in 7m 57s\n- build-openstack-releasenotes https://zuul.opendev.org/t/openstack/build/bc4cae8847fe4db28ce34b7407688e4a : SUCCESS in 2m 30s\n- openstack-tox-functional https://zuul.opendev.org/t/openstack/build/1d31df2f159b4727a05b90e711236300 : SUCCESS in 3m 25s\n- ipa-tox-bandit https://zuul.opendev.org/t/openstack/build/61d7591024ba4b61b7c102cb4cc8b70c : SUCCESS in 3m 10s\n- ipa-tempest-bios-ipmi-direct-src https://zuul.opendev.org/t/openstack/build/ab340dd1e96e4f36b445279d6c5fbc0a : SUCCESS in 30m 36s\n- ipa-tempest-uefi-redfish-vmedia-src https://zuul.opendev.org/t/openstack/build/4b001bd9c2b34d0cbb17169563369a00 : SUCCESS in 1h 00m 54s\n- metalsmith-integration-ipa-src-uefi https://zuul.opendev.org/t/openstack/build/570f4c9f9c0c48e6b6c93b2251cdaa30 : SUCCESS in 1h 39m 53s\n- ironic-standalone-ipa-src https://zuul.opendev.org/t/openstack/build/f589ff8265d8478fbcfbcf60231eb164 : SUCCESS in 53m 23s\n- ironic-python-agent-check-image-dib-centos9 https://zuul.opendev.org/t/openstack/build/1ad2d7d368804b84b048b8037a6de876 : SUCCESS in 9m 11s (non-voting)\n- ipa-tempest-ironic-inspector-src https://zuul.opendev.org/t/openstack/build/608def7bfe6942d1bd9c4313c3040610 : SUCCESS in 1h 30m 59s (non-voting)","accounts_in_message":[],"_revision_number":3},{"id":"f794b23c16ee98cbec4e19c5796dd7c3bea1fd3b","tag":"autogenerated:gerrit:setHashtag","author":{"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"},"date":"2025-07-07 12:23:42.000000000","message":"Hashtag added: ironic-week-prio","accounts_in_message":[],"_revision_number":3},{"id":"aa251d91e6bf70b8a58da07f7f2e8bb80f8d6ae0","author":{"_account_id":23851,"name":"Riccardo Pittau","email":"elfosardo@gmail.com","username":"elfosardo"},"date":"2025-07-09 08:20:02.000000000","message":"Patch Set 3: Code-Review+2","accounts_in_message":[],"_revision_number":3},{"id":"eb5793ae8205c85102d34e0c6f6592ffd3eb2cd8","author":{"_account_id":24828,"name":"Kaifeng Wang","email":"kaifeng.w@gmail.com","username":"wangkf"},"date":"2025-07-09 09:13:42.000000000","message":"Patch Set 3: Code-Review+2 Workflow+1\n\n(1 comment)","accounts_in_message":[],"_revision_number":3},{"id":"94890eb581b7d1fe429b2cd757a483151b666b12","tag":"autogenerated:zuul:gate","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2025-07-09 09:17:21.000000000","message":"Patch Set 3: -Verified\n\nStarting gate jobs.","accounts_in_message":[],"_revision_number":3},{"id":"b8d472ab43693f770140d353d44771dea8b586ce","tag":"autogenerated:zuul:gate","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2025-07-09 10:41:21.000000000","message":"Patch Set 3: Verified-2\n\nThis change depends on a change that failed to merge.\n\nChange https://review.opendev.org/954139 is needed.","accounts_in_message":[],"_revision_number":3},{"id":"73e79e3cbbd9b595c8a3b61665561c3befd773d1","author":{"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"},"date":"2025-07-11 14:20:15.000000000","message":"Patch Set 3:\n\n(1 comment)","accounts_in_message":[],"_revision_number":3},{"id":"215fdbde08f8b0cabee1b5d858d9d8327524d4a1","tag":"autogenerated:zuul:check-arm64","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2025-07-11 14:37:07.000000000","message":"Patch Set 3:\n\nBuild succeeded (ARM64 pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/64b22c7b0bf146bd8bfe44fe0fc44541\n\n- openstack-tox-py310-arm64 https://zuul.opendev.org/t/openstack/build/bde74145c77e41c28130f2fdbd13f2a6 : SUCCESS in 6m 15s (non-voting)\n- openstack-tox-py312-arm64 https://zuul.opendev.org/t/openstack/build/13a1727a6a134bdd98ae00ea6b3a39cd : SUCCESS in 5m 09s (non-voting)\n- openstack-tox-py313-arm64 https://zuul.opendev.org/t/openstack/build/4cf9fe8917d44d659716dd057c23fa1b : SUCCESS in 5m 45s (non-voting)","accounts_in_message":[],"_revision_number":3},{"id":"657150bfdd058f6233aa5e1e8b9feb92f96067e6","tag":"autogenerated:zuul:check","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2025-07-11 16:06:02.000000000","message":"Patch Set 3: Verified+1\n\nBuild succeeded (check pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/0ab4dcf39cac44a7b62556aa9d7bfbf5\n\n- openstack-tox-cover https://zuul.opendev.org/t/openstack/build/aa303bed0ac646078095c8e41d15a57d : SUCCESS in 3m 39s\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/c1e80127febc4c49969537e194eff875 : SUCCESS in 4m 56s\n- openstack-tox-py310 https://zuul.opendev.org/t/openstack/build/25502a9e11594fbe9a4489db4c337008 : SUCCESS in 2m 26s\n- openstack-tox-py312 https://zuul.opendev.org/t/openstack/build/9f85c0f64d624fa59fc8d5b6b1556298 : SUCCESS in 3m 55s\n- openstack-tox-py313 https://zuul.opendev.org/t/openstack/build/488da648a21c421cb9fcdb119710b0de : SUCCESS in 5m 35s (non-voting)\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/cea383720f914f84a843396b1a085b21 : SUCCESS in 4m 00s\n- build-openstack-releasenotes https://zuul.opendev.org/t/openstack/build/fb77d4631d1b4bd8ad1dbc72d951bbb3 : SUCCESS in 3m 02s\n- openstack-tox-functional https://zuul.opendev.org/t/openstack/build/e350759ca15e4e178e834e5c14ebfdf9 : SUCCESS in 3m 58s\n- ipa-tox-bandit https://zuul.opendev.org/t/openstack/build/db3e083890784934879045a36cbf2fc5 : SUCCESS in 3m 21s\n- ipa-tempest-bios-ipmi-direct-src https://zuul.opendev.org/t/openstack/build/77a8407a882d41bda42b76227b7c97e1 : SUCCESS in 1h 10m 56s\n- ipa-tempest-uefi-redfish-vmedia-src https://zuul.opendev.org/t/openstack/build/d58bdf8a79744ebea7fa8bfb6dd9ac71 : SUCCESS in 1h 17m 40s\n- metalsmith-integration-ipa-src-uefi https://zuul.opendev.org/t/openstack/build/1ea7d11fd7ee48028f94d5f5065c4ba9 : SUCCESS in 1h 16m 40s\n- ironic-standalone-ipa-src https://zuul.opendev.org/t/openstack/build/4528d009580a452e95c92b3d2249c78e : SUCCESS in 51m 34s\n- ironic-python-agent-check-image-dib-centos9 https://zuul.opendev.org/t/openstack/build/63858a24842f4d349175619273d75b4f : SUCCESS in 9m 21s (non-voting)\n- ipa-tempest-ironic-inspector-src https://zuul.opendev.org/t/openstack/build/8236e53eedf04c079c2fdeade938632f : SUCCESS in 1h 43m 40s (non-voting)","accounts_in_message":[],"_revision_number":3},{"id":"9134c7d2b46bc6150018675b2c0dd6c0e9ddb4c0","tag":"autogenerated:zuul:gate","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2025-07-11 16:06:33.000000000","message":"Patch Set 3: -Verified\n\nStarting gate jobs.","accounts_in_message":[],"_revision_number":3},{"id":"d9186a441c6ab756186a95b280fcd859c8ca97e8","tag":"autogenerated:zuul:gate","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2025-07-11 17:45:24.000000000","message":"Patch Set 3: Verified+2\n\nBuild succeeded (gate pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/901be47b59964cbcaca2ccf7a2a493f9\n\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/35de9247a6e74ef3a14930a3bf46a391 : SUCCESS in 5m 53s\n- openstack-tox-py310 https://zuul.opendev.org/t/openstack/build/024364a572564919ae48a909f5d693c2 : SUCCESS in 3m 26s\n- openstack-tox-py312 https://zuul.opendev.org/t/openstack/build/6cd08012decb49e8908e6d43acb6087b : SUCCESS in 4m 14s\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/16d506982833440892c538e7ec1c5e2e : SUCCESS in 7m 41s\n- build-openstack-releasenotes https://zuul.opendev.org/t/openstack/build/3976c6a517644176a637dc1841f2d25a : SUCCESS in 2m 46s\n- openstack-tox-functional https://zuul.opendev.org/t/openstack/build/da2df25908e94ee194516a6d04525631 : SUCCESS in 3m 07s\n- ipa-tox-bandit https://zuul.opendev.org/t/openstack/build/ba5fe6f37db24a85af4da1bf5af3d8cc : SUCCESS in 2m 52s\n- ipa-tempest-bios-ipmi-direct-src https://zuul.opendev.org/t/openstack/build/93d11c660d274a0bb6981dc9fdd483db : SUCCESS in 55m 26s\n- ipa-tempest-uefi-redfish-vmedia-src https://zuul.opendev.org/t/openstack/build/140917b1715e42e18b79e2fb9e9be5f5 : SUCCESS in 1h 12m 32s\n- metalsmith-integration-ipa-src-uefi https://zuul.opendev.org/t/openstack/build/b40f95ebd8394f2eba97eb2445e0342a : SUCCESS in 1h 38m 44s\n- ironic-standalone-ipa-src https://zuul.opendev.org/t/openstack/build/ee5a7cfec4b340c5ac82f2d37786e42f : SUCCESS in 43m 42s","accounts_in_message":[],"_revision_number":3},{"id":"f821adf5fb6c0832df56cdf6808ac2cc6dba07bf","tag":"autogenerated:gerrit:merged","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2025-07-11 17:45:25.000000000","message":"Change has been successfully merged","accounts_in_message":[],"_revision_number":3},{"id":"18726ac1cce1a3e04a0b4cdae77d43e153079fdd","tag":"autogenerated:zuul:promote","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2025-07-11 17:46:16.000000000","message":"Patch Set 3:\n\nBuild succeeded (promote pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/15de6287d9f349f78144877ff79a42c1\n\n- promote-openstack-tox-docs https://zuul.opendev.org/t/openstack/build/6ddf89f475de49338f54747b467afd1b : SUCCESS in 40s\n- promote-openstack-releasenotes https://zuul.opendev.org/t/openstack/build/3ca3ccc05af246babe10f2b97cf23a66 : SUCCESS in 38s","accounts_in_message":[],"_revision_number":3}],"current_revision_number":3,"current_revision":"9db3cd1e4d72462eb9303fd917f2d19a823cf4f0","revisions":{"1171401b5c949a56e3eeb952eff8d7e8ea7492bc":{"kind":"REWORK","_number":1,"created":"2025-07-03 10:23:19.000000000","uploader":{"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"},"ref":"refs/changes/24/954024/1","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/ironic-python-agent","ref":"refs/changes/24/954024/1","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/ironic-python-agent refs/changes/24/954024/1 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/ironic-python-agent refs/changes/24/954024/1 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/ironic-python-agent refs/changes/24/954024/1 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/ironic-python-agent refs/changes/24/954024/1"}}},"commit":{"parents":[{"commit":"883e3cf057aa1e3f7ed5a6fd485e7ab62a8cfd55","subject":"Remove unused tinyipa CI job","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/ironic-python-agent/commit/883e3cf057aa1e3f7ed5a6fd485e7ab62a8cfd55"}]}],"author":{"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","date":"2025-07-03 09:48:44.000000000","tz":120},"committer":{"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","date":"2025-07-03 10:22:52.000000000","tz":120},"subject":"Graceful way for hardware managers to ignore certain devices","message":"Graceful way for hardware managers to ignore certain devices\n\nMy use case for this feature is to exclude network devices that use\nthe cdc_ether driver. These USB network interfaces often cause all sorts\nof issues. For example, some models have the same hardcoded MAC address,\nwhich breaks inspection.\n\nCurrently, to exclude a certain device, a hardware manager must override\nthe entire listing function (in my case, list_interfaces). Not only is\nit tedious, but it also requires constantly updating the hardware\nmanagers to match the implementation in GenericHardware. Realistically,\nit will cause hardware manager authors to inherit GenericHardware, which\nis the opposite of how hardware managers should be written.\n\nThis change adds a new hardware manager call filter_device. For each\nnetwork, block or USB device, it allows a hardware manager to do either\nof four things:\n1. Delegate the decision to a lower level hardware manager by raising\n   IncompatibleHardwareMethodError\n2. Remove the device by returning None\n3. Change the device by returning a modified instance\n4. Return the device unchanged to keep it in the listing.\n\nNote that I\u0027m removing debug logging when IncompatibleHardwareMethodError\nis raised. Not only the log message is incorrect (the error does not\nnecessarily mean that the method is not implemented at all), it already\nnoticeable space in the logs, and with this change will become very\nnoisy.\n\nChange-Id: I5437343af6c6157882bcf0600dd89bd20478c948\nSigned-off-by: Dmitry Tantsur \u003cdtantsur@protonmail.com\u003e\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/ironic-python-agent/commit/1171401b5c949a56e3eeb952eff8d7e8ea7492bc"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/ironic-python-agent/commit/1171401b5c949a56e3eeb952eff8d7e8ea7492bc"}]},"branch":"refs/heads/master"},"93818934961363b7be889684022d4dad8dfc19d1":{"kind":"REWORK","_number":2,"created":"2025-07-03 10:29:10.000000000","uploader":{"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"},"ref":"refs/changes/24/954024/2","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/ironic-python-agent","ref":"refs/changes/24/954024/2","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/ironic-python-agent refs/changes/24/954024/2 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/ironic-python-agent refs/changes/24/954024/2 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/ironic-python-agent refs/changes/24/954024/2 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/ironic-python-agent refs/changes/24/954024/2"}}},"commit":{"parents":[{"commit":"883e3cf057aa1e3f7ed5a6fd485e7ab62a8cfd55","subject":"Remove unused tinyipa CI job","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/ironic-python-agent/commit/883e3cf057aa1e3f7ed5a6fd485e7ab62a8cfd55"}]}],"author":{"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","date":"2025-07-03 09:48:44.000000000","tz":120},"committer":{"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","date":"2025-07-03 10:29:01.000000000","tz":120},"subject":"Graceful way for hardware managers to ignore certain devices","message":"Graceful way for hardware managers to ignore certain devices\n\nMy use case for this feature is to exclude network devices that use\nthe cdc_ether driver. These USB network interfaces often cause all sorts\nof issues. For example, some models have the same hardcoded MAC address,\nwhich breaks inspection.\n\nCurrently, to exclude a certain device, a hardware manager must override\nthe entire listing function (in my case, list_interfaces). Not only is\nit tedious, but it also requires constantly updating the hardware\nmanagers to match the implementation in GenericHardware. Realistically,\nit will cause hardware manager authors to inherit GenericHardware, which\nis the opposite of how hardware managers should be written.\n\nNote that the node-level skip list only affects root device selection\nand cleaning for block devices. This feature affects everything that\nuses list_block_devices and is applied before the node-level skip list.\n\nThis change adds a new hardware manager call filter_device. For each\nnetwork, block or USB device, it allows a hardware manager to do either\nof four things:\n1. Delegate the decision to a lower level hardware manager by raising\n   IncompatibleHardwareMethodError\n2. Remove the device by returning None\n3. Change the device by returning a modified instance\n4. Return the device unchanged to keep it in the listing.\n\nNote that I\u0027m removing debug logging when IncompatibleHardwareMethodError\nis raised. Not only the log message is incorrect (the error does not\nnecessarily mean that the method is not implemented at all), it already\nnoticeable space in the logs, and with this change will become very\nnoisy.\n\nChange-Id: I5437343af6c6157882bcf0600dd89bd20478c948\nSigned-off-by: Dmitry Tantsur \u003cdtantsur@protonmail.com\u003e\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/ironic-python-agent/commit/93818934961363b7be889684022d4dad8dfc19d1"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/ironic-python-agent/commit/93818934961363b7be889684022d4dad8dfc19d1"}]},"branch":"refs/heads/master"},"9db3cd1e4d72462eb9303fd917f2d19a823cf4f0":{"kind":"TRIVIAL_REBASE","_number":3,"created":"2025-07-04 14:33:35.000000000","uploader":{"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"},"ref":"refs/changes/24/954024/3","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/ironic-python-agent","ref":"refs/changes/24/954024/3","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/ironic-python-agent refs/changes/24/954024/3 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/ironic-python-agent refs/changes/24/954024/3 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/ironic-python-agent refs/changes/24/954024/3 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/ironic-python-agent refs/changes/24/954024/3"}}},"commit":{"parents":[{"commit":"9426df9ab35387d680fc258fa8e81ade7166519a","subject":"Split hardware manager initialize out of evaluate_hardware_support","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/ironic-python-agent/commit/9426df9ab35387d680fc258fa8e81ade7166519a"}]}],"author":{"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","date":"2025-07-03 09:48:44.000000000","tz":120},"committer":{"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","date":"2025-07-04 14:31:02.000000000","tz":120},"subject":"Graceful way for hardware managers to ignore certain devices","message":"Graceful way for hardware managers to ignore certain devices\n\nMy use case for this feature is to exclude network devices that use\nthe cdc_ether driver. These USB network interfaces often cause all sorts\nof issues. For example, some models have the same hardcoded MAC address,\nwhich breaks inspection.\n\nCurrently, to exclude a certain device, a hardware manager must override\nthe entire listing function (in my case, list_interfaces). Not only is\nit tedious, but it also requires constantly updating the hardware\nmanagers to match the implementation in GenericHardware. Realistically,\nit will cause hardware manager authors to inherit GenericHardware, which\nis the opposite of how hardware managers should be written.\n\nNote that the node-level skip list only affects root device selection\nand cleaning for block devices. This feature affects everything that\nuses list_block_devices and is applied before the node-level skip list.\n\nThis change adds a new hardware manager call filter_device. For each\nnetwork, block or USB device, it allows a hardware manager to do either\nof four things:\n1. Delegate the decision to a lower level hardware manager by raising\n   IncompatibleHardwareMethodError\n2. Remove the device by returning None\n3. Change the device by returning a modified instance\n4. Return the device unchanged to keep it in the listing.\n\nNote that I\u0027m removing debug logging when IncompatibleHardwareMethodError\nis raised. Not only the log message is incorrect (the error does not\nnecessarily mean that the method is not implemented at all), it already\nnoticeable space in the logs, and with this change will become very\nnoisy.\n\nChange-Id: I5437343af6c6157882bcf0600dd89bd20478c948\nSigned-off-by: Dmitry Tantsur \u003cdtantsur@protonmail.com\u003e\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/ironic-python-agent/commit/9db3cd1e4d72462eb9303fd917f2d19a823cf4f0"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/ironic-python-agent/commit/9db3cd1e4d72462eb9303fd917f2d19a823cf4f0"}]},"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":23851,"name":"Riccardo Pittau","email":"elfosardo@gmail.com","username":"elfosardo"}},{"label":"Workflow","status":"MAY","applied_by":{"_account_id":24828,"name":"Kaifeng Wang","email":"kaifeng.w@gmail.com","username":"wangkf"}},{"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":{}}}]}
