Remove TimeOwner Feature
The TimeOwner feature is confusing from feedback from the community and
hence removing the feature.
Remove the TimeOwner feature in the phosphor-time-manager repo and
needed settings objects.
Tested: Manually set the date time on the web and successfully update
the date time of BMC (eg: 2020/01/01 08:07:50).
busctrl get-property xyz.openbmc_project.Time.Manager
/xyz/openbmc_project/time/bmc
xyz.openbmc_project.Time.EpochTime Elapsed
t 1577837156385836
Refer: https://lists.ozlabs.org/pipermail/openbmc/2020-April/021409.html
Signed-off-by: George Liu <liuxiwei@inspur.com>
Change-Id: Id47eb0a03e0e94eeff29d2b77dccefb89cded7b8
diff --git a/manager.cpp b/manager.cpp
index 51bd5bf..92a7a3c 100644
--- a/manager.cpp
+++ b/manager.cpp
@@ -27,8 +27,7 @@
using namespace phosphor::logging;
-const std::set<std::string> Manager::managedProperties = {PROPERTY_TIME_MODE,
- PROPERTY_TIME_OWNER};
+const std::set<std::string> Manager::managedProperties = {PROPERTY_TIME_MODE};
Manager::Manager(sdbusplus::bus::bus& bus) : bus(bus), settings(bus)
{
@@ -39,10 +38,6 @@
std::bind(std::mem_fn(&Manager::onHostStateChanged), this,
std::placeholders::_1));
settingsMatches.emplace_back(
- bus, propertiesChanged(settings.timeOwner, settings::timeOwnerIntf),
- std::bind(std::mem_fn(&Manager::onSettingsChanged), this,
- std::placeholders::_1));
- settingsMatches.emplace_back(
bus, propertiesChanged(settings.timeSyncMethod, settings::timeSyncIntf),
std::bind(std::mem_fn(&Manager::onSettingsChanged), this,
std::placeholders::_1));
@@ -55,18 +50,14 @@
// Check the settings daemon to process the new settings
auto mode = getSetting(settings.timeSyncMethod.c_str(),
settings::timeSyncIntf, PROPERTY_TIME_MODE);
- auto owner = getSetting(settings.timeOwner.c_str(), settings::timeOwnerIntf,
- PROPERTY_TIME_OWNER);
onPropertyChanged(PROPERTY_TIME_MODE, mode);
- onPropertyChanged(PROPERTY_TIME_OWNER, owner);
}
void Manager::addListener(PropertyChangeListner* listener)
{
// Notify listener about the initial value
listener->onModeChanged(timeMode);
- listener->onOwnerChanged(timeOwner);
listeners.insert(listener);
}
@@ -78,11 +69,6 @@
{
timeMode = utils::strToMode(mode);
}
- auto owner = utils::readData<std::string>(ownerFile);
- if (!owner.empty())
- {
- timeOwner = utils::strToOwner(owner);
- }
}
void Manager::checkHostOn()
@@ -102,7 +88,7 @@
{
if (hostOn)
{
- // If host is on, set the values as requested time mode/owner.
+ // If host is on, set the values as requested time mode.
// And when host becomes off, notify the listeners.
setPropertyAsRequested(key, value);
}
@@ -114,11 +100,6 @@
setCurrentTimeMode(value);
onTimeModeChanged(value);
}
- else if (key == PROPERTY_TIME_OWNER)
- {
- setCurrentTimeOwner(value);
- onTimeOwnerChanged();
- }
}
}
@@ -149,10 +130,6 @@
{
setRequestedMode(value);
}
- else if (key == PROPERTY_TIME_OWNER)
- {
- setRequestedOwner(value);
- }
else
{
// The key shall be already the supported one
@@ -170,11 +147,6 @@
requestedMode = mode;
}
-void Manager::setRequestedOwner(const std::string& owner)
-{
- requestedOwner = owner;
-}
-
void Manager::updateNtpSetting(const std::string& value)
{
bool isNtp =
@@ -238,14 +210,6 @@
}
setRequestedMode({}); // Clear requested mode
}
- if (!requestedOwner.empty())
- {
- if (setCurrentTimeOwner(requestedOwner))
- {
- onTimeOwnerChanged();
- }
- setRequestedOwner({}); // Clear requested owner
- }
}
bool Manager::setCurrentTimeMode(const std::string& mode)
@@ -265,23 +229,6 @@
}
}
-bool Manager::setCurrentTimeOwner(const std::string& owner)
-{
- auto newOwner = utils::strToOwner(owner);
- if (newOwner != timeOwner)
- {
- log<level::INFO>("Time owner is changed",
- entry("OWNER=%s", owner.c_str()));
- timeOwner = newOwner;
- utils::writeData(ownerFile, owner);
- return true;
- }
- else
- {
- return false;
- }
-}
-
void Manager::onTimeModeChanged(const std::string& mode)
{
for (const auto listener : listeners)
@@ -292,14 +239,6 @@
updateNtpSetting(mode);
}
-void Manager::onTimeOwnerChanged()
-{
- for (const auto& listener : listeners)
- {
- listener->onOwnerChanged(timeOwner);
- }
-}
-
std::string Manager::getSetting(const char* path, const char* interface,
const char* setting) const
{