← Back to team overview

openstack team mailing list archive

[Cinder] cinder-agent

 

Hi all,

JOSUG (Japanese OpenStack User Group) had a regular hackathon in Tokyo
last month.
We discussed about Quantum and Cinder, and got an idea about 'cinder-agent'.

Now Cinder has many server-side drivers for volume service and nova-compute has
client-side drivers to use it. If other software like CloudStack,
OpenNebula and so on use
Cinder, they will have to implement their own client-side drivers for
Cinder. But they don't
have to do it for Quantum because it has a client service
'quantum-agent' and others.

I think Cinder should have its own client service 'cinder-agent'.
There are many benefits:

* We can remove volume-related drivers (server/client side) from Nova perfectly.
  * Nova can be used with newer/older Cinder.
  * Both-side volume drivers can be added or updated with one patch for Cinder.
* Attaching/detaching volume API can be simple because Cinder can use
RPC to do them.
  For example:
    Attaching volume request:
      POST /v2/{tenant_id}/servers/{server_id}/os-volume_attachments_with_agent
      {'volume'] '{volume_id}', 'host': '{host_name}'}
    Response body:
      {'volume': '{volume_id}', 'host': '{host_name}', 'path': '{device_path}'}
    # {host_name}: the host name with nova-compute and cinder-agent
* Of course, any software can use Cinder without client-side volume drivers.

Any comments?

Regards,
   Akira YOSHIYAMA <akirayoshiyama@xxxxxxxxx>


Follow ups