Commit Graph

268 Commits

Author SHA1 Message Date
Joshua Boniface 79de677a96 Add support for cross-arch ISOs
Initial support for arm64 installer support, as well as supporting
building the amd64 files on arm64 (i.e. an RPi3/4)
2023-09-01 15:41:59 -04:00
Joshua Boniface 17f6cb51d1 Move into script dirs before running 2023-09-01 15:41:59 -04:00
Joshua Boniface 982614e3c1 Run buildiso.sh with a full path 2023-09-01 15:41:59 -04:00
Joshua Boniface c590411301 Add nicer output for detects 2023-09-01 15:41:59 -04:00
Joshua Boniface 0d32e27ea9 Modify detect match to 3%
This will handle corner cases of RAID devices that are a little smaller
than expected (300GB -> 293GB), which were a little outside the 2%
range, while still being close enough.
2023-09-01 15:41:59 -04:00
Joshua Boniface 98337295b1 Flip ID to end of detect string
This just seems to "flow" more for me.
2023-09-01 15:41:59 -04:00
Joshua Boniface ec23da72a7 Add delay during checkin script 2023-09-01 15:41:59 -04:00
Joshua Boniface cc68ce54b6 Replace block zeroing with wipefs
This is very time consuming and intensive on the disks and really
doesn't do anything, so use wipefs.
2023-09-01 15:41:59 -04:00
Joshua Boniface c7e8f0cd6a Fix weird spacing 2023-09-01 15:41:59 -04:00
Joshua Boniface dba6965294 Fix period finding and failures 2023-09-01 15:41:59 -04:00
Joshua Boniface 13e93b89d4 Add lsscsi to suppkglist 2023-09-01 15:41:59 -04:00
Joshua Boniface ab6e6b5c6a Adjust comment to reflect group_vars 2023-09-01 15:41:58 -04:00
Joshua Boniface e8aed11693 Handle target_disk detection strings
For preseed installs with pvcbootstrapd, implement "detect" strings,
which can be used instead of fixed block paths to determine the required
disk from a fixed set of information available to a human provisioning
the servers, or from Redfish.

The basic idea is thus:

  1. The user specifies some physical attributes of the disk, either
  manually in a detect string of the preseed configuration, or by a
  physical identifier that Redfish can identify.

  2. Redfish takes this and either passes it, or crafts a detect string
  itself based on its storage information, which is then passed to the
  installer preseed as the target_disk value.

  3. The installer uses the provided values along with the output of the
  "lsscsi" command to determine which block device to use for the system
  disk.

This supersedes and enhances the original "model-based" detection with
far greater reliability and the ability to specify specific indexes.
2023-09-01 15:41:58 -04:00
Joshua Boniface 05e567c667 Add lsscsi to installer 2023-09-01 15:41:58 -04:00
Joshua Boniface ab7662c6de Fix template for updated pvcbootstrapd 2023-09-01 15:41:58 -04:00
Joshua Boniface 36ffc2cebf Fix boot.ipxe name and add host-ipxe template 2023-09-01 15:41:58 -04:00
Joshua Boniface 5ebc1a76d0 Restandardize arguments to checkin 2023-09-01 15:41:58 -04:00
Joshua Boniface 8062f4bad8 Adjust name of checkin URI 2023-09-01 15:41:58 -04:00
Joshua Boniface 2622e2136f Adjust names of checking actions 2023-09-01 15:41:58 -04:00
Joshua Boniface 88696a7bba Simplify hook check and move rm task 2023-09-01 15:41:58 -04:00
Joshua Boniface 18ab16e86d Redirect cURL output to stderr 2023-09-01 15:41:58 -04:00
Joshua Boniface 5cfe70d021 Respawn instead of reboot if script fails 2023-09-01 15:41:58 -04:00
Joshua Boniface b2e3df099e Suppress useless output 2023-09-01 15:41:58 -04:00
Joshua Boniface 30255292e2 Add blacklisting in installer 2023-09-01 15:41:58 -04:00
Joshua Boniface 8ba9c8c5bd Suppress output to stderr 2023-09-01 15:41:58 -04:00
Joshua Boniface f62972175d Add blacklist config to preseed 2023-09-01 15:41:58 -04:00
Joshua Boniface e5447e49d3 Add module blacklisting to installer 2023-09-01 15:41:58 -04:00
Joshua Boniface 5290cbaaa9 Add noautogroup too
As per https://bugs.launchpad.net/ubuntu/+source/linux/+bug/1318551
2023-09-01 15:41:58 -04:00
Joshua Boniface 0870e458a2 Add blacklist of hpwdt to default cmdline 2023-09-01 15:41:58 -04:00
Joshua Boniface 59c9e662e5 Handle cancellation properly 2023-09-01 15:41:58 -04:00
Joshua Boniface c3d828e1e3 Fix typo'd name 2023-09-01 15:41:58 -04:00
Joshua Boniface fb058906a8 Ensure other vgchange succeeds too 2023-09-01 15:41:58 -04:00
Joshua Boniface 950ca378f8 Improve and move cleanup earlier 2023-09-01 15:41:58 -04:00
Joshua Boniface 8958a1abbc Don't fail on initial blockdev stuff 2023-09-01 15:41:58 -04:00
Joshua Boniface 4556296244 Add wipe warning 2023-09-01 15:41:58 -04:00
Joshua Boniface e78cdb515a Be even more forceful with VGs 2023-09-01 15:41:58 -04:00
Joshua Boniface 1e61592ed9 Fix partition and console bugs 2023-09-01 15:41:58 -04:00
Joshua Boniface ea3096518b Fix bad escapes 2023-09-01 15:41:58 -04:00
Joshua Boniface efc152b6a6 Ensure defaults are always set 2023-09-01 15:41:58 -04:00
Joshua Boniface b18f1d85d6 Up fatal reboot timeout 2023-09-01 15:41:58 -04:00
Joshua Boniface 0c0498d15f Add filesystem selection and add BIOS boot part 2023-09-01 15:41:58 -04:00
Joshua Boniface f9fa2440ea Allow pausing before failure reboot. 2023-09-01 15:41:58 -04:00
Joshua Boniface ccf3c63606 Add more robust removal of LVM on target
Should prevent strange failures to recreate LVM if a previous one
existed and no block zeroing is done.
2023-09-01 15:41:57 -04:00
Joshua Boniface b023596ef6 Add ACPI support to initial config 2023-09-01 15:41:57 -04:00
Joshua Boniface d90ef479ef Fix incorrect echo statement 2023-09-01 15:41:57 -04:00
Joshua Boniface b245e480b9 Add autoselected consoles to Grub config
Prevents having to pick a bunch, which can break if more than one serial
is present for example. Also automates this based on what the installer
has/detects as active.
2023-09-01 15:41:57 -04:00
Joshua Boniface 2d37a4dd34 Fix incorrect conditional for failures 2023-09-01 15:41:57 -04:00
Joshua Boniface 2622595344 Add workaround if keys fail to fetch 2023-09-01 15:41:57 -04:00
Joshua Boniface 795b8d0caf Add addpkglist to prompt options and use apt-get 2023-09-01 15:41:57 -04:00
Joshua Boniface 9939e1f42d Convert seed example to jinja2 and copy in
The pvcbootstrapd system will load this template and write it out for
each host. But keep the nice comments for human-readable use just in
case.
2023-09-01 15:41:57 -04:00