commit | 6903277cd0d167ad038fe002b268bbdfa87e25c6 | [log] [tgz] |
---|---|---|
author | Lei YU <mine260309@gmail.com> | Tue Feb 21 11:28:12 2017 +0800 |
committer | Lei YU <mine260309@gmail.com> | Mon Oct 16 20:40:04 2017 +0800 |
tree | 77eebf6c47dc49e0bfcd26f6741edec9be779cf1 | |
parent | a741713c3edcf19569d02bce1c76c53f76a61e13 [diff] |
Add README.md Change-Id: I3988740e3666401b4f272f83080edfe7f92513be 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.