784a71e2bf
Currently systemd cannot track dependencies on configdrive very well because it is mounted via a service instead of a mount unit. Also since the interaction between path and mount units can lead to unexpected behavior if something goes wrong the cloudinit service is now triggered explicitly by the mount again. The configdrive path unit remains only as a fall back for containers where the mount unit doesn't kick in. Better to have two mechanisms that trigger the cloudinit service than none. :) Since mounting a virtfs based configdrive requires different mount options and two different mount units cannot refer to the same path the virtfs version now mounts to /media/configvirtfs. There are also two new kernel options: - `coreos.configdrive=1`: enable config drive on physical hardware. - `coreos.configdrive=0`: disable config drive on virtual machines.
19 lines
646 B
SYSTEMD
19 lines
646 B
SYSTEMD
[Unit]
|
|
Wants=user-configvirtfs.service
|
|
Before=user-configvirtfs.service
|
|
# Only mount config drive block devices automatically in virtual machines
|
|
# or any host that has it explicitly enabled and not explicitly disabled.
|
|
ConditionVirtualization=|vm
|
|
ConditionKernelCommandLine=|coreos.configdrive=1
|
|
ConditionKernelCommandLine=!coreos.configdrive=0
|
|
|
|
# Support old style setup for now
|
|
Wants=addon-run@media-configvirtfs.service addon-config@media-configvirtfs.service
|
|
Before=addon-run@media-configvirtfs.service addon-config@media-configvirtfs.service
|
|
|
|
[Mount]
|
|
What=config-2
|
|
Where=/media/configvirtfs
|
|
Options=ro,trans=virtio,version=9p2000.L
|
|
Type=9p
|