Merge ~medicalwei/livecd-rootfs:cloud-init-service-cherrypick into ~oem-solutions-engineers/livecd-rootfs:ubuntu-oem/noble

Proposed by Yao Wei
Status: Merged
Approved by: Shih-Yuan Lee
Approved revision: 9ba985c721f0e14ffe791cd1749925c02f0de648
Merged at revision: 174e14ad24d2bae06aefe4355b5ab6abe745e3ea
Proposed branch: ~medicalwei/livecd-rootfs:cloud-init-service-cherrypick
Merge into: ~oem-solutions-engineers/livecd-rootfs:ubuntu-oem/noble
Diff against target: 60 lines (+20/-13)
1 file modified
live-build/functions (+20/-13)
Reviewer Review Type Date Requested Status
Shih-Yuan Lee Approve
Review via email: mp+469708@code.launchpad.net

Commit message

Cherrypick bugfix for Bug #2069391 from ubuntu/master to ubuntu-oem/noble

Internal Reference: SUTTON-68 SOMERVILLE-247

To post a comment you must log in.
Revision history for this message
Shih-Yuan Lee (fourdollars) wrote :

LGTM

review: Approve

Updating diff...

An updated diff will be available in a few minutes. Reload to see the changes.

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
1diff --git a/live-build/functions b/live-build/functions
2index 543bb3f..7dc688b 100644
3--- a/live-build/functions
4+++ b/live-build/functions
5@@ -1044,35 +1044,42 @@ EOF
6 # any previous 50-cloud-init.yaml will be rendered inert.
7
8 # Position cloud-init.service After=NetworkManager.service.
9- # (LP: #2008952).
10- # We override the entire cloud-init.service definition because
11- # systemd drop-in files only allow adding Before/After constraints
12- # yet we are dropping the Before=sysinit.target from the upstream
13- # cloud-init.service.
14+ # (LP: #2008952. Drop-in systemd files cannot redact existing
15+ # dependencies (Before= or After=). So, replace the entire unit
16+ # with an override in /etc/systemd/system/cloud-init.service.
17+ # Avoid issues reported by debsums (LP: #2069391) by not overwriting
18+ # unit files delivered by the cloud-init deb.
19+ # This drop-in will need to track any changes introduced by cloud-init
20+ # SRUs which alter the cloud-init.service unit values.
21 # This override can be dropped when NetworkManager.service can run
22 # Before=sysinit.target when it drops strict dbus.service dependency.
23- cat <<EOF > chroot/lib/systemd/system/cloud-init.service
24+ mkdir -p chroot/etc/systemd/system/
25+ cat <<EOF > chroot/etc/systemd/system/cloud-init.service
26 ${AUTOMATION_HEADER}
27-# Based on cloud-init 23.1 for Desktop LiveCD
28+# Based on cloud-init 24.2 for Desktop LiveCD
29+# Redact sysinit.target from Before, add After=NetworkManager*.service
30+# (LP: #2008952)
31 [Unit]
32-Description=Initial cloud-init job (metadata service crawler)
33+# https://cloudinit.readthedocs.io/en/latest/explanation/boot.html
34+Description=Cloud-init: Network Stage
35 DefaultDependencies=no
36 Wants=cloud-init-local.service
37 Wants=sshd-keygen.service
38 Wants=sshd.service
39 After=cloud-init-local.service
40 After=systemd-networkd-wait-online.service
41-# Installer Added After=NetworkManager* ordering
42-After=NetworkManager.service
43-After=NetworkManager-wait-online.service
44 After=networking.service
45+After=NetworkManager.service NetworkManager-wait-online.service
46 Before=network-online.target
47 Before=sshd-keygen.service
48 Before=sshd.service
49-# Before=sysinit.target Installer removed to allow for NM dependency
50+Before=systemd-user-sessions.service
51+# Before=sysinit.target Redacted due to NetworkManager.service dbus depends
52 Before=shutdown.target
53 Conflicts=shutdown.target
54-Before=systemd-user-sessions.service
55+ConditionPathExists=!/etc/cloud/cloud-init.disabled
56+ConditionKernelCommandLine=!cloud-init=disabled
57+ConditionEnvironment=!KERNEL_CMDLINE=cloud-init=disabled
58
59 [Service]
60 Type=oneshot

Subscribers

People subscribed via source and target branches