Commit Graph

207 Commits

Author SHA1 Message Date
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
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 2e7c2071b5 Remove extra sleep 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 23834a2c61 Lower ethdevice-timeout to 300s
With the auto-reboot implemented waiting this long is not required.
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 4a43285ae2 Add interactive shell too 2023-09-01 15:41:57 -04:00
Joshua Boniface 8b45bbabae Fix bad grep 2023-09-01 15:41:57 -04:00
Joshua Boniface fafe47b79b Fix panic spawning shell 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 cb729afd85 Correct location of remove-root-pw.sh 2023-09-01 15:41:57 -04:00