History log of /openbmc/phosphor-logging/extensions/ (Results 526 – 550 of 688)
Revision Date Author Comments
(<<< Hide modified files)
(Show modified files >>>)
6f00519910-Mar-2020 Harisuddin Mohamed Isa <harisuddin@gmail.com>

PEL: peltool: Implement SRC regex filtering

Added "-s, --scrub filename" option to ignore PELs matching regular
expression passed through the specified file.

Scrubbing by SRC applies to the -l, -a

PEL: peltool: Implement SRC regex filtering

Added "-s, --scrub filename" option to ignore PELs matching regular
expression passed through the specified file.

Scrubbing by SRC applies to the -l, -a and -n options of peltool.

\# ./peltool -l -h
{
"0x50000C00": {
"SRC": "BD8D1001",
"Message": "An operation timed out",
"PLID": "0x50000C00",
"CreatorID": "BMC",
"Subsystem": "BMC Firmware",
"Commit Time": "12/05/2019 18:32:42",
"Sev": "Informational Event",
"CompID": "0x1000"
}
}

\# ./peltool -l -h -s filename
{}

\# ./peltool -n -h -s filename
{
"Number of PELs found": 0
}

Signed-off-by: Harisuddin Mohamed Isa <harisuddin@gmail.com>
Change-Id: Idb44c6574f1bd192dfbf354d2879cae084251e4c

show more ...

5f5352e505-Mar-2020 Matt Spinler <spinler@us.ibm.com>

PEL: Add HostNotifier related debug traces

Add some debug traces that make it easier to debug issues in the code
paths that send PELs to the host. They will only show up when the
journald conf file

PEL: Add HostNotifier related debug traces

Add some debug traces that make it easier to debug issues in the code
paths that send PELs to the host. They will only show up when the
journald conf files are modified to turn on debug journal entries.

Signed-off-by: Matt Spinler <spinler@us.ibm.com>
Change-Id: I1ad6b584bed8c6b58aee94ac2178c4d0b6e3e5d8

show more ...

7cb985ff05-Mar-2020 Matt Spinler <spinler@us.ibm.com>

PEL: Tell HostNotifier about deleted PELs

Have the HostNotifier class subscribe to the Repository class's PEL
deletion callbacks so that when a PEL is deleted HostNotifier can remove
that PEL from i

PEL: Tell HostNotifier about deleted PELs

Have the HostNotifier class subscribe to the Repository class's PEL
deletion callbacks so that when a PEL is deleted HostNotifier can remove
that PEL from its queue and also from its sent list.

Signed-off-by: Matt Spinler <spinler@us.ibm.com>
Change-Id: I37c61bd62f208512e0c45a628548e0881272d2f5

show more ...

829b052d04-Mar-2020 Matt Spinler <spinler@us.ibm.com>

PEL: Clear PLDM instance IDs in certain cases

When the host powers off or the code hits the maximum amount of retries
after a failure and gives up, call the PLDM interface's cancelCmd
function to en

PEL: Clear PLDM instance IDs in certain cases

When the host powers off or the code hits the maximum amount of retries
after a failure and gives up, call the PLDM interface's cancelCmd
function to ensure that the code will get a new instance ID on any
future attempts at sending a PEL to the host.

Note that in the power off case the PLDMInterface class would only have
an instance ID around if it was in the middle of sending a command at
the time.

It is doing this because there is no way to know when the next attempt
at sending up a PEL will occur, it could be months or years, and it
can't assume the PLDM daemon will not have already given that ID to
someone else by then.

Signed-off-by: Matt Spinler <spinler@us.ibm.com>
Change-Id: I6cd5ef6131ee0b2a205fcf71db5a2bfaa2e44e36

show more ...

3a4243a603-Mar-2020 Matt Spinler <spinler@us.ibm.com>

PEL: Decrease the PLDM send failure retry time

The original desire for waiting 6s before retrying on a PLDM send failure
was in the hopes that the PLDM daemon would free up PLDM instance IDs
after t

PEL: Decrease the PLDM send failure retry time

The original desire for waiting 6s before retrying on a PLDM send failure
was in the hopes that the PLDM daemon would free up PLDM instance IDs
after that time in case they were all taken.

However, the PLDM daemon did not end up implementing that feature, and
even if it did now that the D-Bus call to get that is asynchronous the
send function would succeed in that case anyway.

Signed-off-by: Matt Spinler <spinler@us.ibm.com>
Change-Id: I442e7259fe731d13eb8c0502936bfb5b7ac2ccd6

show more ...

fea92d1003-Mar-2020 Matt Spinler <spinler@us.ibm.com>

PEL: Remove the synchronous getPLDMInstanceID call

This original call to get the PLDM instance ID was synchronous, and it
was stubbed out anyway because it would deadlock with the PLDM daemon.
The d

PEL: Remove the synchronous getPLDMInstanceID call

This original call to get the PLDM instance ID was synchronous, and it
was stubbed out anyway because it would deadlock with the PLDM daemon.
The deadlock was fixed by making this call asynchronously in a previous
commit.

Signed-off-by: Matt Spinler <spinler@us.ibm.com>
Change-Id: I576f0e8cb0ecc2fcdfbced91882cce0b529933b7

show more ...

2843ba2803-Mar-2020 Matt Spinler <spinler@us.ibm.com>

PEL: Get PLDM instance ID asynchonously

Start actually getting the PLDM instance ID from the PLDM daemon for use
in sending PLDM commands, and refactor the PLDM interface class to do
this using sd_b

PEL: Get PLDM instance ID asynchonously

Start actually getting the PLDM instance ID from the PLDM daemon for use
in sending PLDM commands, and refactor the PLDM interface class to do
this using sd_bus_call_method_async. After the instance ID is obtained
then the rest of the PLDM command sequence can be run to notify the host
of PELs.

This is necessary because the PLDM daemon may be making a call to the
logging daemon at the same time to create a new OpenBMC event log due
to a host PEL that came down, and there will be a deadlock if the method
call was synchronous.

A new instance ID is needed for every new PLDM command, unless there was
a failure before the host could respond, so the code keeps track of when
it needs to get a new ID.

Signed-off-by: Matt Spinler <spinler@us.ibm.com>
Change-Id: I0e00d1180363250662bd85f9ec69813ada500931

show more ...

a44efe4803-Mar-2020 Matt Spinler <spinler@us.ibm.com>

PEL: Common function to call host iface response

Add a function to the HostInterface class to invoke the user defined
command response function if there is one, and then change the code to
use this

PEL: Common function to call host iface response

Add a function to the HostInterface class to invoke the user defined
command response function if there is one, and then change the code to
use this new function.

Signed-off-by: Matt Spinler <spinler@us.ibm.com>
Change-Id: Ia376923df70863bcd46120cf23918c2f255f984f

show more ...

a214ed3028-Feb-2020 Harisuddin Mohamed Isa <harisuddin@gmail.com>

PEL: peltool: Print all PELs into JSON array

Added -a option to display all PELS at once into a JSON array.

Read message registry once to parse SRC sections in PELs.

Signed-off-by: Harisuddin Moha

PEL: peltool: Print all PELs into JSON array

Added -a option to display all PELS at once into a JSON array.

Read message registry once to parse SRC sections in PELs.

Signed-off-by: Harisuddin Mohamed Isa <harisuddin@gmail.com>
Change-Id: I19690a866a3348cf2d8a9a89be38bc09e3eb7f9f

show more ...

51e927cc27-Feb-2020 Matt Spinler <spinler@us.ibm.com>

PEL: Fix possible D-Bus race condition

In a few places in the code, a D-Bus property read was being done before
adding the watch for the interfacesAdded signal. This opens the (very
small) window t

PEL: Fix possible D-Bus race condition

In a few places in the code, a D-Bus property read was being done before
adding the watch for the interfacesAdded signal. This opens the (very
small) window that the interfacesAdded signal would fire after the
property read and before the match object was created, leading to the
property never being successfully read.

Change the order of this code to add the interfacesAdded match object
before doing the property read to close this window.

Signed-off-by: Matt Spinler <spinler@us.ibm.com>
Change-Id: I80b11e743925143de183df98dca4ccafdc987d55

show more ...

9e819c7712-Feb-2020 Matt Spinler <spinler@us.ibm.com>

PEL: Add JSON schema for callouts in registry

Add the JSON schema for the structures needed to describe callouts in
the message registry. The PEL code will then add these callouts to that
PEL when

PEL: Add JSON schema for callouts in registry

Add the JSON schema for the structures needed to describe callouts in
the message registry. The PEL code will then add these callouts to that
PEL when it creates it.

The callouts to create for a PEL can vary based on system type, as well
as by an AdditionalData field if desired.

This is an optional field.

Signed-off-by: Matt Spinler <spinler@us.ibm.com>
Change-Id: Ib4e0edffc705e3147e5f7a40364f2adedaabb545

show more ...

7031120312-Feb-2020 Matt Spinler <spinler@us.ibm.com>

PEL: Explain PEL callouts

Update the READMEs to describe how callouts can be added to PELs.

At a high level, they can be added by specifying them completely in
AdditionalData fields like CALLOUT_IN

PEL: Explain PEL callouts

Update the READMEs to describe how callouts can be added to PELs.

At a high level, they can be added by specifying them completely in
AdditionalData fields like CALLOUT_INVENTORY_PATH, by specifying them
completely in the PEL message registry JSON, or by a combination of the
2.

A future commit will add the new JSON schema.

Note, there is still a use case that maybe isn't covered here, and that
is when an application like openpower-hw-diags gets its full callout
list, including priorities, from its own data. This should cover
everything else though.

Signed-off-by: Matt Spinler <spinler@us.ibm.com>
Change-Id: Ia42286b8d1bf1e13d1be9f742c532ab48f6e7ff9

show more ...

d4002f3926-Feb-2020 Harisuddin Mohamed Isa <harisuddin@gmail.com>

PEL: peltool: Print number of PELs

Prints the number of PELs found on BMC.
Supports -h option to include hidden PELs.

./peltool -n -h
{
"Number of PELs found": 16
}
./peltool -n
{
"Number o

PEL: peltool: Print number of PELs

Prints the number of PELs found on BMC.
Supports -h option to include hidden PELs.

./peltool -n -h
{
"Number of PELs found": 16
}
./peltool -n
{
"Number of PELs found": 10
}

Signed-off-by: Harisuddin Mohamed Isa <harisuddin@gmail.com>
Change-Id: I52b687ea09d4c689fa0b42856613858120f9db08

show more ...

0c91840321-Feb-2020 Matt Spinler <spinler@us.ibm.com>

PEL: peltool: Remove an error statement

The callers are already handling the error case where a PEL file can't
be read, so remove the one inside the function that does the read.

Signed-off-by: Matt

PEL: peltool: Remove an error statement

The callers are already handling the error case where a PEL file can't
be read, so remove the one inside the function that does the read.

Signed-off-by: Matt Spinler <spinler@us.ibm.com>
Change-Id: Ifed51808ce8029909fec3478387cdbb86c5c32a3

show more ...

1b420bcd21-Feb-2020 Matt Spinler <spinler@us.ibm.com>

PEL: Refactor peltool's display PEL option

Refactor the code that displays a single PEL to use the
'callFunctionOnPEL' function that was introduced in
the previous commit.

Signed-off-by: Matt Spinl

PEL: Refactor peltool's display PEL option

Refactor the code that displays a single PEL to use the
'callFunctionOnPEL' function that was introduced in
the previous commit.

Signed-off-by: Matt Spinler <spinler@us.ibm.com>
Change-Id: I2418de5178ec9da7c0758061986b1792cbc546a7

show more ...

27de6f3821-Feb-2020 Matt Spinler <spinler@us.ibm.com>

PEL: Delete and delete all support for peltool

Delete 1 PEL:
peltool -d <id>

This is done by reading the corresponding OpenBMC event log's ID out of
the PEL, and then making the Delete D-Bus meth

PEL: Delete and delete all support for peltool

Delete 1 PEL:
peltool -d <id>

This is done by reading the corresponding OpenBMC event log's ID out of
the PEL, and then making the Delete D-Bus method call on that event log.
Deleting that event log will also delete the PEL.

Delete all PELs:
peltool -D

This is done by making the DeleteAll method call on
/xyz/openbmc_project/logging. This will delete all event logs and all
PELs.

Signed-off-by: Matt Spinler <spinler@us.ibm.com>
Change-Id: Ia807b9b515b9d5b6e04610d884fba578e01ebeb9

show more ...

075e5baf21-Feb-2020 Matt Spinler <spinler@us.ibm.com>

PEL: Save the motherboard CCIN in the SRC

The CCIN field is from the CC keyword of the VINI record in the
motherboard VPD.

Save it in the first half of the second hex word of the SRC.

Also print t

PEL: Save the motherboard CCIN in the SRC

The CCIN field is from the CC keyword of the VINI record in the
motherboard VPD.

Save it in the first half of the second hex word of the SRC.

Also print this field when displaying the SRC section, but only for SRCs
created by this code, which it knows by checking the first 2 characters
of the ASCII string.

Signed-off-by: Matt Spinler <spinler@us.ibm.com>
Change-Id: I25f94f7fbcfd3212adf28c357e55271ea9269add

show more ...

b3d488fd21-Feb-2020 Matt Spinler <spinler@us.ibm.com>

PEL: Read the motherboard CCIN

The 'CCIN' VPD field from the motherboard will go into the SRC PEL
section, so add a DataInterface API for it. That class will read it
from the VINI record and CC key

PEL: Read the motherboard CCIN

The 'CCIN' VPD field from the motherboard will go into the SRC PEL
section, so add a DataInterface API for it. That class will read it
from the VINI record and CC keyword in the motherboard VPD.

First, it has to find the motherboard by finding the D-Bus object that
has the motherboard inventory item interface. If that object doesn't
exist yet, add an interfacesAdded watch for it. When the object is
found, add a PropertyWatcher watch for the CC property on the VINI
interface.

Signed-off-by: Matt Spinler <spinler@us.ibm.com>
Change-Id: I143e35405dbcd3ebec4fd9b31972b8de8e0019c5

show more ...

c1746f6a21-Feb-2020 Matt Spinler <spinler@us.ibm.com>

PEL: Tell PropertyWatcher the service to use

The PropertyWatcher class attempts to read its D-Bus property on
construction. It would previously look up the service to use from a
GetObject call on t

PEL: Tell PropertyWatcher the service to use

The PropertyWatcher class attempts to read its D-Bus property on
construction. It would previously look up the service to use from a
GetObject call on the mapper. Add a new constructor that takes the
service to use instead.

This is useful for when it is trying to do this before the mapper is
done introspecting the service, and so can't return a valid response to
the GetObject request.

Signed-off-by: Matt Spinler <spinler@us.ibm.com>
Change-Id: I63639388cdca24c04c97826d959bba98241292be

show more ...

f15cbeb306-Feb-2020 Matt Spinler <spinler@us.ibm.com>

PEL: Add sysinfo UserData section to README

Mention the UserData section that is added to every BMC PEL that
contains system information in the README where it lists the sections
created.

Signed-of

PEL: Add sysinfo UserData section to README

Mention the UserData section that is added to every BMC PEL that
contains system information in the README where it lists the sections
created.

Signed-off-by: Matt Spinler <spinler@us.ibm.com>
Change-Id: If36396817f438bc97785a0a60c18e11c7c276ac1

show more ...

4aa23a1f03-Feb-2020 Matt Spinler <spinler@us.ibm.com>

PEL: Add 3 state fields to PEL UserData section

Add the following to the system info UserData section that gets added
for PELs created by BMC code:

* CurrentBMCState on /xyz/openbmc_project/state/b

PEL: Add 3 state fields to PEL UserData section

Add the following to the system info UserData section that gets added
for PELs created by BMC code:

* CurrentBMCState on /xyz/openbmc_project/state/bmc0
* CurrentHostState on /xyz/openbmc_project/state/host0
* CurrentPowerState on /xyz/openbmc_project/state/chassis0

The RequestedPowerTransition property is also read along with the
CurrentPowerState property since it's on the same interface and will
be used in a future commit.

Signed-off-by: Matt Spinler <spinler@us.ibm.com>
Change-Id: Icdc225f2c9bb6d91e67a4cbe608df97803ccee6c

show more ...

24a8558b27-Jan-2020 Matt Spinler <spinler@us.ibm.com>

PEL: Don't send PELs to host when flag disabled

Don't put any PELs on the queue to send to the host when the setting to
send event logs to the host has been set to false.

Signed-off-by: Matt Spinle

PEL: Don't send PELs to host when flag disabled

Don't put any PELs on the queue to send to the host when the setting to
send event logs to the host has been set to false.

Signed-off-by: Matt Spinler <spinler@us.ibm.com>
Change-Id: I37be53f54c354e2c440ac3a932630a4905e311f1

show more ...

9cf3cfda03-Feb-2020 Matt Spinler <spinler@us.ibm.com>

PEL: Read the send PELs to host setting

Certain manufacturing test phases do not need PELs sent to the host, and
this will be controlled with an 'Enabled' property on the settings D-Bus
object /xyz/

PEL: Read the send PELs to host setting

Certain manufacturing test phases do not need PELs sent to the host, and
this will be controlled with an 'Enabled' property on the settings D-Bus
object /xyz/openbmc_project/logging/send_event_logs_to_host.

Add a DataInterface API for this, and add the PropertyWatcher instance
to handle keeping the class member up to date.

Signed-off-by: Matt Spinler <spinler@us.ibm.com>
Change-Id: I98f2f747d7d93acd890662c62666dbda744612d6

show more ...

2a28c93603-Feb-2020 Matt Spinler <spinler@us.ibm.com>

PEL: Use class to watch properties in DataIface

Instead of having the DataInterface class explicitly watch for all of
the PropertiesChanged and InterfacesAdded signals for the D-Bus
properties it ne

PEL: Use class to watch properties in DataIface

Instead of having the DataInterface class explicitly watch for all of
the PropertiesChanged and InterfacesAdded signals for the D-Bus
properties it needs the values of, create some classes to wrap that
functionality.

The PropertyWatcher class will call a user defined function, passing it
the property value for the path/interface/property specified in the
following cases:
1) On construction, by making a property read method call, if the
property is on D-Bus then.
2) On a properties changed signal for that property.
3) On an interfaces added signal for that property's interface.

The InterfaceWatcher class will call a user defined function, passing it
the property name/value map for all properties in that interface, in the
following cases:
1) On construction, by making a GetAll property read method call, if the
interface is on D-Bus then.
2) On a properties changed signal for that interface.
3) On an interfaces added signal for that interface.

Both of these are derived from the DBusWatcher class, and the
DataInterface will store a vector of DBusWatcher pointers after it
creates the instances of the PropertyWatcher or InterfaceWatcher classes
in its constructor.

This commit changes the current properties being watched - the system
model, the system serial number, and the operating system status to this
method.

Signed-off-by: Matt Spinler <spinler@us.ibm.com>
Change-Id: Iade4ac89a9ce1d46bdebf353350bf161722ced9f

show more ...

160c51cb13-Feb-2020 Harisuddin Mohamed Isa <harisuddin@gmail.com>

PEL: Print Extended User Header section to JSON

"Extended User Header": {
"Section Version": "1",
"Sub-section type": "0",
"Created by": "0x4552",
"Rep

PEL: Print Extended User Header section to JSON

"Extended User Header": {
"Section Version": "1",
"Sub-section type": "0",
"Created by": "0x4552",
"Reporting Machine Type": "OPWR-131",
"Reporting Serial Number": "1318ABA",
"FW Released Ver": "BE868_007",
"FW SubSys Version": "00040905079B0004",
"Common Ref Time": "00/00/0000 00:00:00",
"Symptom Id Len": "0",
"Symptom Id": ""
},

Verified peltool output and all testcases passed.
Signed-off-by: Harisuddin Mohamed Isa <harisuddin@gmail.com>
Change-Id: Id66b9da27d49c89befd157b0e94bbc9defed0d6a

show more ...

1...<<2122232425262728