[Bug 2069827] Re: [SRU] Place cloud-init seed on boot partition for desktop images
Launchpad Bug Tracker
2069827 at bugs.launchpad.net
Thu Aug 22 13:07:19 UTC 2024
This bug was fixed in the package ubuntu-raspi-settings - 24.04.4
---------------
ubuntu-raspi-settings (24.04.4) noble; urgency=medium
* etc/cloud/cloud.cfg.d/99-fake-cloud.cfg moved from
ubuntu-raspi-settings-server to ubuntu-raspi-settings as it now applies to
both server *and* desktop images (LP: #2069827)
-- Dave Jones <dave.jones at canonical.com> Thu, 13 Jun 2024 16:44:41
+0100
** Changed in: ubuntu-raspi-settings (Ubuntu Noble)
Status: Fix Committed => Fix Released
--
You received this bug notification because you are a member of Ubuntu
Foundations Bugs, which is subscribed to ubuntu-raspi-settings in
Ubuntu.
https://bugs.launchpad.net/bugs/2069827
Title:
[SRU] Place cloud-init seed on boot partition for desktop images
Status in ubuntu-raspi-settings package in Ubuntu:
Fix Released
Status in ubuntu-raspi-settings source package in Noble:
Fix Released
Bug description:
[ Impact ]
The noble .1 release is switching the initial desktop setup wizard
from oem-config (source ubiquity) to gnome-initial-setup. The latter
requires that no user accounts exist on first boot. However, cloud-
init (included since noble) is creating a default "ubuntu" user on
these images. The gadget has been updated to include configuration for
cloud-init that will prevent user creation (as on oracular), but this
configuration will not be read without cloud-init knowing to look on
the boot partition for its seed.
On server images, 99-fake-cloud.cfg is included (via ubuntu-raspi-
settings-server) to point cloud-init at this location. This
configuration file needs to move to ubuntu-raspi-settings (applicable
to both server and desktop images) as it already has on oracular.
[ Test Plan ]
For initial boot of desktop images:
* Current noble daily desktop images for Raspberry Pi fail to boot to gnome-initial-setup
* Checking /etc/passwd on the image post-first-boot reveals presence of "ubuntu" user
* Once new dailies with this change are generated, attempt to boot them
* Observe that gnome-initial-setup starts successfully
For upgrades of existing systems:
* Boot ubuntu server for raspi (noble)
* Upgrade to proposed ubuntu-raspi-settings package(s)
* Observe /etc/cloud/cloud.cfg.d/99-fake-cloud.cfg is unchanged
* Check ownership has moved to ubuntu-raspi-settings
* Check reboot operates
* Boot ubuntu desktop for raspi (noble)
* Observe /etc/cloud/cloud.cfg.d/99-fake-cloud.cfg does not exist
* Upgrade to proposed ubuntu-raspi-settings package(s)
* Observe /etc/cloud/cloud.cfg.d/99-fake-cloud.cfg has appeared
* Check reboot operates
[ Where Things Can Go Wrong ]
For server users, there should ultimately be no change to their
system. The change should merely move the "ownership" of
/etc/cloud/cloud.cfg.d/99-fake-cloud.cfg from ubuntu-raspi-settings-
server to ubuntu-raspi-settings. Nonetheless, configuration file
movements are subtle things that need careful handling and this change
should be tested on existing installs too (hence the inclusion in the
test plan above).
For desktop users, this change should cause
/etc/cloud/cloud.cfg.d/99-fake-cloud.cfg to appear. Again, this
*shouldn't* affect the system as the only configuration present
matters on first boot only. Still, the change should be tested on
existing installs (hence the test plan above).
[ Original Description ]
The Ubuntu Desktop for Raspberry Pi images include cloud-init since
noble. The cloud-init seed is redirected to the (FAT formatted) boot
partition on the Ubuntu Server for Raspberry Pi images, and for
consistency and ease of use, this should be replicated for the desktop
images too.
We could add 99-fake-cloud.cfg to ubuntu-raspi-settings-desktop as
well as ubuntu-raspi-settings-server (where it currently resides)
which would allow us to remove it again in future, if that becomes
necessary. However, that would necessarily create a conflict between
both packages and it's conceivable that some may wish to install both
(for desktop-on-server type installs). Therefore it is probably best
to simply move 99-fake-cloud.cfg over to the common ubuntu-raspi-
settings package, and add Breaks/Replaces to ensure the configuration
is moved appropriately by dpkg.
Note to self: the gadget will need updating to include the cloud-init
seed on the boot partition of the desktop images. However, the seed
must be *different* (don't auto-create users), and must not include
network-config (as the desktop settings include a network-manager
override).
To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/ubuntu-raspi-settings/+bug/2069827/+subscriptions
More information about the foundations-bugs
mailing list