tree 8f1d4cbd044c55858bc2b7f981dcf41ddec9f7bc
parent ed32c8dad83834b4cfa27927774c4dfafb6701d4
author Brandon Wyman <bjwyman@gmail.com> 1598994462 -0500
committer Brandon Wyman <bjwyman@gmail.com> 1602536305 -0500

PEL: Add phospor-power PSU errors

Add entries to the message registry JSON file for power supply related
errors that will be logged by the phosphor-psu-monitor application.

The multiple AC or input voltage errors (11001510, 11001520, 11001530,
11001540) have been combined into one 0x15F0 error. The message registry
does not allow for multiple uses of the same fault Name, and all of
these errors result in the same PWRSPLY symbolic FRU call out.

The multiple 110015x1 errors have been combined into one 0x15F1 error.
These errors should call out a specific power supply, using the
CALLOUT_INVENTORY_PATH keyword.

The multiple 110015x2 errors have been combined into one 0x15F2 error.
These errors will have multiple call outs. The failing part may be the
power supply itself, or anything in the path from the BMC to the power
supply. These errors should specify the call out via CALLOUT_DEV_PATH.

The multiple 110015x3 errors have been combined into one 0x15F3 error.
These errors should also call out a specific power supply, using the
CALLOUT_INVENTORY_PATH keyword.

Tested:
  * Ran the openpower-pels registry validation tool
  * Copy message_registry.json to /etc/phosphor-logging.
  * Use --enable-openpower-pel-extension to build binary.
  * Copy over phosphor-log-manager, daemon-reload, restart (prior added
    procedure used by new registry).
  * Created error logs for new message registry entries using the busctl
    tool to create the errors on the D-Bus interface.
  * Used peltool to verify correct PEL field values. NOTE: Inventory
    updates needed to get power supply location codes in call outs with
    CALLOUT_INVENTORY_PATH and CALLOUT_DEV_PATH.

Signed-off-by: Brandon Wyman <bjwyman@gmail.com>
Change-Id: I4749f9e0696bea5aba4bc8480f866fc77d7db950
