Commit Graph

39 Commits

Author SHA1 Message Date
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 5ebc1a76d0 Restandardize arguments to checkin 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 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 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 ee89c0f5ad Convert preseed to supplemental package list
Converts the option that the preseed file gives into a supplemental
package list by default to avoid accidentally overwriting required
packages.

Also add ipmitool to the supplemental packages list.
2023-09-01 15:41:57 -04:00
Joshua Boniface d4640df3ce Add additional consoles to initial GRUB 2023-09-01 15:41:57 -04:00
Joshua Boniface f5773eb2d7 Remove respawn and promote skip_blockcheck
1. Remove the respawning and replace with a restart, since it never
worked properly. Also add a "DONE" flag to prevent repeated triggering
during cleanup.

2. Promote the skip_blockcheck to a requested configuration item and a
fully-featured key in the tftp preseed file.
2023-09-01 15:41:57 -04:00
Joshua Boniface 9af47557f1 Use more reliable grep method 2023-09-01 15:41:57 -04:00
Joshua Boniface 8b45bbabae Fix bad grep 2023-09-01 15:41:57 -04:00
Joshua Boniface 7026ad29d2 Fix missing test command 2023-09-01 15:41:57 -04:00
Joshua Boniface d6c1c8f38a Improve TTY locking
Prefer serial consoles to TTYs, and present a timeout on graphical TTYs.
2023-09-01 15:41:57 -04:00
Joshua Boniface c8f1d853a0 Move to template format instead of cat-EOF
Simplifies the scripts and adds the ability to easily and cleanly change
the contents of these files without dealing with escape characters, etc.
2023-09-01 15:41:57 -04:00