summaryrefslogtreecommitdiff
path: root/systemd
diff options
context:
space:
mode:
authorScott Moser <smoser@ubuntu.com>2016-03-24 17:30:57 -0400
committerScott Moser <smoser@ubuntu.com>2016-03-24 17:30:57 -0400
commit18bf614ca1d9fbabdf83495e7675a2cacaf6c2f4 (patch)
treede2352926ea476abcafcdb14790ea21958973db9 /systemd
parent4f2065ad569355d5d0bc54176bde6b8e55047341 (diff)
parent20cc8113dde9e6849e8a692aea64cf81a266406d (diff)
downloadvyos-cloud-init-18bf614ca1d9fbabdf83495e7675a2cacaf6c2f4.tar.gz
vyos-cloud-init-18bf614ca1d9fbabdf83495e7675a2cacaf6c2f4.zip
support network configuration in cloud-init --local
this allows 'cloud-init --local' to fully run before networking comes up. By doing so, we can now cleanly apply networking to the new system. This adds support for reading ConfigDrive network configuration and also from NoCloud. The support is only present for ubuntu/debian at the current time. Other distros will follow. Also ability to specify network configuration on kernel command line via either ip= or network-config=<base64>.
Diffstat (limited to 'systemd')
-rwxr-xr-xsystemd/cloud-init-generator3
-rw-r--r--systemd/cloud-init-local.service2
2 files changed, 5 insertions, 0 deletions
diff --git a/systemd/cloud-init-generator b/systemd/cloud-init-generator
index 2d319695..ae286d58 100755
--- a/systemd/cloud-init-generator
+++ b/systemd/cloud-init-generator
@@ -107,6 +107,9 @@ main() {
"ln $CLOUD_SYSTEM_TARGET $link_path"
fi
fi
+ # this touches /run/cloud-init/enabled, which is read by
+ # udev/cloud-init-wait. If not present, it will exit quickly.
+ touch "$LOG_D/$ENABLE"
elif [ "$result" = "$DISABLE" ]; then
if [ -f "$link_path" ]; then
if rm -f "$link_path"; then
diff --git a/systemd/cloud-init-local.service b/systemd/cloud-init-local.service
index 475a2e11..b19eeaee 100644
--- a/systemd/cloud-init-local.service
+++ b/systemd/cloud-init-local.service
@@ -2,6 +2,7 @@
Description=Initial cloud-init job (pre-networking)
DefaultDependencies=no
Wants=local-fs.target
+Wants=network-pre.target
After=local-fs.target
Conflicts=shutdown.target
Before=network-pre.target
@@ -10,6 +11,7 @@ Before=shutdown.target
[Service]
Type=oneshot
ExecStart=/usr/bin/cloud-init init --local
+ExecStart=/bin/touch /run/cloud-init/network-config-ready
RemainAfterExit=yes
TimeoutSec=0