From c27dbda4ca38d4a2ce80cc7aef86c9cd805c1b0c Mon Sep 17 00:00:00 2001 From: Michael Hudson-Doyle Date: Fri, 23 Jul 2021 12:07:26 +1200 Subject: [PATCH] backport some system unit & cloud-init config changes from devel: * Simplify how the subiquity client is run on the serial console in the live server environment, breaking a unit cycle that sometimes prevents subiquity from starting up at all. (LP: #1888497) * Do not set the password for the installer user via cloud-init as subiquity can now do this itself. (LP: #1933523) --- debian/changelog | 10 ++++++++++ .../includes.binary/overlay/etc/cloud/cloud.cfg | 4 +--- .../overlay/usr/lib/systemd/system/getty@tty1.service | 1 + .../serial-getty@.service.d/subiquity-serial.conf | 9 ++++++++- .../subiquity-serial.conf | 6 ++---- .../subiquity.conf | 1 - 6 files changed, 22 insertions(+), 9 deletions(-) create mode 120000 live-build/ubuntu-server/includes.binary/overlay/usr/lib/systemd/system/getty@tty1.service diff --git a/debian/changelog b/debian/changelog index bd800cb1..8c823adb 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,3 +1,13 @@ +livecd-rootfs (2.664.25) UNRELEASED; urgency=medium + + * Simplify how the subiquity client is run on the serial console in the live + server environment, breaking a unit cycle that sometimes prevents + subiquity from starting up at all. (LP: #1888497) + * Do not set the password for the installer user via cloud-init as subiquity + can now do this itself. (LP: #1933523) + + -- Michael Hudson-Doyle Fri, 23 Jul 2021 11:57:01 +1200 + livecd-rootfs (2.664.24) focal; urgency=medium * Backport generalising of the riscv64 images from hirsute to support diff --git a/live-build/ubuntu-server/includes.binary/overlay/etc/cloud/cloud.cfg b/live-build/ubuntu-server/includes.binary/overlay/etc/cloud/cloud.cfg index 3756203e..e9571afd 100644 --- a/live-build/ubuntu-server/includes.binary/overlay/etc/cloud/cloud.cfg +++ b/live-build/ubuntu-server/includes.binary/overlay/etc/cloud/cloud.cfg @@ -17,8 +17,6 @@ preserve_hostname: true ssh_pwauth: yes chpasswd: expire: false - list: - - installer:RANDOM # This is the initial network config. # It can be overwritten by cloud-init or subiquity. @@ -34,7 +32,7 @@ network: name: "eth*" dhcp4: true -final_message: "## template: jinja\nCloud-init v. {{version}} finished at {{timestamp}}. Datasource {{datasource}}. Up {{uptime}} seconds\n\n\nWelcome to Ubuntu Server Installer!\n\nAbove you will find SSH host keys and a random password set for the `installer` user. You can use these credentials to ssh-in and complete the installation. If you provided SSH keys in the cloud-init datasource, they were also provisioned to the installer user.\n\nIf you have access to the graphical console, like TTY1 or HMC ASCII terminal you can complete the installation there too." +# We used to have a custom final_message here. Just use the default instead. # Example datasource config # datasource: diff --git a/live-build/ubuntu-server/includes.binary/overlay/usr/lib/systemd/system/getty@tty1.service b/live-build/ubuntu-server/includes.binary/overlay/usr/lib/systemd/system/getty@tty1.service new file mode 120000 index 00000000..dc1dc0cd --- /dev/null +++ b/live-build/ubuntu-server/includes.binary/overlay/usr/lib/systemd/system/getty@tty1.service @@ -0,0 +1 @@ +/dev/null \ No newline at end of file diff --git a/live-build/ubuntu-server/includes.binary/overlay/usr/lib/systemd/system/serial-getty@.service.d/subiquity-serial.conf b/live-build/ubuntu-server/includes.binary/overlay/usr/lib/systemd/system/serial-getty@.service.d/subiquity-serial.conf index 9aef8ee3..eebf38b4 100644 --- a/live-build/ubuntu-server/includes.binary/overlay/usr/lib/systemd/system/serial-getty@.service.d/subiquity-serial.conf +++ b/live-build/ubuntu-server/includes.binary/overlay/usr/lib/systemd/system/serial-getty@.service.d/subiquity-serial.conf @@ -1,2 +1,9 @@ +[Unit] +Description=Subiquity, the installer for Ubuntu Server %I +After=snapd.seeded.service +StartLimitInterval=0 + [Service] -ExecStartPre=/bin/systemctl start serial-subiquity@%i.service +Environment=SNAP_REEXEC=0 +ExecStart= +ExecStart=/usr/bin/snap run subiquity.subiquity-service %I diff --git a/live-build/ubuntu-server/includes.binary/overlay/usr/lib/systemd/system/serial-getty@sclp_line0.service.d/subiquity-serial.conf b/live-build/ubuntu-server/includes.binary/overlay/usr/lib/systemd/system/serial-getty@sclp_line0.service.d/subiquity-serial.conf index 7aa450d4..56900a35 100644 --- a/live-build/ubuntu-server/includes.binary/overlay/usr/lib/systemd/system/serial-getty@sclp_line0.service.d/subiquity-serial.conf +++ b/live-build/ubuntu-server/includes.binary/overlay/usr/lib/systemd/system/serial-getty@sclp_line0.service.d/subiquity-serial.conf @@ -1,6 +1,4 @@ -[Unit] -After=cloud-final.service snapd.seeded.service [Service] StandardOutput=tty -ExecStartPre= -ExecStartPre=/usr/bin/snap run subiquity --ssh +ExecStart= +ExecStart=/usr/bin/snap run subiquity --ssh diff --git a/live-build/ubuntu-server/includes.binary/overlay/usr/lib/systemd/system/snap.subiquity.subiquity-service.service.d/subiquity.conf b/live-build/ubuntu-server/includes.binary/overlay/usr/lib/systemd/system/snap.subiquity.subiquity-service.service.d/subiquity.conf index c2b64591..c1af5666 100644 --- a/live-build/ubuntu-server/includes.binary/overlay/usr/lib/systemd/system/snap.subiquity.subiquity-service.service.d/subiquity.conf +++ b/live-build/ubuntu-server/includes.binary/overlay/usr/lib/systemd/system/snap.subiquity.subiquity-service.service.d/subiquity.conf @@ -1,7 +1,6 @@ [Unit] IgnoreOnIsolate=yes After=systemd-user-sessions.service plymouth-quit-wait.service snap.seeded.service -ConditionPathExists=!/run/subiquity/complete [Service] Environment=SNAP_REEXEC=0