1a4dcefd | 26-Oct-2021 |
Matthew Barth <msbarth@us.ibm.com> |
control:fanctl: `dump` option only for JSON
Only show the `dump` option when the use of JSON is enabled. There is no support for creating a fan control dump of the flight recorder, etc.. in YAML bas
control:fanctl: `dump` option only for JSON
Only show the `dump` option when the use of JSON is enabled. There is no support for creating a fan control dump of the flight recorder, etc.. in YAML based fan control configurations.
Signed-off-by: Matthew Barth <msbarth@us.ibm.com> Change-Id: I7602fb4f45441058831a023a8d62dbecaf94574b
show more ...
|
09b09e57 | 28-Oct-2021 |
Matthew Barth <msbarth@us.ibm.com> |
control:p10bmc: Critical service(s)
Sets/holds the fans at an initial target for each p10bmc machine when the OCC or fan inventory service is missing after delaying for 5sec. Future additional criti
control:p10bmc: Critical service(s)
Sets/holds the fans at an initial target for each p10bmc machine when the OCC or fan inventory service is missing after delaying for 5sec. Future additional critical services will be added as the sensor groups are configured and utilized.
Change-Id: I9b497e508561ba30ec32e6514f7942369c034b91 Signed-off-by: Matthew Barth <msbarth@us.ibm.com>
show more ...
|
284505d3 | 19-Oct-2021 |
Matthew Barth <msbarth@us.ibm.com> |
control:ibm,everest: Fan rotor nonfunctional event
Sets/holds the fans at a target of 10700rpm when 1 or more fan rotors are deemed nonfunctional.
Change-Id: I3003ae64cd323bd7066c8b523e86bef0c4d66d
control:ibm,everest: Fan rotor nonfunctional event
Sets/holds the fans at a target of 10700rpm when 1 or more fan rotors are deemed nonfunctional.
Change-Id: I3003ae64cd323bd7066c8b523e86bef0c4d66d06 Signed-off-by: Matthew Barth <msbarth@us.ibm.com>
show more ...
|
b123bf65 | 19-Oct-2021 |
Matthew Barth <msbarth@us.ibm.com> |
control:ibm,everest: Fan missing event
Sets/holds the fans at a target of 10700rpm when 1 or more fans are missing.
Change-Id: I1876383deed696dc63e1fd770d507f97ea74f2f6 Signed-off-by: Matthew Barth
control:ibm,everest: Fan missing event
Sets/holds the fans at a target of 10700rpm when 1 or more fans are missing.
Change-Id: I1876383deed696dc63e1fd770d507f97ea74f2f6 Signed-off-by: Matthew Barth <msbarth@us.ibm.com>
show more ...
|
dc593cbe | 19-Oct-2021 |
Matthew Barth <msbarth@us.ibm.com> |
control:ibm,rainier-1s4u: Fan rotor nonfunctional event
Sets/holds the fans at a target of 10000rpm when 1 or more fan rotors are deemed nonfunctional.
Change-Id: Iebfe3fa10ae5b45608f7df5f379596891
control:ibm,rainier-1s4u: Fan rotor nonfunctional event
Sets/holds the fans at a target of 10000rpm when 1 or more fan rotors are deemed nonfunctional.
Change-Id: Iebfe3fa10ae5b45608f7df5f3795968912312bff Signed-off-by: Matthew Barth <msbarth@us.ibm.com>
show more ...
|
b477a563 | 19-Oct-2021 |
Matthew Barth <msbarth@us.ibm.com> |
control:ibm,rainier-1s4u: Fan missing event
Sets/holds the fans at a target of 10000rpm when 1 or more fans are missing.
Change-Id: I93a222c125d3c47af7fe3954da748f663e0a9f0f Signed-off-by: Matthew
control:ibm,rainier-1s4u: Fan missing event
Sets/holds the fans at a target of 10000rpm when 1 or more fans are missing.
Change-Id: I93a222c125d3c47af7fe3954da748f663e0a9f0f Signed-off-by: Matthew Barth <msbarth@us.ibm.com>
show more ...
|
322dbc5a | 19-Oct-2021 |
Matthew Barth <msbarth@us.ibm.com> |
control:ibm,rainier-4u: Fan rotor nonfunctional event
Sets/holds the fans at a target of 10000rpm when 1 or more fan rotors are deemed nonfunctional.
Change-Id: I4628686fc01ef52f9e92126d63231d89311
control:ibm,rainier-4u: Fan rotor nonfunctional event
Sets/holds the fans at a target of 10000rpm when 1 or more fan rotors are deemed nonfunctional.
Change-Id: I4628686fc01ef52f9e92126d63231d893115cf57 Signed-off-by: Matthew Barth <msbarth@us.ibm.com>
show more ...
|
23dcffd4 | 19-Oct-2021 |
Matthew Barth <msbarth@us.ibm.com> |
control:ibm,rainier-4u: Fan missing event
Sets/holds the fans at a target of 10000rpm when 1 or more fans are missing.
Change-Id: Idcfc868b4d64a6845c238879f6a3cdcba2dbe229 Signed-off-by: Matthew Ba
control:ibm,rainier-4u: Fan missing event
Sets/holds the fans at a target of 10000rpm when 1 or more fans are missing.
Change-Id: Idcfc868b4d64a6845c238879f6a3cdcba2dbe229 Signed-off-by: Matthew Barth <msbarth@us.ibm.com>
show more ...
|
991020b9 | 19-Oct-2021 |
Matthew Barth <msbarth@us.ibm.com> |
control:ibm,rainier-2u: Fan rotor nonfunctional event
Sets/holds the fans at a target of 11200rpm when 1 or more fan rotors are deemed nonfunctional.
Change-Id: I704d6320f54d3ce958cc74eeec2560f61c5
control:ibm,rainier-2u: Fan rotor nonfunctional event
Sets/holds the fans at a target of 11200rpm when 1 or more fan rotors are deemed nonfunctional.
Change-Id: I704d6320f54d3ce958cc74eeec2560f61c5cf608 Signed-off-by: Matthew Barth <msbarth@us.ibm.com>
show more ...
|
f0f213ca | 19-Oct-2021 |
Matthew Barth <msbarth@us.ibm.com> |
control:ibm,rainier-2u: Fan missing event
Sets/holds the fans at a target of 11200rpm when 1 or more fans are missing.
Change-Id: I26c04b0e4b38ef3697de33fd5a2e4a89eb5fc3aa Signed-off-by: Matthew Ba
control:ibm,rainier-2u: Fan missing event
Sets/holds the fans at a target of 11200rpm when 1 or more fans are missing.
Change-Id: I26c04b0e4b38ef3697de33fd5a2e4a89eb5fc3aa Signed-off-by: Matthew Barth <msbarth@us.ibm.com>
show more ...
|
d1f97f43 | 29-Oct-2021 |
Matt Spinler <spinler@us.ibm.com> |
control: Add power on/off triggers
Add two new classes of triggers: powerOn and powerOff. They are only called during the power on and power off state changes, respectively.
They behave the same a
control: Add power on/off triggers
Add two new classes of triggers: powerOn and powerOff. They are only called during the power on and power off state changes, respectively.
They behave the same as the existing init trigger.
Signed-off-by: Matt Spinler <spinler@us.ibm.com> Change-Id: I9d39210843192b9c343c7838c604fcce7c8d3f3d
show more ...
|
ade0c377 | 28-Oct-2021 |
Matt Spinler <spinler@us.ibm.com> |
control: Timer trigger can preload groups
The timer trigger is used to run actions when it expires. This commit adds the ability for it to preload group properties so the latest values are in the c
control: Timer trigger can preload groups
The timer trigger is used to run actions when it expires. This commit adds the ability for it to preload group properties so the latest values are in the cache before it runs the actions.
This means that there doesn't need to be propertiesChanged triggers for the groups, instead the load just reads them straight from D-Bus.
One reason to use this is so an action can be run on a slower cadence than propertiesChanged signals would be sent. An example is a virtual sensor that has component sensors spread out across multiple daemons. Even if the daemons all use the same poll rates, they can be staggered between them so virtual sensor changes could occur faster then any component sensor read interval.
The trade off is there will be D-Bus traffic every timer interval, even in the case the group property values don't change.
To enable this, use the following in the trigger JSON: "preload_groups": true
Signed-off-by: Matt Spinler <spinler@us.ibm.com> Change-Id: I1a92007c10fdd8017c1a89d15983ae50134c852a
show more ...
|
65dfe1ea | 26-Oct-2021 |
Matt Spinler <spinler@us.ibm.com> |
control: Add count state floor action
This action is similar to the count_state_target action except it sets the fan floor instead of fan target.
It sets the zone to a configured floor with a hold
control: Add count state floor action
This action is similar to the count_state_target action except it sets the fan floor instead of fan target.
It sets the zone to a configured floor with a hold when a number of members within the group are at a configured state. Once the number of members at the given state falls below the configured count, the floor hold is released.
Example JSON is:
{ "name": "count_state_floor", "count": 1, "state": false, "floor": 5000 }
This will set the floor hold to 5000 when at least 1 member of the configured group has a value of false.
Signed-off-by: Matt Spinler <spinler@us.ibm.com> Change-Id: Ie67314ad0221264a7a3ee634728e8216cb0a16cd
show more ...
|
b884865b | 26-Oct-2021 |
Matt Spinler <spinler@us.ibm.com> |
control: mapped_floor: use setFloorHold
Start using Zone::setFloorHold() in the MappedFloor action. This way other actions, or other instances of this action, can also set the floor without worryin
control: mapped_floor: use setFloorHold
Start using Zone::setFloorHold() in the MappedFloor action. This way other actions, or other instances of this action, can also set the floor without worrying about undercutting each other.
Signed-off-by: Matt Spinler <spinler@us.ibm.com> Change-Id: Ie55341d183894819b72819ad58a4a786a7ffb405
show more ...
|
40554d8c | 26-Oct-2021 |
Matt Spinler <spinler@us.ibm.com> |
control: Add setFloorHold to Zone
Similar to the existing Zone::setTargetHold function, setFloorHold allows an action to set a floor and hold it, meaning the fans are not allowed to decrease to a va
control: Add setFloorHold to Zone
Similar to the existing Zone::setTargetHold function, setFloorHold allows an action to set a floor and hold it, meaning the fans are not allowed to decrease to a value below that floor until the hold is released. Adding this allows multiple actions to set the floor, without worrying if one is overwriting another.
It also adds some flight recorder entries with the ID zone-floorX when floor holds are added and removed. An example of that output is:
zone-floor0: count_state_floor-1 is setting floor hold to 7777 zone-floor0: Setting new floor to 7777 zone-floor0: mapped_floor-0 is setting floor hold to 10700 zone-floor0: Setting new floor to 10700 zone-floor0: count_state_floor-1 is removing floor hold
Signed-off-by: Matt Spinler <spinler@us.ibm.com> Change-Id: I1756494e61ada60d44e58704431fb882ef7646a4
show more ...
|
9db6dd1d | 29-Oct-2021 |
Matt Spinler <spinler@us.ibm.com> |
control: Store zone data in the dump
Store the Zone class's attributes in the debug dump.
"zones": { "0": { "active": true, "decrease_allowed": {}, "
control: Store zone data in the dump
Store the Zone class's attributes in the debug dump.
"zones": { "0": { "active": true, "decrease_allowed": {}, "decrease_delta": 0, "decrease_interval": 30, "default_ceiling": 11200, "default_floor": 8000, "floor": 8000, "floor_change": {}, "holds": {}, "increase_delay": 5, "increase_delta": 0, "persisted_props": {}, "power_on_target": 11200, "requested_target_base": 0, "target": 11200 } }
Signed-off-by: Matt Spinler <spinler@us.ibm.com> Change-Id: I9e84f95f892b1cb549b0c988e0f79e8bb5d659c2
show more ...
|
b564e15a | 29-Oct-2021 |
Matt Spinler <spinler@us.ibm.com> |
fanctl: Add query_dump cmd to search dump contents
Add a 'query_dump' subcommand to fanctl to assist in looking at the content of the dump file /tmp/fan_control.json generated by the 'fanctl dump' c
fanctl: Add query_dump cmd to search dump contents
Add a 'query_dump' subcommand to fanctl to assist in looking at the content of the dump file /tmp/fan_control.json generated by the 'fanctl dump' command. This dump file contains the flight recorder as well as fan control's objects, service, and parameter cache.
The command's output is in JSON.
It has the following parameters: --section The section of the dump: objects, parameters, or services
--name The name of the top level JSON dictionary key to match on. This can match on substrings, like 'sensors' for all sensors. Optional - if not provided it matches on every name.
--properties List of property names to match on. Geared toward printing property values from the objects cache. Optional, if not provided the whole JSON objects under the name is printed.
Examples:
Print the flight recorder: fanctl query_dump --section flight_recorder { "0": "Oct 29 03:41:29.468444: main: Startup" }
Print the altitude: fanctl query_dump -s objects -n Altitude -p Value { "/xyz/openbmc_project/sensors/altitude/Altitude": { "Value": 1032.82 } }
Print all temperatures: fanctl query_dump -s objects -n sensors/temp -p Value { "/xyz/openbmc_project/sensors/temperature/Ambient_Virtual_Temp": { "Value": 25.0 }, ... }
Print every interface and property of the ambient sensor fanctl query_dump -s objects -n Ambient { ... interfaces with their property names and values ... }
Print every Value property in the cache: fanctl query_dump -s objects -p Value { "/xyz/openbmc_project/sensors/altitude/Altitude": { "Value": 1032.82 }, "/xyz/openbmc_project/sensors/temperature/Ambient_Virtual_Temp": { "Value": 25.0 } }
Signed-off-by: Matt Spinler <spinler@us.ibm.com> Change-Id: If66a74b432481f337f02813f2e61ae5767a57d1d
show more ...
|
b5c21a24 | 14-Oct-2021 |
Matt Spinler <spinler@us.ibm.com> |
control: Add cache maps to fan control dump
Add the _objects, _parameters, and _servTree maps to the fan control JSON dump file.
A condensed example is: { "flight_recorder": [ "Oct 06 0
control: Add cache maps to fan control dump
Add the _objects, _parameters, and _servTree maps to the fan control JSON dump file.
A condensed example is: { "flight_recorder": [ "Oct 06 05:59:01.183998: main: Startup" ], "parameters": null, "objects": { "/xyz/openbmc_project/sensors/temperature/vpcie_dcm1_rail_temperature": { "org.freedesktop.DBus.Introspectable": null, "org.freedesktop.DBus.Peer": null, "org.freedesktop.DBus.Properties": null, "xyz.openbmc_project.Association.Definitions": { "Associations": false }, "xyz.openbmc_project.Sensor.Value": { "MaxValue": 250.0, "MinValue": -50.0, "Unit": "xyz.openbmc_project.Sensor.Value.Unit.DegreesC", "Value": 60.0 }, "xyz.openbmc_project.State.Decorator.Availability": { "Available": true }, "xyz.openbmc_project.State.Decorator.OperationalStatus": { "Functional": true } }, }, "services": { "/xyz/openbmc_project/sensors/temperature/vpcie_dcm1_rail_temperature": { "xyz.openbmc_project.Power.Regulators": [ true, [ "xyz.openbmc_project.Sensor.Value" ] ] }, } }
Signed-off-by: Matt Spinler <spinler@us.ibm.com> Change-Id: Id3351127e07bcf1094d1e0a7891625632afa8d5b
show more ...
|
7787def0 | 14-Oct-2021 |
Matt Spinler <spinler@us.ibm.com> |
control: Dump flight recorder to a JSON file
A future commit will dump more debug data as opposed to just the flight recorder. To better support the data all being in the same file, it will be a JS
control: Dump flight recorder to a JSON file
A future commit will dump more debug data as opposed to just the flight recorder. To better support the data all being in the same file, it will be a JSON file. The first step of that is to write the flight recorder output to a JSON file.
This also reorganizes the Manager code that does it to prepare for different data also being in the same file.
An example is: { "flight_recorder": [ "Oct 06 05:59:01.183998: main: Startup" ] }
Signed-off-by: Matt Spinler <spinler@us.ibm.com> Change-Id: Iaeb55ffde3a30c2345968e1b3fad313b50aff331
show more ...
|
55ed901b | 21-Oct-2021 |
Matthew Barth <msbarth@us.ibm.com> |
control:actions: Replace `speed` with `target`
Per design, references to "speed" imply the use of RPM which is not correct when it comes to setting a fan's target which, for example, could be in PWM
control:actions: Replace `speed` with `target`
Per design, references to "speed" imply the use of RPM which is not correct when it comes to setting a fan's target which, for example, could be in PWM. This replaces some missed references to `speed` to `target`.
Change-Id: Ic534edf06556d7a2035d44b0f1acdc36ba56df25 Signed-off-by: Matthew Barth <msbarth@us.ibm.com>
show more ...
|
93a10ab6 | 15-Oct-2021 |
Matthew Barth <msbarth@us.ibm.com> |
control: `member` signal triggers use event groups
Remove the ability to provide a `member` trigger's attributes from the event trigger configuration in favor of using the configured event's groups.
control: `member` signal triggers use event groups
Remove the ability to provide a `member` trigger's attributes from the event trigger configuration in favor of using the configured event's groups. This aligns with the recent design direction that event triggers are setup from the event groups.
Change-Id: I304cfdffedd54317e440e7566988392a1410af6a Signed-off-by: Matthew Barth <msbarth@us.ibm.com>
show more ...
|
3695ac30 | 06-Oct-2021 |
Matthew Barth <msbarth@us.ibm.com> |
control: Correct reloading groups.json thru SIGHUP
When providing a SIGHUP, the groups.json was not getting reloaded due to being a pure static method. This changes that method to load the groups.js
control: Correct reloading groups.json thru SIGHUP
When providing a SIGHUP, the groups.json was not getting reloaded due to being a pure static method. This changes that method to load the groups.json if not already loaded and requested to load the groups.json which is the default.
All of available groups are now saved off during a SIGHUP and restored if the groups.json or events.json fail to be reloaded. If there are no failures in reloading neither the groups.json nor the events.json, the newly loaded groups.json is used instead.
Change-Id: I44870e796530fdb325e0821429a203969ae05018 Signed-off-by: Matthew Barth <msbarth@us.ibm.com>
show more ...
|
039f91e5 | 04-Oct-2021 |
Matthew Barth <msbarth@us.ibm.com> |
control: Use event groups on `signal` triggers
Use the provided event groups when enabling any `signal` triggers instead of the action groups. Event groups are what's used with setting up event trig
control: Use event groups on `signal` triggers
Use the provided event groups when enabling any `signal` triggers instead of the action groups. Event groups are what's used with setting up event triggers and may or may not be a different set of groups than what's used when actions are run depending on event configuration.
Change-Id: I78b6255ada52ed718469a6700b4bc2603b2a85cb Signed-off-by: Matthew Barth <msbarth@us.ibm.com>
show more ...
|
c7f629dc | 30-Sep-2021 |
Matthew Barth <msbarth@us.ibm.com> |
control: Use event groups on `init` triggers
Use the provided event groups when enabling any `init` triggers instead of the action groups. Event groups is what's used with setting up event triggers
control: Use event groups on `init` triggers
Use the provided event groups when enabling any `init` triggers instead of the action groups. Event groups is what's used with setting up event triggers and may or may not be a different set of groups than what's used when actions are run depending on event configuration.
Change-Id: I804e798e169598080583965e6922fc5fb1cfa2be Signed-off-by: Matthew Barth <msbarth@us.ibm.com>
show more ...
|
7c8b97f9 | 06-Oct-2021 |
Mike Capps <mikepcapps@gmail.com> |
fanctl: support dump of FlightRecorder log data
New command sends SIGUSR1 to fan-control to dump FlightRecorder data.
Signed-off-by: Mike Capps <mikepcapps@gmail.com> Change-Id: I3dc70ad0c1152f912b
fanctl: support dump of FlightRecorder log data
New command sends SIGUSR1 to fan-control to dump FlightRecorder data.
Signed-off-by: Mike Capps <mikepcapps@gmail.com> Change-Id: I3dc70ad0c1152f912b477146071c96cb824297b1
show more ...
|