| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This adds the functional infrastructure to optionally attach a condition
function to a fan definition. When a condition is defined on a fan, it
must be true for a fan's associated functional properties to be created.
When the given condition fails, that fan's functional properties will
not be created by fan monitor. A fan without a defined condition will
have all of its associated functional properties created.
Example of generated condition (generation commit to follow):
make_condition(condition::propertiesMatch(
std::vector<PropertyState>{
PropertyState{
PropertyIdentity{
"/xyz/openbmc_project/inventory/system/chassis",
"xyz.openbmc_project.Inventory.Decorator.CoolingType",
"WaterCooled"
},
static_cast<bool>(false)
}
}
)),
Tested:
Fan functional properties are not created when a condition fails
Fan functional properties are created when condition passes
Fan functional properties are created when no condition exists
Change-Id: I9ced2e520d2f97e6655c9417970b3e976d78fef4
Signed-off-by: Matthew Barth <msbarth@us.ibm.com>
|
|
|
|
|
|
|
|
|
| |
The Fan class now uses the trust::Manager class
to ask if a sensor value is trusted before analyzing
its value against the upper and lower limits.
Change-Id: I81dd468877873ba84753d76395b4a59129824c0b
Signed-off-by: Matt Spinler <spinler@us.ibm.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Allowing fan monitor to run in an init mode will set the fans to a
functional state at each poweron for fans that were non-functional at
poweroff. Then fan monitor can be started in monitor mode after the fans
have ramped up to full speed and can begin being monitored for faults.
This also allows for the removal of fan monitor doing a sd_notify prior
to fan control starting.
Change-Id: I634c9b4ec8bb30860dea54c8abd1cd6c56831d25
Signed-off-by: Matthew Barth <msbarth@us.ibm.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
After the fans have initialized their Functional inventory
property, send systemd the READY notification. If the service
which runs this application is of type = notify, then systemd
will hold off starting any dependent services until this is sent.
In our case, we want phosphor-fan-control --control to not be
started until this notification is done.
Change-Id: Iec87418ce308aa9ca81a47c20039ade7e8fe66c3
Signed-off-by: Matt Spinler <spinler@us.ibm.com>
|
|
|
|
|
|
|
|
| |
Turns out that with the objects on the stack,
some of them were corrupt in the callbacks.
Change-Id: Ifd4179839d4e05fdb1f05e417093cb14cec3addc
Signed-off-by: Matt Spinler <spinler@us.ibm.com>
|
|
|
|
|
|
|
|
| |
Convert the sd_event object wrapper from a shared_ptr to
a unique_ptr. Requires a new header file.
Change-Id: I868a9e88ed93878c2e0bb12e58f8d3a604510da0
Signed-off-by: Matt Spinler <spinler@us.ibm.com>
|
|
|
|
|
|
|
| |
Create the Fan objects, and start the dbus/event loop.
Change-Id: I7c6a60bb5d2c20578b529e7e5f3dc13f50e55dd7
Signed-off-by: Matt Spinler <spinler@us.ibm.com>
|
|
This application will monitor the actual speeds of
fans (via their sensors) and compare them to their
expected speeds. If a fan is too slow for too long,
it will have its Functional property in the inventory
set to false. If it starts working again, the property
will be set back to true.
It will use configuration data to say which fans to check
and which values to use for various timeout and deviation
parameters.
Change-Id: Ic61613018a758727835b70f2df0ecd1bf12e8256
Signed-off-by: Matt Spinler <spinler@us.ibm.com>
|