70c26b2b | 07-Oct-2021 |
Mike Capps <mikepcapps@gmail.com> |
control: action to override a single fan in a zone - ability to lock Fan
This change modifies Fan to accept one or more override targets which prevent Fan from accepting regular target updates until
control: action to override a single fan in a zone - ability to lock Fan
This change modifies Fan to accept one or more override targets which prevent Fan from accepting regular target updates until all locks have been cleared using unlockTarget().
Multiple locks are supported, however only the higest locked target will ever be active. For instance, if targets are locked at 9000 and 10000 (in either order), the 10000 lock will be active until it is cleared, at which point the 2nd lowest lock (9000) will become active. When it is cleared, Fan will become unlocked and resume its target from temperature control. If the first locked target happens to be lower than its current target, the lock will take precedence even though it's lower.
Signed-off-by: Mike Capps <mikepcapps@gmail.com> Change-Id: Iba73aa06eed25452117eb138768ed300bc45b0d9
show more ...
|
95d73490 | 09-Feb-2022 |
Matthew Barth <msbarth@us.ibm.com> |
control: Rework/optimize preloading timer groups
Employ the use of the service name defined on the group instead of retrieving the service for each group member if its given in the group's configura
control: Rework/optimize preloading timer groups
Employ the use of the service name defined on the group instead of retrieving the service for each group member if its given in the group's configuration. In addition, switch to getting the service, when not configured on the group, from the service tree cache.
Change-Id: Ice7b19c90c8fc03cb7201ebdb884c23366c1f23e Signed-off-by: Matthew Barth <msbarth@us.ibm.com>
show more ...
|
7b7df2af | 01-Feb-2022 |
Matthew Barth <msbarth@us.ibm.com> |
control - Ensure `nameHasOwner` set on all group members
It was found that `nameHasOwner` method calls upon fan control starting was not setting all group members' service owned states. This was due
control - Ensure `nameHasOwner` set on all group members
It was found that `nameHasOwner` method calls upon fan control starting was not setting all group members' service owned states. This was due to skipping group members if they were hosted by the same service, which actually caused a problem later when the action would be run looking at the service state for all groups members. With this fix all group members get an initial service owned state thru `nameHasOwner`.
Change-Id: Icd8e16e0a2235522aa531a629a82aa2af47c5199 Signed-off-by: Matthew Barth <msbarth@us.ibm.com>
show more ...
|
bd52ed02 | 07-Feb-2022 |
Matthew Barth <msbarth@us.ibm.com> |
control: Record configuration load/reload paths
Add `main` recorder entries to the flight recorder when the configurations are loaded or reloaded thru SIGHUP.
Change-Id: Ib720f6342a8579e2fc0df30e89
control: Record configuration load/reload paths
Add `main` recorder entries to the flight recorder when the configurations are loaded or reloaded thru SIGHUP.
Change-Id: Ib720f6342a8579e2fc0df30e8975dd140dba28e2 Signed-off-by: Matthew Barth <msbarth@us.ibm.com>
show more ...
|
2ca90171 | 07-Feb-2022 |
Matthew Barth <msbarth@us.ibm.com> |
control:fanctl - Update `get` output formatting
Fix up fan feedback alignment for fans with more than one rotor.
Change-Id: Icf574647a7ebbebf5c684aadd106e8e40f320b24 Signed-off-by: Matthew Barth <m
control:fanctl - Update `get` output formatting
Fix up fan feedback alignment for fans with more than one rotor.
Change-Id: Icf574647a7ebbebf5c684aadd106e8e40f320b24 Signed-off-by: Matthew Barth <msbarth@us.ibm.com>
show more ...
|
3943b542 | 07-Feb-2022 |
Matthew Barth <msbarth@us.ibm.com> |
control:fanctl - Update `status` output formatting
On systems where fan inventory and sensors do not match, the output per fan on the `status` command was mis-aligned. This inserts "Unknown" for fan
control:fanctl - Update `status` output formatting
On systems where fan inventory and sensors do not match, the output per fan on the `status` command was mis-aligned. This inserts "Unknown" for fan inventory items that do not exist for a fan sensor.
Change-Id: Id73ae90c8a36c375cd88ac3d097721815d8ef2bf Signed-off-by: Matthew Barth <msbarth@us.ibm.com>
show more ...
|
7a656e2c | 07-Feb-2022 |
Matthew Barth <msbarth@us.ibm.com> |
control - Remove `nameOwnerChanged` signal flight recorder
Remove due to the possibility of being called more than once if more than one event uses the same group trigger as it could be confusing th
control - Remove `nameOwnerChanged` signal flight recorder
Remove due to the possibility of being called more than once if more than one event uses the same group trigger as it could be confusing that more than one signal was received when it was not. This is due to the `sd_bus_message_rewind` in Manager::handleSignal().
Change-Id: I6e6739658c67fe745e525b3da9bffd0213119c8c Signed-off-by: Matthew Barth <msbarth@us.ibm.com>
show more ...
|
6d8e2d3e | 01-Feb-2022 |
Matthew Barth <msbarth@us.ibm.com> |
control: `nameOwnerChanged` signals update all caches
When a `nameOwnerChanged` signal is received, update all entries within the service tree cache for the given service's owner state change. Also,
control: `nameOwnerChanged` signals update all caches
When a `nameOwnerChanged` signal is received, update all entries within the service tree cache for the given service's owner state change. Also, use the service tree cache to cross reference removal of the associated interfaces from objects within the objects cache.
Change-Id: Idab52a7533d626f1f7ef03397f904a74cb6457a3 Signed-off-by: Matthew Barth <msbarth@us.ibm.com>
show more ...
|
28945d48 | 27-Jan-2022 |
Mike Capps <mikepcapps@gmail.com> |
Control: fanctl should validate dumpfile output
fanctl is emitting "done" messages prematurely before all file contents have been written. This change erases any existing json outputs and proactivel
Control: fanctl should validate dumpfile output
fanctl is emitting "done" messages prematurely before all file contents have been written. This change erases any existing json outputs and proactively validates the output before reporting success.
Signed-off-by: Mike Capps <mikepcapps@gmail.com> Change-Id: I364024675a468bc0dfb1035e3158e85c206b79d2
show more ...
|
527982a3 | 21-Jan-2022 |
Matthew Barth <msbarth@us.ibm.com> |
control:p10bmc:ibm,rainier-4u/1s4u - Add power mode group
Change-Id: I35cb6aa5506157c7c10ff6cf882a93b4fb8ef536 Signed-off-by: Matthew Barth <msbarth@us.ibm.com> |
73d49823 | 21-Jan-2022 |
Matthew Barth <msbarth@us.ibm.com> |
control:p10bmc:ibm,rainier-4u/1s4u - pcie slots & cards groups
Add the pcie slots and cards groups for upcoming support of determining the fan floor.
Change-Id: I1bb49b219aefc68c274d35699a6cbfe6401
control:p10bmc:ibm,rainier-4u/1s4u - pcie slots & cards groups
Add the pcie slots and cards groups for upcoming support of determining the fan floor.
Change-Id: I1bb49b219aefc68c274d35699a6cbfe6401cee8f Signed-off-by: Matthew Barth <msbarth@us.ibm.com>
show more ...
|
dfa8f11f | 13-Jan-2022 |
Matthew Barth <msbarth@us.ibm.com> |
control:p10bmc: Provide OCC service name to OCC object group
Providing the OCC service name for the OCC object group allows the "service(s) missing" event to set the owner state to false during the
control:p10bmc: Provide OCC service name to OCC object group
Providing the OCC service name for the OCC object group allows the "service(s) missing" event to set the owner state to false during the `init` trigger and successfully subscribe to the nameOwnerChanged signal. This is necessary since the OCC service has changed to starting after fan control has already loaded its configuration.
Change-Id: I5b7f51674a94a68bf9979aa8548e0a4a32edfc49 Signed-off-by: Matthew Barth <msbarth@us.ibm.com>
show more ...
|
65f72810 | 13-Jan-2022 |
Matthew Barth <msbarth@us.ibm.com> |
control: Support group service names in name owner triggers
If a group provides a service name, which is required to be the service name for all group members and their interfaces, use that service
control: Support group service names in name owner triggers
If a group provides a service name, which is required to be the service name for all group members and their interfaces, use that service name when subscribing to nameOwnerChanged signals or calling the nameHasOwner method. This can be used so that the service name does not have to be looked up for each group member(and interface) or where the service for a group(and interface) may not be on dbus when subscribing.
Change-Id: Ic52aef519eef61103478742c7a32e1f268809d38 Signed-off-by: Matthew Barth <msbarth@us.ibm.com>
show more ...
|
48b7480d | 14-Jan-2022 |
Matthew Barth <msbarth@us.ibm.com> |
control:p10bmc: Standardize PCIe cable card group name
Use the same group name of "pcie cable card temps" for the PCIe cable card temperature sensors across all p10bmc systems. This will help minimi
control:p10bmc: Standardize PCIe cable card group name
Use the same group name of "pcie cable card temps" for the PCIe cable card temperature sensors across all p10bmc systems. This will help minimize any copy/paste errors that could happen when adding events that may use this group across all the different system event.json files.
Change-Id: If93b52ccb91b57a87b0765d3a6159f2c05d1721d Signed-off-by: Matthew Barth <msbarth@us.ibm.com>
show more ...
|
86a484f3 | 14-Jan-2022 |
Matthew Barth <msbarth@us.ibm.com> |
control:p10bmc: Add more critical services to monitor
Include the services that host the nvme, planar, flett, bear lake, ambient, and altitude sensors. Note that currently the planar, flett, pcie ca
control:p10bmc: Add more critical services to monitor
Include the services that host the nvme, planar, flett, bear lake, ambient, and altitude sensors. Note that currently the planar, flett, pcie cable card, ambient, and altitude sensors are provided by the same service and were purposely all added here for completeness. This will have no affect on the handling of that single service that hosts all of these sensors.
The flett, pcie cable card, and nvme groups require the service name be provided since the lookup for that group's members' service name will fail until power is on.
Change-Id: Ib8baa266ee2d5aefe3c5a3eb4151ba2301189a25 Signed-off-by: Matthew Barth <msbarth@us.ibm.com>
show more ...
|
8d6cf064 | 13-Jan-2022 |
Matthew Barth <msbarth@us.ibm.com> |
control:p10bmc: Raise floor for nonfunctional ambient or altitude
Rainier4U does not utilize the altitude sensor currently.
Include ambient and altitude sensors in raising the floor when they are m
control:p10bmc: Raise floor for nonfunctional ambient or altitude
Rainier4U does not utilize the altitude sensor currently.
Include ambient and altitude sensors in raising the floor when they are marked nonfunctional. If either of these do not require the fan floor to be raised to this target, they can be removed from this event and set to a different floor if necessary.
Change-Id: Ieddd616b54e392746bdff195ef4d45af6f6fe7b0 Signed-off-by: Matthew Barth <msbarth@us.ibm.com>
show more ...
|
f2e3d74f | 13-Jan-2022 |
Matthew Barth <msbarth@us.ibm.com> |
control:p10bmc: Add ambient and altitude groups
Rainier4U does not utilize the altitude sensor currently.
Change-Id: Ibbe22501f099ff407d28cbb9c98e52edfb9da1c8 Signed-off-by: Matthew Barth <msbarth@
control:p10bmc: Add ambient and altitude groups
Rainier4U does not utilize the altitude sensor currently.
Change-Id: Ibbe22501f099ff407d28cbb9c98e52edfb9da1c8 Signed-off-by: Matthew Barth <msbarth@us.ibm.com>
show more ...
|
4172d8d5 | 13-Jan-2022 |
Matthew Barth <msbarth@us.ibm.com> |
control:p10bmc: Raise floor for any nonfunctional temperature sensor
Initially, raise the fan floor when any temperature sensor is marked nonfunctional. If any of these temperature sensors do not re
control:p10bmc: Raise floor for any nonfunctional temperature sensor
Initially, raise the fan floor when any temperature sensor is marked nonfunctional. If any of these temperature sensors do not require the fan floor to be raised to this target, they can be removed from this event and set to a different floor if necessary.
Change-Id: I5490560c80a72c8128d02666fe3b0a1d1e6f33ea Signed-off-by: Matthew Barth <msbarth@us.ibm.com>
show more ...
|
39925fb7 | 12-Jan-2022 |
Matthew Barth <msbarth@us.ibm.com> |
control:p10bmc: Raise floor when any OCC sensor is nonfunctional
Initially, raise the fan floor when any OCC sensor is marked nonfunctional. If it is found that specific types of OCC sensors do not
control:p10bmc: Raise floor when any OCC sensor is nonfunctional
Initially, raise the fan floor when any OCC sensor is marked nonfunctional. If it is found that specific types of OCC sensors do not require the fan floor to be raised to this target, they can be removed from this event and set to a different floor when any number of that type goes nonfunctional.
Change-Id: I5787bc6b9c4335cb6786c217ca22d2c1b3edb0f1 Signed-off-by: Matthew Barth <msbarth@us.ibm.com>
show more ...
|
8d87eb05 | 14-Jan-2022 |
Matt Spinler <spinler@us.ibm.com> |
control: Remove two debug traces
There are valid cases where a parameter value may not exist even when it is used in the set_net_increase/decrease_target event configs, so remove the debug traces th
control: Remove two debug traces
There are valid cases where a parameter value may not exist even when it is used in the set_net_increase/decrease_target event configs, so remove the debug traces that complain when it isn't there so they don't fill up the journal.
Signed-off-by: Matt Spinler <spinler@us.ibm.com> Change-Id: I2c7ca6d58fe073f8164e1b9cadae2b44e6ea37e6
show more ...
|
d4c7fb7e | 09-Nov-2021 |
Matt Spinler <spinler@us.ibm.com> |
control: PCIe floors action
This action sets the PCIe floor index by looking up the highest floor index of all the powered on PCIe cards that are recognized in the PCIe card JSON files. If a PCIe c
control: PCIe floors action
This action sets the PCIe floor index by looking up the highest floor index of all the powered on PCIe cards that are recognized in the PCIe card JSON files. If a PCIe card has its own temperature sensor then it doesn't provide a floor index. If a card isn't recognized then it's just ignored as it isn't considered a hot card.
The class documentation contains additional details on how the action behaves. It's JSON name is 'pcie_card_floors'.
Signed-off-by: Matt Spinler <spinler@us.ibm.com> Change-Id: I474916773476a6232d479119acb4ac2989909cb3
show more ...
|
e9d33b65 | 09-Nov-2021 |
Matt Spinler <spinler@us.ibm.com> |
control: PCIe card metadata wrapper class
This class introduces a PCIeCardMetadata class to manage JSON files containing PCIe card floor indexes. These can then be used by actions that want to set t
control: PCIe card metadata wrapper class
This class introduces a PCIeCardMetadata class to manage JSON files containing PCIe card floor indexes. These can then be used by actions that want to set the fan floors based on which PCIe cards are present.
It provides a lookup() method that takes four properties from the PCIeDevice D-Bus interface to uniquely identify a card, and then returns the floor index for the card if it doesn't have a temperature sensor on it, or the 'has temp sensor' value which will be true.
The code first loads /etc/phosphor-fan-presence/control/pcie_cards.json if it exists. If that isn't present, it then tries /usr/share/phosphor-fan-presence/control/pcie_cards.json. After that, it tries /usr/share/phosphor-fan-presence/control/<system-name>/pcie_cards.json where <system-name> comes from the list of system names passed into the constructor.
It will overwrite any file entries that match as it goes on, so if a system has to override just a few of the floor indexes from a more generic file it can be done without having to duplicate entries for cards that are the same.
Signed-off-by: Matt Spinler <spinler@us.ibm.com> Change-Id: I81f2476dd58d1529ee6484243e7d8f1e49027cf9
show more ...
|
9b7fc002 | 11-Jan-2022 |
Matt Spinler <spinler@us.ibm.com> |
control:p10bmc: Preload PCIe cable card temps
These are used in the 2sec temperature collection loop so need to be preloaded like the others.
Signed-off-by: Matt Spinler <spinler@us.ibm.com> Change
control:p10bmc: Preload PCIe cable card temps
These are used in the 2sec temperature collection loop so need to be preloaded like the others.
Signed-off-by: Matt Spinler <spinler@us.ibm.com> Change-Id: I5397c0c650e95d6d0ab8cf74aab3a51101ec8c6a
show more ...
|
23a7b2b3 | 11-Jan-2022 |
Matthew Barth <msbarth@us.ibm.com> |
control:p10bmc: Preload nvme and planar temps
When nvme and planar temps were added to the 2sec temperature collection loop, they were not included in the temp sensors that should be preloaded when
control:p10bmc: Preload nvme and planar temps
When nvme and planar temps were added to the 2sec temperature collection loop, they were not included in the temp sensors that should be preloaded when the event is enabled. Need these temps preloaded like the others so that an initial temperature value is in fan control's cache set.
Change-Id: I2c12bf143ba9afaecf27639c2d6c56a87db5b005 Signed-off-by: Matthew Barth <msbarth@us.ibm.com>
show more ...
|
1006fe3c | 10-Jan-2022 |
Matt Spinler <spinler@us.ibm.com> |
control:p10bmc: Add inc/dec actions for PCIe temps
Add the net increase and decrease actions for IBM's PCIe cable card temperatures. These are provided by a TMP435 sitting on either: * Flett NVMe J
control:p10bmc: Add inc/dec actions for PCIe temps
Add the net increase and decrease actions for IBM's PCIe cable card temperatures. These are provided by a TMP435 sitting on either: * Flett NVMe JBOF card (Rainier only) * Bear River(Rainier-2U)/Bear Lake(Rainier 4U/Everest) PCIe cable card
Signed-off-by: Matt Spinler <spinler@us.ibm.com> Change-Id: I0ab4f3ddbf5b1f40b7337a1bb4d1c961b0c3c41f
show more ...
|