thresholds: Update Severity to be a string

Thresholds are now strings, so update to treat them as such. However
still accept unsigned ints for backwards compatibility.

Tested: Used both strings and unsigned ints in severity fields in a
virtual sensor config, and we see correct threshold properties and
behaviour.

Signed-off-by: Rashmica Gupta <rashmica.g@gmail.com>
Change-Id: I893877a769eb81e6589ce42a01079816e5493b4f
2 files changed
tree: ee5f00dff28196f5fb512fd9a88bdcab6e08f752
  1. subprojects/
  2. .clang-format
  3. .gitignore
  4. dbusSensor.hpp
  5. dbusUtils.hpp
  6. exprtkTools.hpp
  7. LICENSE
  8. MAINTAINERS
  9. meson.build
  10. OWNERS
  11. phosphor-virtual-sensor.service.in
  12. README.md
  13. thresholds.hpp
  14. virtual_sensor_config.json
  15. virtualSensor.cpp
  16. virtualSensor.hpp
README.md

phosphor-virtual-sensor

phosphor-virtual-sensor reads in virtual_sensor_config.json There are two types of data in this file:

1) virtual sensor configuration information

See virtual_sensor_config.json in this repository for an example. Sensors added this way can use any expression that is accepted by exprtk.

2) information to get a virtual sensor configuraton from D-Bus

For example:

    {
    "Desc":
        {
            "Config" : "D-Bus",
            "Type" : "modifiedMedian"
        }
    }

Sensors added this way can only use a set of restricted calculations. At this stage the only type supported is modifiedMedian.

The virtual sensor configuration information needs to be added into the relevant hardware configuration file in entity-manager. This method of adding a virtual sensor allows a recipe that builds for different hardware configurations to have different virtual sensors for each configuration.

The virtual sensor configuration in entity manager follows a different format to the JSON in virtual_sensor_config.json (specified in entity-manager/schemas/VirtualSensor.json).