summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPedro Alvarez <pedro.alvarez@codethink.co.uk>2014-10-07 11:54:05 +0100
committerPedro Alvarez <pedro.alvarez@codethink.co.uk>2014-10-07 11:54:05 +0100
commit5d53ad8f1be53ee9bca4abd2d4a509a16baea7f2 (patch)
treead0aa0ddf1b357b4e9f2296869ad283068349aff
parenta8d42b546acbb827f0cba1243d2602f06125a10b (diff)
parent48d79f276ca3b37e90a991e2e951d06d4e35c72b (diff)
downloaddefinitions-5d53ad8f1be53ee9bca4abd2d4a509a16baea7f2.tar.gz
Merge branch 'baserock/pedroalvarez/improve-cloud-init-configuration'
Reviewed-by: Richard Maw Reviewed-by: Sam Thursfield Reviewed-by: Francisco Redondo Marchena
-rwxr-xr-xcloud-init.configure29
1 files changed, 21 insertions, 8 deletions
diff --git a/cloud-init.configure b/cloud-init.configure
index 0dd53654..aa83e0e2 100755
--- a/cloud-init.configure
+++ b/cloud-init.configure
@@ -40,11 +40,24 @@ True|yes)
esac
-ln -sf /lib/systemd/system/cloud-config.service \
- "$ROOT/etc/systemd/system/multi-user.target.wants/cloud-config.service"
-ln -sf /lib/systemd/system/cloud-init-local.service \
- "$ROOT/etc/systemd/system/multi-user.target.wants/cloud-init-local.service"
-ln -sf /lib/systemd/system/cloud-init.service \
- "$ROOT/etc/systemd/system/multi-user.target.wants/cloud-init.service"
-ln -sf /lib/systemd/system/cloud-final.service \
- "$ROOT/etc/systemd/system/multi-user.target.wants/cloud-final.service"
+cloud_init_services="cloud-config.service
+ cloud-init-local.service
+ cloud-init.service
+ cloud-final.service"
+
+# Iterate over the cloud-init services and enable them creating a link
+# into /etc/systemd/system/multi-user.target.wants.
+# If the services to link are not present, fail.
+
+services_folder="lib/systemd/system"
+for service_name in $cloud_init_services; do
+ if [ ! -f "$ROOT/$services_folder/$service_name" ]; then
+ echo "ERROR: Service $service_name is missing." >&2
+ echo "Failed to configure cloud-init."
+ exit 1
+ else
+ echo Enabling systemd service "$service_name" >"$MORPH_LOG_FD"
+ ln -sf "/$services_folder/$service_name" \
+ "$ROOT/etc/systemd/system/multi-user.target.wants/$service_name"
+ fi
+done