Spec for generic driver for openstack-cyborg

Registered by Rushil Chugh on 2017-03-08

==============================
Cyborg Generic Driver Proposal
==============================

https://blueprints.launchpad.net/openstack-cyborg/+spec/generic-driver-cyborg

This spec proposes to provide the initial design for Cyborg's generic driver.

Problem description
===================

This blueprint proposes to add a generic driver for openstack-cyborg.
The goal is to provide users & operators with a reliable generic
implementation that is hardware agnostic and provides basic
accelerator functionality.

Use Cases
---------

* As a user, I should be able to identify and discover attached
  accelerator backends.
* As a user, I should be able to send API requests to discover services
  on each attached backend.
* As a user, I should be able to attach/detach/list accelerators to a
  specific instance.
* As a user, I shoud be able to manage connection of the instance to the
  accelerator.

Proposed change
===============

* Develop the generic driver implementation that supports CRUD operations for
  accelerators for openstack-cyborg.

Alternatives
------------

None

Data model impact
-----------------

TBD

REST API impact
---------------

Documented in the Cyborg API spec.

Security impact
---------------

None

Notifications impact
--------------------

None

Other end user impact
---------------------

None

Performance Impact
------------------

None

Other deployer impact
---------------------

None

Developer impact
----------------

Developers will have access to a reference generic implementation which
can be used to build vendor-specific drivers.

Implementation
==============

Assignee(s)
-----------

Primary assignee:
  Rushil Chugh <email address hidden>

Work Items
----------

This change would entail the following:
* Add a feature to identify and discover attached accelerator backends.
* Add a feature to list services running on the backend
* Add a feature to attach accelerators to the generic backend.
* Add a feature to detach accelerators from the generic backend.
* Add a feature to list accelerators attached to the generic backend.
* Add a feature to modify accelerators attached to the generic backend.
* Defining a reference implementation detailing the flow of requests between
  the cyborg-api, cyborg-conductor and nova-compute services.

Dependencies
============

Dependent on Cyborg API and Agent implementations.

Testing
=======

* Unit tests will be added test Cyborg generic driver.

Documentation Impact
====================

None

References
==========

None

Blueprint information

Status:
Not started
Approver:
None
Priority:
Essential
Drafter:
Rushil Chugh
Direction:
Needs approval
Assignee:
Rushil Chugh
Definition:
New
Series goal:
None
Implementation:
Unknown
Milestone target:
None

Related branches

Sprints

Whiteboard

(?)

Work Items

This blueprint contains Public information 
Everyone can see this information.

Subscribers

No subscribers.