)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":14070,"name":"Eric Fried","email":"openstack@fried.cc","username":"efried"},"change_message_id":"da93332864421236d392ec4eee0257994eda20d8","unresolved":false,"context_lines":[{"line_number":4,"context_line":"Commit:     Eric Fried \u003cefried@us.ibm.com\u003e"},{"line_number":5,"context_line":"CommitDate: 2018-06-14 15:53:51 -0500"},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"WIP: Nova-Cyborg workflow"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"Change-Id: I564678a9a653b1373fa9bac51ee03ef1e9c6a13f"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":1,"id":"5f7c97a3_ea3aab33","line":7,"range":{"start_line":7,"start_character":17,"end_line":7,"end_character":25},"updated":"2018-06-14 21:36:07.000000000","message":"tbc, this is the workflow for creating an instance with an accelerator.  Initial setup/discovery is not addressed; post-spawn attach is not addressed; detach is not addressed; etc.","commit_id":"b9861164f60ba6edf1ff0845d39221bc4a21007b"}],"specs/rocky/approved/nova-cyborg-flow.rst":[{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"9724cf9e229a860c8e697a8e7c740d039bca34b3","unresolved":false,"context_lines":[{"line_number":15,"context_line":"        \u0027User\u0027 -\u003e \u0027Cyborg\u0027 [label \u003d \"openstack acc create"},{"line_number":16,"context_line":"                                     --type GPU \u003cspecs\u003e\"];"},{"line_number":17,"context_line":"        \u0027Cyborg\u0027 -\u003e \u0027Cyborg\u0027 [label \u003d \"create_attachment(GPU, \u003cspecs\u003e)\"];"},{"line_number":18,"context_line":"        \u0027User\u0027 \u003c-- \u0027Cyborg\u0027 [label \u003d \"\u003cattachment_uuid\u003e\"];"},{"line_number":19,"context_line":"        \u0027User\u0027 -\u003e \u0027Nova\u0027 [label \u003d \"nova boot ... -acc \u003cattachment_uuid\u003e\"];"},{"line_number":20,"context_line":"        \u0027Nova\u0027 -\u003e \u0027Cyborg\u0027 [label \u003d \"get_acc(\u003cattachment_uuid\u003e)\"];"},{"line_number":21,"context_line":"        \u0027Nova\u0027 \u003c-- \u0027Cyborg\u0027 [label \u003d \"AccGPU(...)\"];"}],"source_content_type":"text/x-rst","patch_set":1,"id":"5f7c97a3_98eca393","line":18,"updated":"2018-06-15 13:46:04.000000000","message":"It looks strange to create an acc with openstack acc create but get back an attachmen_uuid. Can we simply call this as the uuid of the virtual accelerator that will later be bind to a phyisical accelerator. (similarly how neutron port is a virtual concept that is bind to a physical concept during port binding)","commit_id":"b9861164f60ba6edf1ff0845d39221bc4a21007b"},{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"9285cebe6ec6b0c00454ed80b15af82e2dd820db","unresolved":false,"context_lines":[{"line_number":15,"context_line":"        \u0027User\u0027 -\u003e \u0027Cyborg\u0027 [label \u003d \"openstack acc create"},{"line_number":16,"context_line":"                                     --type GPU \u003cspecs\u003e\"];"},{"line_number":17,"context_line":"        \u0027Cyborg\u0027 -\u003e \u0027Cyborg\u0027 [label \u003d \"create_attachment(GPU, \u003cspecs\u003e)\"];"},{"line_number":18,"context_line":"        \u0027User\u0027 \u003c-- \u0027Cyborg\u0027 [label \u003d \"\u003cattachment_uuid\u003e\"];"},{"line_number":19,"context_line":"        \u0027User\u0027 -\u003e \u0027Nova\u0027 [label \u003d \"nova boot ... -acc \u003cattachment_uuid\u003e\"];"},{"line_number":20,"context_line":"        \u0027Nova\u0027 -\u003e \u0027Cyborg\u0027 [label \u003d \"get_acc(\u003cattachment_uuid\u003e)\"];"},{"line_number":21,"context_line":"        \u0027Nova\u0027 \u003c-- \u0027Cyborg\u0027 [label \u003d \"AccGPU(...)\"];"}],"source_content_type":"text/x-rst","patch_set":1,"id":"5f7c97a3_0247bd4e","line":18,"in_reply_to":"5f7c97a3_0c193479","updated":"2018-06-15 15:11:05.000000000","message":"cool","commit_id":"b9861164f60ba6edf1ff0845d39221bc4a21007b"},{"author":{"_account_id":14070,"name":"Eric Fried","email":"openstack@fried.cc","username":"efried"},"change_message_id":"85e2d9efd137b1526a17b4b9c72ca24313dd6e89","unresolved":false,"context_lines":[{"line_number":15,"context_line":"        \u0027User\u0027 -\u003e \u0027Cyborg\u0027 [label \u003d \"openstack acc create"},{"line_number":16,"context_line":"                                     --type GPU \u003cspecs\u003e\"];"},{"line_number":17,"context_line":"        \u0027Cyborg\u0027 -\u003e \u0027Cyborg\u0027 [label \u003d \"create_attachment(GPU, \u003cspecs\u003e)\"];"},{"line_number":18,"context_line":"        \u0027User\u0027 \u003c-- \u0027Cyborg\u0027 [label \u003d \"\u003cattachment_uuid\u003e\"];"},{"line_number":19,"context_line":"        \u0027User\u0027 -\u003e \u0027Nova\u0027 [label \u003d \"nova boot ... -acc \u003cattachment_uuid\u003e\"];"},{"line_number":20,"context_line":"        \u0027Nova\u0027 -\u003e \u0027Cyborg\u0027 [label \u003d \"get_acc(\u003cattachment_uuid\u003e)\"];"},{"line_number":21,"context_line":"        \u0027Nova\u0027 \u003c-- \u0027Cyborg\u0027 [label \u003d \"AccGPU(...)\"];"}],"source_content_type":"text/x-rst","patch_set":1,"id":"5f7c97a3_0c193479","line":18,"in_reply_to":"5f7c97a3_98eca393","updated":"2018-06-15 13:56:30.000000000","message":"Sure.  I don\u0027t yet have a deep understanding of the terminology cyborg uses to talk about these things; I got the impression they wanted to refer to this thing as an \"attachment\" - but based on their specs, I think calling it \"accelerator\" is the right thing.","commit_id":"b9861164f60ba6edf1ff0845d39221bc4a21007b"},{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"9724cf9e229a860c8e697a8e7c740d039bca34b3","unresolved":false,"context_lines":[{"line_number":24,"context_line":"        \u0027Nova\u0027 -\u003e \u0027Placement\u0027 [label \u003d \"PUT /allocs/\u003cinst_uuid\u003e"},{"line_number":25,"context_line":"                                        {... ACC_GPU: 1 ...}\"];"},{"line_number":26,"context_line":"        \u0027Nova\u0027 \u003c-- \u0027Placement\u0027;"},{"line_number":27,"context_line":"        \u0027Nova\u0027 -\u003e \u0027Cyborg\u0027 [label \u003d \"bind(AccGPU, InstInfo)\"];"},{"line_number":28,"context_line":"        \u0027Cyborg\u0027 -\u003e \u0027Cyborg\u0027 [label \u003d \"update_attachment"},{"line_number":29,"context_line":"                                       (AccGPU, InstInfo)\"];"},{"line_number":30,"context_line":"        \u0027Cyborg\u0027 -\u003e \u0027plugin\u0027 [label \u003d \"bind(AccGPU, InstInfo)\"];"}],"source_content_type":"text/x-rst","patch_set":1,"id":"5f7c97a3_78a0a743","line":27,"range":{"start_line":27,"start_character":0,"end_line":27,"end_character":62},"updated":"2018-06-15 13:46:04.000000000","message":"Here we have to send Cyborg which resource provider we allocated the accelerator resource(s) from. Similarly as we send the hostname in the port binding today to neutron (and we proposed to send the networking RP uuid in the portbinding for the bandwidth resource).","commit_id":"b9861164f60ba6edf1ff0845d39221bc4a21007b"},{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"9285cebe6ec6b0c00454ed80b15af82e2dd820db","unresolved":false,"context_lines":[{"line_number":24,"context_line":"        \u0027Nova\u0027 -\u003e \u0027Placement\u0027 [label \u003d \"PUT /allocs/\u003cinst_uuid\u003e"},{"line_number":25,"context_line":"                                        {... ACC_GPU: 1 ...}\"];"},{"line_number":26,"context_line":"        \u0027Nova\u0027 \u003c-- \u0027Placement\u0027;"},{"line_number":27,"context_line":"        \u0027Nova\u0027 -\u003e \u0027Cyborg\u0027 [label \u003d \"bind(AccGPU, InstInfo)\"];"},{"line_number":28,"context_line":"        \u0027Cyborg\u0027 -\u003e \u0027Cyborg\u0027 [label \u003d \"update_attachment"},{"line_number":29,"context_line":"                                       (AccGPU, InstInfo)\"];"},{"line_number":30,"context_line":"        \u0027Cyborg\u0027 -\u003e \u0027plugin\u0027 [label \u003d \"bind(AccGPU, InstInfo)\"];"}],"source_content_type":"text/x-rst","patch_set":1,"id":"5f7c97a3_a2104902","line":27,"range":{"start_line":27,"start_character":0,"end_line":27,"end_character":62},"in_reply_to":"5f7c97a3_0c47f44e","updated":"2018-06-15 15:11:05.000000000","message":"cool.\n\nAnd if nova needs to send the RP then nova needs to know which RP is the one that belongs to cyborg from the multiple RPs (compute, numa, networking, cyborg, [cinder...]) in the allocation.\n\nAnd if more than one accelerator is requested in a single server create request then nova needs to figure out which cyborg RP relates to which accelerator in the request.\n\nOr we try to push this work to cyborg by sending the whole allocation to cyborg and let them find out the mapping.\n\nOr we try to push this work back to placement by requiring that placement marks which granular request group is fulfilled by which RP in the allocation candidate response.\n\nOK we don\u0027t need to solve this right now bottom line at some point we have to decide what to send to cyborg and how to figure out the data we need to send.","commit_id":"b9861164f60ba6edf1ff0845d39221bc4a21007b"},{"author":{"_account_id":14070,"name":"Eric Fried","email":"openstack@fried.cc","username":"efried"},"change_message_id":"85e2d9efd137b1526a17b4b9c72ca24313dd6e89","unresolved":false,"context_lines":[{"line_number":24,"context_line":"        \u0027Nova\u0027 -\u003e \u0027Placement\u0027 [label \u003d \"PUT /allocs/\u003cinst_uuid\u003e"},{"line_number":25,"context_line":"                                        {... ACC_GPU: 1 ...}\"];"},{"line_number":26,"context_line":"        \u0027Nova\u0027 \u003c-- \u0027Placement\u0027;"},{"line_number":27,"context_line":"        \u0027Nova\u0027 -\u003e \u0027Cyborg\u0027 [label \u003d \"bind(AccGPU, InstInfo)\"];"},{"line_number":28,"context_line":"        \u0027Cyborg\u0027 -\u003e \u0027Cyborg\u0027 [label \u003d \"update_attachment"},{"line_number":29,"context_line":"                                       (AccGPU, InstInfo)\"];"},{"line_number":30,"context_line":"        \u0027Cyborg\u0027 -\u003e \u0027plugin\u0027 [label \u003d \"bind(AccGPU, InstInfo)\"];"}],"source_content_type":"text/x-rst","patch_set":1,"id":"5f7c97a3_0c47f44e","line":27,"range":{"start_line":27,"start_character":0,"end_line":27,"end_character":62},"in_reply_to":"5f7c97a3_78a0a743","updated":"2018-06-15 13:56:30.000000000","message":"YES!\n\nMy thought here was that AccGPU starts off pretty sparsely populated and gets more fields filled in at each step along the way.","commit_id":"b9861164f60ba6edf1ff0845d39221bc4a21007b"},{"author":{"_account_id":14070,"name":"Eric Fried","email":"openstack@fried.cc","username":"efried"},"change_message_id":"85e2d9efd137b1526a17b4b9c72ca24313dd6e89","unresolved":false,"context_lines":[{"line_number":35,"context_line":"        \u0027os-acc\u0027 -\u003e \u0027plugin\u0027 [label \u003d \"plug(AccGPU, InstInfo)\"];"},{"line_number":36,"context_line":"        \u0027os-acc\u0027 \u003c-- \u0027plugin\u0027;"},{"line_number":37,"context_line":"        \u0027Nova\u0027 \u003c-- \u0027os-acc\u0027;"},{"line_number":38,"context_line":"        \u0027Nova\u0027 -\u003e \u0027Cyborg\u0027 [label \u003d \"configure(AccGPU)\"];"},{"line_number":39,"context_line":"        \u0027Cyborg\u0027 -\u003e \u0027Cyborg\u0027 [label \u003d \"program, or whatever\"];"},{"line_number":40,"context_line":"        \u0027Nova\u0027 \u003c-- \u0027Cyborg\u0027;"},{"line_number":41,"context_line":"        \u0027User\u0027 \u003c-- Nova;"}],"source_content_type":"text/x-rst","patch_set":1,"id":"5f7c97a3_6c6308df","line":38,"range":{"start_line":38,"start_character":8,"end_line":38,"end_character":57},"updated":"2018-06-15 13:56:30.000000000","message":"paraphrasing:\n\ndansmith: This should happen before plug()\nefried: Agreed, will fix.  Uh, this needs a platform-specific callout too.\ndansmith: Yeah.","commit_id":"b9861164f60ba6edf1ff0845d39221bc4a21007b"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"78723b3d7194fda3cbf9cd53aa41916ba13ff87b","unresolved":false,"context_lines":[{"line_number":44,"context_line":"Wherever I\u0027ve said Nova calls Cyborg or os-acc, I\u0027m not actually sure which is"},{"line_number":45,"context_line":"which."},{"line_number":46,"context_line":""},{"line_number":47,"context_line":"Calls to os-acc are in-process; are calls to Cyborg also that, or are they via"},{"line_number":48,"context_line":"an API?"},{"line_number":49,"context_line":""},{"line_number":50,"context_line":"Does Cyborg need to broker every call or is it okay for Nova to bypass Cyborg"}],"source_content_type":"text/x-rst","patch_set":1,"id":"3f79a3b5_0ac392ee","line":47,"range":{"start_line":47,"start_character":31,"end_line":47,"end_character":62},"updated":"2018-08-27 13:30:24.000000000","message":"cyborg is intended to have a seperate agent we should not be sharing a process space between the nova-compute agent and the cyborge agent.","commit_id":"b9861164f60ba6edf1ff0845d39221bc4a21007b"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"78723b3d7194fda3cbf9cd53aa41916ba13ff87b","unresolved":false,"context_lines":[{"line_number":47,"context_line":"Calls to os-acc are in-process; are calls to Cyborg also that, or are they via"},{"line_number":48,"context_line":"an API?"},{"line_number":49,"context_line":""},{"line_number":50,"context_line":"Does Cyborg need to broker every call or is it okay for Nova to bypass Cyborg"},{"line_number":51,"context_line":"and call into os-acc directly?"},{"line_number":52,"context_line":""}],"source_content_type":"text/x-rst","patch_set":1,"id":"3f79a3b5_d0d6a84f","line":51,"range":{"start_line":50,"start_character":0,"end_line":51,"end_character":30},"updated":"2018-08-27 13:30:24.000000000","message":"my understanding from https://review.openstack.org/#/c/577438/ is that os-acc will be loaded into the nova-compute agent and it functions mainly as an rpc client to comunicate with cyborg via the message bus.\n\nso nova will directly call function in os-acc.\nos-acc will not directly call cyborg via funcution call\nbut instead will call the cyborg agents rpc api via the message bus.","commit_id":"b9861164f60ba6edf1ff0845d39221bc4a21007b"}]}
