)]}'
{"/PATCHSET_LEVEL":[{"author":{"_account_id":12393,"name":"chandan kumar","display_name":"Chandan Kumar","email":"chkumar@redhat.com","username":"chkumar246"},"change_message_id":"48cb955198d577ca4a39b1a7a298a5df0f499218","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":2,"id":"4788c036_911f10a1","updated":"2026-09-01 11:06:42.000000000","message":"lgtm, case sensitive device_addresses are covered by test cases also.\n\nRelease notes is present there.","commit_id":"ea1d38f8424619eec24708794df72d183e30a197"},{"author":{"_account_id":39344,"name":"Gihong Lee","display_name":"gamio","email":"gh9231@gmail.com","username":"gamio"},"change_message_id":"dbebbb3d4ce3d5342889f224c814e7ac56f5e293","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":2,"id":"2f945862_31c0ac97","updated":"2026-08-31 23:29:42.000000000","message":"recheck","commit_id":"ea1d38f8424619eec24708794df72d183e30a197"},{"author":{"_account_id":34452,"name":"Joan Gilabert","display_name":"jgilaber","email":"jgilaber@redhat.com","username":"jgilaber"},"change_message_id":"16516a5367bd2670001b7b955688d31d4081ae2d","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":2,"id":"72bfcef4_20e4914f","updated":"2026-09-01 17:29:43.000000000","message":"the fix looks good, thanks","commit_id":"ea1d38f8424619eec24708794df72d183e30a197"}],"cyborg/accelerator/common/utils.py":[{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"ecb0cac302ee7cb65a45ca1bd6da7915360e45a4","unresolved":true,"context_lines":[{"line_number":161,"context_line":"    return address.lower()"},{"line_number":162,"context_line":""},{"line_number":163,"context_line":""},{"line_number":164,"context_line":"def normalize_addresses(addresses):"},{"line_number":165,"context_line":"    \"\"\"Lowercase a list of PCI addresses for case-insensitive comparison.\"\"\""},{"line_number":166,"context_line":"    return [normalize_address(address) for address in addresses]"},{"line_number":167,"context_line":""},{"line_number":168,"context_line":""},{"line_number":169,"context_line":"@cyborg.privsep.sys_admin_pctxt.entrypoint"},{"line_number":170,"context_line":"def lspci_privileged():"}],"source_content_type":"text/x-python","patch_set":2,"id":"850f3926_d822b6c8","line":167,"range":{"start_line":164,"start_character":0,"end_line":167,"end_character":1},"updated":"2026-09-02 17:29:05.000000000","message":"this works, we could have also made this a generor\n\n```\ndef normalize_addresses(addresses):\n    \"\"\"Lowercase a list of PCI addresses for case-insensitive comparison.\"\"\"\n    yield from (normalize_address(address) for address in addresses)\n```\nbut the copy is not really going to be expensive so its fine","commit_id":"ea1d38f8424619eec24708794df72d183e30a197"}],"cyborg/accelerator/drivers/nic/intel/sysinfo.py":[{"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"},"tag":"autogenerated:zuul:automatic-ci","change_message_id":"3e53105efa850e17d7ef3f24d90545f99f9e5889","unresolved":false,"context_lines":[{"line_number":58,"context_line":"    else:"},{"line_number":59,"context_line":"        for address in da:"},{"line_number":60,"context_line":"            utils.parse_address(address)"},{"line_number":61,"context_line":"        return pdm, fdm, utils.normalize_addresses(da)"},{"line_number":62,"context_line":""},{"line_number":63,"context_line":""},{"line_number":64,"context_line":"def get_physical_network_and_traits("}],"source_content_type":"text/x-python","patch_set":1,"id":"0aeb781e_c72a4122","line":61,"updated":"2026-08-31 14:18:59.000000000","message":"The change makes the Intel NIC driver\u0027s device_addresses allow-list match case-insensitively by normalizing the list in _parse_config(), but no test covers it. The GPU side got three case-variant tests, while the NIC side added none, and every existing NIC test uses addresses without hex letters (0000:05:00.0, 0000:05:01.0, 0000:06:00.0 in prepare_test_data.py) written in lowercase, so case handling is never exercised. Removing the single normalize_addresses(da) call would pass the entire NIC test suite and silently reintroduce bug #2163799 for the NIC driver (uppercase config entry silently excluded from discovery).\n\n**Severity**: SUGGESTION | **Confidence**: 0.85\n\n**Impact**: A future refactor or partial revert of this fix on the NIC side would merge with a green test suite, re-silently-dropping NIC devices whose configured addresses use uppercase hex letters (e.g. \u00270000:0B:00.0\u0027), which is the exact operator-facing bug this change closes.\n\n**Recommendation**:\nAdd a NIC test mirroring the GPU case tests, e.g. a variant of test_discover_device_addresses_filter that configures device_addresses with an uppercase entry (adjusting or mocking the prepared test data so the discovered PCI_SLOT_NAME contains a hex letter, e.g. \u00270000:0b:00.0\u0027 vs config \u00270000:0B:00.0\u0027) and asserting the PF is still discovered.","commit_id":"5bedc6ad55b4010de257d03b84df473698875500"},{"author":{"_account_id":39344,"name":"Gihong Lee","display_name":"gamio","email":"gh9231@gmail.com","username":"gamio"},"change_message_id":"c9422cfd55f1d668fff05f398b3057411877fafe","unresolved":false,"context_lines":[{"line_number":58,"context_line":"    else:"},{"line_number":59,"context_line":"        for address in da:"},{"line_number":60,"context_line":"            utils.parse_address(address)"},{"line_number":61,"context_line":"        return pdm, fdm, utils.normalize_addresses(da)"},{"line_number":62,"context_line":""},{"line_number":63,"context_line":""},{"line_number":64,"context_line":"def get_physical_network_and_traits("}],"source_content_type":"text/x-python","patch_set":1,"id":"46a2d1a8_c4afaac7","line":61,"in_reply_to":"0aeb781e_c72a4122","updated":"2026-08-31 15:30:24.000000000","message":"Added test_parse_config_normalizes_device_addresses in patchset 2.\n\nSkipped a discover() level test: the fake sysfs addresses have no hex\nletters, so covering case there means rewriting the fixture\u0027s uevent.\nCan do it if you want.","commit_id":"5bedc6ad55b4010de257d03b84df473698875500"}],"cyborg/tests/unit/accelerator/drivers/nic/intel/test_driver.py":[{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"ecb0cac302ee7cb65a45ca1bd6da7915360e45a4","unresolved":true,"context_lines":[{"line_number":174,"context_line":"        )"},{"line_number":175,"context_line":"        _, _, device_addresses \u003d sysinfo._parse_config()"},{"line_number":176,"context_line":"        self.assertEqual([\"0000:ac:00.0\", \"0000:f3:00.1\"], device_addresses)"},{"line_number":177,"context_line":""},{"line_number":178,"context_line":"    @mock.patch(\"cyborg.accelerator.common.utils.get_ifname_by_pci_address\")"},{"line_number":179,"context_line":"    def test_discover_vf_address_filter(self, mock_device_ifname):"},{"line_number":180,"context_line":"        # PF0 (0000:05:00.0) owns a VF (0000:05:01.0). Listing the VF address"}],"source_content_type":"text/x-python","patch_set":2,"id":"dcab6220_aefc14a0","line":177,"updated":"2026-09-02 17:29:05.000000000","message":"this is follign the existign pattehr so its fien\nthat not really how we typicly shoudl emulate config options but its better to keep it concent for now.","commit_id":"ea1d38f8424619eec24708794df72d183e30a197"}],"releasenotes/notes/nic-gpu-device-addresses-case-insensitive-b44d6a047f8f39be.yaml":[{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"ecb0cac302ee7cb65a45ca1bd6da7915360e45a4","unresolved":true,"context_lines":[{"line_number":6,"context_line":"    Previously, an entry that differed only in case from the discovered"},{"line_number":7,"context_line":"    address was silently treated as not matching; for the GPU driver this"},{"line_number":8,"context_line":"    could cause a configured vGPU-capable device to be registered as a"},{"line_number":9,"context_line":"    plain pGPU instead."}],"source_content_type":"text/x-yaml","patch_set":2,"id":"d792043f_59978ff7","line":9,"updated":"2026-09-02 17:29:05.000000000","message":"this coudl have some upgrade implciation but  i think fixes is fine","commit_id":"ea1d38f8424619eec24708794df72d183e30a197"}]}
