Merge "Add specs for Libvirt disk capacity,usage and allocation metrics"
This commit is contained in:
commit
a481667ae6
180
specs/kilo/disk-info-meters.rst
Normal file
180
specs/kilo/disk-info-meters.rst
Normal file
@ -0,0 +1,180 @@
|
|||||||
|
..
|
||||||
|
This work is licensed under a Creative Commons Attribution 3.0 Unported
|
||||||
|
License.
|
||||||
|
|
||||||
|
http://creativecommons.org/licenses/by/3.0/legalcode
|
||||||
|
|
||||||
|
==========================================================================
|
||||||
|
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
|
||||||
|
====================== = = ======= = = ===================================
|
||||||
|
|
||||||
|
|
||||||
|
References
|
||||||
|
==========
|
||||||
|
|
||||||
|
http://osdir.com/ml/libvir-list/2010-04/msg01300.html
|
Loading…
Reference in New Issue
Block a user