History log of /openbmc/ibm-logging/manager.hpp (Results 1 – 23 of 23)
Revision Date Author Comments
# 6a2b8956 10-May-2023 Patrick Williams <patrick@stwcx.xyz>

clang-format: copy latest and re-format

clang-format-16 has some backwards incompatible changes that require
additional settings for best compatibility and re-running the formatter.
Copy the latest

clang-format: copy latest and re-format

clang-format-16 has some backwards incompatible changes that require
additional settings for best compatibility and re-running the formatter.
Copy the latest .clang-format from the docs repository and reformat the
repository.

Change-Id: I6083e412d8356a97b5213a138f370bfeb43a69b3
Signed-off-by: Patrick Williams <patrick@stwcx.xyz>

show more ...


# 8123a713 22-Jul-2022 Patrick Williams <patrick@stwcx.xyz>

sdbusplus: use shorter type aliases

The sdbusplus headers provide shortened aliases for many types.
Switch to using them to provide better code clarity and shorter
lines. Possible replacements are

sdbusplus: use shorter type aliases

The sdbusplus headers provide shortened aliases for many types.
Switch to using them to provide better code clarity and shorter
lines. Possible replacements are for:
* bus_t
* exception_t
* manager_t
* match_t
* message_t
* object_t
* slot_t

Signed-off-by: Patrick Williams <patrick@stwcx.xyz>
Change-Id: I768b8efcac262ef07cf75f06486c6144c090e91a

show more ...


# 29c2ec6d 16-May-2020 Andrew Geissler <geissonator@yahoo.com>

string: ensure string included

Latest upstream yocto appears to have removed a free include of string.
This is causing compile failures for files which do not include it
properly.

string: ensure string included

Latest upstream yocto appears to have removed a free include of string.
This is causing compile failures for files which do not include it
properly.

Signed-off-by: Andrew Geissler <geissonator@yahoo.com>
Change-Id: I6a0afb2e01d0ed0630a28f8798a16a66b0142cab

show more ...


# 54ea3ad8 23-Oct-2018 Matt Spinler <spinler@us.ibm.com>

Use C++17 optional and any

The optional and any types are no longer experimental
in C++17.

Change-Id: I0b507b73fdd13afe531bef7a2ce308ebc8a3da7d
Signed-off-by: Matt Spinler <

Use C++17 optional and any

The optional and any types are no longer experimental
in C++17.

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

show more ...


# 66e07073 12-Sep-2018 Matt Spinler <spinler@us.ibm.com>

clang-format updates

Run with clang-format-6.0 and update to latest .clang-format
as listed in the docs repository.

Change-Id: I40fb686cc66adf56b2c1b5277ac1c44b64b89349
Sign

clang-format updates

Run with clang-format-6.0 and update to latest .clang-format
as listed in the docs repository.

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

show more ...


# 3e71c977 04-Jun-2018 Matt Spinler <spinler@us.ibm.com>

Merge "Use s.c_str() in log messages"


# 60f53d86 23-May-2018 Matt Spinler <spinler@us.ibm.com>

Restore Callout objects

Restore any saved Callout objects when the application starts
up and creates its interfaces for all existing error logs.

For each error log, it will look

Restore Callout objects

Restore any saved Callout objects when the application starts
up and creates its interfaces for all existing error logs.

For each error log, it will look in the save directory for it
to find any saved Callout files. If there is one, it will
restore a Callout object from it.

The default path it looks in is:
/var/lib/ibm-logging/errors/N/callouts/ where N is an error
log entry ID.

The code will look for all numerically named files in that
directory to restore. If it is unsuccessful, it will delete
the file since it is corrupt and move on to the next one.

Tested: Restart ibm-log-manager and check that the callout
objects were preserved via looking at D-Bus.

Resolves openbmc/openbmc#2973

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

show more ...


# 52ee71bd 23-May-2018 Matt Spinler <spinler@us.ibm.com>

Create the Callout objects

If a new error log has the association interface, and the
inventory item it points to implements the Asset interface,
create a Callout object for it and pe

Create the Callout objects

If a new error log has the association interface, and the
inventory item it points to implements the Asset interface,
create a Callout object for it and persist it.

It will be persisted to a file like:
/var/lib/ibm-logging/errors/N/callouts/M where N is an error
log entry ID and M is the callout instance number.

Tested: Verify new D-Bus objects for callouts.

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

show more ...


# e6a51590 23-May-2018 Matt Spinler <spinler@us.ibm.com>

Use different code paths for create and restore

There are 2 slightly different code paths for when
the code starts up and creates error log objects via
a GetManagedObjects call versu

Use different code paths for create and restore

There are 2 slightly different code paths for when
the code starts up and creates error log objects via
a GetManagedObjects call versus when it creates a single
new object on an InterfacesAdded callback.

The latter case involves creating all new interface
objects for an error log entry. The former case involves
creating brand new interface objects for the interfaces
that did not need to be persisted, and restoring the data
for the objects that did.

Tested: Run through both code paths

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

show more ...


# 677143bb 23-May-2018 Matt Spinler <spinler@us.ibm.com>

Add support for child D-Bus objects

Add the ability for the Manager class to store D-Bus objects
that are children of the main interface objects, where being
a child just means the o

Add support for child D-Bus objects

Add the ability for the Manager class to store D-Bus objects
that are children of the main interface objects, where being
a child just means the object path extends the parent path.

There can be multiple of these objects per logging entry, and
they have the same lifespan as the parent objects.

This is in preparation for creating callout objects for an
error log, where a log can have multiple callouts.

Tested: When child objects are created and stored, they show
up on D-Bus until deleted.

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

show more ...


# a1390353 23-May-2018 Matt Spinler <spinler@us.ibm.com>

Create an erase() function

This function is used to delete any objects associated
with an entry ID.

Tested: Erases still work

Change-Id: If80c54b502d64e5d5b3826b303ffe5

Create an erase() function

This function is used to delete any objects associated
with an entry ID.

Tested: Erases still work

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

show more ...


# 9bea4eaf 09-May-2018 Matt Spinler <spinler@us.ibm.com>

Revert "Implement the Delete interface"

This reverts commit 433beadcb8b0af4ebdc05e2b46be0be0ac3085e6.

As objects will be deleted on phosphor-logging interfaces removed
signals,

Revert "Implement the Delete interface"

This reverts commit 433beadcb8b0af4ebdc05e2b46be0be0ac3085e6.

As objects will be deleted on phosphor-logging interfaces removed
signals, the Delete interface is no longer required.

Tested: Ensure the REST Delete calls still work via the
InterfacesRemoved handler.

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

show more ...


# 6fac45e3 09-May-2018 Matt Spinler <spinler@us.ibm.com>

Revert "Implement the DeleteAll interface"

This reverts commit 2cfceb4623c83c04ebe49c5dcae7da877c1c5c8b.

As objects will be deleted on phosphor-logging interfaces removed
signal

Revert "Implement the DeleteAll interface"

This reverts commit 2cfceb4623c83c04ebe49c5dcae7da877c1c5c8b.

As objects will be deleted on phosphor-logging interfaces removed
signals, the DeleteAll interface is no longer required.

Tested: Ensure DeletaAll still works via InterfacesRemoved handling.

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

show more ...


# 055da3bd 09-May-2018 Matt Spinler <spinler@us.ibm.com>

Revert "Remove the interfaces removed handler"

Listening for the interfaces removed signal is required so
that ibm-logging can remove its objects when phosphor-logging
prunes its ent

Revert "Remove the interfaces removed handler"

Listening for the interfaces removed signal is required so
that ibm-logging can remove its objects when phosphor-logging
prunes its entries after hitting capacity.

Previously, ibm-logging depended on someone calling Delete or
DeleteAll to remove objects.

This reverts commit 19ff79fafee4bdf695ae71522715e16bedb1349a.

Tested: Delete xyz.openbmc_project.Logging entries and verify
these logs get deleted too.

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

show more ...


# 19ff79fa 23-Apr-2018 Matt Spinler <spinler@us.ibm.com>

Remove the interfaces removed handler

Now that the delete and delete-all interfaces are implemented,
the interfaces removed signal handler is no longer needed to
know when to delete

Remove the interfaces removed handler

Now that the delete and delete-all interfaces are implemented,
the interfaces removed signal handler is no longer needed to
know when to delete objects.

In fact, it breaks the REST server because on a Delete call
the following would happen:
1) The server calls Delete on the logging entry in
xyz.openbmc_project.Logging.
2) The removal of that object would call our interfaces
removed handler, which would delete our logging object.
3) The REST server would try to call Delete on our object
and would fail because we already deleted it.

Resolves openbmc/openbmc#3120

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

show more ...


# 2cfceb46 23-Apr-2018 Matt Spinler <spinler@us.ibm.com>

Implement the DeleteAll interface

Implement the xyz.openbmc_project.Collection.DeleteAll
interface to delete all logging entries.

Change-Id: I007dd8408ebb4e30bf3d3a3c431d7472486

Implement the DeleteAll interface

Implement the xyz.openbmc_project.Collection.DeleteAll
interface to delete all logging entries.

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

show more ...


# 433beadc 23-Apr-2018 Matt Spinler <spinler@us.ibm.com>

Implement the Delete interface

Implement the xyz.openbmc_project.Object.Delete interface
to delete an IBM logging object.

This is required because if someone calls Delete on an

Implement the Delete interface

Implement the xyz.openbmc_project.Object.Delete interface
to delete an IBM logging object.

This is required because if someone calls Delete on an entry
in /xyz/openbmc_project/logging/, the REST server will also
call Delete on the corresponding object here.

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

show more ...


# 491fc6f1 23-Apr-2018 Matt Spinler <spinler@us.ibm.com>

Create wrapper function for adding an interface

Put the code that places an interface object into the
map of entries into a common function.

Change-Id: I14af6771fcf6ec36fbd055d9

Create wrapper function for adding an interface

Put the code that places an interface object into the
map of entries into a common function.

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

show more ...


# 259e7277 29-Mar-2018 Matt Spinler <spinler@us.ibm.com>

Enable clang-format

Ideally would have done this from the beginning,
but better later than never.

Change-Id: Ib4c73085c4817496c9f2ee505c19149a67b394dc
Signed-off-by: Matt Sp

Enable clang-format

Ideally would have done this from the beginning,
but better later than never.

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

show more ...


# 4a6ea6af 27-Mar-2018 Matt Spinler <spinler@us.ibm.com>

Find a policy entry and create the Policy object

Find an entry in the policy table based on the error
log entry's properties, and create and save the
sdbusplus object for it.

Find a policy entry and create the Policy object

Find an entry in the policy table based on the error
log entry's properties, and create and save the
sdbusplus object for it.

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

show more ...


# 743e5822 27-Mar-2018 Matt Spinler <spinler@us.ibm.com>

Add policy::Table class to Manager

As the data the class uses is system specific and has to be
defined by an external team, have the code default to not
using this class and allow it

Add policy::Table class to Manager

As the data the class uses is system specific and has to be
defined by an external team, have the code default to not
using this class and allow it to be enabled with a configure
flag.

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

show more ...


# 54bfa7e7 27-Mar-2018 Matt Spinler <spinler@us.ibm.com>

Create objects for existing logs on startup

Use getManagedObjects to find the existing error log
entries, and grab their Logging.Entry property map
to pass to the create function.

Create objects for existing logs on startup

Use getManagedObjects to find the existing error log
entries, and grab their Logging.Entry property map
to pass to the create function.

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

show more ...


# e0017ebb 27-Mar-2018 Matt Spinler <spinler@us.ibm.com>

Add Manager class

This class will hold the IBM interface objects.

It has callbacks on the interfaces added and removed
signals for the actual logging entries so it knows when

Add Manager class

This class will hold the IBM interface objects.

It has callbacks on the interfaces added and removed
signals for the actual logging entries so it knows when
to add and remove the IBM interface objects.

It can hold multiple interface objects per logging entry
by using a map of std::experimental::any objects.

Future commits will add more functionality, such as doing
the actual creation of the interface objects and checking
for existing error logs entries on startup.

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

show more ...