← Back to team overview

touch-packages team mailing list archive

[Bug 1468103] Re: rc.local runs earlier than cloud-init.service

 

> Independent of cloud-init, things in rc.local should be run as "the
last thing in boot".

So now we have "last thing except cloud-init" :-) There are other
services which order themselves after it, like getty@, plymouth-quit and
others, to avoid disturbing init.d/rc.local scripts with allocated VTs
or plymouth going away. This was more or less the same case with
upstart.

But nevertheless it should run at least after the init.d scripts (and
their unit counterparts), to maintain backwards compatibility with that.
This still isn't robust (if you need to run after something it's always
correct to actually declare it), but might help in some situations.

** Project changed: hundredpapercuts => systemd (Ubuntu)

** Changed in: systemd (Ubuntu)
       Status: Confirmed => Triaged

-- 
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:
  Triaged

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


References