From e94c80b91e9997d75ab652cd48807b03b33fa721 Mon Sep 17 00:00:00 2001 From: Colleen Murphy Date: Tue, 28 Mar 2017 22:27:44 +0200 Subject: [PATCH] Manage NTP on zuul workers in DIB Currently, NTP is configured on zuul workers via puppet[1]. As part of reducing the nodepool image builds' dependency on puppet, this patch adds the necessary package dependencies and service configuration to have NTP running on nodes without needing puppet to install and start it. [1] http://git.openstack.org/cgit/openstack-infra/system-config/tree/modules/openstack_project/manifests/template.pp?id=1b0e016093a71ad4eb1b4dde55ac9398b2505f24#n243 Change-Id: Iee6babc183dd12cc82ce76ddfde04f2d98ddc4d6 --- .../infra-package-needs/package-installs.yaml | 1 + nodepool/elements/infra-package-needs/pkg-map | 2 ++ .../post-install.d/80-enable-infra-services | 33 +++++++++++++++++++ 3 files changed, 36 insertions(+) create mode 100755 nodepool/elements/infra-package-needs/post-install.d/80-enable-infra-services diff --git a/nodepool/elements/infra-package-needs/package-installs.yaml b/nodepool/elements/infra-package-needs/package-installs.yaml index 0ae0f6ebaa..b4a690ca94 100644 --- a/nodepool/elements/infra-package-needs/package-installs.yaml +++ b/nodepool/elements/infra-package-needs/package-installs.yaml @@ -6,6 +6,7 @@ python-dev: python3-dev: uuid-runtime: traceroute: +ntp: ntpdate: gentoolkit: at: diff --git a/nodepool/elements/infra-package-needs/pkg-map b/nodepool/elements/infra-package-needs/pkg-map index ea4c2a78ea..4b1c84f5e2 100644 --- a/nodepool/elements/infra-package-needs/pkg-map +++ b/nodepool/elements/infra-package-needs/pkg-map @@ -6,6 +6,7 @@ "gentoo": { "build-essential": "", "cron": "sys-process/cronie", + "ntp": "net-misc/ntp", "python-dev": "", "python3-dev": "", "traceroute": "net-analyzer/traceroute", @@ -18,6 +19,7 @@ "build-essential": "glibc-devel gcc make", "dnsutils": "bind-utils", "iputils-ping": "iputils", + "ntp": "ntp ntp-perl", "python-dev": "python-devel", "python3-dev": "", "uuid-runtime": "" diff --git a/nodepool/elements/infra-package-needs/post-install.d/80-enable-infra-services b/nodepool/elements/infra-package-needs/post-install.d/80-enable-infra-services new file mode 100755 index 0000000000..c6691faa12 --- /dev/null +++ b/nodepool/elements/infra-package-needs/post-install.d/80-enable-infra-services @@ -0,0 +1,33 @@ +#!/bin/bash + +if [ "${DIB_DEBUG_TRACE:-0}" -gt 0 ]; then + set -x +fi +set -eu +set -o pipefail + +case "$DIB_INIT_SYSTEM" in + upstart) + # nothing to do + exit 0 + ;; + systemd) + if [[ $DISTRO_NAME = "ubuntu" || $DISTRO_NAME = "debian" ]]; then + systemctl enable ntp.service + else + systemctl enable ntpd.service + fi + ;; + openrc) + # let dib-init-system's postinstall handle enabling init scripts + exit 0 + ;; + sysv) + # ntp is enabled by default, nothing to do + exit 0 + ;; + *) + echo "Unsupported init system $DIB_INIT_SYSTEM" + exit 1 + ;; +esac