)]}'
{"cyborg/accelerator/drivers/gpu/utils.py":[{"author":{"_account_id":31412,"name":"Wenping Song","email":"songwenping@inspur.com","username":"songwenping"},"change_message_id":"f8ea7bf0fbdded0606ccf79d97131232736ad89e","unresolved":false,"context_lines":[{"line_number":94,"context_line":"        if m:"},{"line_number":95,"context_line":"            gpu_dict \u003d m.groupdict()"},{"line_number":96,"context_line":"            # generate hostname for deployable_name usage"},{"line_number":97,"context_line":"            gpu_dict[\u0027name\u0027] \u003d socket.gethostname()"},{"line_number":98,"context_line":"            # generate traits info"},{"line_number":99,"context_line":"            # TODO(yumeng) support and test VGPU rc generation soon."},{"line_number":100,"context_line":"            traits \u003d get_traits(gpu_dict[\"vendor_id\"], gpu_dict[\"product_id\"])"}],"source_content_type":"text/x-python","patch_set":1,"id":"9f560f44_266bfa84","line":97,"range":{"start_line":97,"start_character":12,"end_line":97,"end_character":51},"updated":"2020-08-27 09:03:54.000000000","message":"We shouldnot only use hostname instead of original GPU name(e.g. `NVIDIA Corporation GV100GL [Tesla V100 PCIe 32GB]`), maybe we can combine hostname and original GPU name like this:\n gpu_dict[\u0027name\u0027] \u003d socket.gethostname() + \u0027-\u0027+ gpu_dict[\u0027name\u0027]","commit_id":"40e95d4aaf68383f6034790e100ed2fa5b443a7a"},{"author":{"_account_id":24872,"name":"YumengBao","email":"yumeng_bao@yahoo.com","username":"Yumeng_Bao"},"change_message_id":"a31352f20b6575240c6dc5502ab9346622009577","unresolved":false,"context_lines":[{"line_number":94,"context_line":"        if m:"},{"line_number":95,"context_line":"            gpu_dict \u003d m.groupdict()"},{"line_number":96,"context_line":"            # generate hostname for deployable_name usage"},{"line_number":97,"context_line":"            gpu_dict[\u0027name\u0027] \u003d socket.gethostname()"},{"line_number":98,"context_line":"            # generate traits info"},{"line_number":99,"context_line":"            # TODO(yumeng) support and test VGPU rc generation soon."},{"line_number":100,"context_line":"            traits \u003d get_traits(gpu_dict[\"vendor_id\"], gpu_dict[\"product_id\"])"}],"source_content_type":"text/x-python","patch_set":1,"id":"9f560f44_37e162d1","line":97,"range":{"start_line":97,"start_character":12,"end_line":97,"end_character":51},"in_reply_to":"9f560f44_266bfa84","updated":"2020-08-27 12:04:49.000000000","message":"\u003chostname\u003e_\u003coriginal_GPU_name\u003e_\u003cPCI_ADDRESS\u003e will make the deployable_name too long. \n\nAt the early stage of cyborg, we were planning to use \u003chostname\u003e_\u003coriginal_GPU_name\u003e_\u003cPCI_ADDRESS\u003e, but found it was too long, so finally decided to use \u003coriginal_GPU_name\u003e_\u003cPCI_ADDRESS\u003e, that\u0027s also how current situation happens. But at that time, we ignored the uniqueness problem of this naming method.","commit_id":"40e95d4aaf68383f6034790e100ed2fa5b443a7a"},{"author":{"_account_id":31412,"name":"Wenping Song","email":"songwenping@inspur.com","username":"songwenping"},"change_message_id":"c48c92f84260f41111d574d86adac67500ef59e8","unresolved":false,"context_lines":[{"line_number":94,"context_line":"        if m:"},{"line_number":95,"context_line":"            gpu_dict \u003d m.groupdict()"},{"line_number":96,"context_line":"            # generate hostname for deployable_name usage"},{"line_number":97,"context_line":"            gpu_dict[\u0027name\u0027] \u003d socket.gethostname()"},{"line_number":98,"context_line":"            # generate traits info"},{"line_number":99,"context_line":"            # TODO(yumeng) support and test VGPU rc generation soon."},{"line_number":100,"context_line":"            traits \u003d get_traits(gpu_dict[\"vendor_id\"], gpu_dict[\"product_id\"])"}],"source_content_type":"text/x-python","patch_set":1,"id":"9f560f44_b09d170c","line":97,"range":{"start_line":97,"start_character":12,"end_line":97,"end_character":51},"in_reply_to":"9f560f44_2c62a7ae","updated":"2020-09-03 03:53:49.000000000","message":"Agree to use hostname+PCIADDRESS for unique deployable name now, and how about getting hostname from CONF？","commit_id":"40e95d4aaf68383f6034790e100ed2fa5b443a7a"},{"author":{"_account_id":26458,"name":"Brin Zhang","email":"zhangbailin@inspur.com","username":"zhangbailin"},"change_message_id":"a9dc5b0a5fe3da1deacc5448459020f91a4a91b7","unresolved":false,"context_lines":[{"line_number":94,"context_line":"        if m:"},{"line_number":95,"context_line":"            gpu_dict \u003d m.groupdict()"},{"line_number":96,"context_line":"            # generate hostname for deployable_name usage"},{"line_number":97,"context_line":"            gpu_dict[\u0027name\u0027] \u003d socket.gethostname()"},{"line_number":98,"context_line":"            # generate traits info"},{"line_number":99,"context_line":"            # TODO(yumeng) support and test VGPU rc generation soon."},{"line_number":100,"context_line":"            traits \u003d get_traits(gpu_dict[\"vendor_id\"], gpu_dict[\"product_id\"])"}],"source_content_type":"text/x-python","patch_set":1,"id":"9f560f44_dc8c5d30","line":97,"range":{"start_line":97,"start_character":12,"end_line":97,"end_character":51},"in_reply_to":"9f560f44_2c62a7ae","updated":"2020-08-31 09:32:11.000000000","message":"I think we should reserve the gpu name, if we use hostname + gpu[\u0027device\u0027], we will lose the gpu name when the user get the GPU.\nOne way is we can change the GPU_NAME when we shoud synchronous the deployables to the Placement, e.g. Append hostname after GPU name（gpu.get(\u0027name\u0027, \u0027\u0027) + \u0027_\u0027 + gpu[\"devices\"] + hostname）.","commit_id":"40e95d4aaf68383f6034790e100ed2fa5b443a7a"},{"author":{"_account_id":31412,"name":"Wenping Song","email":"songwenping@inspur.com","username":"songwenping"},"change_message_id":"316166e98070b227323733a4d38027f7b552265b","unresolved":false,"context_lines":[{"line_number":94,"context_line":"        if m:"},{"line_number":95,"context_line":"            gpu_dict \u003d m.groupdict()"},{"line_number":96,"context_line":"            # generate hostname for deployable_name usage"},{"line_number":97,"context_line":"            gpu_dict[\u0027name\u0027] \u003d socket.gethostname()"},{"line_number":98,"context_line":"            # generate traits info"},{"line_number":99,"context_line":"            # TODO(yumeng) support and test VGPU rc generation soon."},{"line_number":100,"context_line":"            traits \u003d get_traits(gpu_dict[\"vendor_id\"], gpu_dict[\"product_id\"])"}],"source_content_type":"text/x-python","patch_set":1,"id":"9f560f44_57633642","line":97,"range":{"start_line":97,"start_character":12,"end_line":97,"end_character":51},"in_reply_to":"9f560f44_37e162d1","updated":"2020-08-27 12:31:16.000000000","message":"Yeah，it\u0027s indeed too long, but where can we record the original device name, i think it\u0027s important to the user or operator.","commit_id":"40e95d4aaf68383f6034790e100ed2fa5b443a7a"},{"author":{"_account_id":24872,"name":"YumengBao","email":"yumeng_bao@yahoo.com","username":"Yumeng_Bao"},"change_message_id":"842e8a0b0beb53302109635622920b089897fc42","unresolved":false,"context_lines":[{"line_number":94,"context_line":"        if m:"},{"line_number":95,"context_line":"            gpu_dict \u003d m.groupdict()"},{"line_number":96,"context_line":"            # generate hostname for deployable_name usage"},{"line_number":97,"context_line":"            gpu_dict[\u0027name\u0027] \u003d socket.gethostname()"},{"line_number":98,"context_line":"            # generate traits info"},{"line_number":99,"context_line":"            # TODO(yumeng) support and test VGPU rc generation soon."},{"line_number":100,"context_line":"            traits \u003d get_traits(gpu_dict[\"vendor_id\"], gpu_dict[\"product_id\"])"}],"source_content_type":"text/x-python","patch_set":1,"id":"9f560f44_9dfde33d","line":97,"range":{"start_line":97,"start_character":12,"end_line":97,"end_character":51},"in_reply_to":"9f560f44_57633642","updated":"2020-08-28 01:52:45.000000000","message":"`NVIDIA Corporation GV100GL [Tesla V100 PCIe 32GB]` This actually describes the device\u0027s model information. What about recording this as gpu[\"model\"] and it will be reported to the table device as driver_device_obj.model \u003d gpu.get(\u0027model\u0027, \u0027miss model info\u0027)?","commit_id":"40e95d4aaf68383f6034790e100ed2fa5b443a7a"},{"author":{"_account_id":24872,"name":"YumengBao","email":"yumeng_bao@yahoo.com","username":"Yumeng_Bao"},"change_message_id":"c1abc81f717ce66178c540621875b0cff35f0e40","unresolved":false,"context_lines":[{"line_number":94,"context_line":"        if m:"},{"line_number":95,"context_line":"            gpu_dict \u003d m.groupdict()"},{"line_number":96,"context_line":"            # generate hostname for deployable_name usage"},{"line_number":97,"context_line":"            gpu_dict[\u0027name\u0027] \u003d socket.gethostname()"},{"line_number":98,"context_line":"            # generate traits info"},{"line_number":99,"context_line":"            # TODO(yumeng) support and test VGPU rc generation soon."},{"line_number":100,"context_line":"            traits \u003d get_traits(gpu_dict[\"vendor_id\"], gpu_dict[\"product_id\"])"}],"source_content_type":"text/x-python","patch_set":1,"id":"9f560f44_abca2143","line":97,"range":{"start_line":97,"start_character":12,"end_line":97,"end_character":51},"in_reply_to":"9f560f44_80a29cfb","updated":"2020-08-28 08:53:31.000000000","message":"Usually, the hostname won\u0027t be longer than original_GPU_name. if the user deploys the hostname as a very long name, cyborg should treat it as the user\u0027s intentional behavior.\n\nI think the naming method is a problem of two sides: 1)What kind of information do we need from \u0027deployable_name\u0027 on the cyborg developer\u0027s/user\u0027s side?  2)what kind of info makes sense as a \u0027resource_provider_name\u0027 in placement? \n3)And what\u0027s more, the name format should be ideally consistent for different drivers. one thing that needs to be pointed is intel driver does not have the \u003coriginal_FPGA_name\u003e because it is discovered by sysfs.\n\n\nI can understand \u003coriginal_GPU_name\u003e is a good reminder for the developers to know the device type by deployable_name. Is that what you want? if that\u0027s the case, should we choose partial info as the deployable_name to keep the name short, and report the full info into gpu[\u0027model\u0027]? eg. host-192-168-125_NVIDIA-GPU_0000:00:06.0  and gpu[\u0027model\u0027]\u003d`NVIDIA Corporation GV100GL [Tesla V100 PCIe 32GB]`","commit_id":"40e95d4aaf68383f6034790e100ed2fa5b443a7a"},{"author":{"_account_id":31412,"name":"Wenping Song","email":"songwenping@inspur.com","username":"songwenping"},"change_message_id":"acd85378ab23332f78d3b74e77e9b67c6692feee","unresolved":false,"context_lines":[{"line_number":94,"context_line":"        if m:"},{"line_number":95,"context_line":"            gpu_dict \u003d m.groupdict()"},{"line_number":96,"context_line":"            # generate hostname for deployable_name usage"},{"line_number":97,"context_line":"            gpu_dict[\u0027name\u0027] \u003d socket.gethostname()"},{"line_number":98,"context_line":"            # generate traits info"},{"line_number":99,"context_line":"            # TODO(yumeng) support and test VGPU rc generation soon."},{"line_number":100,"context_line":"            traits \u003d get_traits(gpu_dict[\"vendor_id\"], gpu_dict[\"product_id\"])"}],"source_content_type":"text/x-python","patch_set":1,"id":"9f560f44_80a29cfb","line":97,"range":{"start_line":97,"start_character":12,"end_line":97,"end_character":51},"in_reply_to":"9f560f44_9dfde33d","updated":"2020-08-28 02:15:14.000000000","message":"This maybe a big change. Furthermore, what if the hostname is very long? How about \u003coriginal_GPU_name\u003e_\u003cPCI_ADDRESS\u003e_random(6), by add a 6-digit random string?","commit_id":"40e95d4aaf68383f6034790e100ed2fa5b443a7a"},{"author":{"_account_id":26458,"name":"Brin Zhang","email":"zhangbailin@inspur.com","username":"zhangbailin"},"change_message_id":"a9dc5b0a5fe3da1deacc5448459020f91a4a91b7","unresolved":false,"context_lines":[{"line_number":94,"context_line":"        if m:"},{"line_number":95,"context_line":"            gpu_dict \u003d m.groupdict()"},{"line_number":96,"context_line":"            # generate hostname for deployable_name usage"},{"line_number":97,"context_line":"            gpu_dict[\u0027name\u0027] \u003d socket.gethostname()"},{"line_number":98,"context_line":"            # generate traits info"},{"line_number":99,"context_line":"            # TODO(yumeng) support and test VGPU rc generation soon."},{"line_number":100,"context_line":"            traits \u003d get_traits(gpu_dict[\"vendor_id\"], gpu_dict[\"product_id\"])"}],"source_content_type":"text/x-python","patch_set":1,"id":"9f560f44_5ca04d92","line":97,"range":{"start_line":97,"start_character":12,"end_line":97,"end_character":51},"in_reply_to":"9f560f44_abca2143","updated":"2020-08-31 09:32:11.000000000","message":"\u003e I can understand \u003coriginal_GPU_name\u003e is a good reminder for the\n \u003e developers to know the device type by deployable_name. Is that what\n \u003e you want? if that\u0027s the case, should we choose partial info as the\n \u003e deployable_name to keep the name short, and report the full info\n \u003e into gpu[\u0027model\u0027]? eg. host-192-168-125_NVIDIA-GPU_0000:00:06.0 \n \u003e and gpu[\u0027model\u0027]\u003d`NVIDIA Corporation GV100GL [Tesla V100 PCIe\n \u003e 32GB]`\n\nI dont think this is a good idea,","commit_id":"40e95d4aaf68383f6034790e100ed2fa5b443a7a"},{"author":{"_account_id":24872,"name":"YumengBao","email":"yumeng_bao@yahoo.com","username":"Yumeng_Bao"},"change_message_id":"8bb2f383945b02c86f18249f3fafddc1bead0274","unresolved":false,"context_lines":[{"line_number":94,"context_line":"        if m:"},{"line_number":95,"context_line":"            gpu_dict \u003d m.groupdict()"},{"line_number":96,"context_line":"            # generate hostname for deployable_name usage"},{"line_number":97,"context_line":"            gpu_dict[\u0027name\u0027] \u003d socket.gethostname()"},{"line_number":98,"context_line":"            # generate traits info"},{"line_number":99,"context_line":"            # TODO(yumeng) support and test VGPU rc generation soon."},{"line_number":100,"context_line":"            traits \u003d get_traits(gpu_dict[\"vendor_id\"], gpu_dict[\"product_id\"])"}],"source_content_type":"text/x-python","patch_set":1,"id":"9f560f44_2c62a7ae","line":97,"range":{"start_line":97,"start_character":12,"end_line":97,"end_character":51},"in_reply_to":"9f560f44_abca2143","updated":"2020-08-28 10:04:35.000000000","message":"I later found for a GPU device, with the driver_name and num_accelerator, one can easily see what kind of device it is(on the same deployable DB table).\nso I would maintain my initial idea. please help to review my new patchset.","commit_id":"40e95d4aaf68383f6034790e100ed2fa5b443a7a"},{"author":{"_account_id":24872,"name":"YumengBao","email":"yumeng_bao@yahoo.com","username":"Yumeng_Bao"},"change_message_id":"047fc591b8bcf06d88a145abbd216aacef5c95e5","unresolved":false,"context_lines":[{"line_number":94,"context_line":"        if m:"},{"line_number":95,"context_line":"            gpu_dict \u003d m.groupdict()"},{"line_number":96,"context_line":"            # generate hostname for deployable_name usage"},{"line_number":97,"context_line":"            gpu_dict[\u0027name\u0027] \u003d socket.gethostname()"},{"line_number":98,"context_line":"            # generate traits info"},{"line_number":99,"context_line":"            # TODO(yumeng) support and test VGPU rc generation soon."},{"line_number":100,"context_line":"            traits \u003d get_traits(gpu_dict[\"vendor_id\"], gpu_dict[\"product_id\"])"}],"source_content_type":"text/x-python","patch_set":1,"id":"9f560f44_eec33089","line":97,"range":{"start_line":97,"start_character":12,"end_line":97,"end_character":51},"in_reply_to":"9f560f44_b09d170c","updated":"2020-09-03 06:59:42.000000000","message":"Done. I\u0027m fine with either.\nCONF.host is also got by socket.gethostname(), but by CONF looks better for the consistent internal usage.","commit_id":"40e95d4aaf68383f6034790e100ed2fa5b443a7a"},{"author":{"_account_id":26458,"name":"Brin Zhang","email":"zhangbailin@inspur.com","username":"zhangbailin"},"change_message_id":"32a57e49989aad30284bedf7f7f6145636f967fd","unresolved":false,"context_lines":[{"line_number":134,"context_line":"    driver_dep \u003d driver_deployable.DriverDeployable()"},{"line_number":135,"context_line":"    driver_dep.attribute_list \u003d _generate_attribute_list(gpu)"},{"line_number":136,"context_line":"    driver_dep.attach_handle_list \u003d []"},{"line_number":137,"context_line":"    # NOTE(wangzhh): The name of deployable should be unique, its format is"},{"line_number":138,"context_line":"    # under disscussion, may looks like"},{"line_number":139,"context_line":"    # \u003cComputeNodeName\u003e_\u003cNumaNodeName\u003e_\u003cCyborgName\u003e_\u003cNumInHost\u003e, now simply"},{"line_number":140,"context_line":"    # named \u003cDevice_name\u003e_\u003cDevice_address\u003e"},{"line_number":141,"context_line":"    # NOTE(yumeng) Now the naming method is named as the following:"},{"line_number":142,"context_line":"    # For a device running on nova-managed compute node"},{"line_number":143,"context_line":"    # \u003cCompute_hostname\u003e_\u003cDevice_address\u003e"}],"source_content_type":"text/x-python","patch_set":1,"id":"9f560f44_a3809cc0","line":140,"range":{"start_line":137,"start_character":3,"end_line":140,"end_character":42},"updated":"2020-08-27 08:42:24.000000000","message":"Please refactor these comments or combined in your\u0027s, they are the same in some degree.","commit_id":"40e95d4aaf68383f6034790e100ed2fa5b443a7a"},{"author":{"_account_id":24872,"name":"YumengBao","email":"yumeng_bao@yahoo.com","username":"Yumeng_Bao"},"change_message_id":"8bb2f383945b02c86f18249f3fafddc1bead0274","unresolved":false,"context_lines":[{"line_number":134,"context_line":"    driver_dep \u003d driver_deployable.DriverDeployable()"},{"line_number":135,"context_line":"    driver_dep.attribute_list \u003d _generate_attribute_list(gpu)"},{"line_number":136,"context_line":"    driver_dep.attach_handle_list \u003d []"},{"line_number":137,"context_line":"    # NOTE(wangzhh): The name of deployable should be unique, its format is"},{"line_number":138,"context_line":"    # under disscussion, may looks like"},{"line_number":139,"context_line":"    # \u003cComputeNodeName\u003e_\u003cNumaNodeName\u003e_\u003cCyborgName\u003e_\u003cNumInHost\u003e, now simply"},{"line_number":140,"context_line":"    # named \u003cDevice_name\u003e_\u003cDevice_address\u003e"},{"line_number":141,"context_line":"    # NOTE(yumeng) Now the naming method is named as the following:"},{"line_number":142,"context_line":"    # For a device running on nova-managed compute node"},{"line_number":143,"context_line":"    # \u003cCompute_hostname\u003e_\u003cDevice_address\u003e"}],"source_content_type":"text/x-python","patch_set":1,"id":"9f560f44_ece0af29","line":140,"range":{"start_line":137,"start_character":3,"end_line":140,"end_character":42},"in_reply_to":"9f560f44_a3809cc0","updated":"2020-08-28 10:04:35.000000000","message":"Done","commit_id":"40e95d4aaf68383f6034790e100ed2fa5b443a7a"},{"author":{"_account_id":26458,"name":"Brin Zhang","email":"zhangbailin@inspur.com","username":"zhangbailin"},"change_message_id":"32a57e49989aad30284bedf7f7f6145636f967fd","unresolved":false,"context_lines":[{"line_number":144,"context_line":"    name \u003d gpu.get(\u0027name\u0027, \u0027\u0027) + \u0027_\u0027 + gpu[\"devices\"]"},{"line_number":145,"context_line":"    # Replace any non alphanumeric, hyphen or underscore character with"},{"line_number":146,"context_line":"    # underscore to comply with placement RP name requirements"},{"line_number":147,"context_line":"    driver_dep.name \u003d re.sub(r\"(?![a-zA-Z0-9_\\-]).\", \"_\", name)"},{"line_number":148,"context_line":"    driver_dep.driver_name \u003d VENDOR_MAPS.get(gpu[\"vendor_id\"]).upper()"},{"line_number":149,"context_line":"    # driver_dep.num_accelerators for PGPU is 1, for VGPU should be the"},{"line_number":150,"context_line":"    # sriov_numvfs of the vGPU device."}],"source_content_type":"text/x-python","patch_set":1,"id":"9f560f44_66297288","line":147,"updated":"2020-08-27 08:42:24.000000000","message":"I don\u0027t quite understand why you want to do this? I will take a closer look, can you give me an example?","commit_id":"40e95d4aaf68383f6034790e100ed2fa5b443a7a"},{"author":{"_account_id":31412,"name":"Wenping Song","email":"songwenping@inspur.com","username":"songwenping"},"change_message_id":"f8ea7bf0fbdded0606ccf79d97131232736ad89e","unresolved":false,"context_lines":[{"line_number":144,"context_line":"    name \u003d gpu.get(\u0027name\u0027, \u0027\u0027) + \u0027_\u0027 + gpu[\"devices\"]"},{"line_number":145,"context_line":"    # Replace any non alphanumeric, hyphen or underscore character with"},{"line_number":146,"context_line":"    # underscore to comply with placement RP name requirements"},{"line_number":147,"context_line":"    driver_dep.name \u003d re.sub(r\"(?![a-zA-Z0-9_\\-]).\", \"_\", name)"},{"line_number":148,"context_line":"    driver_dep.driver_name \u003d VENDOR_MAPS.get(gpu[\"vendor_id\"]).upper()"},{"line_number":149,"context_line":"    # driver_dep.num_accelerators for PGPU is 1, for VGPU should be the"},{"line_number":150,"context_line":"    # sriov_numvfs of the vGPU device."}],"source_content_type":"text/x-python","patch_set":1,"id":"9f560f44_e622a251","line":147,"range":{"start_line":147,"start_character":4,"end_line":147,"end_character":63},"updated":"2020-08-27 09:03:54.000000000","message":"This regx also replace \u0027 \u0027(i.e. space) to \u0027_\u0027, this maybe not sensible.","commit_id":"40e95d4aaf68383f6034790e100ed2fa5b443a7a"},{"author":{"_account_id":24872,"name":"YumengBao","email":"yumeng_bao@yahoo.com","username":"Yumeng_Bao"},"change_message_id":"8bb2f383945b02c86f18249f3fafddc1bead0274","unresolved":false,"context_lines":[{"line_number":144,"context_line":"    name \u003d gpu.get(\u0027name\u0027, \u0027\u0027) + \u0027_\u0027 + gpu[\"devices\"]"},{"line_number":145,"context_line":"    # Replace any non alphanumeric, hyphen or underscore character with"},{"line_number":146,"context_line":"    # underscore to comply with placement RP name requirements"},{"line_number":147,"context_line":"    driver_dep.name \u003d re.sub(r\"(?![a-zA-Z0-9_\\-]).\", \"_\", name)"},{"line_number":148,"context_line":"    driver_dep.driver_name \u003d VENDOR_MAPS.get(gpu[\"vendor_id\"]).upper()"},{"line_number":149,"context_line":"    # driver_dep.num_accelerators for PGPU is 1, for VGPU should be the"},{"line_number":150,"context_line":"    # sriov_numvfs of the vGPU device."}],"source_content_type":"text/x-python","patch_set":1,"id":"9f560f44_91e78cad","line":147,"range":{"start_line":147,"start_character":4,"end_line":147,"end_character":63},"in_reply_to":"9f560f44_17053e14","updated":"2020-08-28 10:04:35.000000000","message":"emmm \u0027-\u0027 will make PCI address look like mac address.\nso let\u0027s just keep PCI address as it is. I will remove this.","commit_id":"40e95d4aaf68383f6034790e100ed2fa5b443a7a"},{"author":{"_account_id":31412,"name":"Wenping Song","email":"songwenping@inspur.com","username":"songwenping"},"change_message_id":"316166e98070b227323733a4d38027f7b552265b","unresolved":false,"context_lines":[{"line_number":144,"context_line":"    name \u003d gpu.get(\u0027name\u0027, \u0027\u0027) + \u0027_\u0027 + gpu[\"devices\"]"},{"line_number":145,"context_line":"    # Replace any non alphanumeric, hyphen or underscore character with"},{"line_number":146,"context_line":"    # underscore to comply with placement RP name requirements"},{"line_number":147,"context_line":"    driver_dep.name \u003d re.sub(r\"(?![a-zA-Z0-9_\\-]).\", \"_\", name)"},{"line_number":148,"context_line":"    driver_dep.driver_name \u003d VENDOR_MAPS.get(gpu[\"vendor_id\"]).upper()"},{"line_number":149,"context_line":"    # driver_dep.num_accelerators for PGPU is 1, for VGPU should be the"},{"line_number":150,"context_line":"    # sriov_numvfs of the vGPU device."}],"source_content_type":"text/x-python","patch_set":1,"id":"9f560f44_17053e14","line":147,"range":{"start_line":147,"start_character":4,"end_line":147,"end_character":63},"in_reply_to":"9f560f44_3751620f","updated":"2020-08-27 12:31:16.000000000","message":"I think replace to \u0027-\u0027 is better, because \u0027_\u0027 is used to join hostname and device_address, we cannot split hostname and device_address by \u0027_\u0027.","commit_id":"40e95d4aaf68383f6034790e100ed2fa5b443a7a"},{"author":{"_account_id":24872,"name":"YumengBao","email":"yumeng_bao@yahoo.com","username":"Yumeng_Bao"},"change_message_id":"9701789f01631594d9fa068d82d1db04a578e27a","unresolved":false,"context_lines":[{"line_number":144,"context_line":"    name \u003d gpu.get(\u0027name\u0027, \u0027\u0027) + \u0027_\u0027 + gpu[\"devices\"]"},{"line_number":145,"context_line":"    # Replace any non alphanumeric, hyphen or underscore character with"},{"line_number":146,"context_line":"    # underscore to comply with placement RP name requirements"},{"line_number":147,"context_line":"    driver_dep.name \u003d re.sub(r\"(?![a-zA-Z0-9_\\-]).\", \"_\", name)"},{"line_number":148,"context_line":"    driver_dep.driver_name \u003d VENDOR_MAPS.get(gpu[\"vendor_id\"]).upper()"},{"line_number":149,"context_line":"    # driver_dep.num_accelerators for PGPU is 1, for VGPU should be the"},{"line_number":150,"context_line":"    # sriov_numvfs of the vGPU device."}],"source_content_type":"text/x-python","patch_set":1,"id":"9f560f44_f7140a43","line":147,"in_reply_to":"9f560f44_66297288","updated":"2020-08-27 11:53:30.000000000","message":"here is a reference https://github.com/openstack/cyborg/blob/master/cyborg/accelerator/drivers/fake.py#L86-L88","commit_id":"40e95d4aaf68383f6034790e100ed2fa5b443a7a"},{"author":{"_account_id":24872,"name":"YumengBao","email":"yumeng_bao@yahoo.com","username":"Yumeng_Bao"},"change_message_id":"047fc591b8bcf06d88a145abbd216aacef5c95e5","unresolved":false,"context_lines":[{"line_number":144,"context_line":"    name \u003d gpu.get(\u0027name\u0027, \u0027\u0027) + \u0027_\u0027 + gpu[\"devices\"]"},{"line_number":145,"context_line":"    # Replace any non alphanumeric, hyphen or underscore character with"},{"line_number":146,"context_line":"    # underscore to comply with placement RP name requirements"},{"line_number":147,"context_line":"    driver_dep.name \u003d re.sub(r\"(?![a-zA-Z0-9_\\-]).\", \"_\", name)"},{"line_number":148,"context_line":"    driver_dep.driver_name \u003d VENDOR_MAPS.get(gpu[\"vendor_id\"]).upper()"},{"line_number":149,"context_line":"    # driver_dep.num_accelerators for PGPU is 1, for VGPU should be the"},{"line_number":150,"context_line":"    # sriov_numvfs of the vGPU device."}],"source_content_type":"text/x-python","patch_set":1,"id":"9f560f44_ae5818fa","line":147,"range":{"start_line":147,"start_character":4,"end_line":147,"end_character":63},"in_reply_to":"9f560f44_9085730a","updated":"2020-09-03 06:59:42.000000000","message":"Done","commit_id":"40e95d4aaf68383f6034790e100ed2fa5b443a7a"},{"author":{"_account_id":31412,"name":"Wenping Song","email":"songwenping@inspur.com","username":"songwenping"},"change_message_id":"c48c92f84260f41111d574d86adac67500ef59e8","unresolved":false,"context_lines":[{"line_number":144,"context_line":"    name \u003d gpu.get(\u0027name\u0027, \u0027\u0027) + \u0027_\u0027 + gpu[\"devices\"]"},{"line_number":145,"context_line":"    # Replace any non alphanumeric, hyphen or underscore character with"},{"line_number":146,"context_line":"    # underscore to comply with placement RP name requirements"},{"line_number":147,"context_line":"    driver_dep.name \u003d re.sub(r\"(?![a-zA-Z0-9_\\-]).\", \"_\", name)"},{"line_number":148,"context_line":"    driver_dep.driver_name \u003d VENDOR_MAPS.get(gpu[\"vendor_id\"]).upper()"},{"line_number":149,"context_line":"    # driver_dep.num_accelerators for PGPU is 1, for VGPU should be the"},{"line_number":150,"context_line":"    # sriov_numvfs of the vGPU device."}],"source_content_type":"text/x-python","patch_set":1,"id":"9f560f44_9085730a","line":147,"range":{"start_line":147,"start_character":4,"end_line":147,"end_character":63},"in_reply_to":"9f560f44_91e78cad","updated":"2020-09-03 03:53:49.000000000","message":"Why replace `:` to `_` in PCI address?","commit_id":"40e95d4aaf68383f6034790e100ed2fa5b443a7a"},{"author":{"_account_id":24872,"name":"YumengBao","email":"yumeng_bao@yahoo.com","username":"Yumeng_Bao"},"change_message_id":"9701789f01631594d9fa068d82d1db04a578e27a","unresolved":false,"context_lines":[{"line_number":144,"context_line":"    name \u003d gpu.get(\u0027name\u0027, \u0027\u0027) + \u0027_\u0027 + gpu[\"devices\"]"},{"line_number":145,"context_line":"    # Replace any non alphanumeric, hyphen or underscore character with"},{"line_number":146,"context_line":"    # underscore to comply with placement RP name requirements"},{"line_number":147,"context_line":"    driver_dep.name \u003d re.sub(r\"(?![a-zA-Z0-9_\\-]).\", \"_\", name)"},{"line_number":148,"context_line":"    driver_dep.driver_name \u003d VENDOR_MAPS.get(gpu[\"vendor_id\"]).upper()"},{"line_number":149,"context_line":"    # driver_dep.num_accelerators for PGPU is 1, for VGPU should be the"},{"line_number":150,"context_line":"    # sriov_numvfs of the vGPU device."}],"source_content_type":"text/x-python","patch_set":1,"id":"9f560f44_3751620f","line":147,"range":{"start_line":147,"start_character":4,"end_line":147,"end_character":63},"in_reply_to":"9f560f44_e622a251","updated":"2020-08-27 11:53:30.000000000","message":"yes, this regx will replace all the non-alphanumeric, non-hyphen, non-underscore with underscore. This will make the deployable_name only contains alphanumeric, hyphen and underscore","commit_id":"40e95d4aaf68383f6034790e100ed2fa5b443a7a"},{"author":{"_account_id":25738,"name":"Xinran WANG","email":"xin-ran.wang@intel.com","username":"Xinran"},"change_message_id":"99a98816c2c96aa59c7b7f56265e6af9c5116c67","unresolved":false,"context_lines":[{"line_number":94,"context_line":"        if m:"},{"line_number":95,"context_line":"            gpu_dict \u003d m.groupdict()"},{"line_number":96,"context_line":"            # generate hostname for deployable_name usage"},{"line_number":97,"context_line":"            gpu_dict[\u0027name\u0027] \u003d socket.gethostname()"},{"line_number":98,"context_line":"            # generate traits info"},{"line_number":99,"context_line":"            # TODO(yumeng) support and test VGPU rc generation soon."},{"line_number":100,"context_line":"            traits \u003d get_traits(gpu_dict[\"vendor_id\"], gpu_dict[\"product_id\"])"}],"source_content_type":"text/x-python","patch_set":3,"id":"9f560f44_bceb6910","line":97,"range":{"start_line":97,"start_character":12,"end_line":97,"end_character":51},"updated":"2020-08-31 09:07:42.000000000","message":"This may mislead other, maybe it\u0027s better to add pci_address here, otherwise this variable seems more like a hostname instead of gpu\u0027s name.","commit_id":"1d65ef895ab54294564ba2b87f9c450870e2510d"},{"author":{"_account_id":24872,"name":"YumengBao","email":"yumeng_bao@yahoo.com","username":"Yumeng_Bao"},"change_message_id":"047fc591b8bcf06d88a145abbd216aacef5c95e5","unresolved":false,"context_lines":[{"line_number":94,"context_line":"        if m:"},{"line_number":95,"context_line":"            gpu_dict \u003d m.groupdict()"},{"line_number":96,"context_line":"            # generate hostname for deployable_name usage"},{"line_number":97,"context_line":"            gpu_dict[\u0027name\u0027] \u003d socket.gethostname()"},{"line_number":98,"context_line":"            # generate traits info"},{"line_number":99,"context_line":"            # TODO(yumeng) support and test VGPU rc generation soon."},{"line_number":100,"context_line":"            traits \u003d get_traits(gpu_dict[\"vendor_id\"], gpu_dict[\"product_id\"])"}],"source_content_type":"text/x-python","patch_set":3,"id":"9f560f44_ce374c4b","line":97,"range":{"start_line":97,"start_character":12,"end_line":97,"end_character":51},"in_reply_to":"9f560f44_bceb6910","updated":"2020-09-03 06:59:42.000000000","message":"good catch. done.","commit_id":"1d65ef895ab54294564ba2b87f9c450870e2510d"},{"author":{"_account_id":31412,"name":"Wenping Song","email":"songwenping@inspur.com","username":"songwenping"},"change_message_id":"bc6589eef3aab7397b3f0456188f395d3f1f9b18","unresolved":false,"context_lines":[{"line_number":37,"context_line":"GPU_FLAGS \u003d [\"VGA compatible controller\", \"3D controller\"]"},{"line_number":38,"context_line":"GPU_INFO_PATTERN \u003d re.compile(r\"(?P\u003cdevices\u003e[0-9a-fA-F]{4}:[0-9a-fA-F]{2}:\""},{"line_number":39,"context_line":"                              r\"[0-9a-fA-F]{2}\\.[0-9a-fA-F]) \""},{"line_number":40,"context_line":"                              r\"(?P\u003ccontroller\u003e.*) [\\[].*]: (?P\u003cmodel\u003e.*) .*\""},{"line_number":41,"context_line":"                              r\"[\\[](?P\u003cvendor_id\u003e[0-9a-fA-F]\""},{"line_number":42,"context_line":"                              r\"{4}):(?P\u003cproduct_id\u003e[0-9a-fA-F]{4})].*\")"},{"line_number":43,"context_line":""}],"source_content_type":"text/x-python","patch_set":4,"id":"9f560f44_a96e52c6","line":40,"range":{"start_line":40,"start_character":64,"end_line":40,"end_character":69},"updated":"2020-09-03 07:33:51.000000000","message":"I dont think we can change name to model, this mislead original logical. it\u0027s reasonable to keep model and add a name field for device table to follow up.","commit_id":"eeae74151954c3967181f8702df6e8b94f4d0a75"},{"author":{"_account_id":25738,"name":"Xinran WANG","email":"xin-ran.wang@intel.com","username":"Xinran"},"change_message_id":"91ba3c60384aaef53205ead0a340317137ae28a0","unresolved":false,"context_lines":[{"line_number":37,"context_line":"GPU_FLAGS \u003d [\"VGA compatible controller\", \"3D controller\"]"},{"line_number":38,"context_line":"GPU_INFO_PATTERN \u003d re.compile(r\"(?P\u003cdevices\u003e[0-9a-fA-F]{4}:[0-9a-fA-F]{2}:\""},{"line_number":39,"context_line":"                              r\"[0-9a-fA-F]{2}\\.[0-9a-fA-F]) \""},{"line_number":40,"context_line":"                              r\"(?P\u003ccontroller\u003e.*) [\\[].*]: (?P\u003cmodel\u003e.*) .*\""},{"line_number":41,"context_line":"                              r\"[\\[](?P\u003cvendor_id\u003e[0-9a-fA-F]\""},{"line_number":42,"context_line":"                              r\"{4}):(?P\u003cproduct_id\u003e[0-9a-fA-F]{4})].*\")"},{"line_number":43,"context_line":""}],"source_content_type":"text/x-python","patch_set":4,"id":"9f560f44_7cde9fda","line":40,"range":{"start_line":40,"start_character":64,"end_line":40,"end_character":69},"in_reply_to":"9f560f44_61e55c0a","updated":"2020-09-04 09:54:57.000000000","message":"Agree, it is more like a description than a name in this case. A device name should contain less details.","commit_id":"eeae74151954c3967181f8702df6e8b94f4d0a75"},{"author":{"_account_id":24872,"name":"YumengBao","email":"yumeng_bao@yahoo.com","username":"Yumeng_Bao"},"change_message_id":"98e998924faccb4abead93dfc7f38f083ee75460","unresolved":false,"context_lines":[{"line_number":37,"context_line":"GPU_FLAGS \u003d [\"VGA compatible controller\", \"3D controller\"]"},{"line_number":38,"context_line":"GPU_INFO_PATTERN \u003d re.compile(r\"(?P\u003cdevices\u003e[0-9a-fA-F]{4}:[0-9a-fA-F]{2}:\""},{"line_number":39,"context_line":"                              r\"[0-9a-fA-F]{2}\\.[0-9a-fA-F]) \""},{"line_number":40,"context_line":"                              r\"(?P\u003ccontroller\u003e.*) [\\[].*]: (?P\u003cmodel\u003e.*) .*\""},{"line_number":41,"context_line":"                              r\"[\\[](?P\u003cvendor_id\u003e[0-9a-fA-F]\""},{"line_number":42,"context_line":"                              r\"{4}):(?P\u003cproduct_id\u003e[0-9a-fA-F]{4})].*\")"},{"line_number":43,"context_line":""}],"source_content_type":"text/x-python","patch_set":4,"id":"9f560f44_d64d0c9a","line":40,"range":{"start_line":40,"start_character":64,"end_line":40,"end_character":69},"in_reply_to":"9f560f44_73e5320a","updated":"2020-09-04 07:46:03.000000000","message":"I don\u0027t understand the motivation that you insist \u0027NVIDIA Corporation GP100GL [Tesla P100 PCIe 12GB]\u0027 is a name. \nTo be true, I never see such a name to describe a hardware GPU product. NVIDIA product names are usually the following: Tesla T4, Quadro RTX 8000, NVIDIA TESLA P100, etc. \n\nSpeak of exposing the device\u0027s name in a private cloud, you have to do more. solution like just reporting \u003chostname\u003e_\u003cdevice_name\u003e_\u003cpci_address\u003e as the deployable_name is far from enough. for example, users can hardly understand device/deployable/attach_handle, what they can understand is a physical device, right? so you may need to merge necessary information in one API for the horizon to invoke and expose.","commit_id":"eeae74151954c3967181f8702df6e8b94f4d0a75"},{"author":{"_account_id":28748,"name":"chenker","email":"chen.ke14@zte.com.cn","username":"chenke"},"change_message_id":"c817f6648787f2a528b2b82b2d48fcb12b2b1283","unresolved":false,"context_lines":[{"line_number":37,"context_line":"GPU_FLAGS \u003d [\"VGA compatible controller\", \"3D controller\"]"},{"line_number":38,"context_line":"GPU_INFO_PATTERN \u003d re.compile(r\"(?P\u003cdevices\u003e[0-9a-fA-F]{4}:[0-9a-fA-F]{2}:\""},{"line_number":39,"context_line":"                              r\"[0-9a-fA-F]{2}\\.[0-9a-fA-F]) \""},{"line_number":40,"context_line":"                              r\"(?P\u003ccontroller\u003e.*) [\\[].*]: (?P\u003cmodel\u003e.*) .*\""},{"line_number":41,"context_line":"                              r\"[\\[](?P\u003cvendor_id\u003e[0-9a-fA-F]\""},{"line_number":42,"context_line":"                              r\"{4}):(?P\u003cproduct_id\u003e[0-9a-fA-F]{4})].*\")"},{"line_number":43,"context_line":""}],"source_content_type":"text/x-python","patch_set":4,"id":"9f560f44_61e55c0a","line":40,"range":{"start_line":40,"start_character":64,"end_line":40,"end_character":69},"in_reply_to":"9f560f44_73e5320a","updated":"2020-09-04 08:23:28.000000000","message":"I think model is more suitable.","commit_id":"eeae74151954c3967181f8702df6e8b94f4d0a75"},{"author":{"_account_id":24872,"name":"YumengBao","email":"yumeng_bao@yahoo.com","username":"Yumeng_Bao"},"change_message_id":"b1a0c8aabd96836f27afc9d7dc3da3b61ac45e0a","unresolved":false,"context_lines":[{"line_number":37,"context_line":"GPU_FLAGS \u003d [\"VGA compatible controller\", \"3D controller\"]"},{"line_number":38,"context_line":"GPU_INFO_PATTERN \u003d re.compile(r\"(?P\u003cdevices\u003e[0-9a-fA-F]{4}:[0-9a-fA-F]{2}:\""},{"line_number":39,"context_line":"                              r\"[0-9a-fA-F]{2}\\.[0-9a-fA-F]) \""},{"line_number":40,"context_line":"                              r\"(?P\u003ccontroller\u003e.*) [\\[].*]: (?P\u003cmodel\u003e.*) .*\""},{"line_number":41,"context_line":"                              r\"[\\[](?P\u003cvendor_id\u003e[0-9a-fA-F]\""},{"line_number":42,"context_line":"                              r\"{4}):(?P\u003cproduct_id\u003e[0-9a-fA-F]{4})].*\")"},{"line_number":43,"context_line":""}],"source_content_type":"text/x-python","patch_set":4,"id":"9f560f44_d077d49e","line":40,"range":{"start_line":40,"start_character":64,"end_line":40,"end_character":69},"in_reply_to":"9f560f44_a96e52c6","updated":"2020-09-04 01:46:32.000000000","message":"Here, for now, the model field is the best place to put this info, we have no better place to expose this information.\nThe name field for the device table is another topic. you can bring up this as one topic in the wallaby PTG. In the train PTG, we once talked about enhancing GET device API to show both the device and deployable together, where deployable_name will be exposed, and the user will see clearly a name. you can continue in the next PTG.","commit_id":"eeae74151954c3967181f8702df6e8b94f4d0a75"},{"author":{"_account_id":26458,"name":"Brin Zhang","email":"zhangbailin@inspur.com","username":"zhangbailin"},"change_message_id":"d297a16df4755bd848dec7462a7526ffdcbf70f7","unresolved":false,"context_lines":[{"line_number":37,"context_line":"GPU_FLAGS \u003d [\"VGA compatible controller\", \"3D controller\"]"},{"line_number":38,"context_line":"GPU_INFO_PATTERN \u003d re.compile(r\"(?P\u003cdevices\u003e[0-9a-fA-F]{4}:[0-9a-fA-F]{2}:\""},{"line_number":39,"context_line":"                              r\"[0-9a-fA-F]{2}\\.[0-9a-fA-F]) \""},{"line_number":40,"context_line":"                              r\"(?P\u003ccontroller\u003e.*) [\\[].*]: (?P\u003cmodel\u003e.*) .*\""},{"line_number":41,"context_line":"                              r\"[\\[](?P\u003cvendor_id\u003e[0-9a-fA-F]\""},{"line_number":42,"context_line":"                              r\"{4}):(?P\u003cproduct_id\u003e[0-9a-fA-F]{4})].*\")"},{"line_number":43,"context_line":""}],"source_content_type":"text/x-python","patch_set":4,"id":"9f560f44_73e5320a","line":40,"range":{"start_line":40,"start_character":64,"end_line":40,"end_character":69},"in_reply_to":"9f560f44_d077d49e","updated":"2020-09-04 05:49:07.000000000","message":"I dont think add name to \u0027model\u0027 field is a good idea too, in some private cloud, there is necessary to show the device\u0027s name, assigning name to model looks very strange.","commit_id":"eeae74151954c3967181f8702df6e8b94f4d0a75"},{"author":{"_account_id":31412,"name":"Wenping Song","email":"songwenping@inspur.com","username":"songwenping"},"change_message_id":"bc6589eef3aab7397b3f0456188f395d3f1f9b18","unresolved":false,"context_lines":[{"line_number":94,"context_line":"        if m:"},{"line_number":95,"context_line":"            gpu_dict \u003d m.groupdict()"},{"line_number":96,"context_line":"            # generate hostname for deployable_name usage"},{"line_number":97,"context_line":"            gpu_dict[\u0027hostname\u0027] \u003d CONF.host"},{"line_number":98,"context_line":"            # generate traits info"},{"line_number":99,"context_line":"            # TODO(yumeng) support and test VGPU rc generation soon."},{"line_number":100,"context_line":"            traits \u003d get_traits(gpu_dict[\"vendor_id\"], gpu_dict[\"product_id\"])"}],"source_content_type":"text/x-python","patch_set":4,"id":"9f560f44_c962a6d9","line":97,"range":{"start_line":97,"start_character":12,"end_line":97,"end_character":44},"updated":"2020-09-03 07:33:51.000000000","message":"this is no need, just use CONF.host below.","commit_id":"eeae74151954c3967181f8702df6e8b94f4d0a75"},{"author":{"_account_id":31412,"name":"Wenping Song","email":"songwenping@inspur.com","username":"songwenping"},"change_message_id":"b260dff86ef9af4223e20549ee12636b571ae9a6","unresolved":false,"context_lines":[{"line_number":94,"context_line":"        if m:"},{"line_number":95,"context_line":"            gpu_dict \u003d m.groupdict()"},{"line_number":96,"context_line":"            # generate hostname for deployable_name usage"},{"line_number":97,"context_line":"            gpu_dict[\u0027hostname\u0027] \u003d CONF.host"},{"line_number":98,"context_line":"            # generate traits info"},{"line_number":99,"context_line":"            # TODO(yumeng) support and test VGPU rc generation soon."},{"line_number":100,"context_line":"            traits \u003d get_traits(gpu_dict[\"vendor_id\"], gpu_dict[\"product_id\"])"}],"source_content_type":"text/x-python","patch_set":4,"id":"9f560f44_70f7e8d5","line":97,"range":{"start_line":97,"start_character":12,"end_line":97,"end_character":44},"in_reply_to":"9f560f44_4d07af1e","updated":"2020-09-04 06:01:28.000000000","message":"it will be more concise and easy to read.","commit_id":"eeae74151954c3967181f8702df6e8b94f4d0a75"},{"author":{"_account_id":24872,"name":"YumengBao","email":"yumeng_bao@yahoo.com","username":"Yumeng_Bao"},"change_message_id":"b1a0c8aabd96836f27afc9d7dc3da3b61ac45e0a","unresolved":false,"context_lines":[{"line_number":94,"context_line":"        if m:"},{"line_number":95,"context_line":"            gpu_dict \u003d m.groupdict()"},{"line_number":96,"context_line":"            # generate hostname for deployable_name usage"},{"line_number":97,"context_line":"            gpu_dict[\u0027hostname\u0027] \u003d CONF.host"},{"line_number":98,"context_line":"            # generate traits info"},{"line_number":99,"context_line":"            # TODO(yumeng) support and test VGPU rc generation soon."},{"line_number":100,"context_line":"            traits \u003d get_traits(gpu_dict[\"vendor_id\"], gpu_dict[\"product_id\"])"}],"source_content_type":"text/x-python","patch_set":4,"id":"9f560f44_4d07af1e","line":97,"range":{"start_line":97,"start_character":12,"end_line":97,"end_character":44},"in_reply_to":"9f560f44_c962a6d9","updated":"2020-09-04 01:46:32.000000000","message":"what\u0027s the difference between these two?","commit_id":"eeae74151954c3967181f8702df6e8b94f4d0a75"},{"author":{"_account_id":31412,"name":"Wenping Song","email":"songwenping@inspur.com","username":"songwenping"},"change_message_id":"bc6589eef3aab7397b3f0456188f395d3f1f9b18","unresolved":false,"context_lines":[{"line_number":140,"context_line":"    # NOTE(yumeng) Now simply named as \u003cCompute_hostname\u003e_\u003cDevice_address\u003e"},{"line_number":141,"context_line":"    # once cyborg needs to support GPU devices discovered from a baremetal"},{"line_number":142,"context_line":"    # node, we might need to support more formats."},{"line_number":143,"context_line":"    driver_dep.name \u003d gpu.get(\u0027hostname\u0027, \u0027\u0027) + \u0027_\u0027 + gpu[\"devices\"]"},{"line_number":144,"context_line":"    driver_dep.driver_name \u003d VENDOR_MAPS.get(gpu[\"vendor_id\"]).upper()"},{"line_number":145,"context_line":"    # driver_dep.num_accelerators for PGPU is 1, for VGPU should be the"},{"line_number":146,"context_line":"    # sriov_numvfs of the vGPU device."}],"source_content_type":"text/x-python","patch_set":4,"id":"9f560f44_296242d9","line":143,"range":{"start_line":143,"start_character":22,"end_line":143,"end_character":45},"updated":"2020-09-03 07:33:51.000000000","message":"As we talked, does hostname need use first eight characters?","commit_id":"eeae74151954c3967181f8702df6e8b94f4d0a75"},{"author":{"_account_id":24872,"name":"YumengBao","email":"yumeng_bao@yahoo.com","username":"Yumeng_Bao"},"change_message_id":"b1a0c8aabd96836f27afc9d7dc3da3b61ac45e0a","unresolved":false,"context_lines":[{"line_number":140,"context_line":"    # NOTE(yumeng) Now simply named as \u003cCompute_hostname\u003e_\u003cDevice_address\u003e"},{"line_number":141,"context_line":"    # once cyborg needs to support GPU devices discovered from a baremetal"},{"line_number":142,"context_line":"    # node, we might need to support more formats."},{"line_number":143,"context_line":"    driver_dep.name \u003d gpu.get(\u0027hostname\u0027, \u0027\u0027) + \u0027_\u0027 + gpu[\"devices\"]"},{"line_number":144,"context_line":"    driver_dep.driver_name \u003d VENDOR_MAPS.get(gpu[\"vendor_id\"]).upper()"},{"line_number":145,"context_line":"    # driver_dep.num_accelerators for PGPU is 1, for VGPU should be the"},{"line_number":146,"context_line":"    # sriov_numvfs of the vGPU device."}],"source_content_type":"text/x-python","patch_set":4,"id":"9f560f44_ed184385","line":143,"range":{"start_line":143,"start_character":22,"end_line":143,"end_character":45},"in_reply_to":"9f560f44_296242d9","updated":"2020-09-04 01:46:32.000000000","message":"no need.","commit_id":"eeae74151954c3967181f8702df6e8b94f4d0a75"},{"author":{"_account_id":31412,"name":"Wenping Song","email":"songwenping@inspur.com","username":"songwenping"},"change_message_id":"b260dff86ef9af4223e20549ee12636b571ae9a6","unresolved":false,"context_lines":[{"line_number":140,"context_line":"    # NOTE(yumeng) Now simply named as \u003cCompute_hostname\u003e_\u003cDevice_address\u003e"},{"line_number":141,"context_line":"    # once cyborg needs to support GPU devices discovered from a baremetal"},{"line_number":142,"context_line":"    # node, we might need to support more formats."},{"line_number":143,"context_line":"    driver_dep.name \u003d gpu.get(\u0027hostname\u0027, \u0027\u0027) + \u0027_\u0027 + gpu[\"devices\"]"},{"line_number":144,"context_line":"    driver_dep.driver_name \u003d VENDOR_MAPS.get(gpu[\"vendor_id\"]).upper()"},{"line_number":145,"context_line":"    # driver_dep.num_accelerators for PGPU is 1, for VGPU should be the"},{"line_number":146,"context_line":"    # sriov_numvfs of the vGPU device."}],"source_content_type":"text/x-python","patch_set":4,"id":"9f560f44_3040d007","line":143,"range":{"start_line":143,"start_character":22,"end_line":143,"end_character":45},"in_reply_to":"9f560f44_ed184385","updated":"2020-09-04 06:01:28.000000000","message":"ok.","commit_id":"eeae74151954c3967181f8702df6e8b94f4d0a75"}]}
