Please see comment #7 -- cloud-final.service declares to run *after* rc- local.service. Thus it is not possible that rc-local.service "runs last" as that would be a contradiction to what cloud-final wants and says. There is nothing to "fix" and this was no different in upstart either -- if something said "start on started rc-local" (the upstart equivalent) it would of course run after /etc/init/rc-local as well.
Please give up on "the last thing" -- this concept hasn't existed in upstart and systemd, and hasn't existed any more in SysV init with startpar either for many years now. -- You received this bug notification because you are a member of Ubuntu Touch seeded packages, which is subscribed to systemd in Ubuntu. https://bugs.launchpad.net/bugs/1468103 Title: rc.local runs earlier than cloud-init.service Status in cloud-init package in Ubuntu: Confirmed Status in systemd package in Ubuntu: Invalid Bug description: per https://www.debian.org/doc/manuals/debian-faq/ch-customizing.en.html | The rc.local script is executed at the end of each multiuser runlevel. Generally speaking people expect rc.local to be run as "the last thing in boot". currently it is being run by systemd much earlier. Provided in the attached is user-data that tells cloud-init to write a file in /usr/local/bin/rc-local-message and edit set rc.local to execute it. On current wily, under most scenarios the script will not be executed as rc.local will most likely run before the cloud-init service has a chance to update /etc/rc.local. To reproduce: a.) launch an instance with provided user-data Expected behavior would be: 1. /run/rc-local-message exists with contents of /proc/uptime at the time it was run 2. /rc-local-message.mark exists with the number of times this script has been run ('1' after first boot) 3. /var/log/rc-local-message.log exists with a message like: [/var/log/rc-local-message.log] <date> === successful boot 1 ==== 4. console log should also have message like in 3 with '/dev/console' 4 is broken as rc.local output is not sent to console as reported separately at bug 1468102. Related bugs: * bug 1468102: rc.local output does not go to console ProblemType: Bug DistroRelease: Ubuntu 15.10 Package: systemd 220-7ubuntu1 ProcVersionSignature: User Name 3.19.0-22.22-generic 3.19.8-ckt1 Uname: Linux 3.19.0-22-generic x86_64 ApportVersion: 2.17.3-0ubuntu4 Architecture: amd64 Date: Tue Jun 23 20:21:50 2015 Ec2AMI: ami-00000434 Ec2AMIManifest: FIXME Ec2AvailabilityZone: nova Ec2InstanceType: m1.small Ec2Kernel: aki-00000002 Ec2Ramdisk: ari-00000002 Lsusb: Bus 001 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub MachineType: OpenStack Foundation OpenStack Nova ProcEnviron: TERM=xterm-256color PATH=(custom, no user) XDG_RUNTIME_DIR=<set> LANG=en_US.UTF-8 SHELL=/bin/bash ProcKernelCmdLine: BOOT_IMAGE=/boot/vmlinuz-3.19.0-22-generic root=LABEL=cloudimg-rootfs ro console=tty1 console=ttyS0 SourcePackage: systemd UdevLog: Error: [Errno 2] No such file or directory: '/var/log/udev' UpgradeStatus: No upgrade log present (probably fresh install) dmi.bios.date: 01/01/2011 dmi.bios.vendor: Bochs dmi.bios.version: Bochs dmi.chassis.type: 1 dmi.chassis.vendor: Bochs dmi.modalias: dmi:bvnBochs:bvrBochs:bd01/01/2011:svnOpenStackFoundation:pnOpenStackNova:pvr2014.1.4:cvnBochs:ct1:cvr: dmi.product.name: OpenStack Nova dmi.product.version: 2014.1.4 dmi.sys.vendor: OpenStack Foundation To manage notifications about this bug go to: https://bugs.launchpad.net/ubuntu/+source/cloud-init/+bug/1468103/+subscriptions -- Mailing list: https://launchpad.net/~touch-packages Post to : touch-packages@lists.launchpad.net Unsubscribe : https://launchpad.net/~touch-packages More help : https://help.launchpad.net/ListHelp