[Bug 1575572] Re: apache2 fails to start if installed via cloud config (on Xenial)

Scott Moser smoser at ubuntu.com
Thu Apr 28 00:49:21 UTC 2016


Ok, here is what is happening:
 a.) dpkg (or apt) install of apache2 (or just about any service) starts services by calling to /usr/sbin/invoke-rc.d (like 'invoke-rc.d apache2 start').
 b.) invoke-rc.d calls 'runlevel' to get the current runlevel and see if this service should be started.
 c.) runlevel during systemd boot writes 'unknown' (single token rather than  previous and current runlevel) and exits 1
       the test for failure of RUNLEVELHELPER is bogus in at least 2 ways ('test ! $?' will return 0 for 0 or 1, and additionally it actually only checks the return code of 'sed' which is going to be 0 anyway as sed did its job).
 d.) output of runlevel is stored in RL and then it goes looking for an SLINK or SSLINK (/etc/rc$RL.d/S??apache2 or /etc/rcS.d/S??apache2).  Neither of these exist so it exits without starting the service.


The problem seems to be that any package install during systemd boot of a package that only provides sysvinit scripts will fail.
Reading invoke-rc.d, i'm not really sure why a proper systemd service woudlnt fail also.

** Changed in: cloud-init (Ubuntu)
   Importance: Undecided => Medium

** Also affects: init-system-helpers (Ubuntu)
   Importance: Undecided
       Status: New

** Changed in: init-system-helpers (Ubuntu)
   Importance: Undecided => High

** Changed in: init-system-helpers (Ubuntu)
       Status: New => Confirmed

-- 
You received this bug notification because you are a member of Ubuntu
Foundations Bugs, which is subscribed to init-system-helpers in Ubuntu.
https://bugs.launchpad.net/bugs/1575572

Title:
  apache2 fails to start if installed via cloud config (on Xenial)

Status in cloud-init package in Ubuntu:
  Confirmed
Status in init-system-helpers package in Ubuntu:
  Confirmed

Bug description:
  Using the following cloud config, apache2 will fail to start on
  installation on Xenial:

  #cloud-config
  packages:
  - apache2

  See for example:

  $ gcloud compute instances create xenial-$(date +%y%m%d-%H%M) --image ubuntu-1604-xenial-v20160420c --image-project ubuntu-os-cloud --metadata-from-file user-data=cloud-config
  NAME                ZONE            MACHINE_TYPE   PREEMPTIBLE  INTERNAL_IP  EXTERNAL_IP    STATUS
  xenial-160427-1050  europe-west1-d  n1-standard-1               10.240.0.7   104.155.86.94  RUNNING

  $ ssh ubuntu at 104.155.86.94 systemctl status apache2.service
  ● apache2.service - LSB: Apache2 web server
     Loaded: loaded (/etc/init.d/apache2; bad; vendor preset: enabled)
    Drop-In: /lib/systemd/system/apache2.service.d
             └─apache2-systemd.conf
     Active: inactive (dead)
       Docs: man:systemd-sysv-generator(8)

To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/cloud-init/+bug/1575572/+subscriptions



More information about the foundations-bugs mailing list