commit | 88ad42bd84d05825255c035963afc29eeefcc79d | [log] [tgz] |
---|---|---|
author | Lei YU <mine260309@gmail.com> | Thu Aug 03 17:29:41 2017 +0800 |
committer | Lei YU <mine260309@gmail.com> | Mon Oct 16 20:41:02 2017 +0800 |
tree | 8526aba151be8c6ab38f4338747941ca2d8e11b9 | |
parent | 1c2ce82c0c3226a94aeefcc6ff2ddee170792ca0 [diff] |
Remove use_dhcp_ntp related code Dhcp ntp related functions are now implemented by new network daemon (phosphor-network-manager), so time manager does not need to handle the setting anymore. Remove all the code related to use_dhcp_ntp. Change-Id: Iea7f60dbe9558193585d3cd553dec15bbfe2aaa4 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 | Fail to set | Not allowed NTP | HOST | Not allowed | Not allowed NTP | SPLIT | Fail to set | OK NTP | BOTH | Fail to set | 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.