index.rst (openstack-cyborg-8.0.0) | : | index.rst (openstack-cyborg-9.0.0) | ||
---|---|---|---|---|
skipping to change at line 220 | skipping to change at line 220 | |||
prepares or reconfigures the device in the background. | prepares or reconfigures the device in the background. | |||
7. Cyborg, on completion of the bindings (successfully or otherwise), | 7. Cyborg, on completion of the bindings (successfully or otherwise), | |||
calls Nova’s `POST /os-server-external-events` API with: | calls Nova’s `POST /os-server-external-events` API with: | |||
.. code:: | .. code:: | |||
{ | { | |||
"events": [ | "events": [ | |||
{ "name": "accelerator-request-bound", | { "name": "accelerator-request-bound", | |||
"tag": $device_profile_name, | "tag": $arq_uuid, | |||
"server_uuid": $instance_uuid, | "server_uuid": $instance_uuid, | |||
"status": "completed" # or "failed" | "status": "completed" # or "failed" | |||
}, | }, | |||
... | ... | |||
] | ] | |||
} | } | |||
8. The Nova compute manager waits for the notification, subject to the timeout | 8. The Nova compute manager waits for the notification, subject to the timeout | |||
mentioned in Section Other deployer impact. It then calls the Cyborg REST | mentioned in Section Other deployer impact. It then calls the Cyborg REST | |||
API `GET /v2/accelerator_requests?instance=<uuid>&bind_state=resolved`. | API `GET /v2/accelerator_requests?instance=<uuid>&bind_state=resolved` to | |||
get the arqs in status ['Bound', 'BindFailed', 'Deleting']. | ||||
9. The Nova virt driver uses the attach handles returned from the Cyborg call | 9. The Nova virt driver uses the bound arqs returned from the Cyborg call | |||
to compose PCI passthrough devices into the VM’s definition. | to compose PCI passthrough devices into the VM’s definition. | |||
10. If there is any error after binding has been initiated, Nova must unbind | 10. If there is any error after binding has been initiated, Nova must unbind | |||
the relevant ARQs by calling Cyborg API. It may then retry on another host | the relevant ARQs by calling Cyborg API. It may then retry on another host | |||
or delete the (unbound) ARQs for the instance. | or delete the (unbound) ARQs for the instance. | |||
End of changes. 3 change blocks. | ||||
3 lines changed or deleted | 4 lines changed or added |