Hi,

After further investigation, the whole cloud-init dependencies chains is completely broken with systemd.

cloud-config.service, cloud-final.service, cloud-init-local.service, cloud-init.service start in parallel, but:

cloud-init-local must start before networking
cloud-init should depends on cloud-init-local and networking
cloud-config should depends on cloud-init and cloud-init-local
cloud-final should depends on cloud-config and be the last serivices to start

This issue is more critical, that I have thought initially, because with systemd, the cloud-init behavior is completely unpredictable...

Also, the current packaged debian version source contains the systemd unit files, but the binary package doesn't install them.

The current systemd dependencies chains of a minimal system with cloud-init:

# systemctl list-dependencies
default.target
● ├─cloud-config.service
● ├─cloud-final.service
● ├─cloud-init-local.service
● ├─cloud-init.service
● ├─display-manager.service
● ├─systemd-update-utmp-runlevel.service
● └─multi-user.target
●   ├─cloud-config.service
●   ├─cloud-final.service
●   ├─cloud-init-local.service
●   ├─cloud-init.service
●   ├─cron.service
●   ├─rc-local.service
●   ├─rsyslog.service
●   ├─ssh.service
●   ├─systemd-ask-password-wall.path
●   ├─systemd-logind.service
●   ├─systemd-update-utmp-runlevel.service
●   ├─systemd-user-sessions.service
●   ├─basic.target
●   │ ├─paths.target
●   │ ├─slices.target
●   │ │ ├─-.slice
●   │ │ └─system.slice
●   │ ├─sockets.target
●   │ │ ├─systemd-initctl.socket
●   │ │ ├─systemd-journald-dev-log.socket
●   │ │ ├─systemd-journald.socket
●   │ │ ├─systemd-shutdownd.socket
●   │ │ ├─systemd-udevd-control.socket
●   │ │ └─systemd-udevd-kernel.socket
●   │ ├─sysinit.target
●   │ │ ├─debian-fixup.service
●   │ │ ├─dev-hugepages.mount
●   │ │ ├─dev-mqueue.mount
●   │ │ ├─kbd.service
●   │ │ ├─kmod-static-nodes.service
●   │ │ ├─networking.service
●   │ │ ├─proc-sys-fs-binfmt_misc.automount
●   │ │ ├─sys-fs-fuse-connections.mount
●   │ │ ├─sys-kernel-config.mount
●   │ │ ├─sys-kernel-debug.mount
●   │ │ ├─systemd-ask-password-console.path
●   │ │ ├─systemd-binfmt.service
●   │ │ ├─systemd-journal-flush.service
●   │ │ ├─systemd-journald.service
●   │ │ ├─systemd-modules-load.service
●   │ │ ├─systemd-random-seed.service
●   │ │ ├─systemd-sysctl.service
●   │ │ ├─systemd-tmpfiles-setup-dev.service
●   │ │ ├─systemd-tmpfiles-setup.service
●   │ │ ├─systemd-udev-trigger.service
●   │ │ ├─systemd-udevd.service
●   │ │ ├─systemd-update-utmp.service
●   │ │ ├─udev-finish.service
●   │ │ ├─cryptsetup.target
●   │ │ ├─local-fs.target
●   │ │ │ ├─-.mount
●   │ │ │ ├─systemd-fsck-root.service
●   │ │ │ └─systemd-remount-fs.service
●   │ │ └─swap.target
●   │ └─timers.target
●   │   └─systemd-tmpfiles-clean.timer
●   ├─getty.target
●   │ ├─getty-static.service
●   │ ├─[email protected]
●   │ └─[email protected]
●   └─remote-fs.target
●     └─remote-fs-pre.target

Cheers,
--
Mehdi Abaakouk
mail: [email protected]
irc: sileht


--
To UNSUBSCRIBE, email to [email protected]
with a subject of "unsubscribe". Trouble? Contact [email protected]

Reply via email to