)]}'
{"specs/queens/approved/devices-as-resources.rst":[{"author":{"_account_id":23942,"name":"Matt Kucia","email":"maciej@kucia.net","username":"maciejkucia"},"change_message_id":"77e1430019e90549746dc3f9eec4c91134784f09","unresolved":false,"context_lines":[{"line_number":11,"context_line":"https://blueprints.launchpad.net/nova/+spec/devices-as-resources"},{"line_number":12,"context_line":""},{"line_number":13,"context_line":"We have PCI passthrough. We would like to make the same paradigm work for any"},{"line_number":14,"context_line":"device. So one half of this work is to make it possible to whitelist, alias,"},{"line_number":15,"context_line":"specify, claim, and attach all devices the same way PCI passthrough devices are"},{"line_number":16,"context_line":"supported today. The second half of this work (which may be subsumed under one"},{"line_number":17,"context_line":"of the resource providers blueprints) is to move device inventorying and"}],"source_content_type":"text/x-rst","patch_set":2,"id":"5f2577a7_24c3723a","line":14,"updated":"2017-09-17 21:05:30.000000000","message":"I think USB and Thunderbolt devices should be mentioned here.","commit_id":"9446e81ea1f2a97ab62a78cb93990d98c4d91b59"},{"author":{"_account_id":23942,"name":"Matt Kucia","email":"maciej@kucia.net","username":"maciejkucia"},"change_message_id":"77e1430019e90549746dc3f9eec4c91134784f09","unresolved":false,"context_lines":[{"line_number":11,"context_line":"https://blueprints.launchpad.net/nova/+spec/devices-as-resources"},{"line_number":12,"context_line":""},{"line_number":13,"context_line":"We have PCI passthrough. We would like to make the same paradigm work for any"},{"line_number":14,"context_line":"device. So one half of this work is to make it possible to whitelist, alias,"},{"line_number":15,"context_line":"specify, claim, and attach all devices the same way PCI passthrough devices are"},{"line_number":16,"context_line":"supported today. The second half of this work (which may be subsumed under one"},{"line_number":17,"context_line":"of the resource providers blueprints) is to move device inventorying and"}],"source_content_type":"text/x-rst","patch_set":2,"id":"5f2577a7_04c07629","line":14,"range":{"start_line":14,"start_character":59,"end_line":14,"end_character":68},"updated":"2017-09-17 21:05:30.000000000","message":"Maybe another approach should be considered? All compute resources should be considered unless blacklisted.","commit_id":"9446e81ea1f2a97ab62a78cb93990d98c4d91b59"},{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"566563ff3ec3fcae09b90e1f71d3bfe8258ea9ef","unresolved":false,"context_lines":[{"line_number":15,"context_line":"specify, claim, and attach all devices the same way PCI passthrough devices are"},{"line_number":16,"context_line":"supported today. The second half of this work (which may be subsumed under one"},{"line_number":17,"context_line":"of the resource providers blueprints) is to move device inventorying and"},{"line_number":18,"context_line":"claiming into the resource provider framework."},{"line_number":19,"context_line":""},{"line_number":20,"context_line":"Problem description"},{"line_number":21,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"}],"source_content_type":"text/x-rst","patch_set":2,"id":"3fce034c_88c5d35d","line":18,"updated":"2019-04-16 15:03:18.000000000","message":"This feels like two separate specs (support device passthrough for everything and modelling devices in placement).","commit_id":"9446e81ea1f2a97ab62a78cb93990d98c4d91b59"},{"author":{"_account_id":23942,"name":"Matt Kucia","email":"maciej@kucia.net","username":"maciejkucia"},"change_message_id":"77e1430019e90549746dc3f9eec4c91134784f09","unresolved":false,"context_lines":[{"line_number":24,"context_line":"supporting this is PCI-specific to varying degrees. For example, the config"},{"line_number":25,"context_line":"section from which whitelist and alias entries are gleaned is called ``[pci]``,"},{"line_number":26,"context_line":"but that\u0027s an arbitrary string.  But devices are identified by various"},{"line_number":27,"context_line":"combinations of PCI address (in ``\u003cdomain\u003e:\u003cbus\u003e:\u003cslot\u003e.func`` format), vendor"},{"line_number":28,"context_line":"ID, and product ID."},{"line_number":29,"context_line":""},{"line_number":30,"context_line":"[efried] YOU ARE HERE.  Need to understand resource provider framework a lot"}],"source_content_type":"text/x-rst","patch_set":2,"id":"5f2577a7_a4fd226f","line":27,"range":{"start_line":27,"start_character":33,"end_line":27,"end_character":61},"updated":"2017-09-17 21:05:30.000000000","message":"In my opinion nova should quit using this format and use something more universal: linux kernel sysfs devices (`/sys/devices`). Alternatively there is `/sys/class`.","commit_id":"9446e81ea1f2a97ab62a78cb93990d98c4d91b59"},{"author":{"_account_id":14070,"name":"Eric Fried","email":"openstack@fried.cc","username":"efried"},"change_message_id":"4563783ea8b0605c3495336619c6ebd6348ebdb8","unresolved":false,"context_lines":[{"line_number":24,"context_line":"supporting this is PCI-specific to varying degrees. For example, the config"},{"line_number":25,"context_line":"section from which whitelist and alias entries are gleaned is called ``[pci]``,"},{"line_number":26,"context_line":"but that\u0027s an arbitrary string.  But devices are identified by various"},{"line_number":27,"context_line":"combinations of PCI address (in ``\u003cdomain\u003e:\u003cbus\u003e:\u003cslot\u003e.func`` format), vendor"},{"line_number":28,"context_line":"ID, and product ID."},{"line_number":29,"context_line":""},{"line_number":30,"context_line":"[efried] YOU ARE HERE.  Need to understand resource provider framework a lot"}],"source_content_type":"text/x-rst","patch_set":2,"id":"9f5c4f37_d675139a","line":27,"range":{"start_line":27,"start_character":33,"end_line":27,"end_character":61},"in_reply_to":"5f2577a7_a4fd226f","updated":"2017-09-21 15:47:26.000000000","message":"No!  Linux sysfs is not universal!\n\nWe talked about this a bit at the PTG.  It\u0027s at least a release in the future, but there was some discussion of having a separate device list (e.g. in its own yaml file) in whatever format the hypervisor understands.","commit_id":"9446e81ea1f2a97ab62a78cb93990d98c4d91b59"},{"author":{"_account_id":23942,"name":"Matt Kucia","email":"maciej@kucia.net","username":"maciejkucia"},"change_message_id":"77e1430019e90549746dc3f9eec4c91134784f09","unresolved":false,"context_lines":[{"line_number":30,"context_line":"[efried] YOU ARE HERE.  Need to understand resource provider framework a lot"},{"line_number":31,"context_line":"better before proceeding.  Also may need to redraw (or erase) the line between"},{"line_number":32,"context_line":"this and https://blueprints.launchpad.net/nova/+spec/pci-by-device-id"},{"line_number":33,"context_line":""},{"line_number":34,"context_line":"Use Cases"},{"line_number":35,"context_line":"---------"},{"line_number":36,"context_line":"I should be able to have my resource provider say, \"I have X devices of type Y"}],"source_content_type":"text/x-rst","patch_set":2,"id":"5f2577a7_64405aa6","line":33,"updated":"2017-09-17 21:05:30.000000000","message":"I think this spec should mention a problem:\nHow to handle generic and specific devices?\nFor example: One cloud application might require SR-IOV PCI NIC card Virtual Function. Another application might require the same hardware entity as a generic PCI device. \n\nThe same piece of hardware can be expressed differently in virtualization driver (ex. domxml in libvirt).","commit_id":"9446e81ea1f2a97ab62a78cb93990d98c4d91b59"},{"author":{"_account_id":14070,"name":"Eric Fried","email":"openstack@fried.cc","username":"efried"},"change_message_id":"4563783ea8b0605c3495336619c6ebd6348ebdb8","unresolved":false,"context_lines":[{"line_number":30,"context_line":"[efried] YOU ARE HERE.  Need to understand resource provider framework a lot"},{"line_number":31,"context_line":"better before proceeding.  Also may need to redraw (or erase) the line between"},{"line_number":32,"context_line":"this and https://blueprints.launchpad.net/nova/+spec/pci-by-device-id"},{"line_number":33,"context_line":""},{"line_number":34,"context_line":"Use Cases"},{"line_number":35,"context_line":"---------"},{"line_number":36,"context_line":"I should be able to have my resource provider say, \"I have X devices of type Y"}],"source_content_type":"text/x-rst","patch_set":2,"id":"9f5c4f37_56c5a38d","line":33,"in_reply_to":"5f2577a7_64405aa6","updated":"2017-09-21 15:47:26.000000000","message":"Yeah, that\u0027s an excellent point.  I could conceivably pass through a VF, a whole PF, or the whole card.  That\u0027s gonna be a bear to model in terms of nested/generic RPs.","commit_id":"9446e81ea1f2a97ab62a78cb93990d98c4d91b59"},{"author":{"_account_id":23942,"name":"Matt Kucia","email":"maciej@kucia.net","username":"maciejkucia"},"change_message_id":"77e1430019e90549746dc3f9eec4c91134784f09","unresolved":false,"context_lines":[{"line_number":40,"context_line":"What use cases does this address? What impact on actors does this change have?"},{"line_number":41,"context_line":"Ensure you are clear about the actors in each use case: Developer, End User,"},{"line_number":42,"context_line":"Deployer etc."},{"line_number":43,"context_line":""},{"line_number":44,"context_line":"Proposed change"},{"line_number":45,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":46,"context_line":""}],"source_content_type":"text/x-rst","patch_set":2,"id":"5f2577a7_e42c4a03","line":43,"updated":"2017-09-17 21:05:30.000000000","message":"There are multiple use cases mentioned in spec proposals, IRC and mailing list:\n- GPU\n- FPGA\n- NFV NIC","commit_id":"9446e81ea1f2a97ab62a78cb93990d98c4d91b59"},{"author":{"_account_id":23942,"name":"Matt Kucia","email":"maciej@kucia.net","username":"maciejkucia"},"change_message_id":"77e1430019e90549746dc3f9eec4c91134784f09","unresolved":false,"context_lines":[{"line_number":81,"context_line":"* How will the initial set of new data objects be generated, for example if you"},{"line_number":82,"context_line":"  need to take into account existing instances, or modify other existing data"},{"line_number":83,"context_line":"  describe how that will work."},{"line_number":84,"context_line":""},{"line_number":85,"context_line":"REST API impact"},{"line_number":86,"context_line":"---------------"},{"line_number":87,"context_line":""}],"source_content_type":"text/x-rst","patch_set":2,"id":"5f2577a7_443d5e29","line":84,"updated":"2017-09-17 21:05:30.000000000","message":"NUMA should be mentioned here.","commit_id":"9446e81ea1f2a97ab62a78cb93990d98c4d91b59"},{"author":{"_account_id":23942,"name":"Matt Kucia","email":"maciej@kucia.net","username":"maciejkucia"},"change_message_id":"77e1430019e90549746dc3f9eec4c91134784f09","unresolved":false,"context_lines":[{"line_number":182,"context_line":""},{"line_number":183,"context_line":"* Does this change have an impact on python-novaclient? What does the user"},{"line_number":184,"context_line":"  interface there look like?"},{"line_number":185,"context_line":""},{"line_number":186,"context_line":"Performance Impact"},{"line_number":187,"context_line":"------------------"},{"line_number":188,"context_line":""}],"source_content_type":"text/x-rst","patch_set":2,"id":"5f2577a7_2446d2c1","line":185,"updated":"2017-09-17 21:05:30.000000000","message":"It would be good to mention traits here. For example how to select devices? My ideas:\n\n traits\u003dHW:DEV:PCI:ALIAS_LABELSARECOOL\n traits\u003dHW:DEV:PCI:ID_8081_1231\n traits\u003dHW:DEV:USB:ID_8281_1231\n traits\u003dHW:CPU:X86,HW:DEV:USB:TAG_MYTAG1_MYTAG3","commit_id":"9446e81ea1f2a97ab62a78cb93990d98c4d91b59"},{"author":{"_account_id":14070,"name":"Eric Fried","email":"openstack@fried.cc","username":"efried"},"change_message_id":"4563783ea8b0605c3495336619c6ebd6348ebdb8","unresolved":false,"context_lines":[{"line_number":182,"context_line":""},{"line_number":183,"context_line":"* Does this change have an impact on python-novaclient? What does the user"},{"line_number":184,"context_line":"  interface there look like?"},{"line_number":185,"context_line":""},{"line_number":186,"context_line":"Performance Impact"},{"line_number":187,"context_line":"------------------"},{"line_number":188,"context_line":""}],"source_content_type":"text/x-rst","patch_set":2,"id":"9f5c4f37_d65f53e3","line":185,"in_reply_to":"5f2577a7_2446d2c1","updated":"2017-09-21 15:47:26.000000000","message":"Note the spec for specifying traits to GET allocation_candidates: https://review.openstack.org/#/c/497713/\n\nIf you want to be able to select an individual device, you would have to model your device with a CUSTOM_DEVICEID_XXX trait.  Which makes people who think in cloud terms squirm in their seats.","commit_id":"9446e81ea1f2a97ab62a78cb93990d98c4d91b59"}]}
