Comment 0 for bug 1468103

Revision history for this message
Scott Moser (smoser) wrote : rc.local runs too early.

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.

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