summaryrefslogtreecommitdiff
path: root/systemd
diff options
context:
space:
mode:
Diffstat (limited to 'systemd')
-rw-r--r--systemd/cloud-config.service13
-rw-r--r--systemd/cloud-config.target10
-rw-r--r--systemd/cloud-final.service13
-rw-r--r--systemd/cloud-init-local.service12
-rw-r--r--systemd/cloud-init.service13
5 files changed, 61 insertions, 0 deletions
diff --git a/systemd/cloud-config.service b/systemd/cloud-config.service
new file mode 100644
index 00000000..696230f6
--- /dev/null
+++ b/systemd/cloud-config.service
@@ -0,0 +1,13 @@
+[Unit]
+Description=Apply the settings specified in cloud-config
+After=network.target syslog.target cloud-config.target
+Requires=cloud-config.target
+Wants=network.target
+
+[Service]
+Type=oneshot
+ExecStart=/usr/bin/cloud-init-cfg all config
+RemainAfterExit=yes
+
+[Install]
+WantedBy=multi-user.target
diff --git a/systemd/cloud-config.target b/systemd/cloud-config.target
new file mode 100644
index 00000000..28f5bcf1
--- /dev/null
+++ b/systemd/cloud-config.target
@@ -0,0 +1,10 @@
+# cloud-init normally emits a "cloud-config" upstart event to inform third
+# parties that cloud-config is available, which does us no good when we're
+# using systemd. cloud-config.target serves as this synchronization point
+# instead. Services that would "start on cloud-config" with upstart can
+# instead use "After=cloud-config.target" and "Wants=cloud-config.target"
+# as appropriate.
+
+[Unit]
+Description=Cloud-config availability
+Requires=cloud-init-local.service cloud-init.service
diff --git a/systemd/cloud-final.service b/systemd/cloud-final.service
new file mode 100644
index 00000000..23275ee5
--- /dev/null
+++ b/systemd/cloud-final.service
@@ -0,0 +1,13 @@
+[Unit]
+Description=Execute cloud user/final scripts
+After=network.target syslog.target cloud-config.service rc-local.service
+Requires=cloud-config.target
+Wants=network.target
+
+[Service]
+Type=oneshot
+ExecStart=/usr/bin/cloud-init-cfg all final
+RemainAfterExit=yes
+
+[Install]
+WantedBy=multi-user.target
diff --git a/systemd/cloud-init-local.service b/systemd/cloud-init-local.service
new file mode 100644
index 00000000..2d57567f
--- /dev/null
+++ b/systemd/cloud-init-local.service
@@ -0,0 +1,12 @@
+[Unit]
+Description=Initial cloud-init job (pre-networking)
+Wants=local-fs.target
+After=local-fs.target
+
+[Service]
+Type=oneshot
+ExecStart=/usr/bin/cloud-init start-local
+RemainAfterExit=yes
+
+[Install]
+WantedBy=multi-user.target
diff --git a/systemd/cloud-init.service b/systemd/cloud-init.service
new file mode 100644
index 00000000..b8f6f49d
--- /dev/null
+++ b/systemd/cloud-init.service
@@ -0,0 +1,13 @@
+[Unit]
+Description=Initial cloud-init job (metadata service crawler)
+After=local-fs.target network.target cloud-init-local.service
+Requires=network.target
+Wants=local-fs.target cloud-init-local.service
+
+[Service]
+Type=oneshot
+ExecStart=/usr/bin/cloud-init start
+RemainAfterExit=yes
+
+[Install]
+WantedBy=multi-user.target