| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
|
|
|
|
| |
As part of the CI build noticed elog parser and mako script are not
exported becuse of conditional check in the Makefile.
Removed conditional check so that files are exported all the time.
Conditional check works for bitbake build as the conditional value
is set for native recipe build.
Change-Id: I65a020757b7176e299af70a8ba9a647b415891be
Signed-off-by: Marri Devender Rao <devenrao@in.ibm.com>
|
|
|
|
|
|
|
|
| |
Installed elog parser and mako scripts are used by repositories
to build elog-errors.hpp for local application specific errors
Change-Id: I2353185d28db59b052d2167d6f37f1b385978bb3
Signed-off-by: Marri Devender Rao <devenrao@in.ibm.com>
|
|
|
|
|
|
|
| |
Resolves openbmc/phosphor-logging#4
Change-Id: I15ccdef0dd63216991bbd113e47beb057df14df8
Signed-off-by: Tom Joseph <tomjoseph@in.ibm.com>
|
|
|
|
|
|
|
|
|
|
|
|
| |
Use Cereal to implement serialization and de-serialization of
properties of error d-bus objects.
Serialize and persist error d-bus objects as they are put on the bus.
De-serialize and restore them (if persistent ones exist) when
phosphor-log-manager starts up.
Change-Id: I1f5df1abbe74bfdb86e3e82a78ff7115e90e2112
Signed-off-by: Deepak Kodihalli <dkodihal@in.ibm.com>
|
|
|
|
|
|
|
|
| |
Implement handler of the metadata CALLOUT_DEVICE_PATH. This handler will
convert a device path to an inventory path and call out the latter.
Change-Id: Icbf9c841884ec139f35ea2ac94648e355b421bb2
Signed-off-by: Deepak Kodihalli <dkodihal@in.ibm.com>
|
|
|
|
|
|
|
|
| |
Add test program which can create callouts based on an input device
path. It creates an error, with callouts, with name TestCallout.
Change-Id: I96b66b73ae4a9c00daff06222841a13747c07408
Signed-off-by: Deepak Kodihalli <dkodihal@in.ibm.com>
|
|
|
|
|
|
|
|
|
|
|
|
| |
Set generated maps to be const so that they don't get
accidentally overwritten.
Use .find() to access these generated data sets as the [] operator
is not const.
Declare the generated maps as extern so that there's
no need to include the generated .cpp file.
Change-Id: I4efdcace099bec738e1fa9b67decbedd515d3dfa
Signed-off-by: Adriana Kobylak <anoo@us.ibm.com>
|
|
|
|
|
|
|
|
|
| |
The callout mappings are generated at build time by a script,
which needs an input YAML file. This change enables providing such a
YAML file by the phosphor-logging recipe.
Change-Id: I8e174d60e37eabb6d26ff7822ab5c9f38d35e0a6
Signed-off-by: Deepak Kodihalli <dkodihal@in.ibm.com>
|
|
|
|
|
|
|
| |
Add rules to generate and build elog-process-metadata.cpp.
Change-Id: If9b61dfd2fbd731708e41a48428115ee40b12d6b
Signed-off-by: Deepak Kodihalli <dkodihal@in.ibm.com>
|
|
|
|
|
|
|
|
| |
Have the Entry object implement the org.openbmc.Associations DBus API in
order to add inventory callouts to errors.
Change-Id: I9c645c90e3de4601cdbb020b591f5da24c733613
Signed-off-by: Deepak Kodihalli <dkodihal@in.ibm.com>
|
|
|
|
|
|
|
|
|
| |
This tool adds an option to the logging-test
to inject an error as specified by command
line.
Change-Id: I1028bd3964db23ed5ffa50414f7a6cc2f880c40c
Signed-off-by: Michael Tritz <mtritz@us.ibm.com>
|
|
|
|
|
|
|
|
|
|
| |
Replace nodist_include_HEADERS with nobase_nodist_include_HEADERS
so that the header files retain their directory structure.
Without it, phosphor-logging/elog-errors.hpp for example installs
in usr/include/ instead of usr/include/phosphor-logging/.
Change-Id: Ib2df7d93fd191316f03e4636ee453030d5a318f4
Signed-off-by: Adriana Kobylak <anoo@us.ibm.com>
|
|
|
|
|
|
|
|
|
|
|
|
| |
Add a config variable that can be passed via a recipe to
point the parser to a directory where the error yaml files are.
Rename elog-gen.hpp to elog-errors.hpp, which better matches the
exception error log file names.
Include elog-gen.hpp in elog.hpp so that callers that need to
create and commit error logs only need to include one header file.
Change-Id: Ie3cd65ac761c1f7b2c99c50a2273859283a5ab4b
Signed-off-by: Adriana Kobylak <anoo@us.ibm.com>
|
|
|
|
|
|
|
|
|
| |
Add an additional argument to pass the directory where the unit
test yaml files are located. Default the base directory to None
as this argument will be passed by the recipe during build time.
Change-Id: I1276d74e383e1517595371c3f6e31fa077eac43f
Signed-off-by: Adriana Kobylak <anoo@us.ibm.com>
|
|
|
|
|
|
|
|
|
| |
Add ability for elog-gen.py to find yaml files under subdirectories
so that yaml files found in Error/Callout/ and Error/IIC/ for
example can be found by the caller just passing the Error/ directory.
Change-Id: I91dcd523d2a75deea6266a3ea6885b88cd788206
Signed-off-by: Adriana Kobylak <anoo@us.ibm.com>
|
|
|
|
|
|
|
|
|
|
| |
Auto-generate the Manager code during build time
using the sdbus++ tool.
Closes: openbmc/phosphor-logging#1
Change-Id: Idb66725dc2b3a919981dc1a0acfebfde16c4420f
Signed-off-by: Adriana Kobylak <anoo@linux.vnet.ibm.com>
|
|
|
|
|
|
|
|
|
|
|
| |
Note: The header files have been moved to the
phosphor-logging dir and all other repositories must
include the header files from there.
Resolves openbmc/openbmc#938
Change-Id: I0faf0545a42c571da93fe4f3731ee7c939e3aff8
Signed-off-by: Saqib Khan <khansa@us.ibm.com>
|
|
|
|
|
|
|
|
|
|
| |
Now these files are copied to a folder under phosphor-logging,
other repositories will need to be fixed. I'm leaving the files in
the base dir as well until I work on fixing all projects that
utilizes log.hpp and elog.hpp
Change-Id: Ie4640852727c1572325e974548737bc70a6db7c2
Signed-off-by: Saqib Khan <khansa@us.ibm.com>
|
|
|
|
|
|
|
|
|
|
|
| |
The commit function would be too big to hold on the
header file. Move it to a library and update the
phosphos-logging.pc file for users to link against it.
Add dependency to libsdbusplus as the commit interface
would make use of the transaction id support.
Change-Id: I237b15e35a633f1da9bf3401b5bf754154f132db
Signed-off-by: Adriana Kobylak <anoo@us.ibm.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Export a manually generated header file that contains the error
information to log a host event error. This is temporary
the openpower-dbus-interfaces repo exports the yaml files and
the phosphor-logging repo parses the exception header files.
The header file also contains the info generated by the lookup
template.
Change-Id: Iea02ffd809e3815f34bb4a1b5c89639d2207dd43
Signed-off-by: Adriana Kobylak <anoo@us.ibm.com>
|
|
|
|
|
|
|
|
|
| |
Provide a pkg-config for clients using our headers.
Partially resolves openbmc/openbmc#1106
Change-Id: I185da26a0034b4bb315d2b279c776eea87c14a82
Signed-off-by: Brad Bishop <bradleyb@fuzziesquirrel.com>
|
|
|
|
|
|
|
|
| |
Link to libphosphor_dbus.so so that the Entry
code is auto-generated.
Change-Id: I845d083456a1094a49f773b3ec64240d4515b3ac
Signed-off-by: Adriana Kobylak <anoo@linux.vnet.ibm.com>
|
|
|
|
|
|
|
|
| |
Implement the generated code to create an error/event
entry dbus object.
Change-Id: I881636fe3e8de680d9a15fff1fe933d5e22eed06
Signed-off-by: Adriana Kobylak <anoo@us.ibm.com>
|
|
|
|
|
|
|
|
|
|
| |
Add the lookup mako target to the makefile to get it built.
Use the lookup map to find the metadata that needs to be
added to the error log. Use the transaction id to filter
for the desired journal entries.
Signed-off-by: Adriana Kobylak <anoo@us.ibm.com>
Change-Id: Ia57dc83aab4f7ee35f8de32a799c862be28113f7
|
|
|
|
|
|
|
|
|
| |
For each journal entry, add the transaction id for the process
that called the log interface. This will be used to identify all
the journal entries associated with a dbus message.
Change-Id: Id934253bd77a517315e6cdba01a8ac819ad95b52
Signed-off-by: Adriana Kobylak <anoo@us.ibm.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This change enables the elog-gen script to look at more than one error
yaml file (and corresponding metadata yaml file). The input to the
script had to be changed to a yaml directory, containing
error yaml files, instead of a single error yaml file.
The reason to support reading multiple error yaml files is that,
without this, applications have to all dump their errors in a single big
error yaml file. Now it's possible to write application/domain specific
error yaml files; they just need to be exported to the same location,
from where elog-gen.py can pick them.
Change-Id: I9418bf0e0b54a7b7f7701b337649cb8eb4c54913
Signed-off-by: Deepak Kodihalli <dkodihal@in.ibm.com>
|
|
|
|
|
| |
Change-Id: Id2ad6a75b6ee3f7226c7cfd274dba24de89f9363
Signed-off-by: Adriana Kobylak <anoo@us.ibm.com>
|
|
|
|
|
|
|
|
|
| |
This is another step in the direction of getting us
to support the error yaml file as it will be
defined in the phosphor-dbus-interfaces repo.
Change-Id: Ib437bea920f511bdbf541c3e2653bbf35a83fe92
Signed-off-by: Andrew Geissler <andrewg@us.ibm.com>
|
|
|
|
|
|
|
|
|
|
| |
The real yaml will be defined in the phosphor-dbus-interfaces
repo. This one will be an example one and used for testing.
Future commits will refactor it to separate the error def
from the meta data.
Change-Id: Id05f935cbc24fb030e2ba378423ef3261bf5f7fb
Signed-off-by: Andrew Geissler <andrewg@us.ibm.com>
|
|
|
|
|
|
|
|
| |
This is being done to prep for exporting the tools and
templates to be used by other repos
Change-Id: Ia93166ade2a0361eca86cde123875b95a44a1ef3
Signed-off-by: Andrew Geissler <andrewg@us.ibm.com>
|
|
|
|
|
|
|
|
| |
The mako python library requires full paths to the
template files so use ${abs_srdir} to get full paths
Change-Id: If322c66eedc7584633b18b137ad732be212359d6
Signed-off-by: Andrew Geissler <andrewg@us.ibm.com>
|
|
|
|
|
| |
Change-Id: I93ad7c62aa53e3c670b8c0b1b98b1b58436a38d5
Signed-off-by: Andrew Geissler <andrewg@us.ibm.com>
|
|
|
|
|
| |
Change-Id: I5c5f7a550a8f272251893ff616408c41d32281f9
Signed-off-by: Andrew Geissler <andrewg@us.ibm.com>
|
|
Framework to create an error log entry based on information
from the journal log.
1. elog.yaml - User defined reason codes for error scenarios that
include description, priority level, and desired metadata fields.
2. elog_parser.py - Parser for the yaml file
3. elog-gen.hpp - Auto-generated file based created by the parser
that includes the error log structures. Including for now for ref.
4. elog.hpp - Error log template to create (log a journal log
entry with the predefined error log information).
Usage: elog<RC>(NAME(value), prev_entry<NAME>()...)
where RC - Reason code, NAME - metadata name
being logged to a journal entry, prev_entry - A Metadata entry that
has previously being logged to a journal entry.
Example:
log<level::DEBUG>(
msg("Info trace to log filename"),
entry(file_not_found::file_name::str, my_filename));
elog<file_not_found>(file_not_found::errnum(2),
file_not_found::file_path("/tmp/"),
prev_entry<file_not_found::file_name>());
Change-Id: Ic51cee80b58e341c071c366c5e2146fd6694012c
Signed-off-by: Adriana Kobylak <anoo@us.ibm.com>
Signed-off-by: Andrew Geissler <andrewg@us.ibm.com>
|