projectpotos / potos-iso-builder

Potos Installation Boot Image
GNU General Public License v3.0
2 stars 6 forks source link

fix: prevent first boot name resolution failures #52

Closed nis65 closed 8 months ago

nis65 commented 8 months ago

Description

Without masking systemd-networkd before first boot, there were often (the slower the hardware, the more likely) failures in name resolution during first boot. Everything went well until at some point in time the dns resolution stopped working and the install of each single apt package took 3 minutes. Although the installation finishes more or less successfully and the missing packages are installed by the first ansible pull after 2nd boot, it can prolong first boot time by 60 minutes or more.

There might be more elegant solutions, but it looks so wrong to have both the (ubuntu server) systemd-networkd and (ubuntu client) NetworkManager network managements active at the same time.

nis65 commented 8 months ago

@fadnincx During more experiments (especially trying to install mlc on a 10y old device), I finally nailed down my installation issues: I had to manually restart systemd-resolved to get working name resolution again after about 50% of the first boot. This MR solves the "install fail" issue as described in the commit message.

The other MR #51 actually solves a different problem (as I found out during my tests): The entry in the network-online.target.wants directory comes from the original ubuntu server iso and, if not explicitly removed, there will be a 2 minute timeout during each boot...

Follow up tests showed that I don't need to remove the cloud-init package at all. I once removed cloud-init via autoinstall-user-data, but this was a bad idea: The admin user was not created any more at the beginning of first boot but my setup relies on keeping this user to get admin access.... :scream: