)]}'
{"/PATCHSET_LEVEL":[{"author":{"_account_id":4690,"name":"melanie witt","display_name":"melwitt","email":"melwittt@gmail.com","username":"melwitt"},"change_message_id":"2d16e676aad8d909b87c6a4cab95c5b7b8df9caa","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":1,"id":"c6c95ce9_3d1ec69d","updated":"2026-08-12 15:56:06.000000000","message":"This looks OK to me","commit_id":"4113395cda4698e990fb99a0a076d96291eacf71"}],"cyborg/accelerator/drivers/nic/intel/sysinfo.py":[{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"9a7923894048235043ce113e014d9c092d515a5c","unresolved":true,"context_lines":[{"line_number":48,"context_line":""},{"line_number":49,"context_line":"def _parse_config():"},{"line_number":50,"context_line":"    # parse nic config."},{"line_number":51,"context_line":"    cyborg.conf.devices.register_dynamic_opts(CONF)"},{"line_number":52,"context_line":"    try:"},{"line_number":53,"context_line":"        pdm \u003d utils.parse_mappings(CONF.x710_static.physical_device_mappings)"},{"line_number":54,"context_line":"        fdm \u003d utils.parse_mappings(CONF.x710_static.function_device_mappings)"},{"line_number":55,"context_line":"        da \u003d CONF.x710_static.device_addresses"},{"line_number":56,"context_line":"    except cfg.NoSuchOptError:"},{"line_number":57,"context_line":"        return None, None, None"},{"line_number":58,"context_line":"    else:"}],"source_content_type":"text/x-python","patch_set":1,"id":"b356c15a_0360f27d","line":55,"range":{"start_line":51,"start_character":3,"end_line":55,"end_character":46},"updated":"2026-08-25 15:53:33.000000000","message":"as an assied hard coded dynmic config options are not really dynmaic\n\nthe section names are intneded tot be rade form a sepreate var when you use that instaad of a hardcoded \n\n[x710_static] section\n\nto that a sperate pre existing bug\n\nwe do not need to adress that now, i think if we fold nic capablities into the generic pci driver that will end up being the long term solution.\njust noting this here for context\n\nnormally we woudl not have a seperate _parse_config fucntion like this in a driver sint the config parsing is inteded to be static.","commit_id":"4113395cda4698e990fb99a0a076d96291eacf71"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"9a7923894048235043ce113e014d9c092d515a5c","unresolved":true,"context_lines":[{"line_number":173,"context_line":""},{"line_number":174,"context_line":"def nic_tree():"},{"line_number":175,"context_line":"    physnet_device_mappings, function_device_mappings, device_addresses \u003d ("},{"line_number":176,"context_line":"        _parse_config()"},{"line_number":177,"context_line":"    )"},{"line_number":178,"context_line":"    nics \u003d []"},{"line_number":179,"context_line":"    pfs_has_vf \u003d all_pfs_with_vf()"}],"source_content_type":"text/x-python","patch_set":1,"id":"30d2c713_088841a8","line":176,"updated":"2026-08-25 15:53:33.000000000","message":"note becasue we are calling this in nic_tree whic is called form discover\n\nhttps://github.com/openstack/cyborg/blob/7be7a864e5f5e79206d505baa10352399c8b6525/cyborg/accelerator/drivers/nic/intel/driver.py#L34\n\nwe are paying the cost of parsing it every time discover is invoke\n\nhttps://github.com/openstack/cyborg/blob/7be7a864e5f5e79206d505baa10352399c8b6525/cyborg/agent/resource_tracker.py#L69-L80\n\nwhich happens ever 60 seconds \n\nhttps://github.com/openstack/cyborg/blob/master/cyborg/agent/manager.py#L191-L194\n\nso non o fthat is altered by this patch but its rather ineeficent given we dont actlly supprot changign the config while the ageint is running.\n\nwith the current code i dont think its actully re reading the config from disk via oslo config but we are pasrse the same in memory contnet over and over again.\n\nwe shoudl proably add a cache decorator to _parse_config in a followup at a minimum \n\nlater we whodu remove the entirty of the dynmaic config options form this driver since they are actiolly static today.","commit_id":"4113395cda4698e990fb99a0a076d96291eacf71"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"4df10dd078081d2cca0e03d1e9a4700d96e98d61","unresolved":true,"context_lines":[{"line_number":173,"context_line":""},{"line_number":174,"context_line":"def nic_tree():"},{"line_number":175,"context_line":"    physnet_device_mappings, function_device_mappings, device_addresses \u003d ("},{"line_number":176,"context_line":"        _parse_config()"},{"line_number":177,"context_line":"    )"},{"line_number":178,"context_line":"    nics \u003d []"},{"line_number":179,"context_line":"    pfs_has_vf \u003d all_pfs_with_vf()"}],"source_content_type":"text/x-python","patch_set":1,"id":"9ceec4d9_d3eeb14c","line":176,"in_reply_to":"30d2c713_088841a8","updated":"2026-08-25 15:59:55.000000000","message":"by the way the more correct fix will be to move the config validation that cant be done by just oslo nativly parsing into init_host of the driver in the\n\nthe sysinfo files were origanlly intneded to have helper for gahtering info form the host system via sysfs or cli tools\n\nthe config logic shoudl not really be in them at all.\n\nthey have unfortanlly thater much fo the business logic of the drivers over time but they sysinfo files were not ment ot contanin any of the business logic originally.\n\njust the fuciton for interacting with the host system but they became a dumping ground for all the logic\n\nthis is effecitly cybrog version of host.py in the nova libvirt driver","commit_id":"4113395cda4698e990fb99a0a076d96291eacf71"},{"author":{"_account_id":4690,"name":"melanie witt","display_name":"melwitt","email":"melwittt@gmail.com","username":"melwitt"},"change_message_id":"2d16e676aad8d909b87c6a4cab95c5b7b8df9caa","unresolved":true,"context_lines":[{"line_number":186,"context_line":"                vf_nic \u003d nic_gen("},{"line_number":187,"context_line":"                    vf, physnet_device_mappings, function_device_mappings, nic"},{"line_number":188,"context_line":"                )"},{"line_number":189,"context_line":"                if pf_allowed or vf_nic[\"device\"] in device_addresses:"},{"line_number":190,"context_line":"                    vfs.append(vf_nic)"},{"line_number":191,"context_line":"            if not vfs:"},{"line_number":192,"context_line":"                continue"}],"source_content_type":"text/x-python","patch_set":1,"id":"b4942a3e_f33631eb","line":189,"updated":"2026-08-12 15:56:06.000000000","message":"Noting that this is a case sensitive comparison on the letters in the addresses but is consistent with existing parsing/comparison in the GPU driver [1], for example.\n\nSomething else we could consider doing is to log a warning if any of the `device_addresses` did not match any discovered devices (as an aid to cloud operators).\n\n[1] https://github.com/openstack/cyborg/blob/dea9638e1ad438ac0867863f862e35fb282a885c/cyborg/accelerator/drivers/gpu/nvidia/sysinfo.py#L246","commit_id":"4113395cda4698e990fb99a0a076d96291eacf71"},{"author":{"_account_id":39344,"name":"Gihong Lee","display_name":"gamio","email":"gh9231@gmail.com","username":"gamio"},"change_message_id":"f6bd48163feebc56bdb0c0853824d6f688965dda","unresolved":true,"context_lines":[{"line_number":186,"context_line":"                vf_nic \u003d nic_gen("},{"line_number":187,"context_line":"                    vf, physnet_device_mappings, function_device_mappings, nic"},{"line_number":188,"context_line":"                )"},{"line_number":189,"context_line":"                if pf_allowed or vf_nic[\"device\"] in device_addresses:"},{"line_number":190,"context_line":"                    vfs.append(vf_nic)"},{"line_number":191,"context_line":"            if not vfs:"},{"line_number":192,"context_line":"                continue"}],"source_content_type":"text/x-python","patch_set":1,"id":"db804fdf_f59c99f9","line":189,"in_reply_to":"b4942a3e_f33631eb","updated":"2026-08-18 07:39:46.000000000","message":"Good points. I checked the GPU driver you linked and it has the same silent no-match: `pgpu_type_mapping.get()` at L246 returns None on a mismatch with no warning and no normalization (its `_get_vgpu_type_per_pgpu` docstring even labels the param a config address though the caller passes the discovered `gpu_dict[\"devices\"]`). \n\nSince this is the same issue in both drivers, I think it is better to track it as a bug and improve both together in a follow-up, and keep this change as is for now.","commit_id":"4113395cda4698e990fb99a0a076d96291eacf71"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"9a7923894048235043ce113e014d9c092d515a5c","unresolved":false,"context_lines":[{"line_number":186,"context_line":"                vf_nic \u003d nic_gen("},{"line_number":187,"context_line":"                    vf, physnet_device_mappings, function_device_mappings, nic"},{"line_number":188,"context_line":"                )"},{"line_number":189,"context_line":"                if pf_allowed or vf_nic[\"device\"] in device_addresses:"},{"line_number":190,"context_line":"                    vfs.append(vf_nic)"},{"line_number":191,"context_line":"            if not vfs:"},{"line_number":192,"context_line":"                continue"}],"source_content_type":"text/x-python","patch_set":1,"id":"89ad01f9_0b995700","line":189,"in_reply_to":"db804fdf_f59c99f9","updated":"2026-08-25 15:53:33.000000000","message":"Ack, we aggred to adress this in a followup","commit_id":"4113395cda4698e990fb99a0a076d96291eacf71"}],"cyborg/conf/devices.py":[{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"c84a6c9a2005268bf5197073ae71409517a9dace","unresolved":true,"context_lines":[{"line_number":121,"context_line":"            item_type\u003dcfg.types.String(),"},{"line_number":122,"context_line":"        ),"},{"line_number":123,"context_line":"        cfg.ListOpt("},{"line_number":124,"context_line":"            \u0027device_addresses\u0027,"},{"line_number":125,"context_line":"            default\u003d[],"},{"line_number":126,"context_line":"            item_type\u003dcfg.types.String(),"},{"line_number":127,"context_line":"            help\u003d\"\"\""}],"source_content_type":"text/x-python","patch_set":1,"id":"077cf2d5_1b44ea2e","line":124,"range":{"start_line":124,"start_character":13,"end_line":124,"end_character":29},"updated":"2026-08-18 14:38:18.000000000","message":"as i review this i wonder is this the correct approch or shoudl this just be a device_spec like the pci drivers whitelist\n\ni think we are goign to end up normalising the option to device_spec in all the drivers in the next cycle or two.\n\ni guess for now this is ok\n\nand we can defer the device_spec question till next cycle.\n\ni think we may move to a model of proting this functionlaty eitehr to a generic nic driver or the pci driver and if we do do that then we will eventulaly deprecate this intel specific driver\n\nas such haveing a narrorw device_addresses is in the short term.","commit_id":"4113395cda4698e990fb99a0a076d96291eacf71"},{"author":{"_account_id":39344,"name":"Gihong Lee","display_name":"gamio","email":"gh9231@gmail.com","username":"gamio"},"change_message_id":"7120f4ce65785c2fc2248c128c8090c5b07eb9f3","unresolved":true,"context_lines":[{"line_number":121,"context_line":"            item_type\u003dcfg.types.String(),"},{"line_number":122,"context_line":"        ),"},{"line_number":123,"context_line":"        cfg.ListOpt("},{"line_number":124,"context_line":"            \u0027device_addresses\u0027,"},{"line_number":125,"context_line":"            default\u003d[],"},{"line_number":126,"context_line":"            item_type\u003dcfg.types.String(),"},{"line_number":127,"context_line":"            help\u003d\"\"\""}],"source_content_type":"text/x-python","patch_set":1,"id":"61800439_b99f3204","line":124,"range":{"start_line":124,"start_character":13,"end_line":124,"end_character":29},"in_reply_to":"077cf2d5_1b44ea2e","updated":"2026-08-18 14:47:03.000000000","message":"agreed. keeping `device_addresses` narrow for now and deferring the `device_spec` convergence to next cycle sounds right, especially with the `PCIBusManager` work coming. \n\ni\u0027ll keep this one small and backportable.","commit_id":"4113395cda4698e990fb99a0a076d96291eacf71"}]}
