38f802ac | 08-Sep-2021 |
Patrick Williams <patrick@stwcx.xyz> |
exception: add errno
sdbusplus is going to start requiring the 'get_errno' function on all exceptions.
Signed-off-by: Patrick Williams <patrick@stwcx.xyz> Change-Id: If98b71c227b109341189409ea8de42
exception: add errno
sdbusplus is going to start requiring the 'get_errno' function on all exceptions.
Signed-off-by: Patrick Williams <patrick@stwcx.xyz> Change-Id: If98b71c227b109341189409ea8de42fa333e99c0
show more ...
|
39eb08a9 | 07-Sep-2021 |
Shawn McCarney <shawnmm@us.ibm.com> |
regulators: Add phase_fault_detection to parser
Enhance the JSON configuration file parser to support the new phase_fault_detection object.
Add gtest test cases to exercise new code.
Signed-off-by
regulators: Add phase_fault_detection to parser
Enhance the JSON configuration file parser to support the new phase_fault_detection object.
Add gtest test cases to exercise new code.
Signed-off-by: Shawn McCarney <shawnmm@us.ibm.com> Change-Id: I5b987054ef35c8b27d7d984e5e9ec9b4488bf944
show more ...
|
1115785f | 07-Sep-2021 |
Shawn McCarney <shawnmm@us.ibm.com> |
regulators: Add log_phase_fault to parser
Enhance the JSON configuration file parser to support the new log_phase_fault action.
Add gtest test cases to exercise new code.
Signed-off-by: Shawn McCa
regulators: Add log_phase_fault to parser
Enhance the JSON configuration file parser to support the new log_phase_fault action.
Add gtest test cases to exercise new code.
Signed-off-by: Shawn McCarney <shawnmm@us.ibm.com> Change-Id: I8ef9974df8ca8be07dd284552bd978802f502338
show more ...
|
b70370b7 | 07-Sep-2021 |
Shawn McCarney <shawnmm@us.ibm.com> |
regulators: Add phase fault type to parser
Enhance the JSON configuration file parser to support the new phase fault type values.
Add gtest test cases to exercise new code.
Signed-off-by: Shawn Mc
regulators: Add phase fault type to parser
Enhance the JSON configuration file parser to support the new phase fault type values.
Add gtest test cases to exercise new code.
Signed-off-by: Shawn McCarney <shawnmm@us.ibm.com> Change-Id: If5ac011f740fdb6f24692c713a56d4947709d660
show more ...
|
91f87a56 | 07-Sep-2021 |
Shawn McCarney <shawnmm@us.ibm.com> |
regulators: Add i2c_capture_bytes to parser
Enhance the JSON configuration file parser to support the new i2c_capture_bytes action.
Add gtest test cases to exercise new code.
Signed-off-by: Shawn
regulators: Add i2c_capture_bytes to parser
Enhance the JSON configuration file parser to support the new i2c_capture_bytes action.
Add gtest test cases to exercise new code.
Signed-off-by: Shawn McCarney <shawnmm@us.ibm.com> Change-Id: I92f50fe3df9b3469e16e03b04ae5d0df464eb3e2
show more ...
|
9284c307 | 02-Sep-2021 |
Shawn McCarney <shawnmm@us.ibm.com> |
regulators: Implement phase_fault_detection object
Implement the new phase_fault_detection object in the JSON configuration file.
Create gtests to test the new class.
Signed-off-by: Shawn McCarney
regulators: Implement phase_fault_detection object
Implement the new phase_fault_detection object in the JSON configuration file.
Create gtests to test the new class.
Signed-off-by: Shawn McCarney <shawnmm@us.ibm.com> Change-Id: I364281c83fbcc7fd26d2d7decb6d8338484af4e1
show more ...
|
69f10ad0 | 02-Sep-2021 |
Patrick Williams <patrick@stwcx.xyz> |
exception: switch to public sdbus exception
SdBusError was intended to be a private error type inside sdbusplus. Switch all catch locations to use the general sdbusplus::exception type.
Signed-off-
exception: switch to public sdbus exception
SdBusError was intended to be a private error type inside sdbusplus. Switch all catch locations to use the general sdbusplus::exception type.
Signed-off-by: Patrick Williams <patrick@stwcx.xyz> Change-Id: I4c07309c31740d17e90aa7831a6ac469643333ac
show more ...
|
e6d54a1f | 02-Sep-2021 |
Shawn McCarney <shawnmm@us.ibm.com> |
regulators: Add toErrorType() utility function
Add a utility function to convert a PhaseFaultType value to the corresponding ErrorType value.
The ErrorType enumeration is used by the ErrorHistory c
regulators: Add toErrorType() utility function
Add a utility function to convert a PhaseFaultType value to the corresponding ErrorType value.
The ErrorType enumeration is used by the ErrorHistory class.
Signed-off-by: Shawn McCarney <shawnmm@us.ibm.com> Change-Id: Ia0e2c7789087f5782006fcb6c6ede0faedaf5e0b
show more ...
|
630c46f2 | 02-Sep-2021 |
Shawn McCarney <shawnmm@us.ibm.com> |
regulators: Improve I2CCaptureBytesAction doxygen
Improve the doxygen comments for the I2CCaptureBytesAction class.
Signed-off-by: Shawn McCarney <shawnmm@us.ibm.com> Change-Id: Ic3352f0e35ab2dab8e
regulators: Improve I2CCaptureBytesAction doxygen
Improve the doxygen comments for the I2CCaptureBytesAction class.
Signed-off-by: Shawn McCarney <shawnmm@us.ibm.com> Change-Id: Ic3352f0e35ab2dab8ea0a97d35ce66b4ddcdcca5
show more ...
|
1a281f1c | 02-Sep-2021 |
Shawn McCarney <shawnmm@us.ibm.com> |
regulators: Remove usage of InvalidEnumString
Remove usage of the internal sdbusplus exception type InvalidEnumString.
The public base class sdbusplus::exception_t is abstract, so you cannot throw
regulators: Remove usage of InvalidEnumString
Remove usage of the internal sdbusplus exception type InvalidEnumString.
The public base class sdbusplus::exception_t is abstract, so you cannot throw it directly. The child class InvalidEnumString was being used in a gtest test case to throw an sdbusplus::exception_t.
Change the test case to throw the new TestSDBusError subclass instead.
Signed-off-by: Shawn McCarney <shawnmm@us.ibm.com> Change-Id: I219185fdca39b12f08bb577568af614ac99031c3
show more ...
|
5dab5d3d | 28-Aug-2021 |
Shawn McCarney <shawnmm@us.ibm.com> |
regulators: Add phase faults to ErrorLogging
Enhance the ErrorLogging class hierarchy to log phase fault errors. Support specifying additional error data that may have been collected from the device
regulators: Add phase faults to ErrorLogging
Enhance the ErrorLogging class hierarchy to log phase fault errors. Support specifying additional error data that may have been collected from the device.
Tested: * Logged an N phase fault error * Logged an N+1 phase fault error * Verified mock logPhaseFault() method could be used in a gtest.
Signed-off-by: Shawn McCarney <shawnmm@us.ibm.com> Change-Id: I67efb7e16bb3fc5a071ccc60a949bba30daf3e78
show more ...
|
3f7da6e4 | 27-Aug-2021 |
Shawn McCarney <shawnmm@us.ibm.com> |
regulators: Add phase faults to ErrorHistory
Add the new N and N+1 phase fault errors to the ErrorHistory class.
Update the gtests to test for the new phase fault error types.
Signed-off-by: Shawn
regulators: Add phase faults to ErrorHistory
Add the new N and N+1 phase fault errors to the ErrorHistory class.
Update the gtests to test for the new phase fault error types.
Signed-off-by: Shawn McCarney <shawnmm@us.ibm.com> Change-Id: Ief9482219cfa8940f26a752dce9965b6c0c257e7
show more ...
|
3b242b72 | 27-Aug-2021 |
Shawn McCarney <shawnmm@us.ibm.com> |
regulators: Implement i2c_capture_bytes action
Implement the new i2c_capture_bytes action in the JSON configuration file.
Create gtests to test the new class.
Signed-off-by: Shawn McCarney <shawnm
regulators: Implement i2c_capture_bytes action
Implement the new i2c_capture_bytes action in the JSON configuration file.
Create gtests to test the new class.
Signed-off-by: Shawn McCarney <shawnmm@us.ibm.com> Change-Id: Ie43e147a0a076090729871140bb5889c74323d19
show more ...
|
fa23f7d1 | 26-Aug-2021 |
Shawn McCarney <shawnmm@us.ibm.com> |
regulators: Implement log_phase_fault action
Implement the new log_phase_fault action in the JSON configuration file.
Create gtests to test the new class.
Signed-off-by: Shawn McCarney <shawnmm@us
regulators: Implement log_phase_fault action
Implement the new log_phase_fault action in the JSON configuration file.
Create gtests to test the new class.
Signed-off-by: Shawn McCarney <shawnmm@us.ibm.com> Change-Id: I53130b029967d0a0d7b7fdd9b12f69035b9f085e
show more ...
|
421128ef | 25-Aug-2021 |
Shawn McCarney <shawnmm@us.ibm.com> |
regulators: Add phase faults to ActionEnvironment
Enhance the ActionEnvironment class to support detecting and logging redundant phase fault errors.
Add gtests to test the new functions/methods.
S
regulators: Add phase faults to ActionEnvironment
Enhance the ActionEnvironment class to support detecting and logging redundant phase fault errors.
Add gtests to test the new functions/methods.
Signed-off-by: Shawn McCarney <shawnmm@us.ibm.com> Change-Id: Id87d811374dd3da616cdeeb780b3575ef96ffbb7
show more ...
|
5d4a9c78 | 19-Aug-2021 |
Shawn McCarney <shawnmm@us.ibm.com> |
regulators: Add device_id to validation tool
Enhance the configuration file validation tool to verify that any "device_id" properties refer to a valid device ID. This property exists in the new pha
regulators: Add device_id to validation tool
Enhance the configuration file validation tool to verify that any "device_id" properties refer to a valid device ID. This property exists in the new phase_fault_detection object.
Add the following new automated tests * Test where phase_fault_detection object specifies an invalid rule_id * Test where phase_fault_detection object specifies an invalid device_id
Signed-off-by: Shawn McCarney <shawnmm@us.ibm.com> Change-Id: I242ced0a2d0c4483d0dd7c4d36781a9f588a7e4f
show more ...
|
846dde5d | 14-Aug-2021 |
Shawn McCarney <shawnmm@us.ibm.com> |
regulators: Add phase fault detection to schema
Add the following new JSON objects to the configuration file schema: * i2c_capture_bytes * log_phase_fault * phase_fault_detection
Add new automated
regulators: Add phase fault detection to schema
Add the following new JSON objects to the configuration file schema: * i2c_capture_bytes * log_phase_fault * phase_fault_detection
Add new automated tests to verify the schema additions.
Also make the following enhancements to the automated schema tests: * Add presence_detection rule to sample JSON * Modify the function called by EXPECT_JSON_INVALID(). Support passing an empty string as the expected first line written to stdout. This value means the stdout line should be ignored. This helps in cases where the output from jsonschema is very long, cryptic, and/or dependent on the jsonschema version. * Added a blank line between TEST functions to improve readability.
Signed-off-by: Shawn McCarney <shawnmm@us.ibm.com> Change-Id: Ie1dac1b9b2edaf055266c8b7868e017a57dda5fc
show more ...
|
4dc9a300 | 14-Aug-2021 |
Shawn McCarney <shawnmm@us.ibm.com> |
regulators: Standardize arrays in schema
Standardize the definition of arrays of objects in the JSON config file schema.
When an array contains objects as elements, then both the array and the obje
regulators: Standardize arrays in schema
Standardize the definition of arrays of objects in the JSON config file schema.
When an array contains objects as elements, then both the array and the object type need to be defined in the schema.
Currently the schema definitions for arrays of objects are inconsistent. Sometimes the object type is defined at the same time as the array, and sometimes the array references a separate object type.
Standardize the schema so that all array definitions reference a separate object type. This makes the array definition simpler, and it makes the object type reusable.
Also standardize use of white space in several places where it was inconsistent in the file.
Tested: * Ran automated schema tests.
Signed-off-by: Shawn McCarney <shawnmm@us.ibm.com> Change-Id: If972c2a599e665e94f37e8942239074e2ec19c41
show more ...
|
350a21ae | 14-Aug-2021 |
Shawn McCarney <shawnmm@us.ibm.com> |
regulators: Standardize blank line use in schema
Standardize use of blank lines in the schema file that defines the JSON configuration file format.
Currently blank lines are used inconsistently, an
regulators: Standardize blank line use in schema
Standardize use of blank lines in the schema file that defines the JSON configuration file format.
Currently blank lines are used inconsistently, and it makes the schema difficult to read.
Use one blank line in between JSON object definitions, and remove all other blank lines.
Signed-off-by: Shawn McCarney <shawnmm@us.ibm.com> Change-Id: I8865306b756d8904902fc799dc8f6724ee1bab43
show more ...
|
b1a80c5e | 13-Aug-2021 |
Shawn McCarney <shawnmm@us.ibm.com> |
regulators: Fix JSON documentation error
Remove the non-existent "detect_phase_fault" action from the JSON configuration file documentation.
This action existed in early versions of the phase fault
regulators: Fix JSON documentation error
Remove the non-existent "detect_phase_fault" action from the JSON configuration file documentation.
This action existed in early versions of the phase fault detection design, but it no longer exists.
Signed-off-by: Shawn McCarney <shawnmm@us.ibm.com> Change-Id: I7e1b76bbd690cdf04a1856360395ec111171e6d3
show more ...
|
7e2a549e | 09-Aug-2021 |
Shawn McCarney <shawnmm@us.ibm.com> |
regulators: Document phase fault detection
Three new JSON objects are being added to support phase fault detection: * phase_fault_detection * i2c_capture_bytes * log_phase_fault
Add new markdown fi
regulators: Document phase fault detection
Three new JSON objects are being added to support phase fault detection: * phase_fault_detection * i2c_capture_bytes * log_phase_fault
Add new markdown files to document these new objects. Also update existing documentation to include phase fault detection.
Signed-off-by: Shawn McCarney <shawnmm@us.ibm.com> Change-Id: I1b3342970640e5942bd5dc5249dae5fb26115324
show more ...
|
aacc2aaf | 25-May-2021 |
Matt Spinler <spinler@us.ibm.com> |
regulators: Support a string or vector for VPD
Add a 'byte_values' alternative to the 'value' entry in the compare VPD action. This is to support VPD values that are not strings, such as 'HW', a ne
regulators: Support a string or vector for VPD
Add a 'byte_values' alternative to the 'value' entry in the compare VPD action. This is to support VPD values that are not strings, such as 'HW', a new IBM keyword that describes the version of a piece of hardware.
To support this, the VPD class now treats all VPD keyword values as vectors of uint8_ts, including in its data cache. If a compare VPD action in the JSON contains a string value, it will be converted to the vector before the CompareVPDAction class is created.
Signed-off-by: Matt Spinler <spinler@us.ibm.com> Change-Id: I3fcabf896f4885feae1b07ee2c3da5929cf8bfa4
show more ...
|
d9c8be57 | 18-May-2021 |
Shawn McCarney <shawnmm@us.ibm.com> |
regulators: Enable sensor monitoring
Enable sensor monitoring in the phosphor-regulators application.
Previous commits implemented the majority of the sensor monitoring support. This commit contai
regulators: Enable sensor monitoring
Enable sensor monitoring in the phosphor-regulators application.
Previous commits implemented the majority of the sensor monitoring support. This commit contains the last set of changes needed to enable monitoring for the entire application.
Modify the top level Manager class to enable or disable monitoring based on the D-Bus 'monitor' method. This method is called by the regsctl command line tool. Service files use regsctl to enable monitoring during power on and disable monitoring during power off.
When monitoring is enabled, set a repeating, one-second timer. When the timer expires, execute one sensor monitoring cycle for all voltage regulator sensors.
When monitoring is disabled, turn off the timer. Put all the sensors in an inactive state, indicating they are no longer being updated. They will remain in this state until the system is powered on again.
Tested: * Verified sensor monitoring is enabled when chassis is powered on. * Verified sensor monitoring is disabled when chassis is powered off. * Verified voltage regulator sensors are read once per second while monitoring is enabled. * Verified sensors are published on D-Bus when monitoring is enabled. * Verified sensors remain on D-Bus but are put in an inactive state when monitoring is disabled. * Verified sensors are not read when monitoring is disabled. * Tested where D-Bus queries to obtain current power state fail with a D-Bus exception. * Verified sensor monitoring is enabled if BMC is reset while chassis is powered on. * Verified sensor monitoring is enabled if regulators application is stopped and re-started while chassis is powered on. * For complete test plan, see https://gist.github.com/smccarney/0afa4a50afcf9f0d47e1a21ebe33dbfc
Signed-off-by: Shawn McCarney <shawnmm@us.ibm.com> Change-Id: Ic85d4baa0a53e57bd2a494611d70a76ae7b135f7
show more ...
|
ce540f3c | 14-May-2021 |
Shawn McCarney <shawnmm@us.ibm.com> |
regulators: Clear error history when powering on
Enhance the Manager class to clear error history when powering on the system. Clear all data on previously logged errors. If the error occurs again
regulators: Clear error history when powering on
Enhance the Manager class to clear error history when powering on the system. Clear all data on previously logged errors. If the error occurs again in the future, it will be logged again.
When the system is powered off, hardware may be replaced that fixes the problem. Thus, errors are cleared during power on.
Tested: * Verified that error history is cleared when system is powered on.
Signed-off-by: Shawn McCarney <shawnmm@us.ibm.com> Change-Id: Id174458ec3649819f8e7127c16039d535c42dd1e
show more ...
|
23b0d0d1 | 14-May-2021 |
Shawn McCarney <shawnmm@us.ibm.com> |
regulators: Add clearErrorHistory to System class
Add a clearErrorHistory() method to the System class. The method should clear all data on previously logged errors. If the error occurs again in t
regulators: Add clearErrorHistory to System class
Add a clearErrorHistory() method to the System class. The method should clear all data on previously logged errors. If the error occurs again in the future, it will be logged again.
This method is normally called when the system is being powered on. For code that runs repeatedly, errors are only logged once per boot.
When the system is powered off, hardware may be replaced that fixes the problem. Thus, errors are cleared during power on.
Signed-off-by: Shawn McCarney <shawnmm@us.ibm.com> Change-Id: I6206cc22900c97f5fbfcd39fde81e448a89ac94d
show more ...
|