)]}'
{"specs/train/approved/device-profiles.rst":[{"author":{"_account_id":25738,"name":"Xinran WANG","email":"xin-ran.wang@intel.com","username":"Xinran"},"change_message_id":"916811f548e27e88e68fc1db9a49905f7542f927","unresolved":false,"context_lines":[{"line_number":72,"context_line":"The device profile format is a Python dictionary with syntax similar to\r"},{"line_number":73,"context_line":"granular resource requests for Nova flavors. Here is an example::\r"},{"line_number":74,"context_line":"\r"},{"line_number":75,"context_line":"  {\r"},{"line_number":76,"context_line":"    \u0027name\u0027: \u0027my_device_profile\u0027,\r"},{"line_number":77,"context_line":"    \u0027description\u0027: \u0027Image classification\u0027,\r"},{"line_number":78,"context_line":"    \u0027groups\u0027: [\r"},{"line_number":79,"context_line":"      { \u0027resources:CUSTOM_ACCELERATOR_FPGA\u003d1\u0027,\r"},{"line_number":80,"context_line":"        \u0027trait:CUSTOM_FPGA_INTEL_ARRIA10\u003drequired\u0027,\r"},{"line_number":81,"context_line":"        \u0027accel:function_id\u003d3AFB\u0027\r"},{"line_number":82,"context_line":"      },\r"},{"line_number":83,"context_line":"      { \u0027resources:CUSTOM_ACCELERATOR_GPU\u003d2\u0027,\r"},{"line_number":84,"context_line":"        \u0027trait:CUSTOM_GPU_MODEL_NAME\u003drequired\u0027,\r"},{"line_number":85,"context_line":"        \u0027accel:video_ram\u003d2GB\u0027\r"},{"line_number":86,"context_line":"      },\r"},{"line_number":87,"context_line":"    ]\r"},{"line_number":88,"context_line":"    \u0027uuid\u0027: \u00278411555e-3cbf-47de-988c-b5e30bbfa035\u0027 # auto-generated\r"},{"line_number":89,"context_line":"  }\r"},{"line_number":90,"context_line":"\r"},{"line_number":91,"context_line":"The fields and syntax are explained in the Section\r"},{"line_number":92,"context_line":"`Device Profile structure`_.\r"}],"source_content_type":"text/x-rst","patch_set":7,"id":"ffb9cba7_8505117d","line":89,"range":{"start_line":75,"start_character":0,"end_line":89,"end_character":3},"updated":"2019-04-22 03:28:29.000000000","message":"Will cyborg provide an API to parse this data structure into request group in nova\u0027s request spec.","commit_id":"c25a24fafcf26357799d2794a6289d3f3a3fdd69"},{"author":{"_account_id":25738,"name":"Xinran WANG","email":"xin-ran.wang@intel.com","username":"Xinran"},"change_message_id":"cd4ba80415adb9424043a62e44d46f993d24d883","unresolved":false,"context_lines":[{"line_number":72,"context_line":"The device profile format is a Python dictionary with syntax similar to\r"},{"line_number":73,"context_line":"granular resource requests for Nova flavors. Here is an example::\r"},{"line_number":74,"context_line":"\r"},{"line_number":75,"context_line":"  {\r"},{"line_number":76,"context_line":"    \u0027name\u0027: \u0027my_device_profile\u0027,\r"},{"line_number":77,"context_line":"    \u0027description\u0027: \u0027Image classification\u0027,\r"},{"line_number":78,"context_line":"    \u0027groups\u0027: [\r"},{"line_number":79,"context_line":"      { \u0027resources:CUSTOM_ACCELERATOR_FPGA\u003d1\u0027,\r"},{"line_number":80,"context_line":"        \u0027trait:CUSTOM_FPGA_INTEL_ARRIA10\u003drequired\u0027,\r"},{"line_number":81,"context_line":"        \u0027accel:function_id\u003d3AFB\u0027\r"},{"line_number":82,"context_line":"      },\r"},{"line_number":83,"context_line":"      { \u0027resources:CUSTOM_ACCELERATOR_GPU\u003d2\u0027,\r"},{"line_number":84,"context_line":"        \u0027trait:CUSTOM_GPU_MODEL_NAME\u003drequired\u0027,\r"},{"line_number":85,"context_line":"        \u0027accel:video_ram\u003d2GB\u0027\r"},{"line_number":86,"context_line":"      },\r"},{"line_number":87,"context_line":"    ]\r"},{"line_number":88,"context_line":"    \u0027uuid\u0027: \u00278411555e-3cbf-47de-988c-b5e30bbfa035\u0027 # auto-generated\r"},{"line_number":89,"context_line":"  }\r"},{"line_number":90,"context_line":"\r"},{"line_number":91,"context_line":"The fields and syntax are explained in the Section\r"},{"line_number":92,"context_line":"`Device Profile structure`_.\r"}],"source_content_type":"text/x-rst","patch_set":7,"id":"ffb9cba7_9d8d1e33","line":89,"range":{"start_line":75,"start_character":0,"end_line":89,"end_character":3},"in_reply_to":"ffb9cba7_07223b53","updated":"2019-04-25 03:08:26.000000000","message":"Thanks, I got it. Btw I suppose the second link should be https://review.opendev.org/#/c/631243/18/nova/accelerator/cyborg.py \n:)","commit_id":"c25a24fafcf26357799d2794a6289d3f3a3fdd69"},{"author":{"_account_id":21672,"name":"Sundar Nadathur","email":"sundar.nadathur@intel.com","username":"nsundar"},"change_message_id":"b8613ba27374b77d5b70b8fac8f99f86f6e44448","unresolved":false,"context_lines":[{"line_number":72,"context_line":"The device profile format is a Python dictionary with syntax similar to\r"},{"line_number":73,"context_line":"granular resource requests for Nova flavors. Here is an example::\r"},{"line_number":74,"context_line":"\r"},{"line_number":75,"context_line":"  {\r"},{"line_number":76,"context_line":"    \u0027name\u0027: \u0027my_device_profile\u0027,\r"},{"line_number":77,"context_line":"    \u0027description\u0027: \u0027Image classification\u0027,\r"},{"line_number":78,"context_line":"    \u0027groups\u0027: [\r"},{"line_number":79,"context_line":"      { \u0027resources:CUSTOM_ACCELERATOR_FPGA\u003d1\u0027,\r"},{"line_number":80,"context_line":"        \u0027trait:CUSTOM_FPGA_INTEL_ARRIA10\u003drequired\u0027,\r"},{"line_number":81,"context_line":"        \u0027accel:function_id\u003d3AFB\u0027\r"},{"line_number":82,"context_line":"      },\r"},{"line_number":83,"context_line":"      { \u0027resources:CUSTOM_ACCELERATOR_GPU\u003d2\u0027,\r"},{"line_number":84,"context_line":"        \u0027trait:CUSTOM_GPU_MODEL_NAME\u003drequired\u0027,\r"},{"line_number":85,"context_line":"        \u0027accel:video_ram\u003d2GB\u0027\r"},{"line_number":86,"context_line":"      },\r"},{"line_number":87,"context_line":"    ]\r"},{"line_number":88,"context_line":"    \u0027uuid\u0027: \u00278411555e-3cbf-47de-988c-b5e30bbfa035\u0027 # auto-generated\r"},{"line_number":89,"context_line":"  }\r"},{"line_number":90,"context_line":"\r"},{"line_number":91,"context_line":"The fields and syntax are explained in the Section\r"},{"line_number":92,"context_line":"`Device Profile structure`_.\r"}],"source_content_type":"text/x-rst","patch_set":7,"id":"ffb9cba7_07223b53","line":89,"range":{"start_line":75,"start_character":0,"end_line":89,"end_character":3},"in_reply_to":"ffb9cba7_8505117d","updated":"2019-04-25 00:01:43.000000000","message":"Cyborg provides a standard API [1] that anybody can consume -- it is not Nova-specific. The Cyborg client module inside Nova does the translation [2]. \n\n[1] L137: https://review.opendev.org/#/c/626057/9/cyborg/api/controllers/v2/device_profiles.py,unified \n\n[2] L72: https://review.opendev.org/#/c/626057/9/cyborg/api/controllers/v2/device_profiles.py,unified","commit_id":"c25a24fafcf26357799d2794a6289d3f3a3fdd69"},{"author":{"_account_id":25738,"name":"Xinran WANG","email":"xin-ran.wang@intel.com","username":"Xinran"},"change_message_id":"916811f548e27e88e68fc1db9a49905f7542f927","unresolved":false,"context_lines":[{"line_number":203,"context_line":"     - UUID\r"},{"line_number":204,"context_line":"     - Glance UUID of the bitstream that must be programmed.\r"},{"line_number":205,"context_line":"       The type of the bitstream, which may influence the tool used for\r"},{"line_number":206,"context_line":"       programming, is then assumed to be a image property.\r"},{"line_number":207,"context_line":"   * - ``bitstream_name``\r"},{"line_number":208,"context_line":"     - String\r"},{"line_number":209,"context_line":"     - Name of the bitstream in Glance, including the suffix that indicates\r"}],"source_content_type":"text/x-rst","patch_set":7,"id":"ffb9cba7_45dcf945","line":206,"range":{"start_line":206,"start_character":44,"end_line":206,"end_character":58},"updated":"2019-04-22 03:28:29.000000000","message":"will cyborg add one key-value pair like image_property \u003d some_bitstream_type after cyborg gets it by calling glance?","commit_id":"c25a24fafcf26357799d2794a6289d3f3a3fdd69"},{"author":{"_account_id":21672,"name":"Sundar Nadathur","email":"sundar.nadathur@intel.com","username":"nsundar"},"change_message_id":"b8613ba27374b77d5b70b8fac8f99f86f6e44448","unresolved":false,"context_lines":[{"line_number":203,"context_line":"     - UUID\r"},{"line_number":204,"context_line":"     - Glance UUID of the bitstream that must be programmed.\r"},{"line_number":205,"context_line":"       The type of the bitstream, which may influence the tool used for\r"},{"line_number":206,"context_line":"       programming, is then assumed to be a image property.\r"},{"line_number":207,"context_line":"   * - ``bitstream_name``\r"},{"line_number":208,"context_line":"     - String\r"},{"line_number":209,"context_line":"     - Name of the bitstream in Glance, including the suffix that indicates\r"}],"source_content_type":"text/x-rst","patch_set":7,"id":"ffb9cba7_e71607f2","line":206,"range":{"start_line":206,"start_character":44,"end_line":206,"end_character":58},"in_reply_to":"ffb9cba7_45dcf945","updated":"2019-04-25 00:01:43.000000000","message":"When the image is uploaded, the bitstream type must be added as metadata to the image. This can be ensured if the bitstream is uploaded via Cyborg to Glance.","commit_id":"c25a24fafcf26357799d2794a6289d3f3a3fdd69"},{"author":{"_account_id":25738,"name":"Xinran WANG","email":"xin-ran.wang@intel.com","username":"Xinran"},"change_message_id":"916811f548e27e88e68fc1db9a49905f7542f927","unresolved":false,"context_lines":[{"line_number":207,"context_line":"   * - ``bitstream_name``\r"},{"line_number":208,"context_line":"     - String\r"},{"line_number":209,"context_line":"     - Name of the bitstream in Glance, including the suffix that indicates\r"},{"line_number":210,"context_line":"       bitstream type.\r"},{"line_number":211,"context_line":"   * - ``function_id``\r"},{"line_number":212,"context_line":"     - UUID\r"},{"line_number":213,"context_line":"     - UUID of the needed function.\r"}],"source_content_type":"text/x-rst","patch_set":7,"id":"ffb9cba7_05e60118","line":210,"range":{"start_line":210,"start_character":7,"end_line":210,"end_character":22},"updated":"2019-04-22 03:28:29.000000000","message":"Is this the image property like your description above. Could you pls give an example here.","commit_id":"c25a24fafcf26357799d2794a6289d3f3a3fdd69"},{"author":{"_account_id":21672,"name":"Sundar Nadathur","email":"sundar.nadathur@intel.com","username":"nsundar"},"change_message_id":"b8613ba27374b77d5b70b8fac8f99f86f6e44448","unresolved":false,"context_lines":[{"line_number":207,"context_line":"   * - ``bitstream_name``\r"},{"line_number":208,"context_line":"     - String\r"},{"line_number":209,"context_line":"     - Name of the bitstream in Glance, including the suffix that indicates\r"},{"line_number":210,"context_line":"       bitstream type.\r"},{"line_number":211,"context_line":"   * - ``function_id``\r"},{"line_number":212,"context_line":"     - UUID\r"},{"line_number":213,"context_line":"     - UUID of the needed function.\r"}],"source_content_type":"text/x-rst","patch_set":7,"id":"ffb9cba7_47b6f3fc","line":210,"range":{"start_line":210,"start_character":7,"end_line":210,"end_character":22},"in_reply_to":"ffb9cba7_05e60118","updated":"2019-04-25 00:01:43.000000000","message":"Glance images always have a name, and that is regarded as an image property.","commit_id":"c25a24fafcf26357799d2794a6289d3f3a3fdd69"},{"author":{"_account_id":21672,"name":"Sundar Nadathur","email":"sundar.nadathur@intel.com","username":"nsundar"},"change_message_id":"9e7cd6c9f23efdca7b222a407c6f458a8f26d78f","unresolved":false,"context_lines":[{"line_number":244,"context_line":" Query Parameters: name\u003dname1,name2,...\r"},{"line_number":245,"context_line":" Normal response code and body:\r"},{"line_number":246,"context_line":"    200\r"},{"line_number":247,"context_line":"    { \u0027device_profiles\u0027: [ \u003cdev-prof\u003e, ... ] }\r"},{"line_number":248,"context_line":" Error response code and body:\r"},{"line_number":249,"context_line":"    401 (Unauthorized): RBAC check failed\r"},{"line_number":250,"context_line":"    422 (Unprocessable): No device profiles exist\r"}],"source_content_type":"text/x-rst","patch_set":7,"id":"dfbec78f_15e1ead0","line":247,"updated":"2019-05-10 04:58:33.000000000","message":"Should we add another optional query parameter:\n\n    image_uuid\u003d\u003cstring\u003e\n\nso that Cyborg can fetch image properties and add them to the returned device profile? This is as per Line 157 of:\n\nhttps://review.opendev.org/#/c/603955/11/specs/train/approved/nova-cyborg-interaction.rst","commit_id":"c25a24fafcf26357799d2794a6289d3f3a3fdd69"}]}
