From 6c2b1465cce11631f5d6bf757ea194b26ca3cb7f Mon Sep 17 00:00:00 2001 From: Dave Hill Date: Sun, 30 Jul 2017 14:27:37 -0400 Subject: [PATCH] Clear /etc/machine-id to avoid duplicate machine-ids Deploying many nodes with the generated image shouldn't have the same /etc/machine-id so clearing it and letting systemd generate a new id upon first boot seems to be the best way to achieve this. Change-Id: I73d0577d31464521b3989312fd9d982a1312a268 Closes-bug: 1707526 Closes-bug: 1672461 --- diskimage_builder/elements/debian/element-deps | 1 + .../elements/opensuse-minimal/element-deps | 1 + diskimage_builder/elements/opensuse/element-deps | 1 + diskimage_builder/elements/redhat-common/element-deps | 1 + diskimage_builder/elements/sysprep/README.rst | 5 +++++ .../elements/sysprep/finalise.d/01-clear-machine-id | 11 +++++++++++ diskimage_builder/elements/ubuntu-common/element-deps | 1 + releasenotes/notes/sysprep-f3fd036bc1d2c405.yaml | 9 +++++++++ 8 files changed, 30 insertions(+) create mode 100644 diskimage_builder/elements/sysprep/README.rst create mode 100755 diskimage_builder/elements/sysprep/finalise.d/01-clear-machine-id create mode 100644 diskimage_builder/elements/ubuntu-common/element-deps create mode 100644 releasenotes/notes/sysprep-f3fd036bc1d2c405.yaml diff --git a/diskimage_builder/elements/debian/element-deps b/diskimage_builder/elements/debian/element-deps index 1c0ebe248..25a740d8a 100644 --- a/diskimage_builder/elements/debian/element-deps +++ b/diskimage_builder/elements/debian/element-deps @@ -1,2 +1,3 @@ debian-minimal openssh-server +sysprep diff --git a/diskimage_builder/elements/opensuse-minimal/element-deps b/diskimage_builder/elements/opensuse-minimal/element-deps index ac6b190dd..799449c22 100644 --- a/diskimage_builder/elements/opensuse-minimal/element-deps +++ b/diskimage_builder/elements/opensuse-minimal/element-deps @@ -1 +1,2 @@ +sysprep zypper-minimal diff --git a/diskimage_builder/elements/opensuse/element-deps b/diskimage_builder/elements/opensuse/element-deps index 89baf7316..955c38b1b 100644 --- a/diskimage_builder/elements/opensuse/element-deps +++ b/diskimage_builder/elements/opensuse/element-deps @@ -1,3 +1,4 @@ cache-url package-installs +sysprep zypper diff --git a/diskimage_builder/elements/redhat-common/element-deps b/diskimage_builder/elements/redhat-common/element-deps index 7076aba94..5cef2a44c 100644 --- a/diskimage_builder/elements/redhat-common/element-deps +++ b/diskimage_builder/elements/redhat-common/element-deps @@ -1 +1,2 @@ package-installs +sysprep diff --git a/diskimage_builder/elements/sysprep/README.rst b/diskimage_builder/elements/sysprep/README.rst new file mode 100644 index 000000000..cb9c15aa3 --- /dev/null +++ b/diskimage_builder/elements/sysprep/README.rst @@ -0,0 +1,5 @@ +sysprep +======= + +This element holds configuration and scripts that are common for all +distributions. diff --git a/diskimage_builder/elements/sysprep/finalise.d/01-clear-machine-id b/diskimage_builder/elements/sysprep/finalise.d/01-clear-machine-id new file mode 100755 index 000000000..e3e4aac18 --- /dev/null +++ b/diskimage_builder/elements/sysprep/finalise.d/01-clear-machine-id @@ -0,0 +1,11 @@ +#!/bin/bash + +if [ ${DIB_DEBUG_TRACE:-0} -gt 0 ]; then + set -x +fi +set -eu +set -o pipefail + +if [ -e /etc/machine-id ]; then + > /etc/machine-id +fi diff --git a/diskimage_builder/elements/ubuntu-common/element-deps b/diskimage_builder/elements/ubuntu-common/element-deps new file mode 100644 index 000000000..467f171ad --- /dev/null +++ b/diskimage_builder/elements/ubuntu-common/element-deps @@ -0,0 +1 @@ +sysprep diff --git a/releasenotes/notes/sysprep-f3fd036bc1d2c405.yaml b/releasenotes/notes/sysprep-f3fd036bc1d2c405.yaml new file mode 100644 index 000000000..2a9696898 --- /dev/null +++ b/releasenotes/notes/sysprep-f3fd036bc1d2c405.yaml @@ -0,0 +1,9 @@ +--- +features: + - | + Adds sysprep element included by all systemd distros +fixes: + - | + Adds default sysprep element clearing /etc/machine-id which + prevents duplicated /etc/machine-id by forcing systemd to + generate a new id for each booted system.