4b8637db | 01-Apr-2022 |
Jiaqing Zhao <jiaqing.zhao@intel.com> |
Encode object path with sdbusplus
Currently the object path of service-config-manager are encoded by simply replacing characters, which only support a limited number of characters (only - and @). Th
Encode object path with sdbusplus
Currently the object path of service-config-manager are encoded by simply replacing characters, which only support a limited number of characters (only - and @). This patch uses sdbusplus to encode the object paths to support more charaters and make it more general for other applications to use.
Tested: Object paths of service-config-manager are now in the sdbusplus format like below: /xyz/openbmc_project/control/service/_70hosphor_2dipmi_2dnet_40eth0 /xyz/openbmc_project/control/service/bmcweb
Change-Id: Ia2738d555a8ba921f6ac2eb4753ba319f489dc4f Signed-off-by: Jiaqing Zhao <jiaqing.zhao@intel.com>
show more ...
|
430d7ea5 | 01-Apr-2022 |
Jiaqing Zhao <jiaqing.zhao@intel.com> |
Use unit name to distinguish USB code update service
In incoming patch, the object path of services will be encoded by sdbusplus, using object path to distinguish the dummy USB code update service i
Use unit name to distinguish USB code update service
In incoming patch, the object path of services will be encoded by sdbusplus, using object path to distinguish the dummy USB code update service is no longer suitable. This patch uses the unit name instead.
Tested: Verified modifying the property of USB code update service will use these special handlers as before. Other services are not affected.
Change-Id: I9d14ae57ca3f5a68744011e18e3ae45905edcacf Signed-off-by: Jiaqing Zhao <jiaqing.zhao@intel.com>
show more ...
|
f27f431f | 02-Apr-2022 |
Jiaqing Zhao <jiaqing.zhao@intel.com> |
Switch remaining logs to lg2
Since cb267c8 ("logging: switch to lg2"), service-config-manager has switched to using lg2 for logging, but there are still some old-style phosphor::logging::log calls.
Switch remaining logs to lg2
Since cb267c8 ("logging: switch to lg2"), service-config-manager has switched to using lg2 for logging, but there are still some old-style phosphor::logging::log calls. Change them to lg2.
Tested: Build pass.
Change-Id: I2702e3d57b8f4b9e411c8f20f3f33329e70c8b23 Signed-off-by: Jiaqing Zhao <jiaqing.zhao@intel.com>
show more ...
|
eca056ed | 21-Mar-2022 |
Patrick Williams <patrick@stwcx.xyz> |
meson: simplify dependencies
Leverage wrapfile `[provide]` directives to simplify the dependency searching in the meson.build.
Change-Id: I3ffeb36c566eed00a6070b6c823d9a7b2a8bfbc2 |
ef5ceced | 09-Dec-2021 |
Jiaqing Zhao <jiaqing.zhao@intel.com> |
Add obmc-console-ssh (SOL over SSH) support
This patch adds obmc-console-ssh service support. Like dropbear, it is also a socket-activated service.
Tested: 1. Changing obmc-console-ssh service stat
Add obmc-console-ssh (SOL over SSH) support
This patch adds obmc-console-ssh service support. Like dropbear, it is also a socket-activated service.
Tested: 1. Changing obmc-console-ssh service status and its port number works. 2. When disabling obmc-console-ssh, all active SOL SSH connections will be terminated in a few seconds. 3. All operations on obmc-console-ssh service will not affect dropbear service, and vice versa.
Change-Id: Ibf56967236a08cb34535c175e0dc5eea7fc4c84c Signed-off-by: Jiaqing Zhao <jiaqing.zhao@intel.com>
show more ...
|
f476683c | 28-Feb-2022 |
Jiaqing Zhao <jiaqing.zhao@intel.com> |
Improve socket-activated service handling
This patch provides a more generic way of handling socket-activated services like dropbear. A socket-activated service only has base socket unit and spawns
Improve socket-activated service handling
This patch provides a more generic way of handling socket-activated services like dropbear. A socket-activated service only has base socket unit and spawns service unit with instance name on incoming connection, so the instanced units of it need to be ignored. And whether a service is socket-activated can be determined by checking the existance of its service object path.
Tested: * Two socket-activated service, dropbear and obmc-console-ssh, can be controlled as expected. * Instances of socket-activated services are no loger added to monitor list.
Change-Id: If8faa2248e5794a410f804125410608aa69b858d Signed-off-by: Jiaqing Zhao <jiaqing.zhao@intel.com>
show more ...
|
d2a99a4d | 25-Feb-2022 |
Jiaqing Zhao <jiaqing.zhao@intel.com> |
Ignore non-existent units
In systemd, if a non-existent unit is referenced by other unit, it will be listed in ListUnits response. This commit ignores these non-existent entries to prevent performin
Ignore non-existent units
In systemd, if a non-existent unit is referenced by other unit, it will be listed in ListUnits response. This commit ignores these non-existent entries to prevent performing operations on them.
Tested: In dropbear.socket, there is a Conflicts=dropbear.service which creates a non-existent service entry. With this commit, it will not be added to the service object path in /etc/srvcfg-mgr.json.
Change-Id: I2ce360ea3a0b10f527672d1601ae4d6234c1a9aa Signed-off-by: Jiaqing Zhao <jiaqing.zhao@intel.com>
show more ...
|
aa41e674 | 14-Dec-2021 |
Jiaqing Zhao <jiaqing.zhao@intel.com> |
Support reading socket-only systemd unit info
Current code will only read unit info like unit name and instance name from service unit. For socket-only unit, these fields are blank. This patch adds
Support reading socket-only systemd unit info
Current code will only read unit info like unit name and instance name from service unit. For socket-only unit, these fields are blank. This patch adds support to read these fields from socket units.
Tested: 1. Existing entries in generated srvcfg-mgr.json is the same as before 2. Unit and instance name of socket-only units can be successfully read
Change-Id: Ibb4d75231f1767f2164d95294e126dd649d466f0 Signed-off-by: Jiaqing Zhao <jiaqing.zhao@intel.com>
show more ...
|
25a0f634 | 11-Nov-2021 |
Chicago Duan <duanzhijia01@inspur.com> |
ADD USB Code Update enable/disable
phosphor_usb_code_update is an application that use USB to do FW update. phosphor_usb_code_update service is not a daemon, but an app that will be called after ins
ADD USB Code Update enable/disable
phosphor_usb_code_update is an application that use USB to do FW update. phosphor_usb_code_update service is not a daemon, but an app that will be called after inserting a USB flash disk.
This commit creates an object of phosphor_usb_code_update when phosphor_usb_code_update is not started. We can enable/disable phosphor_usb_code_update by setting the "Enabled" property to true/false.
Please configure the “usb-code-update” option in your bb/bbappend to enable this feature.
For phosphor_usb_code_update, useful rules files is /lib/udev/rules.d/70-bmc-usb.rules. When usb code update is disabled, srvcfg_manager creates an empty symlink /etc/udev/rules.d/70-bmc-usb.rules, which causes /lib/udev/rules.d/70-bmc-usb.rules inoperative. When usb code update is enabled, srvcfg_manager deletes /etc/udev/rules.d/70-bmc-usb.rules.
The commits of phosphor_usb_code_update is: https://gerrit.openbmc-project.xyz/c/openbmc/phosphor-bmc-code-mgmt/+/48742/1
Test: get "Enabled" property: busctl get-property xyz.openbmc_project.Control.Service.Manager /xyz/openbmc_project/control/service/phosphor_2dusb_2dcode_2dupdate xyz.openbmc_project.Control.Service.Attributes Enabled b true
set "Enabled" property to false: busctl set-property xyz.openbmc_project.Control.Service.Manager /xyz/openbmc_project/control/service/phosphor_2dusb_2dcode_2dupdate xyz.openbmc_project.Control.Service.Attributes Enabled b false
busctl get-property xyz.openbmc_project.Control.Service.Manager /xyz/openbmc_project/control/service/phosphor_2dusb_2dcode_2dupdate xyz.openbmc_project.Control.Service.Attributes Enabled b false
The "Enabled" property will be persisted,reboot the BMC, then get the "Enabled" property: busctl get-property xyz.openbmc_project.Control.Service.Manager /xyz/openbmc_project/control/service/phosphor_2dusb_2dcode_2dupdate xyz.openbmc_project.Control.Service.Attributes Enabled b false
Signed-off-by: Chicago Duan <duanzhijia01@inspur.com> Change-Id: Iba7ffb541628d563e2c54c3e1c8c4dbe85f1507b
show more ...
|
f2744893 | 05-Jan-2022 |
George Liu <liuxiwei@inspur.com> |
Fix loading json file causing coredump
If the json file is damaged, when the process is running and deserializing, a coredump will occur and a cereal::RapidJSONException will be thrown.
Error messa
Fix loading json file causing coredump
If the json file is damaged, when the process is running and deserializing, a coredump will occur and a cereal::RapidJSONException will be thrown.
Error message: ``` terminate called after throwing an instance of'cereal::RapidJSONException' what(): rapidjson internal assertion failure: IsObject() ```
Add try-catch to catch the exception, and when the exception occurs, we need to re-serialize the json file and record the log.
Tested: Use broken json file and restart the process
hosphor-srvcfg-manager[753]: Failed to load json file, need to rewrite, ERROR = rapidjson internal assertion failure: IsObject(), file path = /etc/srvcfg-mgr.json
Also, we can seen a bad json file in `/tmp`, like this: /tmp/srvcfg-mgr.json.bad
Signed-off-by: George Liu <liuxiwei@inspur.com> Change-Id: I996e9e32f87c25d584a3b5912334d1a137b55b6c
show more ...
|
cb267c8f | 05-Jan-2022 |
George Liu <liuxiwei@inspur.com> |
logging: switch to lg2
After switching to C++20, it is recommended to use `phosphor::lg2` to format log, and the correct `CODE_LINE` and `CODE_FUNC` values can be used in log tracking.
Tested: buil
logging: switch to lg2
After switching to C++20, it is recommended to use `phosphor::lg2` to format log, and the correct `CODE_LINE` and `CODE_FUNC` values can be used in log tracking.
Tested: built phosphor-srvcfg-manager successfully and Unit Test passes.
Signed-off-by: George Liu <liuxiwei@inspur.com> Change-Id: Ib676a0d8082b0e3e72b51bd5115bf5b05599e6ec
show more ...
|
fa5d5ca7 | 06-Dec-2021 |
George Liu <liuxiwei@inspur.com> |
Update the clang-format file with latest
refer: https://github.com/openbmc/docs/blob/master/style/cpp/.clang-format
Signed-off-by: George Liu <liuxiwei@inspur.com> Change-Id: Ib472614dc91f266f859ef
Update the clang-format file with latest
refer: https://github.com/openbmc/docs/blob/master/style/cpp/.clang-format
Signed-off-by: George Liu <liuxiwei@inspur.com> Change-Id: Ib472614dc91f266f859ef11d421b999265ca5e82
show more ...
|
c7d22531 | 17-Nov-2021 |
Joseph Reynolds <joseph-reynolds@charter.net> |
Add README
This creates the initial README.
Tested: not applicable
Signed-off-by: Joseph Reynolds <joseph-reynolds@charter.net> Change-Id: Iac6d722afa9ec5684b5013bd9e6976c7cd26be72 |
a1fe1a28 | 18-Oct-2021 |
Bruce Mitchell <bruce.mitchell@linux.vnet.ibm.com> |
Use true instead of 1 for a while loop
Converts the while loop to while (true) from while (1). This is in the same spirt as using ES.47: Use nullptr rather than 0 or NULL https://isocpp.github.io/Cp
Use true instead of 1 for a while loop
Converts the while loop to while (true) from while (1). This is in the same spirt as using ES.47: Use nullptr rather than 0 or NULL https://isocpp.github.io/CppCoreGuidelines/CppCoreGuidelines#Res-nullptr
Tested: Built p10bmc before and after change, successful build and runs on QEMU with no differences.
Signed-off-by: Bruce Mitchell <bruce.mitchell@linux.vnet.ibm.com> Change-Id: Ia01a17775f4731536bd6a1d0a09a927d3fc1807d
show more ...
|
b50ebd2f | 02-Jun-2021 |
Patrik Tesarik <patrik.tesarik@rub.de> |
Add subproject directory & wrapper files
This commit enables the isolated build of this repository with meson. This contribution was made possible by Patrick's [blog post][1].
Building standalone w
Add subproject directory & wrapper files
This commit enables the isolated build of this repository with meson. This contribution was made possible by Patrick's [blog post][1].
Building standalone with `meson setup builddir && ninja -C builddir` worked up to the point when `phosphor-logging` raised an [error][2]. So I cannot state that it is fully tested, but setting up the `builddir` correctly should've been half the way.
[1]: http://www.stwcx.xyz/blog/2021/04/18/meson-subprojects.html [2]: https://github.com/openbmc/phosphor-logging/issues/22
Signed-off-by: Patrik Tesarik <patrik.tesarik@rub.de> Change-Id: I8ce6c9292edbb6d72414edd8794c337f30bc0734
show more ...
|
9cd87072 | 02-Jun-2021 |
Patrik Tesarik <patrik.tesarik@rub.de> |
meson: switch pkgconfig access method
Since meson (>=0.56) the use of `get_pkgconfig_variable()` is deprecated in favor of the more arbitrary `get_variable()`. See [reference][] under: "Arbitrary va
meson: switch pkgconfig access method
Since meson (>=0.56) the use of `get_pkgconfig_variable()` is deprecated in favor of the more arbitrary `get_variable()`. See [reference][] under: "Arbitrary variables from dependencies that can be found multiple ways".
[Reference]: https://github.com/mesonbuild/meson/blob/master/docs/markdown/Dependencies.md
Signed-off-by: Patrik Tesarik <patrik.tesarik@9elements.com> Change-Id: I89d877108f75a4a48f644a75c1fd0e3703e7e1fb Signed-off-by: Patrick Williams <patrick@stwcx.xyz>
show more ...
|
6e4a3f6f | 18-Oct-2021 |
Bruce Mitchell <bruce.mitchell@linux.vnet.ibm.com> |
Replace IRC with Discord
Discord has more users. IRC traffic has ground to a halt.
Signed-off-by: Bruce Mitchell <bruce.mitchell@linux.vnet.ibm.com> Change-Id: I3020f974de963bfdd74c2afbd64cd9e200a4
Replace IRC with Discord
Discord has more users. IRC traffic has ground to a halt.
Signed-off-by: Bruce Mitchell <bruce.mitchell@linux.vnet.ibm.com> Change-Id: I3020f974de963bfdd74c2afbd64cd9e200a4be91
show more ...
|
cd72d3a1 | 23-Oct-2021 |
Manojkiran Eda <manojkiran.eda@gmail.com> |
Add OWNERS file
Signed-off-by: Manojkiran Eda <manojkiran.eda@gmail.com> Change-Id: Ic1b5295d0e0ca507aa217d088f17b39591e229c8 |
053164c6 | 06-Oct-2021 |
Patrick Williams <patrick@stwcx.xyz> |
build: switch to C++20
Signed-off-by: Patrick Williams <patrick@stwcx.xyz> Change-Id: Ifb2971a421845a75e5b8f2e55da73db5f93897ec |
a19b5093 | 24-May-2021 |
George Liu <liuxiwei@inspur.com> |
Allow disabling SSH
The intent behind this commit is to add the dropbear service, monitor the Enabled and Running properties, and then update the dropbear.socket to allow disabling/enabling SSH.
Te
Allow disabling SSH
The intent behind this commit is to add the dropbear service, monitor the Enabled and Running properties, and then update the dropbear.socket to allow disabling/enabling SSH.
Tested: 1. busctl introspect xyz.openbmc_project.Control.Service.Manager /xyz/openbmc_project/control/service/dropbear xyz.openbmc_project.Control.Service.Attributes interface .Enabled property b false emits-change writable .Masked property b false emits-change writable .Running property b true emits-change writable
Open a new SSH connection: sudo ssh username@<IP> Successfully connected
2. busctl set-property xyz.openbmc_project.Control.Service.Manager /xyz/openbmc_project/control/service/dropbear xyz.openbmc_project.Control.Service.Attributes Running b false
busctl introspect xyz.openbmc_project.Control.Service.Manager /xyz/openbmc_project/control/service/dropbear xyz.openbmc_project.Control.Service.Attributes interface .Enabled property b false emits-change writable .Masked property b false emits-change writable .Running property b false emits-change writable
Open a new SSH connection: sudo ssh username@<IP> ssh: connect to host <IP> port 22: Connection refused
Signed-off-by: George Liu <liuxiwei@inspur.com> Change-Id: I5d004f7f49c25fc90b93dabd124fe0d3d93ca822
show more ...
|
1f3813f8 | 27-Jul-2020 |
Tom Joseph <tomjoseph@in.ibm.com> |
add_manager adds the ObjectManager interface
add_manager adds the interface org.freedesktop.DBus.ObjectManager in the object path /xyz/openbmc_project/control/service.
srcCfgMgrIntf had / in the in
add_manager adds the ObjectManager interface
add_manager adds the interface org.freedesktop.DBus.ObjectManager in the object path /xyz/openbmc_project/control/service.
srcCfgMgrIntf had / in the interface name and phosphor-srvcfg-manager terminates with "Invalid path or interface"
Tested:
1) Verified phosphor-srvcfg-manager is not terminating 2) Verified org.freedesktop.DBus.ObjectManager interface is implemented by /xyz/openbmc_project/control/service.
Signed-off-by: Tom Joseph <tomjoseph@in.ibm.com> Change-Id: I3f0286b4bc36929b15e6e915200d381034bf8663
show more ...
|
ba2c083e | 15-Jul-2020 |
Vernon Mauery <vernon.mauery@linux.intel.com> |
Change files to use standard unix file endings
CRLF line endings are non-standard for this project. Change them to use the standard unix LF ending.
Tested: `git show -w` shows no difference
Change
Change files to use standard unix file endings
CRLF line endings are non-standard for this project. Change them to use the standard unix LF ending.
Tested: `git show -w` shows no difference
Change-Id: I353adcd2054c48a040b4e3a09bc46913cb6422fa Signed-off-by: Vernon Mauery <vernon.mauery@linux.intel.com>
show more ...
|
130b6bbb | 15-Jul-2020 |
Vernon Mauery <vernon.mauery@linux.intel.com> |
Use a valid D-Bus interface name
D-Bus interfaces require a dotted name with at least two parts, with the recommended name reverse FQDN style. Without this change, the service config manager was con
Use a valid D-Bus interface name
D-Bus interfaces require a dotted name with at least two parts, with the recommended name reverse FQDN style. Without this change, the service config manager was constantly aborting because of the invalid name (with the latest sdbusplus changes)
Tested: The service config manager is back up and running and can interact with other entities on the bus.
Change-Id: I4d3683548d61c71f7a56b86d65b7e48a50f91e4d Signed-off-by: Vernon Mauery <vernon.mauery@linux.intel.com>
show more ...
|
1a885d98 | 10-Jul-2020 |
Tom Joseph <tomjoseph@in.ibm.com> |
Remove adding an empty interface
``` terminate called after throwing an instance of 'sdbusplus::exception::SdBusError' what(): sd_bus_add_object_vtable: org.freedesktop.DBus.Error.InvalidArgs: Inva
Remove adding an empty interface
``` terminate called after throwing an instance of 'sdbusplus::exception::SdBusError' what(): sd_bus_add_object_vtable: org.freedesktop.DBus.Error.InvalidArgs: Invalid argument ``` phosphor-srvcfg-manager is throwing the above exception and coredumping. Adding an empty interface will throw an exception after the below change in sdbusplus.
https://github.com/openbmc/sdbusplus/commit/017a19da5f67a74daedf4d63111569902d4764e6 https://github.com/openbmc/sdbusplus/commit/fb0366b5c15d196c62498b8c3c35c5231c372262
Tested:
1) Patched witherspoon-tacoma and phosphor-srvcfg-manager did not coredump. 2) ObjectManager interface is implemented by /xyz/openbmc_project/control/service. 3) Disabled and enabled net-ipmi successfully.
Signed-off-by: Tom Joseph <tomjoseph@in.ibm.com> Change-Id: I5e66f0244c07345b5caea5f94578bf0592b4a91a
show more ...
|
0f2b1414 | 09-Jul-2020 |
Andrew Geissler <geissonator@yahoo.com> |
do not override systemd restart config options
There doesn't appear to be any special reason for this service to override the defaults set by OpenBMC for how many times a service should restart befo
do not override systemd restart config options
There doesn't appear to be any special reason for this service to override the defaults set by OpenBMC for how many times a service should restart before giving up.
Recently we saw an issue where this service was failing repeatedly. It continued to just loop and loop on restarts, generating core dump after core dump. The whole purpose of the restart limits is to avoid situations like this.
Tested: Verified that this change caused srvcfg-manager service to stop after failing twice
Signed-off-by: Andrew Geissler <geissonator@yahoo.com> Change-Id: I420b5de55f368602e17a2b482d29b9d58f16d31a
show more ...
|