From 19dea71f13d55d49e9dfbcc5d941afd5eb5d9e6d Mon Sep 17 00:00:00 2001 From: Vendula Poncova Date: Fri, 3 Jul 2020 12:08:05 +0200 Subject: [PATCH] Use the structure for time sources in anaconda.py Modify anaconda.py to work with TimeSourceData instead of strings. --- anaconda.py | 11 +-------- pyanaconda/startup_utils.py | 45 +++++++++++++++++++++++++++---------- 2 files changed, 34 insertions(+), 22 deletions(-) diff --git a/anaconda.py b/anaconda.py index 1abdeb2e1a..d6bb57190c 100755 --- a/anaconda.py +++ b/anaconda.py @@ -325,7 +325,6 @@ def setup_environment(): from pyanaconda import vnc from pyanaconda import kickstart - from pyanaconda import ntp from pyanaconda import keyboard # we are past the --version and --help shortcut so we can import display & # startup_utils, which import Blivet, without slowing down anything critical @@ -714,15 +713,7 @@ def _earlyExceptionHandler(ty, value, traceback): geoloc.geoloc.refresh() # setup ntp servers and start NTP daemon if not requested otherwise - if conf.system.can_set_time_synchronization: - kickstart_ntpservers = timezone_proxy.NTPServers - - if kickstart_ntpservers: - pools, servers = ntp.internal_to_pools_and_servers(kickstart_ntpservers) - ntp.save_servers_to_config(pools, servers) - - if timezone_proxy.NTPEnabled: - util.start_service("chronyd") + startup_utils.start_chronyd() # Finish the initialization of the setup on boot action. # This should be done sooner and somewhere else once it is possible. diff --git a/pyanaconda/startup_utils.py b/pyanaconda/startup_utils.py index f08b19e11a..e53d5491c1 100644 --- a/pyanaconda/startup_utils.py +++ b/pyanaconda/startup_utils.py @@ -17,29 +17,28 @@ # License and may only be used or replicated with the express permission of # Red Hat, Inc. # -from pyanaconda.core.configuration.anaconda import conf -from pyanaconda.core.i18n import _ - -from pyanaconda.anaconda_loggers import get_stdout_logger, get_storage_logger, get_packaging_logger -stdout_log = get_stdout_logger() - -from pyanaconda.anaconda_loggers import get_module_logger -log = get_module_logger(__name__) - import sys import time import os +import blivet -from pyanaconda.core import util, constants -from pyanaconda import product +from pyanaconda import product, ntp from pyanaconda import anaconda_logging from pyanaconda import network from pyanaconda import safe_dbus from pyanaconda import kickstart +from pyanaconda.anaconda_loggers import get_stdout_logger, get_storage_logger, \ + get_packaging_logger, get_module_logger +from pyanaconda.core import util, constants +from pyanaconda.core.configuration.anaconda import conf +from pyanaconda.core.i18n import _ from pyanaconda.flags import flags from pyanaconda.screensaver import inhibit_screensaver +from pyanaconda.modules.common.structures.timezone import TimeSourceData +from pyanaconda.modules.common.constants.services import TIMEZONE -import blivet +stdout_log = get_stdout_logger() +log = get_module_logger(__name__) def gtk_warning(title, reason): @@ -373,3 +372,25 @@ def parse_kickstart(ks, addon_paths, strict_mode=False): kickstart.parseKickstart(ksdata, ks, strict_mode=strict_mode, pass_to_boss=True) return ksdata + + +def start_chronyd(): + """Start the NTP daemon chronyd. + + Set up NTP servers and start NTP daemon if not requested otherwise. + """ + if not conf.system.can_set_time_synchronization: + log.debug("Skip the time synchronization.") + return + + timezone_proxy = TIMEZONE.get_proxy() + enabled = timezone_proxy.NTPEnabled + servers = TimeSourceData.from_structure_list( + timezone_proxy.TimeSources + ) + + if servers: + ntp.save_servers_to_config(servers) + + if enabled: + util.start_service("chronyd") -- 2.23.0