summaryrefslogtreecommitdiff
path: root/cloudinit/distros/opensuse.py
diff options
context:
space:
mode:
authorRyan Harper <ryan.harper@canonical.com>2018-04-12 15:32:25 -0400
committerScott Moser <smoser@brickies.net>2018-04-12 15:32:25 -0400
commitc6dff581a9c253170d5e3f12fb83d16a8dec8257 (patch)
treee2f7cdcb6d32440d5d0700e7d0262612d498b2c8 /cloudinit/distros/opensuse.py
parent0f7745619ab0a61d7dee5bde43e1e970ddf4a9b6 (diff)
downloadvyos-cloud-init-c6dff581a9c253170d5e3f12fb83d16a8dec8257.tar.gz
vyos-cloud-init-c6dff581a9c253170d5e3f12fb83d16a8dec8257.zip
Implement ntp client spec with auto support for distro selection
Add a base NTP client configuration dictionary and allow Distro specific changes to be merged. Add a select client function which implements logic to preferr installed clients over clients which need to be installed. Also allow distributions to override the cloud-init defaults. LP: #1749722
Diffstat (limited to 'cloudinit/distros/opensuse.py')
-rw-r--r--cloudinit/distros/opensuse.py24
1 files changed, 24 insertions, 0 deletions
diff --git a/cloudinit/distros/opensuse.py b/cloudinit/distros/opensuse.py
index 162dfa05..9f90e95e 100644
--- a/cloudinit/distros/opensuse.py
+++ b/cloudinit/distros/opensuse.py
@@ -208,4 +208,28 @@ class Distro(distros.Distro):
nameservers, searchservers)
return dev_names
+ @property
+ def preferred_ntp_clients(self):
+ """The preferred ntp client is dependent on the version."""
+
+ """Allow distro to determine the preferred ntp client list"""
+ if not self._preferred_ntp_clients:
+ distro_info = util.system_info()['dist']
+ name = distro_info[0]
+ major_ver = int(distro_info[1].split('.')[0])
+
+ # This is horribly complicated because of a case of
+ # "we do not care if versions should be increasing syndrome"
+ if (
+ (major_ver >= 15 and 'openSUSE' not in name) or
+ (major_ver >= 15 and 'openSUSE' in name and major_ver != 42)
+ ):
+ self._preferred_ntp_clients = ['chrony',
+ 'systemd-timesyncd', 'ntp']
+ else:
+ self._preferred_ntp_clients = ['ntp',
+ 'systemd-timesyncd', 'chrony']
+
+ return self._preferred_ntp_clients
+
# vi: ts=4 expandtab