diff options
author | Scott Moser <smoser@ubuntu.com> | 2014-07-29 09:52:02 -0400 |
---|---|---|
committer | Scott Moser <smoser@ubuntu.com> | 2014-07-29 09:52:02 -0400 |
commit | 67428ad5a66ee57d1212e5af74cb9e9ed81d2c7b (patch) | |
tree | e3ece15c3b28e3cc0ce26b8fe81d72fda1cf7ca8 /cloudinit/distros | |
parent | 4b8397a510c4ff6f903e98bef50d350410f41451 (diff) | |
download | vyos-cloud-init-67428ad5a66ee57d1212e5af74cb9e9ed81d2c7b.tar.gz vyos-cloud-init-67428ad5a66ee57d1212e5af74cb9e9ed81d2c7b.zip |
do not put comments in /etc/timezone
comments in /etc/timezone are not expected, and can cause problems
if another tool tries to read it.
LP: #1341710
Diffstat (limited to 'cloudinit/distros')
-rw-r--r-- | cloudinit/distros/__init__.py | 9 | ||||
-rw-r--r-- | cloudinit/distros/arch.py | 13 | ||||
-rw-r--r-- | cloudinit/distros/debian.py | 13 | ||||
-rw-r--r-- | cloudinit/distros/gentoo.py | 13 |
4 files changed, 12 insertions, 36 deletions
diff --git a/cloudinit/distros/__init__.py b/cloudinit/distros/__init__.py index 55d6bcbc..1a56dfb3 100644 --- a/cloudinit/distros/__init__.py +++ b/cloudinit/distros/__init__.py @@ -856,3 +856,12 @@ def fetch(name): mod = importer.import_module(locs[0]) cls = getattr(mod, 'Distro') return cls + + +def set_etc_timezone(tz, tz_file=None, tz_conf="/etc/timezone", + tz_local="/etc/localtime"): + util.write_file(tz_conf, str(tz).rstrip() + "\n") + # This ensures that the correct tz will be used for the system + if tz_local and tz_file: + util.copy(tz_file, self.tz_local_fn) + return diff --git a/cloudinit/distros/arch.py b/cloudinit/distros/arch.py index 310c3dff..9f11b89c 100644 --- a/cloudinit/distros/arch.py +++ b/cloudinit/distros/arch.py @@ -32,8 +32,6 @@ LOG = logging.getLogger(__name__) class Distro(distros.Distro): locale_conf_fn = "/etc/locale.gen" network_conf_dir = "/etc/netctl" - tz_conf_fn = "/etc/timezone" - tz_local_fn = "/etc/localtime" resolve_conf_fn = "/etc/resolv.conf" init_cmd = ['systemctl'] # init scripts @@ -161,16 +159,7 @@ class Distro(distros.Distro): return hostname def set_timezone(self, tz): - tz_file = self._find_tz_file(tz) - # Note: "" provides trailing newline during join - tz_lines = [ - util.make_header(), - str(tz), - "", - ] - util.write_file(self.tz_conf_fn, "\n".join(tz_lines)) - # This ensures that the correct tz will be used for the system - util.copy(tz_file, self.tz_local_fn) + set_etc_timezone(tz=tz, tz_file=self._find_tz_file(tz)) def package_command(self, command, args=None, pkgs=None): if pkgs is None: diff --git a/cloudinit/distros/debian.py b/cloudinit/distros/debian.py index 1ae232fd..7cf4a9ef 100644 --- a/cloudinit/distros/debian.py +++ b/cloudinit/distros/debian.py @@ -46,8 +46,6 @@ class Distro(distros.Distro): hostname_conf_fn = "/etc/hostname" locale_conf_fn = "/etc/default/locale" network_conf_fn = "/etc/network/interfaces" - tz_conf_fn = "/etc/timezone" - tz_local_fn = "/etc/localtime" def __init__(self, name, cfg, paths): distros.Distro.__init__(self, name, cfg, paths) @@ -133,16 +131,7 @@ class Distro(distros.Distro): return "127.0.1.1" def set_timezone(self, tz): - tz_file = self._find_tz_file(tz) - # Note: "" provides trailing newline during join - tz_lines = [ - util.make_header(), - str(tz), - "", - ] - util.write_file(self.tz_conf_fn, "\n".join(tz_lines)) - # This ensures that the correct tz will be used for the system - util.copy(tz_file, self.tz_local_fn) + set_etc_timezone(tz=tz, tz_file=self._find_tz_file(tz)) def package_command(self, command, args=None, pkgs=None): if pkgs is None: diff --git a/cloudinit/distros/gentoo.py b/cloudinit/distros/gentoo.py index 09f8d8ea..c4b02de1 100644 --- a/cloudinit/distros/gentoo.py +++ b/cloudinit/distros/gentoo.py @@ -31,8 +31,6 @@ LOG = logging.getLogger(__name__) class Distro(distros.Distro): locale_conf_fn = "/etc/locale.gen" network_conf_fn = "/etc/conf.d/net" - tz_conf_fn = "/etc/timezone" - tz_local_fn = "/etc/localtime" init_cmd = [''] # init scripts def __init__(self, name, cfg, paths): @@ -140,16 +138,7 @@ class Distro(distros.Distro): return hostname def set_timezone(self, tz): - tz_file = self._find_tz_file(tz) - # Note: "" provides trailing newline during join - tz_lines = [ - util.make_header(), - str(tz), - "", - ] - util.write_file(self.tz_conf_fn, "\n".join(tz_lines)) - # This ensures that the correct tz will be used for the system - util.copy(tz_file, self.tz_local_fn) + set_etc_timezone(tz=tz, tz_file=self._find_tz_file(tz)) def package_command(self, command, args=None, pkgs=None): if pkgs is None: |