)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":26458,"name":"Brin Zhang","email":"zhangbailin@inspur.com","username":"zhangbailin"},"change_message_id":"c78ff69af87800ed510c6933a5e2351eba400355","unresolved":true,"context_lines":[{"line_number":5,"context_line":"CommitDate: 2021-10-27 08:40:41 +0000"},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Repropose disable/enable API spec"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"Change-Id: Ieba682a0080c08d8c3c506e5a57eb16cfcb3f96b"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":3,"id":"686e80dc_988645c2","line":8,"updated":"2021-10-28 08:59:00.000000000","message":"nit: you can add the PTG agreement of this feature, https://etherpad.opendev.org/p/cyborg-yoga-ptg#82","commit_id":"03c2f6eb04cf338c89c6e2ef91ea6946d4cf4d18"},{"author":{"_account_id":25738,"name":"Xinran WANG","email":"xin-ran.wang@intel.com","username":"Xinran"},"change_message_id":"df7bb5e81ae484958ce2b3bee936b37a9527bccf","unresolved":false,"context_lines":[{"line_number":5,"context_line":"CommitDate: 2021-10-27 08:40:41 +0000"},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Repropose disable/enable API spec"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"Change-Id: Ieba682a0080c08d8c3c506e5a57eb16cfcb3f96b"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":3,"id":"977a2ce7_40c93087","line":8,"in_reply_to":"686e80dc_988645c2","updated":"2021-11-08 07:12:02.000000000","message":"Done","commit_id":"03c2f6eb04cf338c89c6e2ef91ea6946d4cf4d18"},{"author":{"_account_id":26458,"name":"Brin Zhang","email":"zhangbailin@inspur.com","username":"zhangbailin"},"change_message_id":"86bcb01429352b10370adffdbb3d32ff22e739c9","unresolved":true,"context_lines":[{"line_number":10,"context_line":"design[1], the spec need to be update and reproposed."},{"line_number":11,"context_line":""},{"line_number":12,"context_line":"[1]https://etherpad.opendev.org/p/cyborg-yoga-ptg#82"},{"line_number":13,"context_line":""},{"line_number":14,"context_line":"Change-Id: Ieba682a0080c08d8c3c506e5a57eb16cfcb3f96b"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":4,"id":"f25676cc_08c94527","line":13,"updated":"2021-11-11 12:19:30.000000000","message":"Please add the tag of blueprint, e.g.\nPart of blueprint disable-enable-device","commit_id":"77f40d2dac426fab95eb5a05db6fa3c901127b02"}],"/PATCHSET_LEVEL":[{"author":{"_account_id":23950,"name":"Eric Xie","email":"eric_xiett@163.com","username":"ericxie"},"change_message_id":"4c3975b20f0e7387edfdb71ed13e3d630cb55675","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":3,"id":"25e5ddbd_66bda016","updated":"2021-10-29 06:23:00.000000000","message":"The return value of device show:\n+-------------------+------------------------------------------------+\n| Field             | Value                                          |\n+-------------------+------------------------------------------------+\n| created_at        | 2021-10-28T08:49:21+00:00                      |\n| updated_at        | None                                           |\n| uuid              | 0abfc026-1bda-4b33-9fc8-6f1af6f8d293           |\n| type              | FPGA                                           |\n| vendor            | 0xABCD                                         |\n| model             | miss model info                                |\n| hostname          | con1                                           |\n| std_board_info    | {\"device_id\": \"0xabcd\", \"class\": \"Fake class\"} |\n| vendor_board_info | fake_vendor_info                               |\n+-------------------+------------------------------------------------+\n","commit_id":"03c2f6eb04cf338c89c6e2ef91ea6946d4cf4d18"},{"author":{"_account_id":25738,"name":"Xinran WANG","email":"xin-ran.wang@intel.com","username":"Xinran"},"change_message_id":"df7bb5e81ae484958ce2b3bee936b37a9527bccf","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":3,"id":"e01a014c_0fa3ec96","in_reply_to":"25e5ddbd_66bda016","updated":"2021-11-08 07:12:02.000000000","message":"thanks for the testing, could you add the json format here as well?","commit_id":"03c2f6eb04cf338c89c6e2ef91ea6946d4cf4d18"},{"author":{"_account_id":26458,"name":"Brin Zhang","email":"zhangbailin@inspur.com","username":"zhangbailin"},"change_message_id":"bd4668fa318329e5734f7c04596983ff47df5093","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":4,"id":"eff6969c_ae0f0285","updated":"2021-11-11 12:17:50.000000000","message":"LGTM, thanks.","commit_id":"77f40d2dac426fab95eb5a05db6fa3c901127b02"},{"author":{"_account_id":26458,"name":"Brin Zhang","email":"zhangbailin@inspur.com","username":"zhangbailin"},"change_message_id":"241a1ee43cf782a11d0753423e458011328cb56d","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":4,"id":"51913fbb_e0006b59","updated":"2021-11-09 08:39:54.000000000","message":"recheck","commit_id":"77f40d2dac426fab95eb5a05db6fa3c901127b02"},{"author":{"_account_id":23950,"name":"Eric Xie","email":"eric_xiett@163.com","username":"ericxie"},"change_message_id":"a378e082e5de8d219c2d33541e952efd268fc3e4","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":5,"id":"f7f77322_89f5fc22","updated":"2021-11-12 08:51:29.000000000","message":"LGTM.","commit_id":"30479ed861fae3cf322eb1a6a822f1ed330f1a7d"},{"author":{"_account_id":26458,"name":"Brin Zhang","email":"zhangbailin@inspur.com","username":"zhangbailin"},"change_message_id":"3a7088cafc154cb29da99ae216fab373a12c0602","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":5,"id":"0952351e_a6adb39f","updated":"2021-11-12 08:43:19.000000000","message":"lgtm","commit_id":"30479ed861fae3cf322eb1a6a822f1ed330f1a7d"}],"specs/yoga/approved/disable-enable-device.rst":[{"author":{"_account_id":31412,"name":"Wenping Song","email":"songwenping@inspur.com","username":"songwenping"},"change_message_id":"a05031f74c349f5189a6888d948403831e1bef02","unresolved":true,"context_lines":[{"line_number":10,"context_line":""},{"line_number":11,"context_line":"https://blueprints.launchpad.net/openstack-cyborg/+spec/disable-enable-device"},{"line_number":12,"context_line":""},{"line_number":13,"context_line":"Nowadays, Cyborg discoversj the device on compute node by each driver. All"},{"line_number":14,"context_line":"devices matching the spec of driver are discovered and reported to the"},{"line_number":15,"context_line":"Placement service as an accelerator resources."},{"line_number":16,"context_line":"This spec proposes a set of new APIs which allow admin users to"}],"source_content_type":"text/x-rst","patch_set":2,"id":"e4893f64_02b03caf","line":13,"range":{"start_line":13,"start_character":17,"end_line":13,"end_character":28},"updated":"2021-10-27 06:57:26.000000000","message":"nit","commit_id":"aaa7265d5053d003619847313058e0b2c9483f0f"},{"author":{"_account_id":25738,"name":"Xinran WANG","email":"xin-ran.wang@intel.com","username":"Xinran"},"change_message_id":"231dda5e95f92bd51b57e36408bab4ca97ba4381","unresolved":false,"context_lines":[{"line_number":10,"context_line":""},{"line_number":11,"context_line":"https://blueprints.launchpad.net/openstack-cyborg/+spec/disable-enable-device"},{"line_number":12,"context_line":""},{"line_number":13,"context_line":"Nowadays, Cyborg discoversj the device on compute node by each driver. All"},{"line_number":14,"context_line":"devices matching the spec of driver are discovered and reported to the"},{"line_number":15,"context_line":"Placement service as an accelerator resources."},{"line_number":16,"context_line":"This spec proposes a set of new APIs which allow admin users to"}],"source_content_type":"text/x-rst","patch_set":2,"id":"da9314a9_f928da01","line":13,"range":{"start_line":13,"start_character":17,"end_line":13,"end_character":28},"in_reply_to":"e4893f64_02b03caf","updated":"2021-10-27 08:49:15.000000000","message":"Done","commit_id":"aaa7265d5053d003619847313058e0b2c9483f0f"},{"author":{"_account_id":31412,"name":"Wenping Song","email":"songwenping@inspur.com","username":"songwenping"},"change_message_id":"a05031f74c349f5189a6888d948403831e1bef02","unresolved":true,"context_lines":[{"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"},{"line_number":22,"context_line":""},{"line_number":23,"context_line":"Cyborg maintains a configuration files to configure the enabled drivers. Once"},{"line_number":24,"context_line":"the driver is enabled, the driver will discover all devices whose vendor ID,"},{"line_number":25,"context_line":"device ID match the driver\u0027s requirement. If admin user do not want all devices"},{"line_number":26,"context_line":"to be used by virtual machine, there is no way to disable a device currently."}],"source_content_type":"text/x-rst","patch_set":2,"id":"4088ba1f_b2098124","line":23,"range":{"start_line":23,"start_character":37,"end_line":23,"end_character":38},"updated":"2021-10-27 06:57:26.000000000","message":"nit","commit_id":"aaa7265d5053d003619847313058e0b2c9483f0f"},{"author":{"_account_id":25738,"name":"Xinran WANG","email":"xin-ran.wang@intel.com","username":"Xinran"},"change_message_id":"231dda5e95f92bd51b57e36408bab4ca97ba4381","unresolved":false,"context_lines":[{"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"},{"line_number":22,"context_line":""},{"line_number":23,"context_line":"Cyborg maintains a configuration files to configure the enabled drivers. Once"},{"line_number":24,"context_line":"the driver is enabled, the driver will discover all devices whose vendor ID,"},{"line_number":25,"context_line":"device ID match the driver\u0027s requirement. If admin user do not want all devices"},{"line_number":26,"context_line":"to be used by virtual machine, there is no way to disable a device currently."}],"source_content_type":"text/x-rst","patch_set":2,"id":"1e85c3c6_74998547","line":23,"range":{"start_line":23,"start_character":37,"end_line":23,"end_character":38},"in_reply_to":"4088ba1f_b2098124","updated":"2021-10-27 08:49:15.000000000","message":"Done","commit_id":"aaa7265d5053d003619847313058e0b2c9483f0f"},{"author":{"_account_id":31412,"name":"Wenping Song","email":"songwenping@inspur.com","username":"songwenping"},"change_message_id":"a05031f74c349f5189a6888d948403831e1bef02","unresolved":true,"context_lines":[{"line_number":21,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":22,"context_line":""},{"line_number":23,"context_line":"Cyborg maintains a configuration files to configure the enabled drivers. Once"},{"line_number":24,"context_line":"the driver is enabled, the driver will discover all devices whose vendor ID,"},{"line_number":25,"context_line":"device ID match the driver\u0027s requirement. If admin user do not want all devices"},{"line_number":26,"context_line":"to be used by virtual machine, there is no way to disable a device currently."},{"line_number":27,"context_line":""}],"source_content_type":"text/x-rst","patch_set":2,"id":"b081eb17_bc9f8416","line":24,"range":{"start_line":24,"start_character":27,"end_line":24,"end_character":34},"updated":"2021-10-27 06:57:26.000000000","message":"agent","commit_id":"aaa7265d5053d003619847313058e0b2c9483f0f"},{"author":{"_account_id":25738,"name":"Xinran WANG","email":"xin-ran.wang@intel.com","username":"Xinran"},"change_message_id":"231dda5e95f92bd51b57e36408bab4ca97ba4381","unresolved":false,"context_lines":[{"line_number":21,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":22,"context_line":""},{"line_number":23,"context_line":"Cyborg maintains a configuration files to configure the enabled drivers. Once"},{"line_number":24,"context_line":"the driver is enabled, the driver will discover all devices whose vendor ID,"},{"line_number":25,"context_line":"device ID match the driver\u0027s requirement. If admin user do not want all devices"},{"line_number":26,"context_line":"to be used by virtual machine, there is no way to disable a device currently."},{"line_number":27,"context_line":""}],"source_content_type":"text/x-rst","patch_set":2,"id":"aa972555_a555ef60","line":24,"range":{"start_line":24,"start_character":27,"end_line":24,"end_character":34},"in_reply_to":"b081eb17_bc9f8416","updated":"2021-10-27 08:49:15.000000000","message":"Done","commit_id":"aaa7265d5053d003619847313058e0b2c9483f0f"},{"author":{"_account_id":31412,"name":"Wenping Song","email":"songwenping@inspur.com","username":"songwenping"},"change_message_id":"a05031f74c349f5189a6888d948403831e1bef02","unresolved":true,"context_lines":[{"line_number":39,"context_line":"* It also need a new field \"is_maintaining\" in Device object and data model to"},{"line_number":40,"context_line":"  indicate whether the device is disbaled. If one device is disabled, the"},{"line_number":41,"context_line":"  \"is_maintaining\" field should be set to \"True\", and if the device is enabled,"},{"line_number":42,"context_line":"  the field should be set to \"false\". The default value should be \"false\"."},{"line_number":43,"context_line":"* Cyborg need call Placement API to update the \"reserved\" field for the"},{"line_number":44,"context_line":"  device."},{"line_number":45,"context_line":""}],"source_content_type":"text/x-rst","patch_set":2,"id":"649cbaee_75ed8e39","line":42,"range":{"start_line":42,"start_character":67,"end_line":42,"end_character":72},"updated":"2021-10-27 06:57:26.000000000","message":"False","commit_id":"aaa7265d5053d003619847313058e0b2c9483f0f"},{"author":{"_account_id":31412,"name":"Wenping Song","email":"songwenping@inspur.com","username":"songwenping"},"change_message_id":"a05031f74c349f5189a6888d948403831e1bef02","unresolved":true,"context_lines":[{"line_number":39,"context_line":"* It also need a new field \"is_maintaining\" in Device object and data model to"},{"line_number":40,"context_line":"  indicate whether the device is disbaled. If one device is disabled, the"},{"line_number":41,"context_line":"  \"is_maintaining\" field should be set to \"True\", and if the device is enabled,"},{"line_number":42,"context_line":"  the field should be set to \"false\". The default value should be \"false\"."},{"line_number":43,"context_line":"* Cyborg need call Placement API to update the \"reserved\" field for the"},{"line_number":44,"context_line":"  device."},{"line_number":45,"context_line":""}],"source_content_type":"text/x-rst","patch_set":2,"id":"8723efa1_1d7fafe1","line":42,"range":{"start_line":42,"start_character":30,"end_line":42,"end_character":35},"updated":"2021-10-27 06:57:26.000000000","message":"False","commit_id":"aaa7265d5053d003619847313058e0b2c9483f0f"},{"author":{"_account_id":25738,"name":"Xinran WANG","email":"xin-ran.wang@intel.com","username":"Xinran"},"change_message_id":"231dda5e95f92bd51b57e36408bab4ca97ba4381","unresolved":false,"context_lines":[{"line_number":39,"context_line":"* It also need a new field \"is_maintaining\" in Device object and data model to"},{"line_number":40,"context_line":"  indicate whether the device is disbaled. If one device is disabled, the"},{"line_number":41,"context_line":"  \"is_maintaining\" field should be set to \"True\", and if the device is enabled,"},{"line_number":42,"context_line":"  the field should be set to \"false\". The default value should be \"false\"."},{"line_number":43,"context_line":"* Cyborg need call Placement API to update the \"reserved\" field for the"},{"line_number":44,"context_line":"  device."},{"line_number":45,"context_line":""}],"source_content_type":"text/x-rst","patch_set":2,"id":"58298686_5a392306","line":42,"range":{"start_line":42,"start_character":67,"end_line":42,"end_character":72},"in_reply_to":"649cbaee_75ed8e39","updated":"2021-10-27 08:49:15.000000000","message":"Done","commit_id":"aaa7265d5053d003619847313058e0b2c9483f0f"},{"author":{"_account_id":25738,"name":"Xinran WANG","email":"xin-ran.wang@intel.com","username":"Xinran"},"change_message_id":"231dda5e95f92bd51b57e36408bab4ca97ba4381","unresolved":false,"context_lines":[{"line_number":39,"context_line":"* It also need a new field \"is_maintaining\" in Device object and data model to"},{"line_number":40,"context_line":"  indicate whether the device is disbaled. If one device is disabled, the"},{"line_number":41,"context_line":"  \"is_maintaining\" field should be set to \"True\", and if the device is enabled,"},{"line_number":42,"context_line":"  the field should be set to \"false\". The default value should be \"false\"."},{"line_number":43,"context_line":"* Cyborg need call Placement API to update the \"reserved\" field for the"},{"line_number":44,"context_line":"  device."},{"line_number":45,"context_line":""}],"source_content_type":"text/x-rst","patch_set":2,"id":"2f115c53_5c94b892","line":42,"range":{"start_line":42,"start_character":30,"end_line":42,"end_character":35},"in_reply_to":"8723efa1_1d7fafe1","updated":"2021-10-27 08:49:15.000000000","message":"Done","commit_id":"aaa7265d5053d003619847313058e0b2c9483f0f"},{"author":{"_account_id":31412,"name":"Wenping Song","email":"songwenping@inspur.com","username":"songwenping"},"change_message_id":"a05031f74c349f5189a6888d948403831e1bef02","unresolved":true,"context_lines":[{"line_number":106,"context_line":"       \"name\": \"computenode_FakeDevice\","},{"line_number":107,"context_line":"       \"num_accelerators\": 16,"},{"line_number":108,"context_line":"       \"device_id\": 1,"},{"line_number":109,"context_line":"       \"attributes_list\": \"[{\u0027traits1\u0027: \u0027CUSTOM_FAKE_DEVICE\u0027}, {\u0027rc\u0027: \u0027FPGA\u0027}]\","},{"line_number":110,"context_line":"       \"rp_uuid\": \"853f07a6-19de-3dd6-b9f6-6c782daa3f7b\","},{"line_number":111,"context_line":"       \"driver_name\": \"fake\","},{"line_number":112,"context_line":"       \"is_maintaining\": \"True\""}],"source_content_type":"text/x-rst","patch_set":2,"id":"226f893a_d3defd1e","line":109,"range":{"start_line":109,"start_character":8,"end_line":109,"end_character":80},"updated":"2021-10-27 06:57:26.000000000","message":"do we have this return value now, and root_id, num_accelerators etc.?","commit_id":"aaa7265d5053d003619847313058e0b2c9483f0f"},{"author":{"_account_id":25738,"name":"Xinran WANG","email":"xin-ran.wang@intel.com","username":"Xinran"},"change_message_id":"231dda5e95f92bd51b57e36408bab4ca97ba4381","unresolved":true,"context_lines":[{"line_number":106,"context_line":"       \"name\": \"computenode_FakeDevice\","},{"line_number":107,"context_line":"       \"num_accelerators\": 16,"},{"line_number":108,"context_line":"       \"device_id\": 1,"},{"line_number":109,"context_line":"       \"attributes_list\": \"[{\u0027traits1\u0027: \u0027CUSTOM_FAKE_DEVICE\u0027}, {\u0027rc\u0027: \u0027FPGA\u0027}]\","},{"line_number":110,"context_line":"       \"rp_uuid\": \"853f07a6-19de-3dd6-b9f6-6c782daa3f7b\","},{"line_number":111,"context_line":"       \"driver_name\": \"fake\","},{"line_number":112,"context_line":"       \"is_maintaining\": \"True\""}],"source_content_type":"text/x-rst","patch_set":2,"id":"608f350a_9a48f945","line":109,"range":{"start_line":109,"start_character":8,"end_line":109,"end_character":80},"in_reply_to":"226f893a_d3defd1e","updated":"2021-10-27 08:49:15.000000000","message":"\u003e do we have this return value now, and root_id, num_accelerators etc.?\n\nwill test it.","commit_id":"aaa7265d5053d003619847313058e0b2c9483f0f"},{"author":{"_account_id":31412,"name":"Wenping Song","email":"songwenping@inspur.com","username":"songwenping"},"change_message_id":"a05031f74c349f5189a6888d948403831e1bef02","unresolved":true,"context_lines":[{"line_number":131,"context_line":"Disable Device API"},{"line_number":132,"context_line":"^^^^^^^^^^^^^^^^^^"},{"line_number":133,"context_line":"* Disable a device"},{"line_number":134,"context_line":"  URL: ``/devices/disable/{device_uuid}``"},{"line_number":135,"context_line":"  METHOD: ``POST``"},{"line_number":136,"context_line":"  Return: 200"},{"line_number":137,"context_line":"  Error Code: 404(the device is not found),403(the role is not admin)"}],"source_content_type":"text/x-rst","patch_set":2,"id":"56958bf7_6a0effb1","line":134,"range":{"start_line":134,"start_character":9,"end_line":134,"end_character":39},"updated":"2021-10-27 06:57:26.000000000","message":"/devices/{device_uuid}/disable is more reasonable?","commit_id":"aaa7265d5053d003619847313058e0b2c9483f0f"},{"author":{"_account_id":25738,"name":"Xinran WANG","email":"xin-ran.wang@intel.com","username":"Xinran"},"change_message_id":"231dda5e95f92bd51b57e36408bab4ca97ba4381","unresolved":true,"context_lines":[{"line_number":131,"context_line":"Disable Device API"},{"line_number":132,"context_line":"^^^^^^^^^^^^^^^^^^"},{"line_number":133,"context_line":"* Disable a device"},{"line_number":134,"context_line":"  URL: ``/devices/disable/{device_uuid}``"},{"line_number":135,"context_line":"  METHOD: ``POST``"},{"line_number":136,"context_line":"  Return: 200"},{"line_number":137,"context_line":"  Error Code: 404(the device is not found),403(the role is not admin)"}],"source_content_type":"text/x-rst","patch_set":2,"id":"81c5829b_d3315027","line":134,"range":{"start_line":134,"start_character":9,"end_line":134,"end_character":39},"in_reply_to":"56958bf7_6a0effb1","updated":"2021-10-27 08:49:15.000000000","message":"\u003e /devices/{device_uuid}/disable is more reasonable?\n\nI think it\u0027s more reasonable to have operation first, then the device info, just like what nova does and we do for other operation. For example, https://docs.openstack.org/api-ref/accelerator/?expanded\u003dget-one-device-detail#get-one-deployable","commit_id":"aaa7265d5053d003619847313058e0b2c9483f0f"},{"author":{"_account_id":31412,"name":"Wenping Song","email":"songwenping@inspur.com","username":"songwenping"},"change_message_id":"a05031f74c349f5189a6888d948403831e1bef02","unresolved":true,"context_lines":[{"line_number":139,"context_line":"Enable Device API"},{"line_number":140,"context_line":"^^^^^^^^^^^^^^^^^"},{"line_number":141,"context_line":"* Enable a device"},{"line_number":142,"context_line":"  URL: ``/devices/enable/{device_uuid}``"},{"line_number":143,"context_line":"  METHOD: ``POST``"},{"line_number":144,"context_line":"  Return: 200"},{"line_number":145,"context_line":"  Error Code: 404(the device is not found),403(the role is not admin)"}],"source_content_type":"text/x-rst","patch_set":2,"id":"dbe2b4f7_6aca78a0","line":142,"range":{"start_line":142,"start_character":9,"end_line":142,"end_character":38},"updated":"2021-10-27 06:57:26.000000000","message":"ditto","commit_id":"aaa7265d5053d003619847313058e0b2c9483f0f"},{"author":{"_account_id":25738,"name":"Xinran WANG","email":"xin-ran.wang@intel.com","username":"Xinran"},"change_message_id":"231dda5e95f92bd51b57e36408bab4ca97ba4381","unresolved":false,"context_lines":[{"line_number":139,"context_line":"Enable Device API"},{"line_number":140,"context_line":"^^^^^^^^^^^^^^^^^"},{"line_number":141,"context_line":"* Enable a device"},{"line_number":142,"context_line":"  URL: ``/devices/enable/{device_uuid}``"},{"line_number":143,"context_line":"  METHOD: ``POST``"},{"line_number":144,"context_line":"  Return: 200"},{"line_number":145,"context_line":"  Error Code: 404(the device is not found),403(the role is not admin)"}],"source_content_type":"text/x-rst","patch_set":2,"id":"68f6e5c9_db5f1eb0","line":142,"range":{"start_line":142,"start_character":9,"end_line":142,"end_character":38},"in_reply_to":"dbe2b4f7_6aca78a0","updated":"2021-10-27 08:49:15.000000000","message":"Done","commit_id":"aaa7265d5053d003619847313058e0b2c9483f0f"},{"author":{"_account_id":26458,"name":"Brin Zhang","email":"zhangbailin@inspur.com","username":"zhangbailin"},"change_message_id":"c78ff69af87800ed510c6933a5e2351eba400355","unresolved":true,"context_lines":[{"line_number":41,"context_line":"  \"is_maintaining\" field should be set to \"True\", and if the device is enabled,"},{"line_number":42,"context_line":"  the field should be set to \"False\". The default value should be \"False\"."},{"line_number":43,"context_line":"* Cyborg need call Placement API to update the \"reserved\" field for the"},{"line_number":44,"context_line":"  device."},{"line_number":45,"context_line":""},{"line_number":46,"context_line":"Alternatives"},{"line_number":47,"context_line":"------------"}],"source_content_type":"text/x-rst","patch_set":3,"id":"0e845acb_2f4f26f3","line":44,"updated":"2021-10-28 08:59:00.000000000","message":"IMO, we should be clear if the device is disabled, nova will not be able to schedule to it. I think we also need to add a judgment of devices\u0027 status in Nova when the user request an accelerator.","commit_id":"03c2f6eb04cf338c89c6e2ef91ea6946d4cf4d18"},{"author":{"_account_id":26458,"name":"Brin Zhang","email":"zhangbailin@inspur.com","username":"zhangbailin"},"change_message_id":"c78ff69af87800ed510c6933a5e2351eba400355","unresolved":true,"context_lines":[{"line_number":40,"context_line":"  indicate whether the device is disbaled. If one device is disabled, the"},{"line_number":41,"context_line":"  \"is_maintaining\" field should be set to \"True\", and if the device is enabled,"},{"line_number":42,"context_line":"  the field should be set to \"False\". The default value should be \"False\"."},{"line_number":43,"context_line":"* Cyborg need call Placement API to update the \"reserved\" field for the"},{"line_number":44,"context_line":"  device."},{"line_number":45,"context_line":""},{"line_number":46,"context_line":"Alternatives"},{"line_number":47,"context_line":"------------"}],"source_content_type":"text/x-rst","patch_set":3,"id":"286d5f72_41be66d0","line":44,"range":{"start_line":43,"start_character":2,"end_line":44,"end_character":9},"updated":"2021-10-28 08:59:00.000000000","message":"We also need to consider the period task of reporting devices info to Placement, it\u0027s need to add the \"is_maintaining\" field.","commit_id":"03c2f6eb04cf338c89c6e2ef91ea6946d4cf4d18"},{"author":{"_account_id":25738,"name":"Xinran WANG","email":"xin-ran.wang@intel.com","username":"Xinran"},"change_message_id":"df7bb5e81ae484958ce2b3bee936b37a9527bccf","unresolved":true,"context_lines":[{"line_number":41,"context_line":"  \"is_maintaining\" field should be set to \"True\", and if the device is enabled,"},{"line_number":42,"context_line":"  the field should be set to \"False\". The default value should be \"False\"."},{"line_number":43,"context_line":"* Cyborg need call Placement API to update the \"reserved\" field for the"},{"line_number":44,"context_line":"  device."},{"line_number":45,"context_line":""},{"line_number":46,"context_line":"Alternatives"},{"line_number":47,"context_line":"------------"}],"source_content_type":"text/x-rst","patch_set":3,"id":"5e1173c2_050494a4","line":44,"in_reply_to":"0e845acb_2f4f26f3","updated":"2021-11-08 07:12:02.000000000","message":"\u003e IMO, we should be clear if the device is disabled, nova will not be able to schedule to it. I think we also need to add a judgment of devices\u0027 status in Nova when the user request an accelerator.\n\nI think there is no need to explain device\u0027s status in nova, nova will filter out the reserved resource and choose the available resource in placement, just like what nova does for other resource. I will elaborate it in this spec.","commit_id":"03c2f6eb04cf338c89c6e2ef91ea6946d4cf4d18"},{"author":{"_account_id":25738,"name":"Xinran WANG","email":"xin-ran.wang@intel.com","username":"Xinran"},"change_message_id":"df7bb5e81ae484958ce2b3bee936b37a9527bccf","unresolved":true,"context_lines":[{"line_number":40,"context_line":"  indicate whether the device is disbaled. If one device is disabled, the"},{"line_number":41,"context_line":"  \"is_maintaining\" field should be set to \"True\", and if the device is enabled,"},{"line_number":42,"context_line":"  the field should be set to \"False\". The default value should be \"False\"."},{"line_number":43,"context_line":"* Cyborg need call Placement API to update the \"reserved\" field for the"},{"line_number":44,"context_line":"  device."},{"line_number":45,"context_line":""},{"line_number":46,"context_line":"Alternatives"},{"line_number":47,"context_line":"------------"}],"source_content_type":"text/x-rst","patch_set":3,"id":"f0315777_aa50a34f","line":44,"range":{"start_line":43,"start_character":2,"end_line":44,"end_character":9},"in_reply_to":"286d5f72_41be66d0","updated":"2021-11-08 07:12:02.000000000","message":"conductor will get the is_maintaining field during report process, will update","commit_id":"03c2f6eb04cf338c89c6e2ef91ea6946d4cf4d18"},{"author":{"_account_id":26458,"name":"Brin Zhang","email":"zhangbailin@inspur.com","username":"zhangbailin"},"change_message_id":"b9a906a0007bdb32dd64ce1757998153bf3b370d","unresolved":true,"context_lines":[{"line_number":104,"context_line":"       \"parent_id\": null,"},{"line_number":105,"context_line":"       \"root_id\": null,"},{"line_number":106,"context_line":"       \"name\": \"computenode_FakeDevice\","},{"line_number":107,"context_line":"       \"num_accelerators\": 16,"},{"line_number":108,"context_line":"       \"device_id\": 1,"},{"line_number":109,"context_line":"       \"attributes_list\": \"[{\u0027traits1\u0027: \u0027CUSTOM_FAKE_DEVICE\u0027}, {\u0027rc\u0027: \u0027FPGA\u0027}]\","},{"line_number":110,"context_line":"       \"rp_uuid\": \"853f07a6-19de-3dd6-b9f6-6c782daa3f7b\","}],"source_content_type":"text/x-rst","patch_set":3,"id":"f6c36c91_14cf042f","line":107,"range":{"start_line":107,"start_character":7,"end_line":107,"end_character":30},"updated":"2021-10-29 06:29:41.000000000","message":"This is a new column you will add as the same as *is_maintaining*, you should declare it in *Proposed change* section too.","commit_id":"03c2f6eb04cf338c89c6e2ef91ea6946d4cf4d18"},{"author":{"_account_id":25738,"name":"Xinran WANG","email":"xin-ran.wang@intel.com","username":"Xinran"},"change_message_id":"df7bb5e81ae484958ce2b3bee936b37a9527bccf","unresolved":true,"context_lines":[{"line_number":104,"context_line":"       \"parent_id\": null,"},{"line_number":105,"context_line":"       \"root_id\": null,"},{"line_number":106,"context_line":"       \"name\": \"computenode_FakeDevice\","},{"line_number":107,"context_line":"       \"num_accelerators\": 16,"},{"line_number":108,"context_line":"       \"device_id\": 1,"},{"line_number":109,"context_line":"       \"attributes_list\": \"[{\u0027traits1\u0027: \u0027CUSTOM_FAKE_DEVICE\u0027}, {\u0027rc\u0027: \u0027FPGA\u0027}]\","},{"line_number":110,"context_line":"       \"rp_uuid\": \"853f07a6-19de-3dd6-b9f6-6c782daa3f7b\","}],"source_content_type":"text/x-rst","patch_set":3,"id":"3687e1bf_ab4746d8","line":107,"range":{"start_line":107,"start_character":7,"end_line":107,"end_character":30},"in_reply_to":"f6c36c91_14cf042f","updated":"2021-11-08 07:12:02.000000000","message":"this may be inaccurate, I have ask eric to help verify","commit_id":"03c2f6eb04cf338c89c6e2ef91ea6946d4cf4d18"},{"author":{"_account_id":26458,"name":"Brin Zhang","email":"zhangbailin@inspur.com","username":"zhangbailin"},"change_message_id":"b9a906a0007bdb32dd64ce1757998153bf3b370d","unresolved":true,"context_lines":[{"line_number":182,"context_line":"----------"},{"line_number":183,"context_line":"* Add new column `is_maintaining` for device table."},{"line_number":184,"context_line":"* Add disable/enable API in DeviceController."},{"line_number":185,"context_line":"* Update the RP `reserved` field according to the operation. For `disable`"},{"line_number":186,"context_line":"  oparation, the `reserved` field need be set by the same value as the"},{"line_number":187,"context_line":"  `total` field, and for `enable` operation, the `reserved` field will be set"},{"line_number":188,"context_line":"  to zero."},{"line_number":189,"context_line":"* Update GET/LIST device API with `is_maintaining` field added in returned"},{"line_number":190,"context_line":"  value."},{"line_number":191,"context_line":"* Add disable/enable operation in cyborgclient."}],"source_content_type":"text/x-rst","patch_set":3,"id":"5b5a5440_d9634c9f","line":188,"range":{"start_line":185,"start_character":0,"end_line":188,"end_character":10},"updated":"2021-10-29 06:29:41.000000000","message":"What is the relationship of \u0027num_accelerators\u0027 column?","commit_id":"03c2f6eb04cf338c89c6e2ef91ea6946d4cf4d18"},{"author":{"_account_id":25738,"name":"Xinran WANG","email":"xin-ran.wang@intel.com","username":"Xinran"},"change_message_id":"df7bb5e81ae484958ce2b3bee936b37a9527bccf","unresolved":true,"context_lines":[{"line_number":182,"context_line":"----------"},{"line_number":183,"context_line":"* Add new column `is_maintaining` for device table."},{"line_number":184,"context_line":"* Add disable/enable API in DeviceController."},{"line_number":185,"context_line":"* Update the RP `reserved` field according to the operation. For `disable`"},{"line_number":186,"context_line":"  oparation, the `reserved` field need be set by the same value as the"},{"line_number":187,"context_line":"  `total` field, and for `enable` operation, the `reserved` field will be set"},{"line_number":188,"context_line":"  to zero."},{"line_number":189,"context_line":"* Update GET/LIST device API with `is_maintaining` field added in returned"},{"line_number":190,"context_line":"  value."},{"line_number":191,"context_line":"* Add disable/enable operation in cyborgclient."}],"source_content_type":"text/x-rst","patch_set":3,"id":"99f1f119_cb26762d","line":188,"range":{"start_line":185,"start_character":0,"end_line":188,"end_character":10},"in_reply_to":"5b5a5440_d9634c9f","updated":"2021-11-08 07:12:02.000000000","message":"we can simply use \"total\" value, normally total\u003dnum_accelerator. but we dont need to get num_accelerators here.","commit_id":"03c2f6eb04cf338c89c6e2ef91ea6946d4cf4d18"}]}
