220985a5 | 18-May-2018 |
Andrew Jeffery <andrew@aj.id.au> |
Add MAINTAINERS file
Change-Id: Iee7a92941638d2b147eef2f0e85f9c90f638003c Signed-off-by: Andrew Jeffery <andrew@aj.id.au> |
f3adb782 | 10-May-2018 |
Matthew Barth <msbarth@us.ibm.com> |
utility: Remove getService function
The getService function is no longer used and is not necessary with the getService function within sdbusplus.hpp
Tested: N/A
Change-Id: Ifad8ec1efb64508923d4f5c
utility: Remove getService function
The getService function is no longer used and is not necessary with the getService function within sdbusplus.hpp
Tested: N/A
Change-Id: Ifad8ec1efb64508923d4f5c42bef318f0b03124c Signed-off-by: Matthew Barth <msbarth@us.ibm.com>
show more ...
|
1af90f09 | 10-May-2018 |
Matthew Barth <msbarth@us.ibm.com> |
utility: Remove getInvService function
The getInvService function is no longer used and is not necessary with the getService function within sdbusplus.hpp
Tested: N/A
Change-Id: Ibb2d55ef5be1852ae
utility: Remove getInvService function
The getInvService function is no longer used and is not necessary with the getService function within sdbusplus.hpp
Tested: N/A
Change-Id: Ibb2d55ef5be1852ae8ebd3dac32d66518d5d705c Signed-off-by: Matthew Barth <msbarth@us.ibm.com>
show more ...
|
17792cda | 10-May-2018 |
Matthew Barth <msbarth@us.ibm.com> |
cooling-type: Use lookupAndCallMethod
Have phosphor-cooling-type fail with a DBusMethodError exception when a failure occurs on updating inventory.
Resolves: openbmc/openbmc#2628
Tested: Cooli
cooling-type: Use lookupAndCallMethod
Have phosphor-cooling-type fail with a DBusMethodError exception when a failure occurs on updating inventory.
Resolves: openbmc/openbmc#2628
Tested: Cooling type properties still set correctly
Change-Id: Ia7e3379fc7d75c70e9c71d4f940f9da84b9f5774 Signed-off-by: Matthew Barth <msbarth@us.ibm.com>
show more ...
|
26e96122 | 09-May-2018 |
Matthew Barth <msbarth@us.ibm.com> |
Use setProperty function in fan set speed
When a fan's target speed is set, using the setProperty function allows for better handling of dbus failures setting the fan target property. If a failure o
Use setProperty function in fan set speed
When a fan's target speed is set, using the setProperty function allows for better handling of dbus failures setting the fan target property. If a failure occurs setting this property, a journal entry is created and a DBusPropertyError exception is thrown to allow the fan control application to exit and restart quickly in its allowed attempts configured in systemd.
Tested: Fan control application logs an error to the journal and then terminates when a dbus error occurs setting a fan target speed.
Change-Id: Ibd4bd8b18b6010727831d97e32c14fd6c681e170 Signed-off-by: Matthew Barth <msbarth@us.ibm.com>
show more ...
|
88923a06 | 11-May-2018 |
Matthew Barth <msbarth@us.ibm.com> |
Throw DBusPropertyError for all property accesses
On all get/set property functions, when an error occurs performing the access of a property, throw a DBusPropertyError exception containing the iden
Throw DBusPropertyError for all property accesses
On all get/set property functions, when an error occurs performing the access of a property, throw a DBusPropertyError exception containing the identifying parameters of the property.
Tested: DBusPropertyError exception occurs on failing to set a property DBusPropertyError exception occurs on failing to get a property
Change-Id: I9882d62d75153b4320a8d4a21ba7a52efbdd0af2 Signed-off-by: Matthew Barth <msbarth@us.ibm.com>
show more ...
|
6f30fd61 | 11-May-2018 |
Matthew Barth <msbarth@us.ibm.com> |
Add set property functions without mapper lookup
Tested: Property set with provided service name
Change-Id: I158d33f85602f48d1dfe8baa7ce54eec6e8f8296 Signed-off-by: Matthew Barth <msbarth@us.ib
Add set property functions without mapper lookup
Tested: Property set with provided service name
Change-Id: I158d33f85602f48d1dfe8baa7ce54eec6e8f8296 Signed-off-by: Matthew Barth <msbarth@us.ibm.com>
show more ...
|
7c48d10d | 09-May-2018 |
Matthew Barth <msbarth@us.ibm.com> |
Call method and return function
Add a function that calls a method and returns the response message without checking for an error. Its up to the user of this function to check if response.is_method_
Call method and return function
Add a function that calls a method and returns the response message without checking for an error. Its up to the user of this function to check if response.is_method_error() exists and handle accordingly.
Tested: Method is called and raw response is returned
Change-Id: I6678a78d8cfb32d2d13dba7cb48719fd26eccebc Signed-off-by: Matthew Barth <msbarth@us.ibm.com>
show more ...
|
1061cba1 | 09-May-2018 |
Matthew Barth <msbarth@us.ibm.com> |
perf: Cache service name for fan target sensors
Cache the service name for each fan target sensor path and use that service when a new target speed is set on the Target property.
Tested: Fan ta
perf: Cache service name for fan target sensors
Cache the service name for each fan target sensor path and use that service when a new target speed is set on the Target property.
Tested: Fan target sensor created and set speed functions the same
Change-Id: I3e25e355cf5d31ce814a73c801c6f086fa45531a Signed-off-by: Matthew Barth <msbarth@us.ibm.com>
show more ...
|
2029106a | 09-May-2018 |
Matthew Barth <msbarth@us.ibm.com> |
Use shared callMethod function in control manager
To better handle exit/restart of the fan control application use the shared callMethod function to call systemd's startunit on the fan control ready
Use shared callMethod function in control manager
To better handle exit/restart of the fan control application use the shared callMethod function to call systemd's startunit on the fan control ready target. This allows the fan control application to exit and restart quickly in its allowed attempts configured in systemd.
Tested: StartUnit on fan control ready target works the same
Change-Id: Idce2d8831b4e8de0ef181a0849587e465419f68c Signed-off-by: Matthew Barth <msbarth@us.ibm.com>
show more ...
|
803d35bc | 09-May-2018 |
Matthew Barth <msbarth@us.ibm.com> |
Use shared getProperty function in control manager
When the manager checks a getProperty condition for fan control, it should use the shared getProperty function that now returns a DbusMethodError t
Use shared getProperty function in control manager
When the manager checks a getProperty condition for fan control, it should use the shared getProperty function that now returns a DbusMethodError to better exit/restart the fan control application.
Tested: Condition check functions the same
Change-Id: I37f83ef4273343bd527ac149ac5eee213d0ad63d Signed-off-by: Matthew Barth <msbarth@us.ibm.com>
show more ...
|
e0f67c8b | 08-May-2018 |
Matthew Barth <msbarth@us.ibm.com> |
perf: Count state of properties before set speed
Once the number of properties at a given state are at/above the given number allowed, set the fan speed and stop checking the remaining properties.
perf: Count state of properties before set speed
Once the number of properties at a given state are at/above the given number allowed, set the fan speed and stop checking the remaining properties.
Tested: Action function results are unchanged
Change-Id: Icfd347703c973b12f4b7806ea1ba84056f987253 Signed-off-by: Matthew Barth <msbarth@us.ibm.com>
show more ...
|
572d406c | 08-May-2018 |
Matthew Barth <msbarth@us.ibm.com> |
Enhance precondition function and tracing
Replace count_if with all_of in the property states match precondition to stop iterating over the group members once a property state does not match.
Inclu
Enhance precondition function and tracing
Replace count_if with all_of in the property states match precondition to stop iterating over the group members once a property state does not match.
Include additional debug tracing when the precondition passes and fails to help in determining where the precondition causes fans to be at full speed.
Tested: Verify debug traces align with precondition state
Change-Id: I1c3d8f096a645ac3bfcdfb7b9197682cf7ca52a0 Signed-off-by: Matthew Barth <msbarth@us.ibm.com>
show more ...
|
702c4a55 | 28-Feb-2018 |
Matthew Barth <msbarth@us.ibm.com> |
Move generated code template to file
In preparation of enhancing the generated code format, the template used has been externalized and will continue to be modified in future commits to parse & gene
Move generated code template to file
In preparation of enhancing the generated code format, the template used has been externalized and will continue to be modified in future commits to parse & generate more efficiently.
Tested: Generated code remains unchanged
Resolves openbmc/phosphor-fan-presence#8
Change-Id: Ifbf718e8a22acb2f2f939bbdcc2e7fe041e9ed58 Signed-off-by: Matthew Barth <msbarth@us.ibm.com>
show more ...
|
9af27f65 | 09-May-2018 |
Matthew Barth <msbarth@us.ibm.com> |
Remove property change trace
Fan control is required to be configured for all possible temperature sensors within a machine type, however not every configuration of that machine type contains all of
Remove property change trace
Fan control is required to be configured for all possible temperature sensors within a machine type, however not every configuration of that machine type contains all of those sensors. The trace removed here was filling the journal with unnecessary entries for sensors that are expected to not be present.
Tested: Journal entry is not longer traced
Change-Id: Iccb85ae7e9463ee03522ce4efde6410ed14a76ca Signed-off-by: Matthew Barth <msbarth@us.ibm.com>
show more ...
|
ba7b5fea | 25-Apr-2018 |
Matt Spinler <spinler@us.ibm.com> |
Throw custom exceptions on D-Bus method failures
All 3 fan applications - control, monitor, and presence have cases where it is expected that a getProperty call may fail because a sensor is missing.
Throw custom exceptions on D-Bus method failures
All 3 fan applications - control, monitor, and presence have cases where it is expected that a getProperty call may fail because a sensor is missing. While the applications already handle this, the InternalFailure exception that was being thrown by the underlying call generates log entries that make it look like something bad happened.
The custom exceptions now being thrown do not log anything on creation, but store all of the failing information so that any callers could still log the info if they wanted to.
Tested: Boot a water cooled Witherspoon and see the fan presence and monitor applications not look like they are failing. Boot a system without the fan hwmon running, and see fan-control-init still show the fails.
Change-Id: Ifd8ad6e3deb492bbaf33f12c7258125dce1e5ea8 Signed-off-by: Matt Spinler <spinler@us.ibm.com>
show more ...
|
84f105b7 | 25-Apr-2018 |
Matt Spinler <spinler@us.ibm.com> |
Presence: Fix a log metadata entry
Change-Id: I2d7b154de98bef1cb518d036496828c57a391144 Signed-off-by: Matt Spinler <spinler@us.ibm.com> |
33618bc1 | 03-May-2018 |
Matthew Barth <msbarth@us.ibm.com> |
Add generation of propertiesMatch condition
Update the mako template to generate conditions within the FanDefinition sections when a condition is defined for a fan. Each supported condition function
Add generation of propertiesMatch condition
Update the mako template to generate conditions within the FanDefinition sections when a condition is defined for a fan. Each supported condition function's parameters are generated within a `getCondParams` mako method, allowing easy support of additional conditions with differing parameters.
Tested: A given condition's function and parameters generate correctly No condition function is generated on a fan where not defined
Resolves: openbmc/openbmc#2976
Change-Id: I3f0b30702fdcef6749929d85543270863eb26381 Signed-off-by: Matthew Barth <msbarth@us.ibm.com>
show more ...
|
81748b14 | 02-May-2018 |
Matthew Barth <msbarth@us.ibm.com> |
Support optional conditions on creating fans
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 t
Support optional conditions on creating fans
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>
show more ...
|
7311c394 | 03-May-2018 |
Matthew Barth <msbarth@us.ibm.com> |
Add methods to return property variant
Create methods to return a property variant for use where the overloaded comparison operations are needed against a property value stored as a variant.
Tested
Add methods to return property variant
Create methods to return a property variant for use where the overloaded comparison operations are needed against a property value stored as a variant.
Tested: A property is looked up and returned as the given variant type
Change-Id: Iab557781a3ab9e33d3595ad69db5544a25efe2eb Signed-off-by: Matthew Barth <msbarth@us.ibm.com>
show more ...
|
30abbef8 | 12-Apr-2018 |
Matthew Barth <msbarth@us.ibm.com> |
Rename remove object interface function
Update the removeObjIntf function name to removeObjectInterface. This was requested per a review comment.
Tested: N/A
Change-Id: I52589724685bb5b8d92d3da220
Rename remove object interface function
Update the removeObjIntf function name to removeObjectInterface. This was requested per a review comment.
Tested: N/A
Change-Id: I52589724685bb5b8d92d3da22072b63b43f69a01 Signed-off-by: Matthew Barth <msbarth@us.ibm.com>
show more ...
|
e7d87053 | 21-Mar-2018 |
Matthew Barth <msbarth@us.ibm.com> |
Generate InterfacesRemoved signal events
In the case that an interface containing a property used within an event is removed from dbus, that event can subscribe to the InterfacesRemoved signal. When
Generate InterfacesRemoved signal events
In the case that an interface containing a property used within an event is removed from dbus, that event can subscribe to the InterfacesRemoved signal. When an InterfacesRemoved signal is received by fan control, the corresponding interface (and all associated properties) is removed from the cache used by all events.
*Note: This area of signal subscription/handling code generation is intended to be re-worked under openbmc/openbmc#2911. This is the reason for supporting a different yaml layout for the InterfacesRemoved signal.
Tested: Generated code constructs InterfacesRemoved signals correctly
Resolves openbmc/openbmc#2223
Change-Id: Idc3e8db4e7dc07a2bb6898d3cc30ab775362dd35 Signed-off-by: Matthew Barth <msbarth@us.ibm.com>
show more ...
|
1499a5c3 | 20-Mar-2018 |
Matthew Barth <msbarth@us.ibm.com> |
Add InterfacesRemoved signal handling
When an InterfacesRemoved signal is received for a subscribed object path, each interface returned is checked against the interface which was defined for each o
Add InterfacesRemoved signal handling
When an InterfacesRemoved signal is received for a subscribed object path, each interface returned is checked against the interface which was defined for each object on the event. When these are equal, the interface (and all associated properties) are removed from the shared cache of event properties.
Tested: Manually added an InterfacesRemoved signal Verified interface was removed from object path in cache
Change-Id: I348d82f14e0cfba2b18a81a9f54c6cb06b586797 Signed-off-by: Matthew Barth <msbarth@us.ibm.com>
show more ...
|
c72b8911 | 19-Jan-2018 |
Matthew Barth <msbarth@us.ibm.com> |
Minimize service name mapper lookups
Retrieve the service names from the cached dataset within the zone for a path and interface, updating the cache when not found. This is used when initializing pr
Minimize service name mapper lookups
Retrieve the service names from the cached dataset within the zone for a path and interface, updating the cache when not found. This is used when initializing property values and service name owners.
Additional performance enhancements to use `GetSubTree` prior to processing a set speed event will be included under openbmc/openbmc#2911. This will keep unnecessary `GetSubTree` lookups from occurring for paths/interfaces that don't exist to further improve upon initializing properties fan control is defined to use.
Tested: First path updates service name cache for all paths sharing the same interface First missing interface on a path updates service name cache for all paths sharing that interface Verify mapper lookups for X number of paths sharing the same interface is reduced to (X-(X-1)) NameOwnerChanged events read/update the same set of service name cache
Change-Id: Ia235b36ba5ae8cda38342d7521f3d87080c2970a Signed-off-by: Matthew Barth <msbarth@us.ibm.com>
show more ...
|
5a796e66 | 19-Jan-2018 |
Matthew Barth <msbarth@us.ibm.com> |
Get a property without service name lookup
Expand on the current getProperty functions to allow a service name to be passed in so a mapper lookup is not necessary.
Tested: A property value is r
Get a property without service name lookup
Expand on the current getProperty functions to allow a service name to be passed in so a mapper lookup is not necessary.
Tested: A property value is read from a message where the service is given
Change-Id: Ia0450163744c9f89a26a053ec2cfb44ae761426d Signed-off-by: Matthew Barth <msbarth@us.ibm.com>
show more ...
|