[openstack-dev] [Ironic][Ceilometer] Proposed Change to Sensor meter naming in Ceilometer

Dmitry Tantsur dtantsur at redhat.com
Fri Oct 17 09:16:42 UTC 2014


Hi Jim,

On 10/16/2014 07:23 PM, Jim Mankovich wrote:
> All,
>
> I would like to get some feedback on a proposal  to change to the
> current sensor naming implemented in ironic and ceilometer.
>
> I would like to provide vendor specific sensors within the current
> structure for IPMI sensors in ironic and ceilometer, but I have found
> that the current  implementation of sensor meters in ironic and
> ceilometer is IPMI specific (from a meter naming perspective) . This is
> not suitable as it currently stands to support sensor information from a
> provider other than IPMI.    Also, the current Resource ID naming makes
> it difficult for a consumer of sensors to quickly find all the sensors
> for a given Ironic Node ID, so I would like to propose changing the
> Resource ID naming as well.
>
> Currently, sensors sent by ironic to ceilometer get named by ceilometer
> as has "hardware.ipmi.SensorType", and the Resource ID is the Ironic
> Node ID with a post-fix containing the Sensor ID.  For Details
> pertaining to the issue with the Resource ID naming, see
> https://bugs.launchpad.net/ironic/+bug/1377157, "ipmi sensor naming in
> ceilometer is not consumer friendly"
>
> Here is an example of what meters look like for sensors in ceilometer
> with the current implementation:
> | Name                        | Type  | Unit | Resource ID
> | hardware.ipmi.current       | gauge | W    |
> edafe6f4-5996-4df8-bc84-7d92439e15c0-power_meter_(0x16)
> | hardware.ipmi.temperature   | gauge | C    |
> edafe6f4-5996-4df8-bc84-7d92439e15c0-16-system_board_(0x15)
>
> What I would like to propose is dropping the ipmi string from the name
> altogether and appending the Sensor ID to the name  instead of to the
> Resource ID.   So, transforming the above to the new naming would result
> in the following:
> | Name                                     | Type  | Unit | Resource ID
> | hardware.current.power_meter_(0x16)      | gauge | W    |
> edafe6f4-5996-4df8-bc84-7d92439e15c0
> | hardware.temperature.system_board_(0x15) | gauge | C    |
> edafe6f4-5996-4df8-bc84-7d92439e15c0
+1

Very-very nit, feel free to ignore if inappropriate: maybe 
hardware.temperature.system_board.0x15 ? I.e. use separation with dots, 
do not use brackets?
>
> This structure would provide the ability for a consumer to do a
> ceilometer resource list using the Ironic Node ID as the Resource ID to
> get all the sensors in a given platform.   The consumer would then then
> iterate over each of the sensors to get the samples it wanted.   In
> order to retain the information as to who provide the sensors, I would
> like to propose that a standard "sensor_provider" field be added to the
> resource_metadata for every sensor where the "sensor_provider" field
> would have a string value indicating the driver that provided the sensor
> information.     This is where the string "ipmi", or a vendor specific
> string would be specified.
+1
>
> I understand that this proposed change is not backward compatible with
> the existing naming, but I don't really see a good solution that would
> retain backward compatibility.
For backward compatibility you could _also_ keep old ones (with ipmi in 
it) for IPMI sensors.

>
> Any/All Feedback will be appreciated,
In this version it makes a lot of sense to me, +1 if Ceilometer folks 
are not against.

> Jim
>




More information about the OpenStack-dev mailing list