capacity-headroom

Registered by Xin, Xiaohui on 2015-03-27

Currently there is no way for admin users to have a clear knowledge of how much block storage capacity left totally to be deployed in Cinder. Another fact is that the utilization of the block storage may be very low at some time. For example, a backend may have 100G, only 20G is used and other 80G will not be touched for a long time. Actually the 80G may be lent to others for a temporary time and could be the virtual capacity.

The capacity-headroom topic will expose the remaining virtual block storage capacity totally which is available to allocate. It will notify the Ceilometer service about the total/free/available/provisioned/virtual_free capacity of each pool and then the sum of the backend. The proposal will base on the over subscription mechanism which is already implemented in Cinder. The detail of the mechanism can be referenced by the blueprint by name "over-subscription-in-thin-provisioning" and https://blueprints.launchpad.net/openstack/cinder/+spec/over-subscription-in-thin-provisioning.

Steps:

1. Calculate the virtual_free capacity for each pool and then sum for the backend
    Calculates the virtual_free capacity if thin provisioning is supported.
    According to the over subscription mechanism implemented for LVM,
    the remaining virtual capacity for a backend can be used as terminology :
    apparent_available_capacity. It can be calculated by following formula:
    apparent_available_capacity =
    total_capacity * max_over_subscription_ration - provisioned_capacity

2. Notify total/free/allocated/provisioned/virtual_free capacity info to Ceilometer service.

Blueprint information

Status:
Started
Approver:
None
Priority:
Medium
Drafter:
Xin, Xiaohui
Direction:
Approved
Assignee:
Xin, Xiaohui
Definition:
Approved
Series goal:
None
Implementation:
Needs Code Review
Milestone target:
None
Started by
Xin, Xiaohui on 2015-06-08

Related branches

Sprints

Whiteboard

Gerrit topic: https://review.openstack.org/#q,topic:bp/capacity-headroom,n,z

Addressed by: https://review.openstack.org/170380
    capacity headroom

Addressed by: https://review.openstack.org/206923
    capacity-headroom

Addressed by: https://review.openstack.org/249932
    Moving capacity-headroom spec to mitaka cycle

Addressed by: https://review.openstack.org/257620
    Wrap the method to calculate virtual free capacity

(?)

Work Items

This blueprint contains Public information 
Everyone can see this information.