commit | 23d06af53140366be1aba634014929182897174e | [log] [tgz] |
---|---|---|
author | Lei YU <mine260309@gmail.com> | Tue Jul 11 17:22:17 2017 +0800 |
committer | Lei YU <mine260309@gmail.com> | Mon Oct 16 20:40:04 2017 +0800 |
tree | c54432a7341cbf005607a6bafe1f18f2620822f4 | |
parent | 57eab12468e6de4d2be6b81822d85cd8201e057f [diff] |
Add repo specific errors 1. Add Internal.errors.yaml to define repo specific errors 2. Update configure.ac and Makefile.am to generate code from error yamls 3. Add elog-gen.hpp generated by elog-gen.py Change-Id: I6858f2c9f3c2100ce106d1effe7ad3f340117fec Signed-off-by: Lei YU <mine260309@gmail.com>
phosphor-time-manager
is the time manager service that implements dbus interface xyz/openbmc_project/Time/EpochTime.interface.yaml
. User can get or set the BMC's or HOST's time via this interface.
The service xyz.openbmc_project.Time.Manager
provides two objects on dbus:
where each object implements interface xyz.openbmc_project.Time.EpochTime
.
User can directly get or set the property Elasped
of the objects to get or set the time. For example on an authenticated session:
### With busctl on BMC busctl get-property xyz.openbmc_project.Time.Manager \ /xyz/openbmc_project/time/bmc xyz.openbmc_project.Time.EpochTime Elapsed ### With REST API on remote host curl -b cjar -k https://bmc-ip/xyz/openbmc_project/time/bmc
### With busctl on BMC busctl set-property xyz.openbmc_project.Time.Manager \ /xyz/openbmc_project/time/host xyz.openbmc_project.Time.EpochTime \ Elapsed t <value-in-microseconds> ### With REST API on remote host curl -b cjar -k -H "Content-Type: application/json" -X PUT \ -d '{"data": 1487304700000000}' \ https://bmc-ip/xyz/openbmc_project/time/host/attr/Elapsed
Getting BMC or HOST time is always allowed, but setting the time may not be allowed depending on below two settings in settings manager.
A summary of which cases the time can be set on BMC or HOST: Mode | Owner | Set BMC Time | Set Host Time --------- | ----- | ------------- | ------------------- NTP | BMC | Not allowed | Not allowed NTP | HOST | Not allowed | Not allowed NTP | SPLIT | Not allowed | OK NTP | BOTH | Not allowed | Not allowed MANUAL | BMC | OK | Not allowed MANUAL | HOST | Not allowed | OK MANUAL | SPLIT | OK | OK MANUAL | BOTH | OK | OK
When host is on (pgood == 1), the changes of the above time mode/owner are not applied but deferred. The changes of the mode/owner are saved to persistent storage.
When host is off (pgood == 0), the saved mode/owner are read from persistent storage and are applied.
Note: user can set the time mode and owner in settings daemon at any time, but time manager applying them is governed by the above condition.