From 80f5ec4be0f781b26eca51d90d51abfab396b3f6 Mon Sep 17 00:00:00 2001 From: Scott Moser Date: Mon, 19 Sep 2016 11:48:54 -0400 Subject: Adjust mounts and disk configuration for systemd. The end result of all of these changes is to get mounts managed by cloud-init to occur only after cloud-init.service is done. We need to do that so that filesystems that are set up by cloud-init (in disk_setup) do not get mounted by stale entries in /etc/fstab before the setup occurs. This can occur in 2 ways: a.) new instance with old /etc/fstab b.) same instance where disk needs adjusting (Azure resize will re-format the ephemeral disk). The list of changes here is: - move mounts and disk_setup module to cloud-init.service rather than config. cloud-init.service runs earlier in boot so it can get those mount points done earlier. - on systemd add 'x-systemd.requires=cloud-init.service' to fstab options - cloud-init-local.service: add Before=basic.target - cloud-init.service: - extend After, Before, and Wants to multiple lines rather than one long line. - sort consistently with cloud-init-local.service - add DefaultDependencies=no - add Before=default.target - add Conflicts=shutdown.target LP: #1611074 --- systemd/cloud-init-local.service | 3 ++- systemd/cloud-init.service | 16 +++++++++++++--- 2 files changed, 15 insertions(+), 4 deletions(-) (limited to 'systemd') diff --git a/systemd/cloud-init-local.service b/systemd/cloud-init-local.service index b19eeaee..bc2db60e 100644 --- a/systemd/cloud-init-local.service +++ b/systemd/cloud-init-local.service @@ -4,9 +4,10 @@ DefaultDependencies=no Wants=local-fs.target Wants=network-pre.target After=local-fs.target -Conflicts=shutdown.target +Before=basic.target Before=network-pre.target Before=shutdown.target +Conflicts=shutdown.target [Service] Type=oneshot diff --git a/systemd/cloud-init.service b/systemd/cloud-init.service index 6fb655e6..1e392a39 100644 --- a/systemd/cloud-init.service +++ b/systemd/cloud-init.service @@ -1,9 +1,19 @@ [Unit] Description=Initial cloud-init job (metadata service crawler) -After=cloud-init-local.service networking.service -Before=network-online.target sshd.service sshd-keygen.service systemd-user-sessions.service +DefaultDependencies=no +Wants=cloud-init-local.service +Wants=local-fs.target +Wants=sshd-keygen.service +Wants=sshd.service +After=cloud-init-local.service +After=networking.service Requires=networking.service -Wants=local-fs.target cloud-init-local.service sshd.service sshd-keygen.service +Before=basic.target +Before=network-online.target +Before=sshd-keygen.service +Before=sshd.service +Before=systemd-user-sessions.service +Conflicts=shutdown.target [Service] Type=oneshot -- cgit v1.2.3