)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":11878,"name":"Rushil Chugh","email":"rushil.chugh@gmail.com","username":"rushil"},"change_message_id":"be0ada92c16c47572afcfbb0fd712c1c29c9088c","unresolved":false,"context_lines":[{"line_number":4,"context_line":"Commit:     jkilpatr \u003cjkilpatr@redhat.com\u003e"},{"line_number":5,"context_line":"CommitDate: 2017-10-11 13:21:36 -0400"},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"WIP: Cyborg Nova interaction take 2"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"Dramatically revised from this"},{"line_number":10,"context_line":""}],"source_content_type":"text/x-gerrit-commit-message","patch_set":3,"id":"5f4e5783_01810290","line":7,"range":{"start_line":7,"start_character":0,"end_line":7,"end_character":3},"updated":"2017-10-11 17:50:10.000000000","message":"Remove the WIP as it is ready to be reviewed now. :)","commit_id":"5da02ad00d879c541dd3f1995fcb7db1101f2226"}],"specs/proposal/cyborg-nova-interaction.rst":[{"author":{"_account_id":11564,"name":"Chris Dent","email":"cdent@anticdent.org","username":"chdent"},"change_message_id":"f13340cee729ca7ca587e4c5b48e32686991e604","unresolved":false,"context_lines":[{"line_number":15,"context_line":"resources through placement API[1], so that scheduler can leverage user"},{"line_number":16,"context_line":"request for particular functionality into assignment of specific resource using"},{"line_number":17,"context_line":"resource provider which possess an accelerator, and second, Cyborg should be"},{"line_number":18,"context_line":"able to provide an information how Nova compute can attach particular resource"},{"line_number":19,"context_line":"to VM."},{"line_number":20,"context_line":""},{"line_number":21,"context_line":"In a nutshell, this blueprint will define how information between Nova and"}],"source_content_type":"text/x-rst","patch_set":1,"id":"7f515b1d_42cd1e83","line":18,"range":{"start_line":18,"start_character":16,"end_line":18,"end_character":34},"updated":"2017-10-01 12:47:50.000000000","message":"information on how","commit_id":"1b8e8fa5fadf328855bf9110602f796858cd5eb2"},{"author":{"_account_id":11878,"name":"Rushil Chugh","email":"rushil.chugh@gmail.com","username":"rushil"},"change_message_id":"bb323a8e8aa64df949c4ca24ae7706ba61ed8d45","unresolved":false,"context_lines":[{"line_number":24,"context_line":"Problem description"},{"line_number":25,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":26,"context_line":""},{"line_number":27,"context_line":"Currently in OpenStack the use of nonstandard accelerator hardware is supported"},{"line_number":28,"context_line":"in that features exit across many of the core servers that allow these resources"},{"line_number":29,"context_line":"to be allocated, passed through, and eventually used."},{"line_number":30,"context_line":""}],"source_content_type":"text/x-rst","patch_set":1,"id":"7f515b1d_8fd34f04","line":27,"range":{"start_line":27,"start_character":34,"end_line":27,"end_character":45},"updated":"2017-09-29 17:43:57.000000000","message":"non-standard","commit_id":"1b8e8fa5fadf328855bf9110602f796858cd5eb2"},{"author":{"_account_id":11564,"name":"Chris Dent","email":"cdent@anticdent.org","username":"chdent"},"change_message_id":"f13340cee729ca7ca587e4c5b48e32686991e604","unresolved":false,"context_lines":[{"line_number":25,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":26,"context_line":""},{"line_number":27,"context_line":"Currently in OpenStack the use of nonstandard accelerator hardware is supported"},{"line_number":28,"context_line":"in that features exit across many of the core servers that allow these resources"},{"line_number":29,"context_line":"to be allocated, passed through, and eventually used."},{"line_number":30,"context_line":""},{"line_number":31,"context_line":"What remains a challenge though the lack of an integrated workflow, there is no"}],"source_content_type":"text/x-rst","patch_set":1,"id":"7f515b1d_22c8e271","line":28,"range":{"start_line":28,"start_character":17,"end_line":28,"end_character":21},"updated":"2017-10-01 12:47:50.000000000","message":"exist","commit_id":"1b8e8fa5fadf328855bf9110602f796858cd5eb2"},{"author":{"_account_id":11564,"name":"Chris Dent","email":"cdent@anticdent.org","username":"chdent"},"change_message_id":"f13340cee729ca7ca587e4c5b48e32686991e604","unresolved":false,"context_lines":[{"line_number":28,"context_line":"in that features exit across many of the core servers that allow these resources"},{"line_number":29,"context_line":"to be allocated, passed through, and eventually used."},{"line_number":30,"context_line":""},{"line_number":31,"context_line":"What remains a challenge though the lack of an integrated workflow, there is no"},{"line_number":32,"context_line":"way to configure many of the accelerator features without lots of by hand effort"},{"line_number":33,"context_line":"and service disruptions that go against the goals of having a easy, stable, and"},{"line_number":34,"context_line":"flexible cloud."}],"source_content_type":"text/x-rst","patch_set":1,"id":"7f515b1d_e2a3eab0","line":31,"range":{"start_line":31,"start_character":66,"end_line":31,"end_character":67},"updated":"2017-10-01 12:47:50.000000000","message":";","commit_id":"1b8e8fa5fadf328855bf9110602f796858cd5eb2"},{"author":{"_account_id":11564,"name":"Chris Dent","email":"cdent@anticdent.org","username":"chdent"},"change_message_id":"f13340cee729ca7ca587e4c5b48e32686991e604","unresolved":false,"context_lines":[{"line_number":28,"context_line":"in that features exit across many of the core servers that allow these resources"},{"line_number":29,"context_line":"to be allocated, passed through, and eventually used."},{"line_number":30,"context_line":""},{"line_number":31,"context_line":"What remains a challenge though the lack of an integrated workflow, there is no"},{"line_number":32,"context_line":"way to configure many of the accelerator features without lots of by hand effort"},{"line_number":33,"context_line":"and service disruptions that go against the goals of having a easy, stable, and"},{"line_number":34,"context_line":"flexible cloud."}],"source_content_type":"text/x-rst","patch_set":1,"id":"7f515b1d_02c3a658","line":31,"range":{"start_line":31,"start_character":25,"end_line":31,"end_character":31},"updated":"2017-10-01 12:47:50.000000000","message":"is","commit_id":"1b8e8fa5fadf328855bf9110602f796858cd5eb2"},{"author":{"_account_id":11878,"name":"Rushil Chugh","email":"rushil.chugh@gmail.com","username":"rushil"},"change_message_id":"bb323a8e8aa64df949c4ca24ae7706ba61ed8d45","unresolved":false,"context_lines":[{"line_number":33,"context_line":"and service disruptions that go against the goals of having a easy, stable, and"},{"line_number":34,"context_line":"flexible cloud."},{"line_number":35,"context_line":""},{"line_number":36,"context_line":"Cyborg exists to bring these disjoint efforts together into a more standard "},{"line_number":37,"context_line":"workflow. While many components of this workflow already exist, some don\u0027t"},{"line_number":38,"context_line":"and will need to be written expressly for this goal."},{"line_number":39,"context_line":""}],"source_content_type":"text/x-rst","patch_set":1,"id":"7f515b1d_efa643c1","line":36,"range":{"start_line":36,"start_character":75,"end_line":36,"end_character":76},"updated":"2017-09-29 17:43:57.000000000","message":"remove whitespace","commit_id":"1b8e8fa5fadf328855bf9110602f796858cd5eb2"},{"author":{"_account_id":11564,"name":"Chris Dent","email":"cdent@anticdent.org","username":"chdent"},"change_message_id":"f13340cee729ca7ca587e4c5b48e32686991e604","unresolved":false,"context_lines":[{"line_number":41,"context_line":"---------"},{"line_number":42,"context_line":""},{"line_number":43,"context_line":"All possible use cases were briefly described in backlog Nova spec [2]. It"},{"line_number":44,"context_line":"might be distinguished two main use case groups for which accelerators might be"},{"line_number":45,"context_line":"used:"},{"line_number":46,"context_line":""},{"line_number":47,"context_line":"* Accelerator might be attached to the VM, where workload demands acceleration."}],"source_content_type":"text/x-rst","patch_set":1,"id":"7f515b1d_c2a6aec1","line":44,"range":{"start_line":44,"start_character":0,"end_line":44,"end_character":8},"updated":"2017-10-01 12:47:50.000000000","message":"remove text","commit_id":"1b8e8fa5fadf328855bf9110602f796858cd5eb2"},{"author":{"_account_id":11564,"name":"Chris Dent","email":"cdent@anticdent.org","username":"chdent"},"change_message_id":"f13340cee729ca7ca587e4c5b48e32686991e604","unresolved":false,"context_lines":[{"line_number":56,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":57,"context_line":""},{"line_number":58,"context_line":"Using a method not relevant to this proposal Cyborg Agent inspects hardware"},{"line_number":59,"context_line":"and finds accelerators that it is interested in setting up for use."},{"line_number":60,"context_line":""},{"line_number":61,"context_line":"These accelerators are registered into the Cyborg Database and the Cyborg"},{"line_number":62,"context_line":"Conductor is now responsible for using the Nova placement API to create"}],"source_content_type":"text/x-rst","patch_set":1,"id":"7f515b1d_4292be58","line":59,"updated":"2017-10-01 12:47:50.000000000","message":"If, at some point, there is a spec or docs for this method it would be good to link it. I agree with the idea of not including it here as that\u0027s too much, but having a reference for the curious would be great.","commit_id":"1b8e8fa5fadf328855bf9110602f796858cd5eb2"},{"author":{"_account_id":11878,"name":"Rushil Chugh","email":"rushil.chugh@gmail.com","username":"rushil"},"change_message_id":"bb323a8e8aa64df949c4ca24ae7706ba61ed8d45","unresolved":false,"context_lines":[{"line_number":142,"context_line":"Dependencies"},{"line_number":143,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":144,"context_line":""},{"line_number":145,"context_line":"This design depend on the changes which may or may not be accepted in Nova"},{"line_number":146,"context_line":"project. Other than that is ongoing work on Nested resource providers:"},{"line_number":147,"context_line":"http://specs.openstack.org/openstack/nova-specs/specs/ocata/approved/nested-resource-providers.html"},{"line_number":148,"context_line":"Which would be an essential feature in Placemen API, which will be leveraged by"}],"source_content_type":"text/x-rst","patch_set":1,"id":"7f515b1d_6ff7f38c","line":145,"range":{"start_line":145,"start_character":12,"end_line":145,"end_character":18},"updated":"2017-09-29 17:43:57.000000000","message":"depends","commit_id":"1b8e8fa5fadf328855bf9110602f796858cd5eb2"},{"author":{"_account_id":11878,"name":"Rushil Chugh","email":"rushil.chugh@gmail.com","username":"rushil"},"change_message_id":"c71675e8f45a685653fcc874bbfef251516f3d81","unresolved":false,"context_lines":[{"line_number":13,"context_line":"Cyborg, as a service for managing accelerators of any kind needs to cooperate"},{"line_number":14,"context_line":"with Nova on two planes: Cyborg should be able to inform Nova about the"},{"line_number":15,"context_line":"resources through placement API[1], so that scheduler can leverage user"},{"line_number":16,"context_line":"request for particular functionality into assignment of specific resource using"},{"line_number":17,"context_line":"resource provider which possess an accelerator, and second, Cyborg should be"},{"line_number":18,"context_line":"able to provide information on how Nova compute can attach particular resource"},{"line_number":19,"context_line":"to VM."}],"source_content_type":"text/x-rst","patch_set":2,"id":"5f4e5783_21f09590","line":16,"range":{"start_line":16,"start_character":0,"end_line":16,"end_character":7},"updated":"2017-10-11 04:31:13.000000000","message":"requests","commit_id":"eab3138a50a9406c162f2a83e5d51fb201a2592a"},{"author":{"_account_id":11878,"name":"Rushil Chugh","email":"rushil.chugh@gmail.com","username":"rushil"},"change_message_id":"c71675e8f45a685653fcc874bbfef251516f3d81","unresolved":false,"context_lines":[{"line_number":94,"context_line":""},{"line_number":95,"context_line":"Security impact"},{"line_number":96,"context_line":"---------------"},{"line_number":97,"context_line":""},{"line_number":98,"context_line":""},{"line_number":99,"context_line":"Notifications impact"},{"line_number":100,"context_line":"--------------------"}],"source_content_type":"text/x-rst","patch_set":2,"id":"5f4e5783_01b8f9c5","line":97,"updated":"2017-10-11 04:31:13.000000000","message":"Add N/A here","commit_id":"eab3138a50a9406c162f2a83e5d51fb201a2592a"},{"author":{"_account_id":11878,"name":"Rushil Chugh","email":"rushil.chugh@gmail.com","username":"rushil"},"change_message_id":"c71675e8f45a685653fcc874bbfef251516f3d81","unresolved":false,"context_lines":[{"line_number":145,"context_line":"This design depends on the changes which may or may not be accepted in Nova"},{"line_number":146,"context_line":"project. Other than that is ongoing work on Nested resource providers:"},{"line_number":147,"context_line":"http://specs.openstack.org/openstack/nova-specs/specs/ocata/approved/nested-resource-providers.html"},{"line_number":148,"context_line":"Which would be an essential feature in Placemen API, which will be leveraged by"},{"line_number":149,"context_line":"Cyborg."},{"line_number":150,"context_line":""},{"line_number":151,"context_line":""}],"source_content_type":"text/x-rst","patch_set":2,"id":"5f4e5783_61c8cd54","line":148,"range":{"start_line":148,"start_character":39,"end_line":148,"end_character":47},"updated":"2017-10-11 04:31:13.000000000","message":"Placement","commit_id":"eab3138a50a9406c162f2a83e5d51fb201a2592a"},{"author":{"_account_id":11878,"name":"Rushil Chugh","email":"rushil.chugh@gmail.com","username":"rushil"},"change_message_id":"c71675e8f45a685653fcc874bbfef251516f3d81","unresolved":false,"context_lines":[{"line_number":158,"context_line":"Documentation Impact"},{"line_number":159,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":160,"context_line":""},{"line_number":161,"context_line":"TBD"},{"line_number":162,"context_line":""},{"line_number":163,"context_line":"References"},{"line_number":164,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"}],"source_content_type":"text/x-rst","patch_set":2,"id":"5f4e5783_e10a7d88","line":161,"range":{"start_line":161,"start_character":0,"end_line":161,"end_character":3},"updated":"2017-10-11 04:31:13.000000000","message":"Well we already know that there would be docs added to devref in both Cyborg \u0026 Nova. What is unclear is the way we are going to document for the Deployment \u0026 Operations guide. Right?","commit_id":"eab3138a50a9406c162f2a83e5d51fb201a2592a"},{"author":{"_account_id":22306,"name":"Justin Kilpatrick","email":"jkilpatr@redhat.com","username":"jkilpatr"},"change_message_id":"c8f486b9ced819d82b1469d1dc7c31d56289a641","unresolved":false,"context_lines":[{"line_number":158,"context_line":"Documentation Impact"},{"line_number":159,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":160,"context_line":""},{"line_number":161,"context_line":"TBD"},{"line_number":162,"context_line":""},{"line_number":163,"context_line":"References"},{"line_number":164,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"}],"source_content_type":"text/x-rst","patch_set":2,"id":"5f4e5783_0136a2e7","line":161,"range":{"start_line":161,"start_character":0,"end_line":161,"end_character":3},"in_reply_to":"5f4e5783_e10a7d88","updated":"2017-10-11 17:20:28.000000000","message":"yes cyborg deployment is at the moment poorly defined. Although eventually it will just go in the usual places I guess.","commit_id":"eab3138a50a9406c162f2a83e5d51fb201a2592a"},{"author":{"_account_id":13629,"name":"Zhipeng","email":"huangzhipeng@huawei.com","username":"zhipengh"},"change_message_id":"b8fd623ea24d485a183990d60bc52f99f8a32697","unresolved":false,"context_lines":[{"line_number":59,"context_line":"and finds accelerators that it is interested in setting up for use."},{"line_number":60,"context_line":""},{"line_number":61,"context_line":"These accelerators are registered into the Cyborg Database and the Cyborg"},{"line_number":62,"context_line":"Conductor is now responsible for using the Nova placement API to create"},{"line_number":63,"context_line":"corresponding traits and resources."},{"line_number":64,"context_line":""},{"line_number":65,"context_line":"One of the primary responsibilities of the Cyborg conductor is to keep the"}],"source_content_type":"text/x-rst","patch_set":4,"id":"1f485f77_5cbffdfa","line":62,"range":{"start_line":62,"start_character":0,"end_line":62,"end_character":9},"updated":"2017-11-12 01:53:52.000000000","message":"should this be the agent ?","commit_id":"9335a2da08e09e7bed505bc111d79650147ae448"},{"author":{"_account_id":22306,"name":"Justin Kilpatrick","email":"jkilpatr@redhat.com","username":"jkilpatr"},"change_message_id":"0fc4a272329639dd9af47825a097606332f2734a","unresolved":false,"context_lines":[{"line_number":59,"context_line":"and finds accelerators that it is interested in setting up for use."},{"line_number":60,"context_line":""},{"line_number":61,"context_line":"These accelerators are registered into the Cyborg Database and the Cyborg"},{"line_number":62,"context_line":"Conductor is now responsible for using the Nova placement API to create"},{"line_number":63,"context_line":"corresponding traits and resources."},{"line_number":64,"context_line":""},{"line_number":65,"context_line":"One of the primary responsibilities of the Cyborg conductor is to keep the"}],"source_content_type":"text/x-rst","patch_set":4,"id":"1f485f77_4c1e18bb","line":62,"range":{"start_line":62,"start_character":0,"end_line":62,"end_character":9},"in_reply_to":"1f485f77_5cbffdfa","updated":"2017-11-13 13:26:38.000000000","message":"we have lets say 50 agents, one on each compute, why duplicate the api calls to Nova? The conductor just says \u0027hey whats the number of rows in the accelerator db with this type of accelerator\u0027 and then makes sure Nova has that much of the resource registered. \n\nEach agent only cares and reports about it\u0027s own accelerators why should they care about global state for placement?","commit_id":"9335a2da08e09e7bed505bc111d79650147ae448"},{"author":{"_account_id":13629,"name":"Zhipeng","email":"huangzhipeng@huawei.com","username":"zhipengh"},"change_message_id":"b8fd623ea24d485a183990d60bc52f99f8a32697","unresolved":false,"context_lines":[{"line_number":62,"context_line":"Conductor is now responsible for using the Nova placement API to create"},{"line_number":63,"context_line":"corresponding traits and resources."},{"line_number":64,"context_line":""},{"line_number":65,"context_line":"One of the primary responsibilities of the Cyborg conductor is to keep the"},{"line_number":66,"context_line":"placement API in sync with reality. For example if here is a NFV device with"},{"line_number":67,"context_line":"a virtual function or a FPGA with a given program Cyborg may be tasked with"},{"line_number":68,"context_line":"changing the virtual function on the NIC or the program on the FPGA. At which"}],"source_content_type":"text/x-rst","patch_set":4,"id":"1f485f77_fc3b4999","line":65,"range":{"start_line":65,"start_character":50,"end_line":65,"end_character":59},"updated":"2017-11-12 01:53:52.000000000","message":"here I think also should be the agent, since conductor is responsible for the caching of cyborg internal operations, cyborg-agent, like nova-compute, is the functionality that interact with Placement","commit_id":"9335a2da08e09e7bed505bc111d79650147ae448"},{"author":{"_account_id":13629,"name":"Zhipeng","email":"huangzhipeng@huawei.com","username":"zhipengh"},"change_message_id":"b8fd623ea24d485a183990d60bc52f99f8a32697","unresolved":false,"context_lines":[{"line_number":63,"context_line":"corresponding traits and resources."},{"line_number":64,"context_line":""},{"line_number":65,"context_line":"One of the primary responsibilities of the Cyborg conductor is to keep the"},{"line_number":66,"context_line":"placement API in sync with reality. For example if here is a NFV device with"},{"line_number":67,"context_line":"a virtual function or a FPGA with a given program Cyborg may be tasked with"},{"line_number":68,"context_line":"changing the virtual function on the NIC or the program on the FPGA. At which"},{"line_number":69,"context_line":"point the previously specified traits and resources need to be updated. Likewise"}],"source_content_type":"text/x-rst","patch_set":4,"id":"1f485f77_bc45d119","line":66,"range":{"start_line":66,"start_character":61,"end_line":66,"end_character":71},"updated":"2017-11-12 01:53:52.000000000","message":"This is a mis-nomer, NFV is an architectural choice instead of a specific type of hardware or software :)","commit_id":"9335a2da08e09e7bed505bc111d79650147ae448"},{"author":{"_account_id":22306,"name":"Justin Kilpatrick","email":"jkilpatr@redhat.com","username":"jkilpatr"},"change_message_id":"0fc4a272329639dd9af47825a097606332f2734a","unresolved":false,"context_lines":[{"line_number":63,"context_line":"corresponding traits and resources."},{"line_number":64,"context_line":""},{"line_number":65,"context_line":"One of the primary responsibilities of the Cyborg conductor is to keep the"},{"line_number":66,"context_line":"placement API in sync with reality. For example if here is a NFV device with"},{"line_number":67,"context_line":"a virtual function or a FPGA with a given program Cyborg may be tasked with"},{"line_number":68,"context_line":"changing the virtual function on the NIC or the program on the FPGA. At which"},{"line_number":69,"context_line":"point the previously specified traits and resources need to be updated. Likewise"}],"source_content_type":"text/x-rst","patch_set":4,"id":"1f485f77_0c7ee0e3","line":66,"range":{"start_line":66,"start_character":61,"end_line":66,"end_character":71},"in_reply_to":"1f485f77_bc45d119","updated":"2017-11-13 13:26:38.000000000","message":"will correct","commit_id":"9335a2da08e09e7bed505bc111d79650147ae448"}]}
