)]}'
{"doc/source/user/usage.rst":[{"author":{"_account_id":7160,"name":"arkady kanevsky","email":"akanevsk@redhat.com","username":"arkady"},"change_message_id":"359c6e957db782ead47f2dcf0bf95c678e31e94a","unresolved":false,"context_lines":[{"line_number":258,"context_line":"      [port_physnet]"},{"line_number":259,"context_line":"      cidr_map \u003d 10.10.10.0/24:physnet_a, 2001:db8::/64:physnet_b"},{"line_number":260,"context_line":""},{"line_number":261,"context_line":"``accelerators``"},{"line_number":262,"context_line":"    Processes PCI data returned from inspection and compares with the"},{"line_number":263,"context_line":"    accelerator inventory, it will update accelerator device information to"},{"line_number":264,"context_line":"    the properties field of the ironic node if any accelerator device is"},{"line_number":265,"context_line":"    found, for example::"},{"line_number":266,"context_line":""},{"line_number":267,"context_line":"      {\u0027local_gb\u0027: \u00271115\u0027, \u0027cpus\u0027: \u002740\u0027, \u0027cpu_arch\u0027: \u0027x86_64\u0027, \u0027memory_mb\u0027: \u002732768\u0027,"},{"line_number":268,"context_line":"       \u0027capabilities\u0027: \u0027boot_mode:bios,cpu_vt:true,cpu_aes:true,cpu_hugepages:true,cpu_hugepages_1g:true,cpu_txt:true\u0027,"},{"line_number":269,"context_line":"       \u0027accel\u0027: [{\u0027vendor_id\u0027: \u002710de\u0027, \u0027device_id\u0027: \u00271eb8\u0027, \u0027type\u0027: \u0027GPU\u0027,"},{"line_number":270,"context_line":"                  \u0027pci_address\u0027: \u00270000:82:00.0\u0027,"},{"line_number":271,"context_line":"                  \u0027device_info\u0027: \u0027NVIDIA Corporation Tesla T4\u0027}]"},{"line_number":272,"context_line":"      }"},{"line_number":273,"context_line":""},{"line_number":274,"context_line":"Refer to :ref:`contributing_link` for information on how to write your"},{"line_number":275,"context_line":"own plugin."}],"source_content_type":"text/x-rst","patch_set":4,"id":"9f560f44_0a0f4b2e","line":272,"range":{"start_line":261,"start_character":0,"end_line":272,"end_character":7},"updated":"2020-09-04 21:22:58.000000000","message":"Do we expect the same format for inband and outofband inspection?","commit_id":"de2a27ad8b41c45af1f8d57dad45fea9ce0f33a3"},{"author":{"_account_id":24828,"name":"Kaifeng Wang","email":"kaifeng.w@gmail.com","username":"wangkf"},"change_message_id":"125e11a0dd5b96f51d61e695cf216807d00d0c08","unresolved":false,"context_lines":[{"line_number":258,"context_line":"      [port_physnet]"},{"line_number":259,"context_line":"      cidr_map \u003d 10.10.10.0/24:physnet_a, 2001:db8::/64:physnet_b"},{"line_number":260,"context_line":""},{"line_number":261,"context_line":"``accelerators``"},{"line_number":262,"context_line":"    Processes PCI data returned from inspection and compares with the"},{"line_number":263,"context_line":"    accelerator inventory, it will update accelerator device information to"},{"line_number":264,"context_line":"    the properties field of the ironic node if any accelerator device is"},{"line_number":265,"context_line":"    found, for example::"},{"line_number":266,"context_line":""},{"line_number":267,"context_line":"      {\u0027local_gb\u0027: \u00271115\u0027, \u0027cpus\u0027: \u002740\u0027, \u0027cpu_arch\u0027: \u0027x86_64\u0027, \u0027memory_mb\u0027: \u002732768\u0027,"},{"line_number":268,"context_line":"       \u0027capabilities\u0027: \u0027boot_mode:bios,cpu_vt:true,cpu_aes:true,cpu_hugepages:true,cpu_hugepages_1g:true,cpu_txt:true\u0027,"},{"line_number":269,"context_line":"       \u0027accel\u0027: [{\u0027vendor_id\u0027: \u002710de\u0027, \u0027device_id\u0027: \u00271eb8\u0027, \u0027type\u0027: \u0027GPU\u0027,"},{"line_number":270,"context_line":"                  \u0027pci_address\u0027: \u00270000:82:00.0\u0027,"},{"line_number":271,"context_line":"                  \u0027device_info\u0027: \u0027NVIDIA Corporation Tesla T4\u0027}]"},{"line_number":272,"context_line":"      }"},{"line_number":273,"context_line":""},{"line_number":274,"context_line":"Refer to :ref:`contributing_link` for information on how to write your"},{"line_number":275,"context_line":"own plugin."}],"source_content_type":"text/x-rst","patch_set":4,"id":"9f560f44_9369cf8d","line":272,"range":{"start_line":261,"start_character":0,"end_line":272,"end_character":7},"in_reply_to":"9f560f44_0a0f4b2e","updated":"2020-09-07 01:32:21.000000000","message":"Probably, inspector is inband only, irmc supports oob inspection and seems collecting vendor id and device id, I am not sure pci_address is available though. Other fields can be deduced.","commit_id":"de2a27ad8b41c45af1f8d57dad45fea9ce0f33a3"}],"ironic_inspector/accel_inventory.yaml":[{"author":{"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"},"change_message_id":"59c3341183b8df0b3f6b2c63d18ffd26c4defa6b","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":3,"id":"9f560f44_0e1ad27b","updated":"2020-08-19 13:23:59.000000000","message":"\"known_accelerators.yaml\"","commit_id":"70742c855bf230910b75588d1636cb57035d15bd"},{"author":{"_account_id":24828,"name":"Kaifeng Wang","email":"kaifeng.w@gmail.com","username":"wangkf"},"change_message_id":"c79d86912fbeae4d30c14686fcc728c48d352310","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":3,"id":"9f560f44_4a55c84f","in_reply_to":"9f560f44_0e1ad27b","updated":"2020-08-20 06:09:51.000000000","message":"Done","commit_id":"70742c855bf230910b75588d1636cb57035d15bd"},{"author":{"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"},"change_message_id":"59c3341183b8df0b3f6b2c63d18ffd26c4defa6b","unresolved":false,"context_lines":[{"line_number":1,"context_line":"inventory:"},{"line_number":2,"context_line":"  - vendor_id: \"10de\""},{"line_number":3,"context_line":"    device_id: \"1eb8\""},{"line_number":4,"context_line":"    type: GPU"}],"source_content_type":"text/x-yaml","patch_set":3,"id":"9f560f44_ee1cbe78","line":1,"updated":"2020-08-19 13:23:59.000000000","message":"nit: no need for this key, you can just put the list directory in the file","commit_id":"70742c855bf230910b75588d1636cb57035d15bd"},{"author":{"_account_id":24828,"name":"Kaifeng Wang","email":"kaifeng.w@gmail.com","username":"wangkf"},"change_message_id":"c79d86912fbeae4d30c14686fcc728c48d352310","unresolved":false,"context_lines":[{"line_number":1,"context_line":"inventory:"},{"line_number":2,"context_line":"  - vendor_id: \"10de\""},{"line_number":3,"context_line":"    device_id: \"1eb8\""},{"line_number":4,"context_line":"    type: GPU"}],"source_content_type":"text/x-yaml","patch_set":3,"id":"9f560f44_aac90426","line":1,"in_reply_to":"9f560f44_ee1cbe78","updated":"2020-08-20 06:09:51.000000000","message":"changed to pci_devices in case we want to support different form of data.","commit_id":"70742c855bf230910b75588d1636cb57035d15bd"},{"author":{"_account_id":24828,"name":"Kaifeng Wang","email":"kaifeng.w@gmail.com","username":"wangkf"},"change_message_id":"9926a12d1aa95064e2f2a5db452ce04e4e2a33ac","unresolved":false,"context_lines":[{"line_number":1,"context_line":"inventory:"},{"line_number":2,"context_line":"  - vendor_id: \"10de\""},{"line_number":3,"context_line":"    device_id: \"1eb8\""},{"line_number":4,"context_line":"    type: GPU"}],"source_content_type":"text/x-yaml","patch_set":3,"id":"9f560f44_3041f00c","line":1,"in_reply_to":"9f560f44_ee1cbe78","updated":"2020-08-19 15:00:38.000000000","message":"having a top key might have flexibility on format change, say someday we may have non-pci devices?\nbtw i think you may want s/inventory/devices/","commit_id":"70742c855bf230910b75588d1636cb57035d15bd"}],"ironic_inspector/conf/accelerators.py":[{"author":{"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"},"change_message_id":"59c3341183b8df0b3f6b2c63d18ffd26c4defa6b","unresolved":false,"context_lines":[{"line_number":19,"context_line":""},{"line_number":20,"context_line":""},{"line_number":21,"context_line":"_OPTS \u003d ["},{"line_number":22,"context_line":"    cfg.StrOpt(\u0027inventory\u0027,"},{"line_number":23,"context_line":"               default\u003dos.path.join(os.path.join("},{"line_number":24,"context_line":"                   os.path.dirname(__file__), \u0027../accel_inventory.yaml\u0027)),"},{"line_number":25,"context_line":"               help\u003d_(\u0027The inventory of accelerator devices which contains \u0027"}],"source_content_type":"text/x-python","patch_set":3,"id":"9f560f44_4e14ca4e","line":22,"updated":"2020-08-19 13:23:59.000000000","message":"known_devices? known_accelerators? inventory doesn\u0027t look appropriate here","commit_id":"70742c855bf230910b75588d1636cb57035d15bd"},{"author":{"_account_id":24828,"name":"Kaifeng Wang","email":"kaifeng.w@gmail.com","username":"wangkf"},"change_message_id":"9926a12d1aa95064e2f2a5db452ce04e4e2a33ac","unresolved":false,"context_lines":[{"line_number":19,"context_line":""},{"line_number":20,"context_line":""},{"line_number":21,"context_line":"_OPTS \u003d ["},{"line_number":22,"context_line":"    cfg.StrOpt(\u0027inventory\u0027,"},{"line_number":23,"context_line":"               default\u003dos.path.join(os.path.join("},{"line_number":24,"context_line":"                   os.path.dirname(__file__), \u0027../accel_inventory.yaml\u0027)),"},{"line_number":25,"context_line":"               help\u003d_(\u0027The inventory of accelerator devices which contains \u0027"}],"source_content_type":"text/x-python","patch_set":3,"id":"9f560f44_d0eb540f","line":22,"in_reply_to":"9f560f44_4e14ca4e","updated":"2020-08-19 15:00:38.000000000","message":"ok, known_devices works.","commit_id":"70742c855bf230910b75588d1636cb57035d15bd"},{"author":{"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"},"change_message_id":"59c3341183b8df0b3f6b2c63d18ffd26c4defa6b","unresolved":false,"context_lines":[{"line_number":20,"context_line":""},{"line_number":21,"context_line":"_OPTS \u003d ["},{"line_number":22,"context_line":"    cfg.StrOpt(\u0027inventory\u0027,"},{"line_number":23,"context_line":"               default\u003dos.path.join(os.path.join("},{"line_number":24,"context_line":"                   os.path.dirname(__file__), \u0027../accel_inventory.yaml\u0027)),"},{"line_number":25,"context_line":"               help\u003d_(\u0027The inventory of accelerator devices which contains \u0027"},{"line_number":26,"context_line":"                      \u0027information used for identifying accelerators.\u0027)),"}],"source_content_type":"text/x-python","patch_set":3,"id":"9f560f44_2e17d653","line":23,"updated":"2020-08-19 13:23:59.000000000","message":"You don\u0027t seem to need two joins, did you mean abspath?","commit_id":"70742c855bf230910b75588d1636cb57035d15bd"},{"author":{"_account_id":24828,"name":"Kaifeng Wang","email":"kaifeng.w@gmail.com","username":"wangkf"},"change_message_id":"c79d86912fbeae4d30c14686fcc728c48d352310","unresolved":false,"context_lines":[{"line_number":20,"context_line":""},{"line_number":21,"context_line":"_OPTS \u003d ["},{"line_number":22,"context_line":"    cfg.StrOpt(\u0027inventory\u0027,"},{"line_number":23,"context_line":"               default\u003dos.path.join(os.path.join("},{"line_number":24,"context_line":"                   os.path.dirname(__file__), \u0027../accel_inventory.yaml\u0027)),"},{"line_number":25,"context_line":"               help\u003d_(\u0027The inventory of accelerator devices which contains \u0027"},{"line_number":26,"context_line":"                      \u0027information used for identifying accelerators.\u0027)),"}],"source_content_type":"text/x-python","patch_set":3,"id":"9f560f44_aaf2a46d","line":23,"in_reply_to":"9f560f44_2e17d653","updated":"2020-08-20 06:09:51.000000000","message":"ouch","commit_id":"70742c855bf230910b75588d1636cb57035d15bd"}],"ironic_inspector/plugins/accel_device.py":[{"author":{"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"},"change_message_id":"a157d81b411209918e4a8979b20c7614e6b2d9da","unresolved":false,"context_lines":[{"line_number":15,"context_line":""},{"line_number":16,"context_line":"from oslo_concurrency import lockutils"},{"line_number":17,"context_line":"from oslo_config import cfg"},{"line_number":18,"context_line":"import yaml"},{"line_number":19,"context_line":""},{"line_number":20,"context_line":"from ironic_inspector.plugins import base"},{"line_number":21,"context_line":"from ironic_inspector import utils"}],"source_content_type":"text/x-python","patch_set":3,"id":"9f560f44_300e108d","line":18,"updated":"2020-08-19 15:13:10.000000000","message":"needs adding to requirements.txt","commit_id":"70742c855bf230910b75588d1636cb57035d15bd"},{"author":{"_account_id":24828,"name":"Kaifeng Wang","email":"kaifeng.w@gmail.com","username":"wangkf"},"change_message_id":"a61a988db9f1a4f145edbd1b0e16ca3b639e05e0","unresolved":false,"context_lines":[{"line_number":15,"context_line":""},{"line_number":16,"context_line":"from oslo_concurrency import lockutils"},{"line_number":17,"context_line":"from oslo_config import cfg"},{"line_number":18,"context_line":"import yaml"},{"line_number":19,"context_line":""},{"line_number":20,"context_line":"from ironic_inspector.plugins import base"},{"line_number":21,"context_line":"from ironic_inspector import utils"}],"source_content_type":"text/x-python","patch_set":3,"id":"9f560f44_8ab8802a","line":18,"in_reply_to":"9f560f44_300e108d","updated":"2020-08-20 02:12:43.000000000","message":"I thought about it, but ironic doesn\u0027t have it too, eeek..\nit\u0027s probably a package shipped by distribution by default, anyway will do.","commit_id":"70742c855bf230910b75588d1636cb57035d15bd"},{"author":{"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"},"change_message_id":"59c3341183b8df0b3f6b2c63d18ffd26c4defa6b","unresolved":false,"context_lines":[{"line_number":27,"context_line":"_ACCEL_INVENTORY \u003d None"},{"line_number":28,"context_line":""},{"line_number":29,"context_line":""},{"line_number":30,"context_line":"@lockutils.synchronized(\u0027accel-inventory\u0027)"},{"line_number":31,"context_line":"def _get_accel_inventory():"},{"line_number":32,"context_line":"    global _ACCEL_INVENTORY"},{"line_number":33,"context_line":"    if _ACCEL_INVENTORY is None:"}],"source_content_type":"text/x-python","patch_set":3,"id":"9f560f44_8e0d4240","line":30,"updated":"2020-08-19 13:23:59.000000000","message":"Instead of locking you can just put the loading in __init__. It is invoked once and will get a nicer error message on failure.","commit_id":"70742c855bf230910b75588d1636cb57035d15bd"},{"author":{"_account_id":24828,"name":"Kaifeng Wang","email":"kaifeng.w@gmail.com","username":"wangkf"},"change_message_id":"9926a12d1aa95064e2f2a5db452ce04e4e2a33ac","unresolved":false,"context_lines":[{"line_number":27,"context_line":"_ACCEL_INVENTORY \u003d None"},{"line_number":28,"context_line":""},{"line_number":29,"context_line":""},{"line_number":30,"context_line":"@lockutils.synchronized(\u0027accel-inventory\u0027)"},{"line_number":31,"context_line":"def _get_accel_inventory():"},{"line_number":32,"context_line":"    global _ACCEL_INVENTORY"},{"line_number":33,"context_line":"    if _ACCEL_INVENTORY is None:"}],"source_content_type":"text/x-python","patch_set":3,"id":"9f560f44_7097e891","line":30,"in_reply_to":"9f560f44_8e0d4240","updated":"2020-08-19 15:00:38.000000000","message":"thanks, will do.","commit_id":"70742c855bf230910b75588d1636cb57035d15bd"},{"author":{"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"},"change_message_id":"59c3341183b8df0b3f6b2c63d18ffd26c4defa6b","unresolved":false,"context_lines":[{"line_number":38,"context_line":""},{"line_number":39,"context_line":"def find_accelerator(vendor_id, device_id):"},{"line_number":40,"context_line":"    inventory \u003d _get_accel_inventory()"},{"line_number":41,"context_line":"    if inventory:"},{"line_number":42,"context_line":"        for dev in inventory[\u0027inventory\u0027]:"},{"line_number":43,"context_line":"            if (dev[\u0027vendor_id\u0027] \u003d\u003d vendor_id and"},{"line_number":44,"context_line":"                    dev[\u0027device_id\u0027] \u003d\u003d device_id):"}],"source_content_type":"text/x-python","patch_set":3,"id":"9f560f44_6e08ae2c","line":41,"updated":"2020-08-19 13:23:59.000000000","message":"This should not happen","commit_id":"70742c855bf230910b75588d1636cb57035d15bd"},{"author":{"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"},"change_message_id":"a157d81b411209918e4a8979b20c7614e6b2d9da","unresolved":false,"context_lines":[{"line_number":38,"context_line":""},{"line_number":39,"context_line":"def find_accelerator(vendor_id, device_id):"},{"line_number":40,"context_line":"    inventory \u003d _get_accel_inventory()"},{"line_number":41,"context_line":"    if inventory:"},{"line_number":42,"context_line":"        for dev in inventory[\u0027inventory\u0027]:"},{"line_number":43,"context_line":"            if (dev[\u0027vendor_id\u0027] \u003d\u003d vendor_id and"},{"line_number":44,"context_line":"                    dev[\u0027device_id\u0027] \u003d\u003d device_id):"}],"source_content_type":"text/x-python","patch_set":3,"id":"9f560f44_5039043d","line":41,"in_reply_to":"9f560f44_10814c4b","updated":"2020-08-19 15:13:10.000000000","message":"Then you need to report an error as early as possible","commit_id":"70742c855bf230910b75588d1636cb57035d15bd"},{"author":{"_account_id":24828,"name":"Kaifeng Wang","email":"kaifeng.w@gmail.com","username":"wangkf"},"change_message_id":"9926a12d1aa95064e2f2a5db452ce04e4e2a33ac","unresolved":false,"context_lines":[{"line_number":38,"context_line":""},{"line_number":39,"context_line":"def find_accelerator(vendor_id, device_id):"},{"line_number":40,"context_line":"    inventory \u003d _get_accel_inventory()"},{"line_number":41,"context_line":"    if inventory:"},{"line_number":42,"context_line":"        for dev in inventory[\u0027inventory\u0027]:"},{"line_number":43,"context_line":"            if (dev[\u0027vendor_id\u0027] \u003d\u003d vendor_id and"},{"line_number":44,"context_line":"                    dev[\u0027device_id\u0027] \u003d\u003d device_id):"}],"source_content_type":"text/x-python","patch_set":3,"id":"9f560f44_10814c4b","line":41,"in_reply_to":"9f560f44_6e08ae2c","updated":"2020-08-19 15:00:38.000000000","message":"Maybe it\u0027s an over-protection, but the data could be supplied externally, so we can\u0027t say for sure.","commit_id":"70742c855bf230910b75588d1636cb57035d15bd"},{"author":{"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"},"change_message_id":"59c3341183b8df0b3f6b2c63d18ffd26c4defa6b","unresolved":false,"context_lines":[{"line_number":58,"context_line":"        accelerators \u003d []"},{"line_number":59,"context_line":"        for device in pci_devices:"},{"line_number":60,"context_line":"            dev \u003d find_accelerator(device[\u0027vendor_id\u0027], device[\u0027product_id\u0027])"},{"line_number":61,"context_line":"            if dev and dev[\u0027type\u0027] \u003d\u003d \u0027GPU\u0027:"},{"line_number":62,"context_line":"                accelerators.append({\u0027vendor_id\u0027: device[\u0027vendor_id\u0027],"},{"line_number":63,"context_line":"                                     \u0027device_id\u0027: device[\u0027product_id\u0027],"},{"line_number":64,"context_line":"                                     \u0027type\u0027: \u0027GPU\u0027,"}],"source_content_type":"text/x-python","patch_set":3,"id":"9f560f44_ce073a1c","line":61,"updated":"2020-08-19 13:23:59.000000000","message":"This should be read from the known accelerators file, not hardcoded here","commit_id":"70742c855bf230910b75588d1636cb57035d15bd"},{"author":{"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"},"change_message_id":"53d71784bec20f7b6bb83aaa7fff788e962840e8","unresolved":false,"context_lines":[{"line_number":58,"context_line":"        accelerators \u003d []"},{"line_number":59,"context_line":"        for device in pci_devices:"},{"line_number":60,"context_line":"            dev \u003d find_accelerator(device[\u0027vendor_id\u0027], device[\u0027product_id\u0027])"},{"line_number":61,"context_line":"            if dev and dev[\u0027type\u0027] \u003d\u003d \u0027GPU\u0027:"},{"line_number":62,"context_line":"                accelerators.append({\u0027vendor_id\u0027: device[\u0027vendor_id\u0027],"},{"line_number":63,"context_line":"                                     \u0027device_id\u0027: device[\u0027product_id\u0027],"},{"line_number":64,"context_line":"                                     \u0027type\u0027: \u0027GPU\u0027,"}],"source_content_type":"text/x-python","patch_set":3,"id":"9f560f44_d064f44b","line":61,"in_reply_to":"9f560f44_30a57005","updated":"2020-08-19 15:14:44.000000000","message":"Yeah, it feels a bit artificial to rule out non-GPU devices if an admin wants them","commit_id":"70742c855bf230910b75588d1636cb57035d15bd"},{"author":{"_account_id":24828,"name":"Kaifeng Wang","email":"kaifeng.w@gmail.com","username":"wangkf"},"change_message_id":"9926a12d1aa95064e2f2a5db452ce04e4e2a33ac","unresolved":false,"context_lines":[{"line_number":58,"context_line":"        accelerators \u003d []"},{"line_number":59,"context_line":"        for device in pci_devices:"},{"line_number":60,"context_line":"            dev \u003d find_accelerator(device[\u0027vendor_id\u0027], device[\u0027product_id\u0027])"},{"line_number":61,"context_line":"            if dev and dev[\u0027type\u0027] \u003d\u003d \u0027GPU\u0027:"},{"line_number":62,"context_line":"                accelerators.append({\u0027vendor_id\u0027: device[\u0027vendor_id\u0027],"},{"line_number":63,"context_line":"                                     \u0027device_id\u0027: device[\u0027product_id\u0027],"},{"line_number":64,"context_line":"                                     \u0027type\u0027: \u0027GPU\u0027,"}],"source_content_type":"text/x-python","patch_set":3,"id":"9f560f44_30a57005","line":61,"in_reply_to":"9f560f44_ce073a1c","updated":"2020-08-19 15:00:38.000000000","message":"If I understand right, your suggesting to passthrough what\u0027s defined from the yaml, as long as vendor/product matched, right?\nIf we are doing this way, then I think your concern at L66 can be addressed, we just don\u0027t define a description field in the yaml.","commit_id":"70742c855bf230910b75588d1636cb57035d15bd"},{"author":{"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"},"change_message_id":"59c3341183b8df0b3f6b2c63d18ffd26c4defa6b","unresolved":false,"context_lines":[{"line_number":63,"context_line":"                                     \u0027device_id\u0027: device[\u0027product_id\u0027],"},{"line_number":64,"context_line":"                                     \u0027type\u0027: \u0027GPU\u0027,"},{"line_number":65,"context_line":"                                     \u0027pci_address\u0027: device[\u0027bus\u0027],"},{"line_number":66,"context_line":"                                     \u0027device_info\u0027: dev[\u0027description\u0027]})"},{"line_number":67,"context_line":""},{"line_number":68,"context_line":"        if accelerators:"},{"line_number":69,"context_line":"            node_info.update_properties(accel\u003daccelerators)"}],"source_content_type":"text/x-python","patch_set":3,"id":"9f560f44_ae02c609","line":66,"updated":"2020-08-19 13:23:59.000000000","message":"I\u0027m a bit uneasy about putting a description to node.properties, it will clutter the already cluttered JSON field.","commit_id":"70742c855bf230910b75588d1636cb57035d15bd"},{"author":{"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"},"change_message_id":"59c3341183b8df0b3f6b2c63d18ffd26c4defa6b","unresolved":false,"context_lines":[{"line_number":66,"context_line":"                                     \u0027device_info\u0027: dev[\u0027description\u0027]})"},{"line_number":67,"context_line":""},{"line_number":68,"context_line":"        if accelerators:"},{"line_number":69,"context_line":"            node_info.update_properties(accel\u003daccelerators)"},{"line_number":70,"context_line":"            LOG.info(\u0027Found the following accelerator devices: %s\u0027,"},{"line_number":71,"context_line":"                     accelerators)"},{"line_number":72,"context_line":"        else:"}],"source_content_type":"text/x-python","patch_set":3,"id":"9f560f44_09ff6c01","line":69,"updated":"2020-08-19 13:23:59.000000000","message":"nit: I\u0027d still prefer the property to be called accelerators without shortenings","commit_id":"70742c855bf230910b75588d1636cb57035d15bd"},{"author":{"_account_id":24828,"name":"Kaifeng Wang","email":"kaifeng.w@gmail.com","username":"wangkf"},"change_message_id":"9926a12d1aa95064e2f2a5db452ce04e4e2a33ac","unresolved":false,"context_lines":[{"line_number":66,"context_line":"                                     \u0027device_info\u0027: dev[\u0027description\u0027]})"},{"line_number":67,"context_line":""},{"line_number":68,"context_line":"        if accelerators:"},{"line_number":69,"context_line":"            node_info.update_properties(accel\u003daccelerators)"},{"line_number":70,"context_line":"            LOG.info(\u0027Found the following accelerator devices: %s\u0027,"},{"line_number":71,"context_line":"                     accelerators)"},{"line_number":72,"context_line":"        else:"}],"source_content_type":"text/x-python","patch_set":3,"id":"9f560f44_d02a347c","line":69,"in_reply_to":"9f560f44_09ff6c01","updated":"2020-08-19 15:00:38.000000000","message":"okay, will update","commit_id":"70742c855bf230910b75588d1636cb57035d15bd"}],"ironic_inspector/plugins/accl_device.py":[{"author":{"_account_id":11292,"name":"Arne Wiebalck","email":"Arne.Wiebalck@cern.ch","username":"wiebalck"},"change_message_id":"1a039b5ec932e70f796f87c4d31ee2c702f4ffab","unresolved":false,"context_lines":[{"line_number":23,"context_line":"LOG \u003d utils.getProcessingLogger(__name__)"},{"line_number":24,"context_line":""},{"line_number":25,"context_line":"# Accelerator Type, currently GPU only"},{"line_number":26,"context_line":"ACCL_GPU \u003d \u0027GPU\u0027"},{"line_number":27,"context_line":""},{"line_number":28,"context_line":""},{"line_number":29,"context_line":"# Device data format: (vendor id, device id): type, description."}],"source_content_type":"text/x-python","patch_set":1,"id":"9f560f44_4a6a8c19","line":26,"updated":"2020-08-07 10:21:09.000000000","message":"Nit: I was wondering if this should be called \u0027ACCL_TYPE_GPU\u0027 for clarity?","commit_id":"bdc2326ae8510a334fcf63b0539158774fc5b23a"},{"author":{"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"},"change_message_id":"abae4790a80a9e31d15ba96704a3e36f9c9547cf","unresolved":false,"context_lines":[{"line_number":31,"context_line":"    # NVIDIA Corporation"},{"line_number":32,"context_line":"    (0x10de, 0x1eb8): {\u0027type\u0027: ACCL_GPU,"},{"line_number":33,"context_line":"                       \u0027desc\u0027: \u0027NVIDIA Corporation Tesla T4\u0027},"},{"line_number":34,"context_line":"}"},{"line_number":35,"context_line":""},{"line_number":36,"context_line":""},{"line_number":37,"context_line":"class AcclDevicesHook(base.ProcessingHook):"}],"source_content_type":"text/x-python","patch_set":2,"id":"9f560f44_d4a3d6fe","line":34,"updated":"2020-08-07 18:25:47.000000000","message":"Any reason not to provide this in the configuration file? ditto for ACCL_GPU.","commit_id":"3130039a252c325dcb0217993dc473a08529776e"},{"author":{"_account_id":24828,"name":"Kaifeng Wang","email":"kaifeng.w@gmail.com","username":"wangkf"},"change_message_id":"7fdd55d027a5ec28b692aa8d95f91ca9c17be318","unresolved":false,"context_lines":[{"line_number":31,"context_line":"    # NVIDIA Corporation"},{"line_number":32,"context_line":"    (0x10de, 0x1eb8): {\u0027type\u0027: ACCL_GPU,"},{"line_number":33,"context_line":"                       \u0027desc\u0027: \u0027NVIDIA Corporation Tesla T4\u0027},"},{"line_number":34,"context_line":"}"},{"line_number":35,"context_line":""},{"line_number":36,"context_line":""},{"line_number":37,"context_line":"class AcclDevicesHook(base.ProcessingHook):"}],"source_content_type":"text/x-python","patch_set":2,"id":"9f560f44_a47b0fbc","line":34,"in_reply_to":"9f560f44_52c48d5f","updated":"2020-08-19 08:59:56.000000000","message":"It is provided as an example, can be extended if anyone has real usage of other devices for sure.\nThis table has been moved to a separate inventory file so it can be extended more easily.","commit_id":"3130039a252c325dcb0217993dc473a08529776e"},{"author":{"_account_id":7160,"name":"arkady kanevsky","email":"akanevsk@redhat.com","username":"arkady"},"change_message_id":"d4281d0e33132a949726c2efc3bdf98d2fca709b","unresolved":false,"context_lines":[{"line_number":31,"context_line":"    # NVIDIA Corporation"},{"line_number":32,"context_line":"    (0x10de, 0x1eb8): {\u0027type\u0027: ACCL_GPU,"},{"line_number":33,"context_line":"                       \u0027desc\u0027: \u0027NVIDIA Corporation Tesla T4\u0027},"},{"line_number":34,"context_line":"}"},{"line_number":35,"context_line":""},{"line_number":36,"context_line":""},{"line_number":37,"context_line":"class AcclDevicesHook(base.ProcessingHook):"}],"source_content_type":"text/x-python","patch_set":2,"id":"9f560f44_52c48d5f","line":34,"in_reply_to":"9f560f44_5404e114","updated":"2020-08-17 20:11:13.000000000","message":"Amy reason it only covers T4 and not others at least NVDIA GPUs?","commit_id":"3130039a252c325dcb0217993dc473a08529776e"},{"author":{"_account_id":24828,"name":"Kaifeng Wang","email":"kaifeng.w@gmail.com","username":"wangkf"},"change_message_id":"7fdd55d027a5ec28b692aa8d95f91ca9c17be318","unresolved":false,"context_lines":[{"line_number":31,"context_line":"    # NVIDIA Corporation"},{"line_number":32,"context_line":"    (0x10de, 0x1eb8): {\u0027type\u0027: ACCL_GPU,"},{"line_number":33,"context_line":"                       \u0027desc\u0027: \u0027NVIDIA Corporation Tesla T4\u0027},"},{"line_number":34,"context_line":"}"},{"line_number":35,"context_line":""},{"line_number":36,"context_line":""},{"line_number":37,"context_line":"class AcclDevicesHook(base.ProcessingHook):"}],"source_content_type":"text/x-python","patch_set":2,"id":"9f560f44_a454af22","line":34,"in_reply_to":"9f560f44_d4a3d6fe","updated":"2020-08-19 08:59:56.000000000","message":"As discussed I have added a in-tree inventory file that can be customized as needed.","commit_id":"3130039a252c325dcb0217993dc473a08529776e"},{"author":{"_account_id":24828,"name":"Kaifeng Wang","email":"kaifeng.w@gmail.com","username":"wangkf"},"change_message_id":"3f242f928ecd50604e93967ad0d3bbfe491b622b","unresolved":false,"context_lines":[{"line_number":31,"context_line":"    # NVIDIA Corporation"},{"line_number":32,"context_line":"    (0x10de, 0x1eb8): {\u0027type\u0027: ACCL_GPU,"},{"line_number":33,"context_line":"                       \u0027desc\u0027: \u0027NVIDIA Corporation Tesla T4\u0027},"},{"line_number":34,"context_line":"}"},{"line_number":35,"context_line":""},{"line_number":36,"context_line":""},{"line_number":37,"context_line":"class AcclDevicesHook(base.ProcessingHook):"}],"source_content_type":"text/x-python","patch_set":2,"id":"9f560f44_5404e114","line":34,"in_reply_to":"9f560f44_d4a3d6fe","updated":"2020-08-08 03:13:50.000000000","message":"Yep, can do. The only reason of maintaining devices in code is simpifying product upgrade, in the cost of sacrificing flexibility though.\nMaybe embed an initial device profile and provides a configuration option to a file for users so they can easily extend when needed?","commit_id":"3130039a252c325dcb0217993dc473a08529776e"},{"author":{"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"},"change_message_id":"abae4790a80a9e31d15ba96704a3e36f9c9547cf","unresolved":false,"context_lines":[{"line_number":39,"context_line":""},{"line_number":40,"context_line":"    def before_update(self, introspection_data, node_info, **kwargs):"},{"line_number":41,"context_line":"        pci_devices \u003d introspection_data.get(\u0027pci_devices\u0027, [])"},{"line_number":42,"context_line":"        if len(pci_devices) \u003d\u003d 0:"},{"line_number":43,"context_line":"            LOG.warning(\u0027No PCI devices information was received from \u0027"},{"line_number":44,"context_line":"                        \u0027the ramdisk.\u0027)"},{"line_number":45,"context_line":"            return"}],"source_content_type":"text/x-python","patch_set":2,"id":"9f560f44_b4a6220e","line":42,"updated":"2020-08-07 18:25:47.000000000","message":"nit: not pci_devices","commit_id":"3130039a252c325dcb0217993dc473a08529776e"},{"author":{"_account_id":24828,"name":"Kaifeng Wang","email":"kaifeng.w@gmail.com","username":"wangkf"},"change_message_id":"7fdd55d027a5ec28b692aa8d95f91ca9c17be318","unresolved":false,"context_lines":[{"line_number":39,"context_line":""},{"line_number":40,"context_line":"    def before_update(self, introspection_data, node_info, **kwargs):"},{"line_number":41,"context_line":"        pci_devices \u003d introspection_data.get(\u0027pci_devices\u0027, [])"},{"line_number":42,"context_line":"        if len(pci_devices) \u003d\u003d 0:"},{"line_number":43,"context_line":"            LOG.warning(\u0027No PCI devices information was received from \u0027"},{"line_number":44,"context_line":"                        \u0027the ramdisk.\u0027)"},{"line_number":45,"context_line":"            return"}],"source_content_type":"text/x-python","patch_set":2,"id":"9f560f44_a729519c","line":42,"in_reply_to":"9f560f44_b4a6220e","updated":"2020-08-19 08:59:56.000000000","message":"Done","commit_id":"3130039a252c325dcb0217993dc473a08529776e"},{"author":{"_account_id":6618,"name":"Ruby Loo","email":"opensrloo@gmail.com","username":"rloo"},"change_message_id":"f5df9100c65377d758d11bde950df5b86eeb4897","unresolved":false,"context_lines":[{"line_number":41,"context_line":"        pci_devices \u003d introspection_data.get(\u0027pci_devices\u0027, [])"},{"line_number":42,"context_line":"        if len(pci_devices) \u003d\u003d 0:"},{"line_number":43,"context_line":"            LOG.warning(\u0027No PCI devices information was received from \u0027"},{"line_number":44,"context_line":"                        \u0027the ramdisk.\u0027)"},{"line_number":45,"context_line":"            return"},{"line_number":46,"context_line":""},{"line_number":47,"context_line":"        accelerators \u003d []"}],"source_content_type":"text/x-python","patch_set":2,"id":"9f560f44_8b7b98f2","line":44,"updated":"2020-08-17 15:57:30.000000000","message":"might want to add (just a suggestion), \u0027so cannot distinguish accelerator devices\u0027.","commit_id":"3130039a252c325dcb0217993dc473a08529776e"},{"author":{"_account_id":24828,"name":"Kaifeng Wang","email":"kaifeng.w@gmail.com","username":"wangkf"},"change_message_id":"c79d86912fbeae4d30c14686fcc728c48d352310","unresolved":false,"context_lines":[{"line_number":41,"context_line":"        pci_devices \u003d introspection_data.get(\u0027pci_devices\u0027, [])"},{"line_number":42,"context_line":"        if len(pci_devices) \u003d\u003d 0:"},{"line_number":43,"context_line":"            LOG.warning(\u0027No PCI devices information was received from \u0027"},{"line_number":44,"context_line":"                        \u0027the ramdisk.\u0027)"},{"line_number":45,"context_line":"            return"},{"line_number":46,"context_line":""},{"line_number":47,"context_line":"        accelerators \u003d []"}],"source_content_type":"text/x-python","patch_set":2,"id":"9f560f44_c089b926","line":44,"in_reply_to":"9f560f44_8b7b98f2","updated":"2020-08-20 06:09:51.000000000","message":"Done","commit_id":"3130039a252c325dcb0217993dc473a08529776e"},{"author":{"_account_id":24828,"name":"Kaifeng Wang","email":"kaifeng.w@gmail.com","username":"wangkf"},"change_message_id":"7fdd55d027a5ec28b692aa8d95f91ca9c17be318","unresolved":false,"context_lines":[{"line_number":41,"context_line":"        pci_devices \u003d introspection_data.get(\u0027pci_devices\u0027, [])"},{"line_number":42,"context_line":"        if len(pci_devices) \u003d\u003d 0:"},{"line_number":43,"context_line":"            LOG.warning(\u0027No PCI devices information was received from \u0027"},{"line_number":44,"context_line":"                        \u0027the ramdisk.\u0027)"},{"line_number":45,"context_line":"            return"},{"line_number":46,"context_line":""},{"line_number":47,"context_line":"        accelerators \u003d []"}],"source_content_type":"text/x-python","patch_set":2,"id":"9f560f44_870d2d40","line":44,"in_reply_to":"9f560f44_8b7b98f2","updated":"2020-08-19 08:59:56.000000000","message":"Sorry missed this comment, will update in another run.","commit_id":"3130039a252c325dcb0217993dc473a08529776e"},{"author":{"_account_id":24828,"name":"Kaifeng Wang","email":"kaifeng.w@gmail.com","username":"wangkf"},"change_message_id":"90290f0bf360f79e959fe10e42a1a118d1d32b4b","unresolved":false,"context_lines":[{"line_number":46,"context_line":""},{"line_number":47,"context_line":"        accelerators \u003d []"},{"line_number":48,"context_line":"        for device in pci_devices:"},{"line_number":49,"context_line":"            vendor_id \u003d int(device[\u0027vendor_id\u0027], base\u003d16)"},{"line_number":50,"context_line":"            device_id \u003d int(device[\u0027product_id\u0027], base\u003d16)"},{"line_number":51,"context_line":"            info \u003d SUPPORTED_ACCELERATORS.get((vendor_id, device_id))"},{"line_number":52,"context_line":"            if info and info[\u0027type\u0027] \u003d\u003d ACCL_GPU:"}],"source_content_type":"text/x-python","patch_set":2,"id":"9f560f44_0172f7e3","line":49,"range":{"start_line":49,"start_character":12,"end_line":49,"end_character":21},"updated":"2020-08-13 07:52:16.000000000","message":"cyborg team suggests to use string representation, which is how they interpret currently.","commit_id":"3130039a252c325dcb0217993dc473a08529776e"},{"author":{"_account_id":6618,"name":"Ruby Loo","email":"opensrloo@gmail.com","username":"rloo"},"change_message_id":"f5df9100c65377d758d11bde950df5b86eeb4897","unresolved":false,"context_lines":[{"line_number":46,"context_line":""},{"line_number":47,"context_line":"        accelerators \u003d []"},{"line_number":48,"context_line":"        for device in pci_devices:"},{"line_number":49,"context_line":"            vendor_id \u003d int(device[\u0027vendor_id\u0027], base\u003d16)"},{"line_number":50,"context_line":"            device_id \u003d int(device[\u0027product_id\u0027], base\u003d16)"},{"line_number":51,"context_line":"            info \u003d SUPPORTED_ACCELERATORS.get((vendor_id, device_id))"},{"line_number":52,"context_line":"            if info and info[\u0027type\u0027] \u003d\u003d ACCL_GPU:"}],"source_content_type":"text/x-python","patch_set":2,"id":"9f560f44_8bc9d826","line":49,"range":{"start_line":49,"start_character":12,"end_line":49,"end_character":21},"in_reply_to":"9f560f44_0172f7e3","updated":"2020-08-17 15:57:30.000000000","message":"what about device ID. That is ok as an int?","commit_id":"3130039a252c325dcb0217993dc473a08529776e"},{"author":{"_account_id":24828,"name":"Kaifeng Wang","email":"kaifeng.w@gmail.com","username":"wangkf"},"change_message_id":"7fdd55d027a5ec28b692aa8d95f91ca9c17be318","unresolved":false,"context_lines":[{"line_number":46,"context_line":""},{"line_number":47,"context_line":"        accelerators \u003d []"},{"line_number":48,"context_line":"        for device in pci_devices:"},{"line_number":49,"context_line":"            vendor_id \u003d int(device[\u0027vendor_id\u0027], base\u003d16)"},{"line_number":50,"context_line":"            device_id \u003d int(device[\u0027product_id\u0027], base\u003d16)"},{"line_number":51,"context_line":"            info \u003d SUPPORTED_ACCELERATORS.get((vendor_id, device_id))"},{"line_number":52,"context_line":"            if info and info[\u0027type\u0027] \u003d\u003d ACCL_GPU:"}],"source_content_type":"text/x-python","patch_set":2,"id":"9f560f44_4714b54e","line":49,"range":{"start_line":49,"start_character":12,"end_line":49,"end_character":21},"in_reply_to":"9f560f44_8bc9d826","updated":"2020-08-19 08:59:56.000000000","message":"Nope, they want string for both device_id and vendor_id","commit_id":"3130039a252c325dcb0217993dc473a08529776e"},{"author":{"_account_id":6618,"name":"Ruby Loo","email":"opensrloo@gmail.com","username":"rloo"},"change_message_id":"f5df9100c65377d758d11bde950df5b86eeb4897","unresolved":false,"context_lines":[{"line_number":54,"context_line":"                                     \u0027device_id\u0027: device_id,"},{"line_number":55,"context_line":"                                     \u0027type\u0027: ACCL_GPU,"},{"line_number":56,"context_line":"                                     \u0027pci_address\u0027: device[\u0027bus\u0027],"},{"line_number":57,"context_line":"                                     \u0027device_info\u0027: info[\u0027desc\u0027]})"},{"line_number":58,"context_line":""},{"line_number":59,"context_line":"        if accelerators:"},{"line_number":60,"context_line":"            node_info.update_properties(accl\u003daccelerators)"}],"source_content_type":"text/x-python","patch_set":2,"id":"9f560f44_2b76ccd9","line":57,"updated":"2020-08-17 15:57:30.000000000","message":"You only have one entry in that SUPPORTED_ACCELERATORS and it is of type ACCL_GPU. Assuming one might add more there -- wondering if it is worth putting an eg LOG.info or LOG.debug if type is NOT ACCL_GPU?","commit_id":"3130039a252c325dcb0217993dc473a08529776e"},{"author":{"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"},"change_message_id":"abae4790a80a9e31d15ba96704a3e36f9c9547cf","unresolved":false,"context_lines":[{"line_number":57,"context_line":"                                     \u0027device_info\u0027: info[\u0027desc\u0027]})"},{"line_number":58,"context_line":""},{"line_number":59,"context_line":"        if accelerators:"},{"line_number":60,"context_line":"            node_info.update_properties(accl\u003daccelerators)"},{"line_number":61,"context_line":"            LOG.info(\u0027Found the following accelerator devices: %s\u0027,"},{"line_number":62,"context_line":"                     accelerators)"},{"line_number":63,"context_line":"        else:"}],"source_content_type":"text/x-python","patch_set":2,"id":"9f560f44_14b1ce47","line":60,"updated":"2020-08-07 18:25:47.000000000","message":"Is this property documented somewhere or do you invent it here? If the former, maybe provide a reference link? If the latter, why not fully \"accelerators\"? Either way I\u0027m curious how it will be used, maybe type some words in the docs/class docstring?\n\nIf properties[\u0027accelerators\u0027] will be something eventually supported in nova, have you considered adding a new ironic node field?","commit_id":"3130039a252c325dcb0217993dc473a08529776e"},{"author":{"_account_id":24828,"name":"Kaifeng Wang","email":"kaifeng.w@gmail.com","username":"wangkf"},"change_message_id":"90290f0bf360f79e959fe10e42a1a118d1d32b4b","unresolved":false,"context_lines":[{"line_number":57,"context_line":"                                     \u0027device_info\u0027: info[\u0027desc\u0027]})"},{"line_number":58,"context_line":""},{"line_number":59,"context_line":"        if accelerators:"},{"line_number":60,"context_line":"            node_info.update_properties(accl\u003daccelerators)"},{"line_number":61,"context_line":"            LOG.info(\u0027Found the following accelerator devices: %s\u0027,"},{"line_number":62,"context_line":"                     accelerators)"},{"line_number":63,"context_line":"        else:"}],"source_content_type":"text/x-python","patch_set":2,"id":"9f560f44_617f73ab","line":60,"range":{"start_line":60,"start_character":40,"end_line":60,"end_character":44},"updated":"2020-08-13 07:52:16.000000000","message":"The existing abbrev is \"accel\", so I think we can follow that.","commit_id":"3130039a252c325dcb0217993dc473a08529776e"},{"author":{"_account_id":24828,"name":"Kaifeng Wang","email":"kaifeng.w@gmail.com","username":"wangkf"},"change_message_id":"3f242f928ecd50604e93967ad0d3bbfe491b622b","unresolved":false,"context_lines":[{"line_number":57,"context_line":"                                     \u0027device_info\u0027: info[\u0027desc\u0027]})"},{"line_number":58,"context_line":""},{"line_number":59,"context_line":"        if accelerators:"},{"line_number":60,"context_line":"            node_info.update_properties(accl\u003daccelerators)"},{"line_number":61,"context_line":"            LOG.info(\u0027Found the following accelerator devices: %s\u0027,"},{"line_number":62,"context_line":"                     accelerators)"},{"line_number":63,"context_line":"        else:"}],"source_content_type":"text/x-python","patch_set":2,"id":"9f560f44_942319a7","line":60,"in_reply_to":"9f560f44_14b1ce47","updated":"2020-08-08 03:13:50.000000000","message":"Maybe just for saving a few chars? :) \"accelerators\" also works for me. We have folks doing nova side, but I am not sure they can get it in the upstream.\nHistorically properties field contains information that used for scheduling, it seems a suitable home for the accelerator devices. Standing from the ironic side, I think we don\u0027t care much if nova is involved, it\u0027s a scheduling property, how it\u0027s consumed depends the use case, it can be consumed by nova, cyborg, or maybe even metalsmith and metal3 ;)\nIf we want to extend this feature a bit and introduce a new field, maybe we can have a \"devices\" field which holds interested devices not only just acclerators?","commit_id":"3130039a252c325dcb0217993dc473a08529776e"},{"author":{"_account_id":6618,"name":"Ruby Loo","email":"opensrloo@gmail.com","username":"rloo"},"change_message_id":"f5df9100c65377d758d11bde950df5b86eeb4897","unresolved":false,"context_lines":[{"line_number":57,"context_line":"                                     \u0027device_info\u0027: info[\u0027desc\u0027]})"},{"line_number":58,"context_line":""},{"line_number":59,"context_line":"        if accelerators:"},{"line_number":60,"context_line":"            node_info.update_properties(accl\u003daccelerators)"},{"line_number":61,"context_line":"            LOG.info(\u0027Found the following accelerator devices: %s\u0027,"},{"line_number":62,"context_line":"                     accelerators)"},{"line_number":63,"context_line":"        else:"}],"source_content_type":"text/x-python","patch_set":2,"id":"9f560f44_ab13fcb7","line":60,"range":{"start_line":60,"start_character":40,"end_line":60,"end_character":44},"in_reply_to":"9f560f44_617f73ab","updated":"2020-08-17 15:57:30.000000000","message":"at the very least, it should be \u0027accelerators\u0027. \u0027accl\u0027 doesn\u0027t mean much to me so we should at least use meaningful words :)","commit_id":"3130039a252c325dcb0217993dc473a08529776e"},{"author":{"_account_id":24828,"name":"Kaifeng Wang","email":"kaifeng.w@gmail.com","username":"wangkf"},"change_message_id":"975a6db9f6eba29ac0b0f32dfcd507962c0ad8a3","unresolved":false,"context_lines":[{"line_number":57,"context_line":"                                     \u0027device_info\u0027: info[\u0027desc\u0027]})"},{"line_number":58,"context_line":""},{"line_number":59,"context_line":"        if accelerators:"},{"line_number":60,"context_line":"            node_info.update_properties(accl\u003daccelerators)"},{"line_number":61,"context_line":"            LOG.info(\u0027Found the following accelerator devices: %s\u0027,"},{"line_number":62,"context_line":"                     accelerators)"},{"line_number":63,"context_line":"        else:"}],"source_content_type":"text/x-python","patch_set":2,"id":"9f560f44_9ea6900e","line":60,"in_reply_to":"9f560f44_7733e714","updated":"2020-08-10 05:22:51.000000000","message":"okay, I\u0027ll bring this in the meeting, but using a new field means it can\u0027t be consumed by stable versions.","commit_id":"3130039a252c325dcb0217993dc473a08529776e"},{"author":{"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"},"change_message_id":"b88dcce489b194e76f4db4fed83bc070a13243d6","unresolved":false,"context_lines":[{"line_number":57,"context_line":"                                     \u0027device_info\u0027: info[\u0027desc\u0027]})"},{"line_number":58,"context_line":""},{"line_number":59,"context_line":"        if accelerators:"},{"line_number":60,"context_line":"            node_info.update_properties(accl\u003daccelerators)"},{"line_number":61,"context_line":"            LOG.info(\u0027Found the following accelerator devices: %s\u0027,"},{"line_number":62,"context_line":"                     accelerators)"},{"line_number":63,"context_line":"        else:"}],"source_content_type":"text/x-python","patch_set":2,"id":"9f560f44_7733e714","line":60,"in_reply_to":"9f560f44_942319a7","updated":"2020-08-08 16:08:04.000000000","message":"I\u0027m asking about a separate field mostly because embedded properties are hard to use from CLI/API (also not possible to version, etc). Maybe worth bring it on the next upstream meeting (I won\u0027t be there)?","commit_id":"3130039a252c325dcb0217993dc473a08529776e"},{"author":{"_account_id":24828,"name":"Kaifeng Wang","email":"kaifeng.w@gmail.com","username":"wangkf"},"change_message_id":"7fdd55d027a5ec28b692aa8d95f91ca9c17be318","unresolved":false,"context_lines":[{"line_number":57,"context_line":"                                     \u0027device_info\u0027: info[\u0027desc\u0027]})"},{"line_number":58,"context_line":""},{"line_number":59,"context_line":"        if accelerators:"},{"line_number":60,"context_line":"            node_info.update_properties(accl\u003daccelerators)"},{"line_number":61,"context_line":"            LOG.info(\u0027Found the following accelerator devices: %s\u0027,"},{"line_number":62,"context_line":"                     accelerators)"},{"line_number":63,"context_line":"        else:"}],"source_content_type":"text/x-python","patch_set":2,"id":"9f560f44_1a25f0ab","line":60,"range":{"start_line":60,"start_character":40,"end_line":60,"end_character":44},"in_reply_to":"9f560f44_ab13fcb7","updated":"2020-08-19 08:59:56.000000000","message":"Well, changed to \"accel\", this word is already used in nova so I think it\u0027s has a meaning. Can change to accelerators if people more like that :)","commit_id":"3130039a252c325dcb0217993dc473a08529776e"},{"author":{"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"},"change_message_id":"abae4790a80a9e31d15ba96704a3e36f9c9547cf","unresolved":false,"context_lines":[{"line_number":61,"context_line":"            LOG.info(\u0027Found the following accelerator devices: %s\u0027,"},{"line_number":62,"context_line":"                     accelerators)"},{"line_number":63,"context_line":"        else:"},{"line_number":64,"context_line":"            LOG.info(\u0027No accelerator devices found\u0027)"}],"source_content_type":"text/x-python","patch_set":2,"id":"9f560f44_f4ab7ad2","line":64,"updated":"2020-08-07 18:25:47.000000000","message":"nit: \"No supported ...\"","commit_id":"3130039a252c325dcb0217993dc473a08529776e"},{"author":{"_account_id":24828,"name":"Kaifeng Wang","email":"kaifeng.w@gmail.com","username":"wangkf"},"change_message_id":"7fdd55d027a5ec28b692aa8d95f91ca9c17be318","unresolved":false,"context_lines":[{"line_number":61,"context_line":"            LOG.info(\u0027Found the following accelerator devices: %s\u0027,"},{"line_number":62,"context_line":"                     accelerators)"},{"line_number":63,"context_line":"        else:"},{"line_number":64,"context_line":"            LOG.info(\u0027No accelerator devices found\u0027)"}],"source_content_type":"text/x-python","patch_set":2,"id":"9f560f44_da4ff867","line":64,"in_reply_to":"9f560f44_5272cd4a","updated":"2020-08-19 08:59:56.000000000","message":"Yep, changed to \"No known ...\"","commit_id":"3130039a252c325dcb0217993dc473a08529776e"},{"author":{"_account_id":7160,"name":"arkady kanevsky","email":"akanevsk@redhat.com","username":"arkady"},"change_message_id":"d4281d0e33132a949726c2efc3bdf98d2fca709b","unresolved":false,"context_lines":[{"line_number":61,"context_line":"            LOG.info(\u0027Found the following accelerator devices: %s\u0027,"},{"line_number":62,"context_line":"                     accelerators)"},{"line_number":63,"context_line":"        else:"},{"line_number":64,"context_line":"            LOG.info(\u0027No accelerator devices found\u0027)"}],"source_content_type":"text/x-python","patch_set":2,"id":"9f560f44_5272cd4a","line":64,"in_reply_to":"9f560f44_f4ab7ad2","updated":"2020-08-17 20:11:13.000000000","message":"I think you can only state that you had not found accelerators devices that are defined here by Ironic.","commit_id":"3130039a252c325dcb0217993dc473a08529776e"}],"ironic_inspector/test/unit/test_plugins_accl_device.py":[{"author":{"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"},"change_message_id":"abae4790a80a9e31d15ba96704a3e36f9c9547cf","unresolved":false,"context_lines":[{"line_number":18,"context_line":"from ironic_inspector.test import base as test_base"},{"line_number":19,"context_line":""},{"line_number":20,"context_line":""},{"line_number":21,"context_line":"@mock.patch(\u0027ironic_inspector.plugins.accl_device.LOG\u0027, autospec\u003dTrue)"},{"line_number":22,"context_line":"class TestAcclDevicesHook(test_base.NodeTest):"},{"line_number":23,"context_line":"    hook \u003d accl_device.AcclDevicesHook()"},{"line_number":24,"context_line":""}],"source_content_type":"text/x-python","patch_set":2,"id":"9f560f44_54b7c63a","line":21,"updated":"2020-08-07 18:25:47.000000000","message":"nit: you don\u0027t seem to use mock_log, why mocking it?","commit_id":"3130039a252c325dcb0217993dc473a08529776e"},{"author":{"_account_id":24828,"name":"Kaifeng Wang","email":"kaifeng.w@gmail.com","username":"wangkf"},"change_message_id":"7fdd55d027a5ec28b692aa8d95f91ca9c17be318","unresolved":false,"context_lines":[{"line_number":18,"context_line":"from ironic_inspector.test import base as test_base"},{"line_number":19,"context_line":""},{"line_number":20,"context_line":""},{"line_number":21,"context_line":"@mock.patch(\u0027ironic_inspector.plugins.accl_device.LOG\u0027, autospec\u003dTrue)"},{"line_number":22,"context_line":"class TestAcclDevicesHook(test_base.NodeTest):"},{"line_number":23,"context_line":"    hook \u003d accl_device.AcclDevicesHook()"},{"line_number":24,"context_line":""}],"source_content_type":"text/x-python","patch_set":2,"id":"9f560f44_8476cbd7","line":21,"in_reply_to":"9f560f44_54b7c63a","updated":"2020-08-19 08:59:56.000000000","message":"Done","commit_id":"3130039a252c325dcb0217993dc473a08529776e"}],"releasenotes/notes/accl-device-2aa4f0cedf359810.yaml":[{"author":{"_account_id":6618,"name":"Ruby Loo","email":"opensrloo@gmail.com","username":"rloo"},"change_message_id":"f5df9100c65377d758d11bde950df5b86eeb4897","unresolved":false,"context_lines":[{"line_number":2,"context_line":"features:"},{"line_number":3,"context_line":"  - |"},{"line_number":4,"context_line":"    Adds a ``accl_device`` plugin to identify acclerator devices and update"},{"line_number":5,"context_line":"    to bare metal node for future scheduling. The accelerator devices will be"},{"line_number":6,"context_line":"    saved to node properties under the key ``accl``."}],"source_content_type":"text/x-yaml","patch_set":2,"id":"9f560f44_eb45f471","line":5,"updated":"2020-08-17 15:57:30.000000000","message":"nit s/to/the/","commit_id":"3130039a252c325dcb0217993dc473a08529776e"},{"author":{"_account_id":24828,"name":"Kaifeng Wang","email":"kaifeng.w@gmail.com","username":"wangkf"},"change_message_id":"7fdd55d027a5ec28b692aa8d95f91ca9c17be318","unresolved":false,"context_lines":[{"line_number":2,"context_line":"features:"},{"line_number":3,"context_line":"  - |"},{"line_number":4,"context_line":"    Adds a ``accl_device`` plugin to identify acclerator devices and update"},{"line_number":5,"context_line":"    to bare metal node for future scheduling. The accelerator devices will be"},{"line_number":6,"context_line":"    saved to node properties under the key ``accl``."}],"source_content_type":"text/x-yaml","patch_set":2,"id":"9f560f44_04959be4","line":5,"in_reply_to":"9f560f44_eb45f471","updated":"2020-08-19 08:59:56.000000000","message":"Done","commit_id":"3130039a252c325dcb0217993dc473a08529776e"},{"author":{"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"},"change_message_id":"abae4790a80a9e31d15ba96704a3e36f9c9547cf","unresolved":false,"context_lines":[{"line_number":3,"context_line":"  - |"},{"line_number":4,"context_line":"    Adds a ``accl_device`` plugin to identify acclerator devices and update"},{"line_number":5,"context_line":"    to bare metal node for future scheduling. The accelerator devices will be"},{"line_number":6,"context_line":"    saved to node properties under the key ``accl``."}],"source_content_type":"text/x-yaml","patch_set":2,"id":"9f560f44_34b2124a","line":6,"updated":"2020-08-07 18:25:47.000000000","message":"Could you also update the list of plugins in the documentation (I think it\u0027s buried somewhere)?","commit_id":"3130039a252c325dcb0217993dc473a08529776e"},{"author":{"_account_id":24828,"name":"Kaifeng Wang","email":"kaifeng.w@gmail.com","username":"wangkf"},"change_message_id":"7fdd55d027a5ec28b692aa8d95f91ca9c17be318","unresolved":false,"context_lines":[{"line_number":3,"context_line":"  - |"},{"line_number":4,"context_line":"    Adds a ``accl_device`` plugin to identify acclerator devices and update"},{"line_number":5,"context_line":"    to bare metal node for future scheduling. The accelerator devices will be"},{"line_number":6,"context_line":"    saved to node properties under the key ``accl``."}],"source_content_type":"text/x-yaml","patch_set":2,"id":"9f560f44_24a25f4c","line":6,"in_reply_to":"9f560f44_34b2124a","updated":"2020-08-19 08:59:56.000000000","message":"Done","commit_id":"3130039a252c325dcb0217993dc473a08529776e"},{"author":{"_account_id":24828,"name":"Kaifeng Wang","email":"kaifeng.w@gmail.com","username":"wangkf"},"change_message_id":"3f242f928ecd50604e93967ad0d3bbfe491b622b","unresolved":false,"context_lines":[{"line_number":3,"context_line":"  - |"},{"line_number":4,"context_line":"    Adds a ``accl_device`` plugin to identify acclerator devices and update"},{"line_number":5,"context_line":"    to bare metal node for future scheduling. The accelerator devices will be"},{"line_number":6,"context_line":"    saved to node properties under the key ``accl``."}],"source_content_type":"text/x-yaml","patch_set":2,"id":"9f560f44_54522114","line":6,"in_reply_to":"9f560f44_34b2124a","updated":"2020-08-08 03:13:50.000000000","message":"Will do, it\u0027s buried in the usage (after greping :)","commit_id":"3130039a252c325dcb0217993dc473a08529776e"},{"author":{"_account_id":6618,"name":"Ruby Loo","email":"opensrloo@gmail.com","username":"rloo"},"change_message_id":"f5df9100c65377d758d11bde950df5b86eeb4897","unresolved":false,"context_lines":[{"line_number":3,"context_line":"  - |"},{"line_number":4,"context_line":"    Adds a ``accl_device`` plugin to identify acclerator devices and update"},{"line_number":5,"context_line":"    to bare metal node for future scheduling. The accelerator devices will be"},{"line_number":6,"context_line":"    saved to node properties under the key ``accl``."}],"source_content_type":"text/x-yaml","patch_set":2,"id":"9f560f44_be0b3822","line":6,"in_reply_to":"9f560f44_54522114","updated":"2020-08-17 15:57:30.000000000","message":"Somewhere, we should have documented what info is avail for accelerators. eg \u0027vendor_id (string), device_id (int?), etc.\u0027 Either link to a doc that has this info, and/or document it here?","commit_id":"3130039a252c325dcb0217993dc473a08529776e"},{"author":{"_account_id":24828,"name":"Kaifeng Wang","email":"kaifeng.w@gmail.com","username":"wangkf"},"change_message_id":"7fdd55d027a5ec28b692aa8d95f91ca9c17be318","unresolved":false,"context_lines":[{"line_number":3,"context_line":"  - |"},{"line_number":4,"context_line":"    Adds a ``accl_device`` plugin to identify acclerator devices and update"},{"line_number":5,"context_line":"    to bare metal node for future scheduling. The accelerator devices will be"},{"line_number":6,"context_line":"    saved to node properties under the key ``accl``."}],"source_content_type":"text/x-yaml","patch_set":2,"id":"9f560f44_24709fdc","line":6,"in_reply_to":"9f560f44_be0b3822","updated":"2020-08-19 08:59:56.000000000","message":"Done","commit_id":"3130039a252c325dcb0217993dc473a08529776e"}],"setup.cfg":[{"author":{"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"},"change_message_id":"abae4790a80a9e31d15ba96704a3e36f9c9547cf","unresolved":false,"context_lines":[{"line_number":48,"context_line":"    lldp_basic \u003d ironic_inspector.plugins.lldp_basic:LLDPBasicProcessingHook"},{"line_number":49,"context_line":"    pci_devices \u003d ironic_inspector.plugins.pci_devices:PciDevicesHook"},{"line_number":50,"context_line":"    physnet_cidr_map \u003d ironic_inspector.plugins.physnet_cidr_map:PhysnetCidrMapHook"},{"line_number":51,"context_line":"    accl_device \u003d ironic_inspector.plugins.accl_device:AcclDevicesHook"},{"line_number":52,"context_line":"ironic_inspector.hooks.node_not_found \u003d"},{"line_number":53,"context_line":"    example \u003d ironic_inspector.plugins.example:example_not_found_hook"},{"line_number":54,"context_line":"    enroll \u003d ironic_inspector.plugins.discovery:enroll_node_not_found_hook"}],"source_content_type":"text/x-ttcn-cfg","patch_set":2,"id":"9f560f44_94867e65","line":51,"updated":"2020-08-07 18:25:47.000000000","message":"maybe call it \"accelerators\"? maybe it\u0027s only me, but \"accl\" does not seem immediately obvious.","commit_id":"3130039a252c325dcb0217993dc473a08529776e"},{"author":{"_account_id":7160,"name":"arkady kanevsky","email":"akanevsk@redhat.com","username":"arkady"},"change_message_id":"d4281d0e33132a949726c2efc3bdf98d2fca709b","unresolved":false,"context_lines":[{"line_number":48,"context_line":"    lldp_basic \u003d ironic_inspector.plugins.lldp_basic:LLDPBasicProcessingHook"},{"line_number":49,"context_line":"    pci_devices \u003d ironic_inspector.plugins.pci_devices:PciDevicesHook"},{"line_number":50,"context_line":"    physnet_cidr_map \u003d ironic_inspector.plugins.physnet_cidr_map:PhysnetCidrMapHook"},{"line_number":51,"context_line":"    accl_device \u003d ironic_inspector.plugins.accl_device:AcclDevicesHook"},{"line_number":52,"context_line":"ironic_inspector.hooks.node_not_found \u003d"},{"line_number":53,"context_line":"    example \u003d ironic_inspector.plugins.example:example_not_found_hook"},{"line_number":54,"context_line":"    enroll \u003d ironic_inspector.plugins.discovery:enroll_node_not_found_hook"}],"source_content_type":"text/x-ttcn-cfg","patch_set":2,"id":"9f560f44_72ac318c","line":51,"in_reply_to":"9f560f44_0bcb084a","updated":"2020-08-17 20:11:13.000000000","message":"++","commit_id":"3130039a252c325dcb0217993dc473a08529776e"},{"author":{"_account_id":10250,"name":"Christopher Dearborn","email":"Christopher.Dearborn@dell.com","username":"cdearbor"},"change_message_id":"5eda9c2f78277c761d6380b5017fbf2651b78811","unresolved":false,"context_lines":[{"line_number":48,"context_line":"    lldp_basic \u003d ironic_inspector.plugins.lldp_basic:LLDPBasicProcessingHook"},{"line_number":49,"context_line":"    pci_devices \u003d ironic_inspector.plugins.pci_devices:PciDevicesHook"},{"line_number":50,"context_line":"    physnet_cidr_map \u003d ironic_inspector.plugins.physnet_cidr_map:PhysnetCidrMapHook"},{"line_number":51,"context_line":"    accl_device \u003d ironic_inspector.plugins.accl_device:AcclDevicesHook"},{"line_number":52,"context_line":"ironic_inspector.hooks.node_not_found \u003d"},{"line_number":53,"context_line":"    example \u003d ironic_inspector.plugins.example:example_not_found_hook"},{"line_number":54,"context_line":"    enroll \u003d ironic_inspector.plugins.discovery:enroll_node_not_found_hook"}],"source_content_type":"text/x-ttcn-cfg","patch_set":2,"id":"9f560f44_8e10b4aa","line":51,"in_reply_to":"9f560f44_72ac318c","updated":"2020-08-18 14:42:52.000000000","message":"++","commit_id":"3130039a252c325dcb0217993dc473a08529776e"},{"author":{"_account_id":24828,"name":"Kaifeng Wang","email":"kaifeng.w@gmail.com","username":"wangkf"},"change_message_id":"7fdd55d027a5ec28b692aa8d95f91ca9c17be318","unresolved":false,"context_lines":[{"line_number":48,"context_line":"    lldp_basic \u003d ironic_inspector.plugins.lldp_basic:LLDPBasicProcessingHook"},{"line_number":49,"context_line":"    pci_devices \u003d ironic_inspector.plugins.pci_devices:PciDevicesHook"},{"line_number":50,"context_line":"    physnet_cidr_map \u003d ironic_inspector.plugins.physnet_cidr_map:PhysnetCidrMapHook"},{"line_number":51,"context_line":"    accl_device \u003d ironic_inspector.plugins.accl_device:AcclDevicesHook"},{"line_number":52,"context_line":"ironic_inspector.hooks.node_not_found \u003d"},{"line_number":53,"context_line":"    example \u003d ironic_inspector.plugins.example:example_not_found_hook"},{"line_number":54,"context_line":"    enroll \u003d ironic_inspector.plugins.discovery:enroll_node_not_found_hook"}],"source_content_type":"text/x-ttcn-cfg","patch_set":2,"id":"9f560f44_8427eb12","line":51,"in_reply_to":"9f560f44_94867e65","updated":"2020-08-19 08:59:56.000000000","message":"Done","commit_id":"3130039a252c325dcb0217993dc473a08529776e"},{"author":{"_account_id":24828,"name":"Kaifeng Wang","email":"kaifeng.w@gmail.com","username":"wangkf"},"change_message_id":"3f242f928ecd50604e93967ad0d3bbfe491b622b","unresolved":false,"context_lines":[{"line_number":48,"context_line":"    lldp_basic \u003d ironic_inspector.plugins.lldp_basic:LLDPBasicProcessingHook"},{"line_number":49,"context_line":"    pci_devices \u003d ironic_inspector.plugins.pci_devices:PciDevicesHook"},{"line_number":50,"context_line":"    physnet_cidr_map \u003d ironic_inspector.plugins.physnet_cidr_map:PhysnetCidrMapHook"},{"line_number":51,"context_line":"    accl_device \u003d ironic_inspector.plugins.accl_device:AcclDevicesHook"},{"line_number":52,"context_line":"ironic_inspector.hooks.node_not_found \u003d"},{"line_number":53,"context_line":"    example \u003d ironic_inspector.plugins.example:example_not_found_hook"},{"line_number":54,"context_line":"    enroll \u003d ironic_inspector.plugins.discovery:enroll_node_not_found_hook"}],"source_content_type":"text/x-ttcn-cfg","patch_set":2,"id":"9f560f44_b4557dfc","line":51,"in_reply_to":"9f560f44_94867e65","updated":"2020-08-08 03:13:50.000000000","message":"sure, works for me","commit_id":"3130039a252c325dcb0217993dc473a08529776e"},{"author":{"_account_id":6618,"name":"Ruby Loo","email":"opensrloo@gmail.com","username":"rloo"},"change_message_id":"f5df9100c65377d758d11bde950df5b86eeb4897","unresolved":false,"context_lines":[{"line_number":48,"context_line":"    lldp_basic \u003d ironic_inspector.plugins.lldp_basic:LLDPBasicProcessingHook"},{"line_number":49,"context_line":"    pci_devices \u003d ironic_inspector.plugins.pci_devices:PciDevicesHook"},{"line_number":50,"context_line":"    physnet_cidr_map \u003d ironic_inspector.plugins.physnet_cidr_map:PhysnetCidrMapHook"},{"line_number":51,"context_line":"    accl_device \u003d ironic_inspector.plugins.accl_device:AcclDevicesHook"},{"line_number":52,"context_line":"ironic_inspector.hooks.node_not_found \u003d"},{"line_number":53,"context_line":"    example \u003d ironic_inspector.plugins.example:example_not_found_hook"},{"line_number":54,"context_line":"    enroll \u003d ironic_inspector.plugins.discovery:enroll_node_not_found_hook"}],"source_content_type":"text/x-ttcn-cfg","patch_set":2,"id":"9f560f44_0bcb084a","line":51,"in_reply_to":"9f560f44_b4557dfc","updated":"2020-08-17 15:57:30.000000000","message":"++","commit_id":"3130039a252c325dcb0217993dc473a08529776e"},{"author":{"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"},"change_message_id":"59c3341183b8df0b3f6b2c63d18ffd26c4defa6b","unresolved":false,"context_lines":[{"line_number":48,"context_line":"    lldp_basic \u003d ironic_inspector.plugins.lldp_basic:LLDPBasicProcessingHook"},{"line_number":49,"context_line":"    pci_devices \u003d ironic_inspector.plugins.pci_devices:PciDevicesHook"},{"line_number":50,"context_line":"    physnet_cidr_map \u003d ironic_inspector.plugins.physnet_cidr_map:PhysnetCidrMapHook"},{"line_number":51,"context_line":"    accelerators \u003d ironic_inspector.plugins.accel_device:AccelDevicesHook"},{"line_number":52,"context_line":"ironic_inspector.hooks.node_not_found \u003d"},{"line_number":53,"context_line":"    example \u003d ironic_inspector.plugins.example:example_not_found_hook"},{"line_number":54,"context_line":"    enroll \u003d ironic_inspector.plugins.discovery:enroll_node_not_found_hook"}],"source_content_type":"text/x-ttcn-cfg","patch_set":3,"id":"9f560f44_e9015806","line":51,"updated":"2020-08-19 13:23:59.000000000","message":"nit: keep sorted","commit_id":"70742c855bf230910b75588d1636cb57035d15bd"},{"author":{"_account_id":24828,"name":"Kaifeng Wang","email":"kaifeng.w@gmail.com","username":"wangkf"},"change_message_id":"c79d86912fbeae4d30c14686fcc728c48d352310","unresolved":false,"context_lines":[{"line_number":48,"context_line":"    lldp_basic \u003d ironic_inspector.plugins.lldp_basic:LLDPBasicProcessingHook"},{"line_number":49,"context_line":"    pci_devices \u003d ironic_inspector.plugins.pci_devices:PciDevicesHook"},{"line_number":50,"context_line":"    physnet_cidr_map \u003d ironic_inspector.plugins.physnet_cidr_map:PhysnetCidrMapHook"},{"line_number":51,"context_line":"    accelerators \u003d ironic_inspector.plugins.accel_device:AccelDevicesHook"},{"line_number":52,"context_line":"ironic_inspector.hooks.node_not_found \u003d"},{"line_number":53,"context_line":"    example \u003d ironic_inspector.plugins.example:example_not_found_hook"},{"line_number":54,"context_line":"    enroll \u003d ironic_inspector.plugins.discovery:enroll_node_not_found_hook"}],"source_content_type":"text/x-ttcn-cfg","patch_set":3,"id":"9f560f44_4a030843","line":51,"in_reply_to":"9f560f44_e9015806","updated":"2020-08-20 06:09:51.000000000","message":"Done","commit_id":"70742c855bf230910b75588d1636cb57035d15bd"}]}
