summaryrefslogtreecommitdiff
path: root/src/systemd
diff options
context:
space:
mode:
authorzsdc <taras@vyos.io>2023-05-04 22:26:17 +0300
committerzsdc <taras@vyos.io>2023-05-04 22:26:17 +0300
commit3c229a3646a58e47d4d69c011f82c45ef3bb3c77 (patch)
tree5c805e4e0d0d3131585cc5a7d0a8edf8167f5294 /src/systemd
parentba81c15185d7a59ab0ec6705b53b311b4dda721d (diff)
downloadvyos-1x-3c229a3646a58e47d4d69c011f82c45ef3bb3c77.tar.gz
vyos-1x-3c229a3646a58e47d4d69c011f82c45ef3bb3c77.zip
cloud-init: T5190: Added Cloud-init pre-configurator
Added a new service that starts before Cloud-init, waits for all network interfaces initialization, and if requested by config, checks which interfaces can get configuration via DHCP server and creates a corresponding Cloud-init network configuration. This protects from two situations: * when Cloud-init tries to get meta-data via eth0 (default and fallback variant for any data source which depends on network), but the real network is connected to another interface * when Cloud-init starts simultaneously with udev and initializes the first interface to get meta-data before it is renamed to eth0 by udev
Diffstat (limited to 'src/systemd')
-rw-r--r--src/systemd/vyos-config-cloud-init.service19
1 files changed, 19 insertions, 0 deletions
diff --git a/src/systemd/vyos-config-cloud-init.service b/src/systemd/vyos-config-cloud-init.service
new file mode 100644
index 000000000..ba6f90e6d
--- /dev/null
+++ b/src/systemd/vyos-config-cloud-init.service
@@ -0,0 +1,19 @@
+[Unit]
+Description=Pre-configure Cloud-init
+DefaultDependencies=no
+Requires=systemd-remount-fs.service
+Requires=systemd-udevd.service
+Wants=network-pre.target
+After=systemd-remount-fs.service
+After=systemd-udevd.service
+Before=cloud-init-local.service
+
+[Service]
+Type=oneshot
+ExecStart=/usr/libexec/vyos/system/vyos-config-cloud-init.py
+TimeoutSec=120
+KillMode=process
+StandardOutput=journal+console
+
+[Install]
+WantedBy=cloud-init-local.service