[Bug 2004606] [NEW] `google-startup-scripts.service` never runs in lunar

Chloé Smith 2004606 at bugs.launchpad.net
Thu Feb 2 23:54:10 UTC 2023


Public bug reported:

[Impact]

`google-guest-agent` is provided by Google for installation within
guests that run on GCE. It's just one of a collection of tools and
daemons that ensure that the Ubuntu images published to GCE run properly
on their platform.

A recent bugfix (LP: #1998864) has caused a regression where `google-
startup-scripts.service` is never deployed. The effect of this is that
lunar lobster images never deploy any start-up scripts that can be
provided in the instance's metadata before boot.

Unfortunately, better knowledge of `systemd` and was needed to foresee that simply removing the (mistakenly) thought of "duplicate" `multi-user.target` would actually cause the `google-startup-script` service to be dropped due to a sequencing issue. Adding `After=mulit-user.target` back in _and_ removing `After=cloud-final.service` (as it's "activated" by the "Wants=" directive anyway) fixes the issue, and also tidies up the script a bit so it's more explicit overall.
  
Fortunately, the old patch was never SRU-ed so this whole problem is limited to lunar.

[Possible Regressions]

My biggest concern was with possible issues with `cloud-init`, as this
new patch removes the "After=" directive from `cloud-final.service`.
Fortunately though there is still a `Wants=cloud-final.service`
directive, so systemd will still attempt to start it. I also ran CPC's
`cloud-init` test suite on an image with this new patch, and all was
well.

[Test Case]

When a new version of ``google-guest-agent`` is uploaded to
``-proposed``, the following will happen...

 * an image based on -proposed will be built especially for GCE (by the CPC team) and published to the ``ubuntu-os-cloud-image-proposed`` project
 * the GCE team will be asked to validate that the new package addresses the issues it is expected to address, and that the image passes their internal image validation.
 * Each test image will be launched, and we (CPC) will validate:
 ** the package version
 ** that the correct ssh keys have been imported
 ** that the Google specific services are running successfully

If all the testing indicates that the new package is acceptable,
verification should be considered to be done.

[Other Information]

Unlike most `google-guest-agent` bugs submitted, this one does not need
an SRU as the issue on exists in lunar. I will attach the new patch for
ease, created using the usual ``quilt`` workflow.

** Affects: google-guest-agent (Ubuntu)
     Importance: Undecided
     Assignee: Chloé Smith (kajiya)
         Status: New

** Changed in: google-guest-agent (Ubuntu)
     Assignee: (unassigned) => Chloé Smith (kajiya)

-- 
You received this bug notification because you are a member of Ubuntu
Foundations Bugs, which is subscribed to google-guest-agent in Ubuntu.
https://bugs.launchpad.net/bugs/2004606

Title:
  `google-startup-scripts.service` never runs in lunar

Status in google-guest-agent package in Ubuntu:
  New

Bug description:
  [Impact]

  `google-guest-agent` is provided by Google for installation within
  guests that run on GCE. It's just one of a collection of tools and
  daemons that ensure that the Ubuntu images published to GCE run
  properly on their platform.

  A recent bugfix (LP: #1998864) has caused a regression where `google-
  startup-scripts.service` is never deployed. The effect of this is that
  lunar lobster images never deploy any start-up scripts that can be
  provided in the instance's metadata before boot.

  Unfortunately, better knowledge of `systemd` and was needed to foresee that simply removing the (mistakenly) thought of "duplicate" `multi-user.target` would actually cause the `google-startup-script` service to be dropped due to a sequencing issue. Adding `After=mulit-user.target` back in _and_ removing `After=cloud-final.service` (as it's "activated" by the "Wants=" directive anyway) fixes the issue, and also tidies up the script a bit so it's more explicit overall.
    
  Fortunately, the old patch was never SRU-ed so this whole problem is limited to lunar.

  [Possible Regressions]

  My biggest concern was with possible issues with `cloud-init`, as this
  new patch removes the "After=" directive from `cloud-final.service`.
  Fortunately though there is still a `Wants=cloud-final.service`
  directive, so systemd will still attempt to start it. I also ran CPC's
  `cloud-init` test suite on an image with this new patch, and all was
  well.

  [Test Case]

  When a new version of ``google-guest-agent`` is uploaded to
  ``-proposed``, the following will happen...

   * an image based on -proposed will be built especially for GCE (by the CPC team) and published to the ``ubuntu-os-cloud-image-proposed`` project
   * the GCE team will be asked to validate that the new package addresses the issues it is expected to address, and that the image passes their internal image validation.
   * Each test image will be launched, and we (CPC) will validate:
   ** the package version
   ** that the correct ssh keys have been imported
   ** that the Google specific services are running successfully

  If all the testing indicates that the new package is acceptable,
  verification should be considered to be done.

  [Other Information]

  Unlike most `google-guest-agent` bugs submitted, this one does not
  need an SRU as the issue on exists in lunar. I will attach the new
  patch for ease, created using the usual ``quilt`` workflow.

To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/google-guest-agent/+bug/2004606/+subscriptions




More information about the foundations-bugs mailing list