History log of /openbmc/phosphor-psu-code-mgmt/ (Results 101 – 119 of 119)
Revision Date Author Comments
(<<< Hide modified files)
(Show modified files >>>)
81c6772511-Sep-2019 Lei YU <mine260309@gmail.com>

Activation: Add activationBlocksTransition

Use activationBlocksTransition during PSU code update, which prevent
host from powering on during the activation.

Signed-off-by: Lei YU <mine260309@gmail.

Activation: Add activationBlocksTransition

Use activationBlocksTransition during PSU code update, which prevent
host from powering on during the activation.

Signed-off-by: Lei YU <mine260309@gmail.com>
Change-Id: Ie303a99d9bbfee49c949884f16dbca0c5b08ee6e

show more ...

1799f38117-Oct-2019 Gunnar Mills <gmills@us.ibm.com>

Update local-ci-build.md link

local-ci-build.md is moving under testing/ as part of
https://gerrit.openbmc-project.xyz/c/openbmc/docs/+/26244

26244 should merge before this is merged.

Tested: With

Update local-ci-build.md link

local-ci-build.md is moving under testing/ as part of
https://gerrit.openbmc-project.xyz/c/openbmc/docs/+/26244

26244 should merge before this is merged.

Tested: With https://jbt.github.io/markdown-editor/
Change-Id: I6346e0073ce6ea40a51ce81ee1059a2d053e6949
Signed-off-by: Gunnar Mills <gmills@us.ibm.com>

show more ...

d0bbfa9e11-Sep-2019 Lei YU <mine260309@gmail.com>

Activation: Delete version interface after activation

When activation is finished, the version interface and the related
images created by phosphor-version-software-manager shall be deleted.

This i

Activation: Delete version interface after activation

When activation is finished, the version interface and the related
images created by phosphor-version-software-manager shall be deleted.

This is done by invoking the Delete method of the related service, so we
need to get all the services from the object, and get the correct
service to invoke the Delete method.

Tested: Verify the Version interface created by
xyz.openbmc_project.Software.Version service, and the related
files in /tmp/image/<versionId> are removed after activation is
completed.

Signed-off-by: Lei YU <mine260309@gmail.com>
Change-Id: Icb14731bbea35175c2519bd40b9f88a0b54a034a

show more ...

12c9f4c411-Sep-2019 Lei YU <mine260309@gmail.com>

Activation: initially support psu update

Initial support for PSU update by starting a systemd unit with PSU
inventory path and image dir as arguments.

Add an example psu-update@.service that shows

Activation: initially support psu update

Initial support for PSU update by starting a systemd unit with PSU
inventory path and image dir as arguments.

Add an example psu-update@.service that shows how the arguments are
passed to systemd unit and expanded to command line arguments.

Tested: Upload a dummy tarball, create a dummy service that only prints
the arguments, and verify the service is invoked correctly when
the RequestedActivation is set to Active.

Signed-off-by: Lei YU <mine260309@gmail.com>
Change-Id: I7e122f1cce234caf4951d3e3daad5bee406b507b

show more ...

dcaf893409-Sep-2019 Lei YU <mine260309@gmail.com>

Get version directly on PSU plugged in

When PSU is plugged in, get the version directly instead of waiting for
the VERSION interface change on the inventory object.
This simplies the code a lot in o

Get version directly on PSU plugged in

When PSU is plugged in, get the version directly instead of waiting for
the VERSION interface change on the inventory object.
This simplies the code a lot in onPsuInventoryChanged(), and it does not
depend on the VERSION interface on inventory object anymore.

Tested: Verify on Witherspoon that when PSU is plugged out and in, the
PSU software object is removed and created as expected.

Signed-off-by: Lei YU <mine260309@gmail.com>
Change-Id: I2770049baf8ffa8f1d91391fd9225a237acb24dc

show more ...

5f3584d427-Aug-2019 Lei YU <mine260309@gmail.com>

Get PSU version from vendor specific tool

The code was getting the version from PSU inventory object.
This commit changes the behavior to use a vendor-specific tool to get
the version directly, wher

Get PSU version from vendor specific tool

The code was getting the version from PSU inventory object.
This commit changes the behavior to use a vendor-specific tool to get
the version directly, where the tool is expected to be configured during
build time.

Add an example get_version app that shows the expected behavior of the
tool:
* It accepts an argument of PSU inventory object;
* It outputs the version to stdout.

Tested: 1. Put and configure to use the example get_version on witherspoon,
verify that PSU software objects are created with the version
returned by the exmaple tool.
2. With the Witherspoon specific tool in
https://gerrit.openbmc-project.xyz/c/openbmc/witherspoon-pfault-analysis/+/24811,
verify the version is correctly got from the PSU inventory path
and the software objects are created.

Signed-off-by: Lei YU <mine260309@gmail.com>
Change-Id: I5195cb6fc8998a76b09abcfe0b107364cb180c01

show more ...

9b84612127-Aug-2019 Lei YU <mine260309@gmail.com>

Rename README to README.md

So that github correctly formats the markdown texts.

Signed-off-by: Lei YU <mine260309@gmail.com>
Change-Id: I0f0a410c9fb43ba13c37e63009c71bc28af67bdc

a2c2cd7209-Aug-2019 Lei YU <mine260309@gmail.com>

Test: Add unit test for PSU plug out and in

Split the function into two, one for handling the sdbus::message, the
other for handling the changed properties, so that it's easier to write
unit test ca

Test: Add unit test for PSU plug out and in

Split the function into two, one for handling the sdbus::message, the
other for handling the changed properties, so that it's easier to write
unit test cases.

Added the test cases:
* On a system with a PSU present, remove the PSU;
* On a system without PSU, plug the PSU in;
* On a system with a PSU, remove the PSU and add it back, while the
propertiesChanged callback is invoked with both Present and Version
properties.
* On a system with two PSUs with same version, remove them one-by-one,
and add back one-by-one, while PSU1 has a different version.

Tested: Verify ItemUpdater correctly handles the above cases:
* Remove the activation and version object if PSU is removed;
* Create activation and version object if PSU is added;
* When there are two PSUs with same version, removing one only
update the associations, removing the other shall result in
the objects to be removed;
Adding one back will create the objects, and adding the other
one with different version will create new objects.

Signed-off-by: Lei YU <mine260309@gmail.com>
Change-Id: I14c7ae9f03ec91bb1c85bb5a18d69f20dc1efd53

show more ...

f77189f707-Aug-2019 Lei YU <mine260309@gmail.com>

Add unit test for item_udpater

To test item_updater easier, mocking utils is necessary.
So add a UtilsInterface to make the mocking eaiser.

Due to the fact that there is templated member functions

Add unit test for item_udpater

To test item_updater easier, mocking utils is necessary.
So add a UtilsInterface to make the mocking eaiser.

Due to the fact that there is templated member functions that could not
be virtual, adding an extra "Impl" virtual function makes it possible to
simulates the mock of templated functions.
See
https://stackoverflow.com/questions/7968023/c-virtual-template-method
for details.

However, using std::any in with googlemock has an issue on GCC9, see
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=90415
for details.

So this commit uses std::experimental::any as a workaround.

With the mocked utils, it's easy to test item_updater in different
cases.

This commit adds the test cases for creating PSU objects, when:
* There is no PSU present
* There is one PSU present
* There are two PSUs present with the same version;
* There are two PSUs present with different versions.

Tested: Verify the unit tests passes.

Signed-off-by: Lei YU <mine260309@gmail.com>
Change-Id: I5d74ab26b344c5c40bc141f97b8aca42e74ee88e

show more ...

bd3b007608-Aug-2019 Lei YU <mine260309@gmail.com>

Handle PSU inventory changes

Watch the PSU inventory property changes, so that when a PSU is plugged
out/in, the software object is removed or created.
If mutliple PSUs have the same software versio

Handle PSU inventory changes

Watch the PSU inventory property changes, so that when a PSU is plugged
out/in, the software object is removed or created.
If mutliple PSUs have the same software version, the related
associations are updated.

Tested: On Witherspoon, manually setting PSU's present property to false
and true, when both PSUs have the same version.
0. Before setting PSU's present false, verify the software
object is associated with two PSUs;
1. When one of the PSU is set false, verify the assocation is
removed and only one PSU path is associated;
2. When both of the PSUs are set false, verify the software
object is removed;
3. When a PSU is set to true, verify the software object is
created and associated with the PSU;
4. When the other PSU is set to true, verify the software object
is associated with both PSUs.

Signed-off-by: Lei YU <mine260309@gmail.com>
Change-Id: I417a87bf57c01aa57f78f09b7abc4e948a4d1752

show more ...

ad90ad5105-Aug-2019 Lei YU <mine260309@gmail.com>

Create objects for running PSUs

On service startup, create activation and version objects for running
PSUs, and set related active, functional associations.

If multiple PSUs are running with the sa

Create objects for running PSUs

On service startup, create activation and version objects for running
PSUs, and set related active, functional associations.

If multiple PSUs are running with the same software version, they share
the same DBus object, and the object will be associated to multiple PSU
inventories.

Tested: Verify the software objects are created on Witherspoon, and the
active, functional associations are created.

Signed-off-by: Lei YU <mine260309@gmail.com>
Change-Id: Ia8372aba8299818baccfdf37e98fdbc99f747b7c

show more ...

5e0dcb3902-Aug-2019 Lei YU <mine260309@gmail.com>

Get psu inventory path

Invoke GetSubTreePaths on configurable psu inventory base path to get
all the PSU paths.
Add unit test case and meson.build to build the unit test case.

In test/meson.build,

Get psu inventory path

Invoke GetSubTreePaths on configurable psu inventory base path to get
all the PSU paths.
Add unit test case and meson.build to build the unit test case.

In test/meson.build, manually adding dynamic_linker related options for
OE SDK environment to link_args, so that the built test binary could be
executed in OE SDK environment. Otherwise, the ld will not find the
correct shared libraries in OE SDK.

And you have to execute the test binaries manually in OE SDK, because
meson skips running the tests due to it thinks it's cross compiling.
This is described in README as well.

Tested: Verify the build and unit test run OK in OE SDK
environment and in OpenBMC CI.
Verify it gets the PSU inventory paths correctly on Witherspoon.

Signed-off-by: Lei YU <mine260309@gmail.com>
Change-Id: I2e2003c5897d7a623fad7f87d263b71c926fc46d

show more ...

c4cfc6e801-Aug-2019 Lei YU <mine260309@gmail.com>

meson: Add configure options

Several configure options were hard-coded, make them configurable
be passing -Dxxx=xxx options.

Tested: Verify the options could be passed from command line.

Signed-of

meson: Add configure options

Several configure options were hard-coded, make them configurable
be passing -Dxxx=xxx options.

Tested: Verify the options could be passed from command line.

Signed-off-by: Lei YU <mine260309@gmail.com>
Change-Id: Ia82958591a0d6165ee5d9e92f0fb88609266705a

show more ...

9102944801-Aug-2019 Lei YU <mine260309@gmail.com>

Implement Association interface

Implement xyz/openbmc_project/Association/Definitions.interface in
activation and item_updater.

Tested: Verify the association is created after uploading a dummy

Implement Association interface

Implement xyz/openbmc_project/Association/Definitions.interface in
activation and item_updater.

Tested: Verify the association is created after uploading a dummy
tarball.

Signed-off-by: Lei YU <mine260309@gmail.com>
Change-Id: I217bddc48534a0b3b17359e0f3409f6c7c953f08

show more ...

01539e7e30-Jul-2019 Lei YU <mine260309@gmail.com>

Add activation, item_updater and version

Implement part of functions of Activation, ItemUpdater and Version.

Tested: Upload a dummy PSU tarball, and verify the activation object is
created

Add activation, item_updater and version

Implement part of functions of Activation, ItemUpdater and Version.

Tested: Upload a dummy PSU tarball, and verify the activation object is
created with expected ExtendedVersion, and the object is deleted
when Delete is invoked.

Signed-off-by: Lei YU <mine260309@gmail.com>
Change-Id: I7b9d29f46914ace93d27a715b32c80957e88a0aa

show more ...

e065f61730-Jul-2019 Lei YU <mine260309@gmail.com>

Initial build for psu code manager

Add initial meson build env, empty c++ files, and the systemd service.
Add README and .gitignore
Add Matt as reviewer.

Tested: Verify build is OK and the service

Initial build for psu code manager

Add initial meson build env, empty c++ files, and the systemd service.
Add README and .gitignore
Add Matt as reviewer.

Tested: Verify build is OK and the service is installed to the correct
dir.

Signed-off-by: Lei YU <mine260309@gmail.com>
Change-Id: I21c060d2b98e8eafd4607cfce09038189e76d22f

show more ...

a184bf6131-Jul-2019 Lei YU <mine260309@gmail.com>

Add .clang-format

Change-Id: I1019b5bf568fc228c6635a4656997ac8ed92f892
Signed-off-by: Lei YU <mine260309@gmail.com>

ce201b4530-Jul-2019 Lei YU <mine260309@gmail.com>

Add MAINTAINERS

Signed-off-by: Lei YU <mine260309@gmail.com>
Change-Id: Id91f289112e69c171ec95960a9fdba8693e5dfbe

9e3fa3e222-Jul-2019 Brad Bishop <radsquirrel@gmail.com>

Initial commit

12345