)]}'
{"id":"openstack%2Fcyborg~1003061","triplet_id":"openstack%2Fcyborg~master~Ic0a249be70b7b99a123cc0d310d59120ed19758a","project":"openstack/cyborg","branch":"master","topic":"bug/2163799","attention_set":{"39344":{"account":{"_account_id":39344,"name":"Gihong Lee","display_name":"gamio","email":"gh9231@gmail.com","username":"gamio"},"last_update":"2026-08-31 23:29:49.000000000","reason":"Someone else replied on the change"}},"removed_from_attention_set":{"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-08-31 16:49:06.000000000","reason":"removed on reply"}},"hashtags":[],"change_id":"Ic0a249be70b7b99a123cc0d310d59120ed19758a","subject":"Normalize device_addresses comparisons in NIC/GPU drivers","status":"NEW","created":"2026-08-31 14:06:55.000000000","updated":"2026-09-02 17:29:05.000000000","submit_type":"MERGE_IF_NECESSARY","mergeable":true,"submittable":false,"total_comment_count":8,"unresolved_comment_count":3,"has_review_started":true,"meta_rev_id":"ecb0cac302ee7cb65a45ca1bd6da7915360e45a4","_number":1003061,"virtual_id_number":1003061,"owner":{"_account_id":39344,"name":"Gihong Lee","display_name":"gamio","email":"gh9231@gmail.com","username":"gamio"},"actions":{},"labels":{"Verified":{"recommended":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"all":[{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},{"_account_id":34452,"name":"Joan Gilabert","display_name":"jgilaber","email":"jgilaber@redhat.com","username":"jgilaber"},{"_account_id":12393,"name":"chandan kumar","display_name":"Chandan Kumar","email":"chkumar@redhat.com","username":"chkumar246"},{"tag":"autogenerated:zuul:check","value":1,"date":"2026-08-31 16:33:26.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":"","value":1,"default_value":0,"optional":true},"Code-Review":{"approved":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"recommended":{"_account_id":34452,"name":"Joan Gilabert","display_name":"jgilaber","email":"jgilaber@redhat.com","username":"jgilaber"},"all":[{"value":2,"date":"2026-09-02 17:29:05.000000000","permitted_voting_range":{"min":-2,"max":2},"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},{"value":1,"date":"2026-09-01 17:29:43.000000000","permitted_voting_range":{"min":-1,"max":1},"_account_id":34452,"name":"Joan Gilabert","display_name":"jgilaber","email":"jgilaber@redhat.com","username":"jgilaber"},{"value":1,"date":"2026-09-01 11:06:42.000000000","permitted_voting_range":{"min":-1,"max":1},"_account_id":12393,"name":"chandan kumar","display_name":"Chandan Kumar","email":"chkumar@redhat.com","username":"chkumar246"},{"value":0,"permitted_voting_range":{"min":-1,"max":1},"_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":"","value":1,"default_value":0,"optional":true},"Workflow":{"all":[{"value":0,"permitted_voting_range":{"min":-1,"max":1},"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},{"_account_id":34452,"name":"Joan Gilabert","display_name":"jgilaber","email":"jgilaber@redhat.com","username":"jgilaber"},{"_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"]}],"values":{"-1":"Work in progress"," 0":"Ready for reviews","+1":"Approved"},"description":"","default_value":0,"optional":true}},"removable_reviewers":[],"reviewers":{"CC":[{"_account_id":28006,"name":"teim-ci","display_name":"teim-ci","email":"ci@seanmooney.info","username":"ci-sean-mooney","status":"this is a third-party ci account run by sean-k-mooney on irc\nhosted at zuul.teim.app"}],"REVIEWER":[{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},{"_account_id":12393,"name":"chandan kumar","display_name":"Chandan Kumar","email":"chkumar@redhat.com","username":"chkumar246"},{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},{"_account_id":34452,"name":"Joan Gilabert","display_name":"jgilaber","email":"jgilaber@redhat.com","username":"jgilaber"}]},"pending_reviewers":{},"reviewer_updates":[{"updated":"2026-08-31 14:07:03.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-08-31 15:05:25.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-09-01 11:06:42.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-09-01 17:29:43.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-09-02 17:29:05.000000000","updated_by":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"reviewer":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"state":"REVIEWER"}],"messages":[{"id":"e8da5330b5e551fb4a6667ef78e4347eff6efc84","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":39344,"name":"Gihong Lee","display_name":"gamio","email":"gh9231@gmail.com","username":"gamio"},"date":"2026-08-31 14:06:55.000000000","message":"Uploaded patch set 1.","accounts_in_message":[],"_revision_number":1},{"id":"85543f789f7693e2e4db472c371748ff4f761517","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-08-31 14:07:03.000000000","message":"Patch Set 1:\n\nStarting automatic-ci jobs.","accounts_in_message":[],"_revision_number":1},{"id":"3e53105efa850e17d7ef3f24d90545f99f9e5889","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-08-31 14:18:59.000000000","message":"Patch Set 1:\n\n(1 comment)\n\nBuild succeeded (automatic-ci pipeline).\nhttps://zuul.teim.app/t/main/buildset/cb167b32e35a4bfa9ec5a1269cc722a9\n\n- teim-code-review https://zuul.teim.app/t/main/build/dc6c00e25d1c4ae59d69fe9bcad755db : SUCCESS in 7m 47s","accounts_in_message":[],"_revision_number":1},{"id":"ef3d94b450eb9fdf5c6ae1df0271e35598c157a6","tag":"autogenerated:zuul:check","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-08-31 15:05:25.000000000","message":"Patch Set 1: Verified+1\n\nBuild succeeded (check pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/5161d1ca872a4c73aee24fde0ba0cdba\n\n- openstack-tox-cover https://zuul.opendev.org/t/openstack/build/f9b3a8a4f42f47bb9e8f70814284a610 : SUCCESS in 6m 24s\n- build-openstack-releasenotes https://zuul.opendev.org/t/openstack/build/750de058b0174e2d850b6ace0001b36b : SUCCESS in 3m 33s\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/fffa7f10096b46a08ff198b2bbd2a3d4 : SUCCESS in 5m 03s\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/f224d7864ce04d178a02b0761b32501a : SUCCESS in 4m 35s\n- openstack-tox-py311 https://zuul.opendev.org/t/openstack/build/9bb88104ad4842a6b6d10f460d17a742 : SUCCESS in 5m 46s\n- openstack-tox-py313 https://zuul.opendev.org/t/openstack/build/9b7c876840b041fb8a48798e7f6c9902 : SUCCESS in 4m 16s\n- openstack-tox-py314 https://zuul.opendev.org/t/openstack/build/addcd7e781924b11828222cfccb9112d : SUCCESS in 7m 38s (non-voting)\n- openstack-tox-functional https://zuul.opendev.org/t/openstack/build/c4938dc994984afa9829fedb675a12e0 : SUCCESS in 5m 11s\n- cyborg-tempest-py3 https://zuul.opendev.org/t/openstack/build/f7598f2a530b4f46871cea39069fc9f2 : SUCCESS in 30m 55s\n- cyborg-tempest-ipv6 https://zuul.opendev.org/t/openstack/build/644f91bfe6094cc38a1da967ed4c1138 : SUCCESS in 34m 12s\n- cyborg-grenade https://zuul.opendev.org/t/openstack/build/71c52bd3140f41369054aaeca0eecc4d : SUCCESS in 47m 06s\n- cyborg-grenade-skip-level-always https://zuul.opendev.org/t/openstack/build/b772ba03782d4718913687ff2004bf5c : SUCCESS in 50m 02s\n- cyborg-tempest-srbac https://zuul.opendev.org/t/openstack/build/df127813433c4d5c9c205affb7f9f44b : SUCCESS in 30m 36s\n\nWarning:\n  File .ansible/tmp/ansible-tmp-1788185996.5061698-406-134858862593816/AnsiballZ_repo_sync.py found in build home directory during playbook opendev.org/opendev/base-jobs/playbooks/base/post.yaml for job openstack-tox-py313.  Add to preserve-home-paths if safe, or otherwise remove.\n  File .ansible/tmp/ansible-tmp-1788185996.5061698-406-134858862593816/AnsiballZ_repo_sync.py found in build home directory during playbook opendev.org/opendev/base-jobs/playbooks/base/cleanup.yaml for job openstack-tox-py313.  Add to preserve-home-paths if safe, or otherwise remove.\n  File .ansible/tmp/ansible-tmp-1788185996.5061698-406-134858862593816/AnsiballZ_repo_sync.py found in build home directory during playbook opendev.org/opendev/base-jobs/playbooks/base/post-logs.yaml for job openstack-tox-py313.  Add to preserve-home-paths if safe, or otherwise remove.","accounts_in_message":[],"_revision_number":1},{"id":"390ab7b05b76f16767a584928d4adff056439cb5","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":39344,"name":"Gihong Lee","display_name":"gamio","email":"gh9231@gmail.com","username":"gamio"},"date":"2026-08-31 15:28:39.000000000","message":"Uploaded patch set 2.\n\nOutdated Votes:\n* Verified+1 (copy condition: \"NEVER\")\n","accounts_in_message":[],"_revision_number":2},{"id":"cefce6e737c177bd30cd403b46012fa18a6d16d1","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-08-31 15:28:46.000000000","message":"Patch Set 2:\n\nStarting automatic-ci jobs.","accounts_in_message":[],"_revision_number":2},{"id":"c9422cfd55f1d668fff05f398b3057411877fafe","author":{"_account_id":39344,"name":"Gihong Lee","display_name":"gamio","email":"gh9231@gmail.com","username":"gamio"},"date":"2026-08-31 15:30:24.000000000","message":"Patch Set 1:\n\n(1 comment)","accounts_in_message":[],"_revision_number":1},{"id":"6642a6ff8efd6955f3873f4335307899ab682a98","tag":"autogenerated:zuul:check","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-08-31 16:33:26.000000000","message":"Patch Set 2: Verified+1\n\nBuild succeeded (check pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/6744e1310a534eb9860e34802aa990a8\n\n- openstack-tox-cover https://zuul.opendev.org/t/openstack/build/f1096db11a96413aa51588e5668f692b : SUCCESS in 3m 34s\n- build-openstack-releasenotes https://zuul.opendev.org/t/openstack/build/95792ee72f984532b1e04c5400669b7e : SUCCESS in 3m 16s\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/83be546dfa6248b18260bf0a75a8ca57 : SUCCESS in 4m 50s\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/13430cf4adda417d97ab4e7a6faccf23 : SUCCESS in 6m 03s\n- openstack-tox-py311 https://zuul.opendev.org/t/openstack/build/6d6c4d0cfad2445a8f96b98b37615dc0 : SUCCESS in 3m 29s\n- openstack-tox-py313 https://zuul.opendev.org/t/openstack/build/c8da61e2d11d4789bbe9c7a2c539e6a7 : SUCCESS in 2m 53s\n- openstack-tox-py314 https://zuul.opendev.org/t/openstack/build/605b9bf737c2426d898eca17310c52fd : SUCCESS in 4m 39s (non-voting)\n- openstack-tox-functional https://zuul.opendev.org/t/openstack/build/8d3b54ca4b604a418c5bccba74fc0214 : SUCCESS in 3m 04s\n- cyborg-tempest-py3 https://zuul.opendev.org/t/openstack/build/675b82abdebd4abba2563777bf1ba443 : SUCCESS in 55m 16s\n- cyborg-tempest-ipv6 https://zuul.opendev.org/t/openstack/build/571b51a93feb498e911b50b45a1f819f : SUCCESS in 35m 41s\n- cyborg-grenade https://zuul.opendev.org/t/openstack/build/7142f3450fa74c2c9bc519aabc4eea3d : SUCCESS in 57m 00s\n- cyborg-grenade-skip-level-always https://zuul.opendev.org/t/openstack/build/490a961e32824a8baf83850bf244127a : SUCCESS in 59m 09s\n- cyborg-tempest-srbac https://zuul.opendev.org/t/openstack/build/9ab709c25db4441d8fd7765d739c488c : SUCCESS in 27m 58s","accounts_in_message":[],"_revision_number":2},{"id":"2c8a467730a3c15c6d7bcdb974a8ca869e692602","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-08-31 16:49:06.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/63b4fb3045d34700af40442879e0a358\n\n- teim-code-review https://zuul.teim.app/t/main/build/35f499fef3e2428dbc86f4877be4a31f : FAILURE in 9m 14s","accounts_in_message":[],"_revision_number":2},{"id":"dbebbb3d4ce3d5342889f224c814e7ac56f5e293","author":{"_account_id":39344,"name":"Gihong Lee","display_name":"gamio","email":"gh9231@gmail.com","username":"gamio"},"date":"2026-08-31 23:29:42.000000000","message":"Patch Set 2:\n\n(1 comment)","accounts_in_message":[],"_revision_number":2},{"id":"7b08d24a911be9c15c635469469505e51189d058","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-08-31 23:29:49.000000000","message":"Patch Set 2:\n\nStarting automatic-ci jobs.","accounts_in_message":[],"_revision_number":2},{"id":"2632789558bea7d4118632b71859be26642b6d3c","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-08-31 23:38:25.000000000","message":"Patch Set 2:\n\nBuild succeeded (automatic-ci pipeline).\nhttps://zuul.teim.app/t/main/buildset/3e037feaf1cc4db19479648f91e50f37\n\n- teim-code-review https://zuul.teim.app/t/main/build/cf82d45b003741ed9880d5eae68a8d88 : SUCCESS in 8m 28s","accounts_in_message":[],"_revision_number":2},{"id":"2c0e6179e019a0632792dfef7713f60885f3d1db","tag":"autogenerated:zuul:check","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-09-01 00:27:49.000000000","message":"Patch Set 2:\n\nBuild succeeded (check pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/52ecedeea8ca49b0b4d512b487bbaeac\n\n- openstack-tox-cover https://zuul.opendev.org/t/openstack/build/066e79624a2e414ba5fa967b7abf27ee : SUCCESS in 5m 04s\n- build-openstack-releasenotes https://zuul.opendev.org/t/openstack/build/9bc84e6fcd274f55bbc36f9712b683f9 : SUCCESS in 4m 16s\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/83137cac5b0b4c7a9886830cfb359c27 : SUCCESS in 9m 01s\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/b433dcc5a41b449aa71fb13d68e7e6cc : SUCCESS in 4m 26s\n- openstack-tox-py311 https://zuul.opendev.org/t/openstack/build/d3a58728fa9549b5852b9e0fcaa10e0c : SUCCESS in 3m 44s\n- openstack-tox-py313 https://zuul.opendev.org/t/openstack/build/1ea08fefc8da4d30a2ec8af27e1796a9 : SUCCESS in 2m 31s\n- openstack-tox-py314 https://zuul.opendev.org/t/openstack/build/1667822fde604a038f0c7e1c37ea047e : SUCCESS in 6m 23s (non-voting)\n- openstack-tox-functional https://zuul.opendev.org/t/openstack/build/5fd6b94b4bfc4686bda41fea66fdb184 : SUCCESS in 3m 50s\n- cyborg-tempest-py3 https://zuul.opendev.org/t/openstack/build/a97f2072d35a4e9a954249931e738130 : SUCCESS in 47m 09s\n- cyborg-tempest-ipv6 https://zuul.opendev.org/t/openstack/build/e70c3f582cac4643b090b555258ff965 : SUCCESS in 39m 34s\n- cyborg-grenade https://zuul.opendev.org/t/openstack/build/e7ea8f38d9ce4e98a7bb7e6c2ebf7b76 : SUCCESS in 42m 57s\n- cyborg-grenade-skip-level-always https://zuul.opendev.org/t/openstack/build/8d7bfc189a77418fbbdc6fd46d691b63 : SUCCESS in 26m 24s\n- cyborg-tempest-srbac https://zuul.opendev.org/t/openstack/build/bdb43b08103c4d39aa62917be2b95ef2 : SUCCESS in 52m 50s","accounts_in_message":[],"_revision_number":2},{"id":"48cb955198d577ca4a39b1a7a298a5df0f499218","author":{"_account_id":12393,"name":"chandan kumar","display_name":"Chandan Kumar","email":"chkumar@redhat.com","username":"chkumar246"},"date":"2026-09-01 11:06:42.000000000","message":"Patch Set 2: Code-Review+1\n\n(1 comment)","accounts_in_message":[],"_revision_number":2},{"id":"16516a5367bd2670001b7b955688d31d4081ae2d","author":{"_account_id":34452,"name":"Joan Gilabert","display_name":"jgilaber","email":"jgilaber@redhat.com","username":"jgilaber"},"date":"2026-09-01 17:29:43.000000000","message":"Patch Set 2: Code-Review+1\n\n(1 comment)","accounts_in_message":[],"_revision_number":2},{"id":"ecb0cac302ee7cb65a45ca1bd6da7915360e45a4","author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"date":"2026-09-02 17:29:05.000000000","message":"Patch Set 2: Code-Review+2\n\n(3 comments)","accounts_in_message":[],"_revision_number":2}],"current_revision_number":2,"current_revision":"ea1d38f8424619eec24708794df72d183e30a197","revisions":{"5bedc6ad55b4010de257d03b84df473698875500":{"kind":"REWORK","_number":1,"created":"2026-08-31 14:06:55.000000000","uploader":{"_account_id":39344,"name":"Gihong Lee","display_name":"gamio","email":"gh9231@gmail.com","username":"gamio"},"ref":"refs/changes/61/1003061/1","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/cyborg","ref":"refs/changes/61/1003061/1","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/cyborg refs/changes/61/1003061/1 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/cyborg refs/changes/61/1003061/1 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/cyborg refs/changes/61/1003061/1 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/cyborg refs/changes/61/1003061/1"}}},"commit":{"parents":[{"commit":"a6e6cb994de14661a1d413b56c6ad2fe3217dc4a","subject":"Merge \"Move support matrix to admin docs\"","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/cyborg/commit/a6e6cb994de14661a1d413b56c6ad2fe3217dc4a"}]}],"author":{"name":"gihong Lee","email":"gh9231@gmail.com","date":"2026-08-31 14:02:53.000000000","tz":540},"committer":{"name":"gihong Lee","email":"gh9231@gmail.com","date":"2026-08-31 14:06:41.000000000","tz":540},"subject":"Normalize device_addresses comparisons in NIC/GPU drivers","message":"Normalize device_addresses comparisons in NIC/GPU drivers\n\nThe device_addresses allow-list (Intel NIC driver, GPU [vgpu_*]\nsections) is compared against discovered PCI addresses with an\nexact-case string match. An operator whose config entry differs only\nin case from the discovered address gets no match: the NIC entry is\nsilently excluded from discovery, and the GPU driver falls through to\nplain pGPU (passthrough) registration instead of the configured vGPU\ntype.\n\nAdd normalize_address()/normalize_addresses() to\naccelerator/common/utils.py, the same module as parse_address(), and\nlowercase both sides of the comparison before matching. The NIC\ndriver\u0027s _parse_config() returns an already-normalized\ndevice_addresses list, so nic_tree()\u0027s filtering is unchanged. The GPU\ndriver normalizes allow-list entries while building\npgpu_type_mapping, and normalizes the discovered address before\nlooking it up in _get_vgpu_type_per_pgpu(). That function\u0027s docstring\nis also corrected: the address it receives is the discovered pGPU\naddress passed by the caller, not a config value.\n\nThis is comparison-only. No warning is added for an address that\nstill doesn\u0027t match after normalization: with case handled, an\nunmatched entry is either a legitimate non-existent-device\nconfiguration or a genuine typo, neither of which this driver can\ndistinguish, so nothing new is logged here. The discovered address\nitself, as stored and exposed via the API, is left untouched; doing\nso is a separate change that needs its own look at backward\ncompatibility. The NVMe driver is unaffected, as it has no\ndevice_addresses option.\n\nCloses-Bug: #2163799\nChange-Id: Ic0a249be70b7b99a123cc0d310d59120ed19758a\nSigned-off-by: gihong Lee \u003cgh9231@gmail.com\u003e\nAssisted-By: Claude Code (claude-sonnet-5)\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/cyborg/commit/5bedc6ad55b4010de257d03b84df473698875500"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/cyborg/commit/5bedc6ad55b4010de257d03b84df473698875500"}]},"branch":"refs/heads/master"},"ea1d38f8424619eec24708794df72d183e30a197":{"kind":"REWORK","_number":2,"created":"2026-08-31 15:28:39.000000000","uploader":{"_account_id":39344,"name":"Gihong Lee","display_name":"gamio","email":"gh9231@gmail.com","username":"gamio"},"ref":"refs/changes/61/1003061/2","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/cyborg","ref":"refs/changes/61/1003061/2","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/cyborg refs/changes/61/1003061/2 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/cyborg refs/changes/61/1003061/2 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/cyborg refs/changes/61/1003061/2 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/cyborg refs/changes/61/1003061/2"}}},"commit":{"parents":[{"commit":"a6e6cb994de14661a1d413b56c6ad2fe3217dc4a","subject":"Merge \"Move support matrix to admin docs\"","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/cyborg/commit/a6e6cb994de14661a1d413b56c6ad2fe3217dc4a"}]}],"author":{"name":"gihong Lee","email":"gh9231@gmail.com","date":"2026-08-31 14:02:53.000000000","tz":540},"committer":{"name":"gihong Lee","email":"gh9231@gmail.com","date":"2026-08-31 15:28:22.000000000","tz":540},"subject":"Normalize device_addresses comparisons in NIC/GPU drivers","message":"Normalize device_addresses comparisons in NIC/GPU drivers\n\nThe device_addresses allow-list (Intel NIC driver, GPU [vgpu_*]\nsections) is compared against discovered PCI addresses with an\nexact-case string match. An operator whose config entry differs only\nin case from the discovered address gets no match: the NIC entry is\nsilently excluded from discovery, and the GPU driver falls through to\nplain pGPU (passthrough) registration instead of the configured vGPU\ntype.\n\nAdd normalize_address()/normalize_addresses() to\naccelerator/common/utils.py, the same module as parse_address(), and\nlowercase both sides of the comparison before matching. The NIC\ndriver\u0027s _parse_config() returns an already-normalized\ndevice_addresses list, so nic_tree()\u0027s filtering is unchanged. The GPU\ndriver normalizes allow-list entries while building\npgpu_type_mapping, and normalizes the discovered address before\nlooking it up in _get_vgpu_type_per_pgpu(). That function\u0027s docstring\nis also corrected: the address it receives is the discovered pGPU\naddress passed by the caller, not a config value.\n\nThis is comparison-only. No warning is added for an address that\nstill doesn\u0027t match after normalization: with case handled, an\nunmatched entry is either a legitimate non-existent-device\nconfiguration or a genuine typo, neither of which this driver can\ndistinguish, so nothing new is logged here. The discovered address\nitself, as stored and exposed via the API, is left untouched; doing\nso is a separate change that needs its own look at backward\ncompatibility. The NVMe driver is unaffected, as it has no\ndevice_addresses option.\n\nCloses-Bug: #2163799\nChange-Id: Ic0a249be70b7b99a123cc0d310d59120ed19758a\nSigned-off-by: gihong Lee \u003cgh9231@gmail.com\u003e\nAssisted-By: Claude Code (claude-sonnet-5)\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/cyborg/commit/ea1d38f8424619eec24708794df72d183e30a197"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/cyborg/commit/ea1d38f8424619eec24708794df72d183e30a197"}]},"branch":"refs/heads/master"}},"requirements":[],"submit_records":[{"rule_name":"gerrit~DefaultSubmitRule","status":"OK","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"}]}],"submit_requirements":[{"name":"Verified","description":"Verified in gate by CI","status":"UNSATISFIED","is_legacy":false,"submittability_expression_result":{"expression":"label:Verified\u003dMAX AND -label:Verified\u003dMIN","fulfilled":false,"status":"FAIL","passing_atoms":[],"failing_atoms":["label:Verified\u003dMAX","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":"UNSATISFIED","is_legacy":false,"submittability_expression_result":{"expression":"label:Workflow\u003dMAX AND -label:Workflow\u003dMIN","fulfilled":false,"status":"FAIL","passing_atoms":[],"failing_atoms":["label:Workflow\u003dMAX","label:Workflow\u003dMIN"],"atom_explanations":{"label:Workflow\u003dMAX":"","label:Workflow\u003dMIN":""}}}]}
