Adds Disk Capacity, Allocation and Usage metrics implementation in Libvirt¶
https://blueprints.launchpad.net/ceilometer/+spec/disk-info-meters
Problem description¶
Currently, Libvirt Inspector does not collect disk capacity, usage and allocation metrics. This feature can be added for Libvirt to monitor disk metrics : capacity, usage and allocation. It will help to manage disk resources for addition of Virtual Machinesusing same physical disk.
Proposed change¶
Implement the method ‘inspect_disk_info’ in Inspector for Libvirt. This method will return the disk capacity,usage and allocation per device. The values correspond to values monitored by domblkinfo command of Libvirt.
Add CapacityPollster which create sample :
name=’disk.capacity’
type=sample.TYPE_GAUGE
unit=’B’
Add PerDeviceCapacityPollster which create sample :
name=’disk.device.capacity’
type=sample.TYPE_GAUGE
unit=’B’
Add AllocationPollster which create sample :
name=’disk.allocation’
type=sample.TYPE_GAUGE
unit=’B’
Add PerDeviceAllocationPollster which create sample :
name=’disk.device.allocation’
type=sample.TYPE_GAUGE
unit=’B’
Add PhysicalPollster which create sample :
name=’disk.usage’
type=sample.TYPE_GAUGE
unit=’B’
Add PerDevicePhysicalPollster which create sample :
name=’disk.device.usage’
type=sample.TYPE_GAUGE
unit=’B’
Alternatives¶
None
Data model impact¶
None
REST API impact¶
None
Security impact¶
None
Pipeline impact¶
None
Other end user impact¶
None
Performance/Scalability Impacts¶
None
Other deployer impact¶
In pipeline.yaml, if user is not having * in meters_sink then new meters disk.capacity, disk.allocation, disk.usage, disk.device.capacity, disk.device.usage and disk.device.allocation needs to be added
Developer impact¶
None
Implementation¶
Assignee(s)¶
- Primary assignee:
ahmed-nooras-saba
Work Items¶
Add _DiskInfoPollsterBase base class for reading values and aggregating for all devices
Add CapacityPollster , AllocationPollster , PhysicalPollster for disk metrics at instance level
Add PerDeviceCapacityPollster , PerDeviceAllocationPollster and PerDevicePhysicalPollster for disk metrics at device level of an instance
Add inspect_disk_info to Libvirt inspectors
Add new metrics definition in measurements.rst
Future lifecycle¶
This feature will need testing for next two releases.
Dependencies¶
libvirt 0.8.1 and above.
Testing¶
Unit tests are required to test all the new pollsters at Libvirt. The new meters should be discoverable when listing ceilometer meters. Example : ceilometer meter-list
Documentation Impact¶
Added the following metrics in ceilometer/doc/source/measurements.rst and “measurement section” of http://docs.openstack.org/developer/ceilometer/measurements.html needs to be updated.
disk.capacity |
g |
B |
inst ID |
n |
1 |
Capacity of disk in B |
disk.allocation |
g |
B |
inst ID |
n |
1 |
Allocation of disk in B |
disk.usage |
g |
B |
inst ID |
n |
1 |
Usage of disk in B |
disk.device.capacity |
g |
B |
disk ID |
n |
1 |
Capacity per device of disk in B |
disk.device.allocation |
g |
B |
disk ID |
n |
1 |
Allocation per device of disk in B |
disk.device.usage |
g |
B |
disk ID |
n |
1 |
Usage per device of disk in B |