tree 8a0f6c994960d7ac9e1fa6490bf2daf1ded7d2d9
parent 99911bab27edf51adc0aa9cec45c12f8b21e8992
author Matt Spinler <spinler@us.ibm.com> 1670527175 -0600
committer Matt Spinler <spinler@us.ibm.com> 1671122776 -0600

control: mapped_floor: Add conditions

Add the concept of a condition to the mapped_floor action such that it
will only run if the condition is met.  If the condition isn't met, the
run() function will just exit immediately.

A condition is created by placing the following in the JSON:

* condition_group
  - The name of the group that has the property the condition
    will use.  For now, it must be a single member group.
* condition_value
  - The value the property has to be to meet the condition.
* condition_op
  - Either 'equal' or 'not_equal', where the property has to
    either be equal to or not equal to the condition value.

For example, the following says the single member of the 'cpu 0' group
must have its Model property be equal to "1234" for the action to run:

{
    "groups": [{
        "name": "cpu 0",
        "interface": "xyz.openbmc_project.Inventory.Decorator.Asset",
        "property": { "name": "Model" }
      }
      ...
    ],
    ...
    "name": "mapped_floor",
    "key_group": "ambient temp",
    "condition_group": "cpu 0",
    "condition_value": "1234",
    "condition_op": "equal",
    ...
}

If a condition is present but isn't met, the action will remove its
floor hold if it has one to support the case of the condition property
changing values.

Change-Id: I3ede20efd334e2c5292a441c089534420959c7bc
Signed-off-by: Matt Spinler <spinler@us.ibm.com>
