VMware VMDK cinder driver
The goal of this blueprint is to implement VMDK driver for cinder. The driver will allow management of cinder volume on any VMware vCenter Server or ESX managed datastore. In this project, we are essentially mapping the Cinder Volume construct to VMDK file(s) that form the persistent block storage for virtual machines within the VMware stack. Today, there is no cinder driver implementation for the VMware stack and the nova driver allows only attaching/detaching discovered iSCSI targets as RDM. This driver will allow life cycle management for a cinder volume that is backed by a VMDK file(s) within a VMware datastore. This project also positions Cinder to take advantage of features provided by VMFS and upcoming technologies such as vSAN, vVol and others.
Because of the design of vCenter, each VMDK needs to be a "child" object of one or more VM's. In this implementation, we use a "shadow" VM to back the Cinder Volume. This ensures that VMware specific features such as snapshots, fast cloning, vMotion, etc. will continue to work without breaking any of the Cinder Volume constructs or abstractions. This virtual machine backing a volume will never be powered on and is only an abstraction for performing operations such as snapshots or cloning of the cinder volume. By using virtual machine as a representation for cinder volume we can perform any operation on a cinder volume that can be done on the corresponding virtual machine using the public SDK.
Blueprint information
- Status:
- Complete
- Approver:
- John Griffith
- Priority:
- Medium
- Drafter:
- Kartik Bommepally
- Direction:
- Approved
- Assignee:
- Kartik Bommepally
- Definition:
- Approved
- Series goal:
- Accepted for havana
- Implementation:
- Implemented
- Milestone target:
- 2013.2
- Started by
- John Griffith
- Completed by
- Thierry Carrez
Whiteboard
Checked in with Kartik and things are pretty much set here, just awaiting review from legal team at VMware.
Gerrit topic: https:/
Addressed by: https:/
Implements get_volume_stats for VMDK driver
Addressed by: https:/
VMDK copy_image_
Work Items
Work items:
get_volume_stats with server connection: INPROGRESS
create_volume and delete_volume: INPROGRESS
initialize_
create_snapshot and delete_snapshot: INPROGRESS
create_
copy_image_