Commit Graph

39 Commits

Author SHA1 Message Date
Joshua Boniface cebd6f0de2 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.
2021-12-19 16:54:09 -05:00
Joshua Boniface b13faefc1d Restandardize arguments to checkin 2021-12-15 16:47:16 -05:00
Joshua Boniface 326c3adeb3 Adjust names of checking actions 2021-12-15 16:35:57 -05:00
Joshua Boniface 9353396367 Simplify hook check and move rm task 2021-12-15 16:14:02 -05:00
Joshua Boniface 2c573fe81b Redirect cURL output to stderr 2021-12-15 00:11:02 -05:00
Joshua Boniface 71f0a89dca Respawn instead of reboot if script fails 2021-12-15 00:10:37 -05:00
Joshua Boniface 0ee8a1fdb7 Suppress useless output 2021-12-14 23:45:22 -05:00
Joshua Boniface 1d0dd0fab7 Add blacklisting in installer 2021-12-14 19:29:23 -05:00
Joshua Boniface 326c1dff5c Suppress output to stderr 2021-12-14 03:07:45 -05:00
Joshua Boniface 66acf3fe17 Add module blacklisting to installer 2021-12-13 18:02:16 -05:00
Joshua Boniface 75cb53362b Add noautogroup too
As per https://bugs.launchpad.net/ubuntu/+source/linux/+bug/1318551
2021-12-13 17:53:25 -05:00
Joshua Boniface 1f4c5e1118 Add blacklist of hpwdt to default cmdline 2021-12-13 17:50:53 -05:00
Joshua Boniface 5e5b4db7ca Handle cancellation properly 2021-12-13 17:24:33 -05:00
Joshua Boniface c001769d1b Fix typo'd name 2021-12-13 16:57:41 -05:00
Joshua Boniface 226ef3a039 Ensure other vgchange succeeds too 2021-12-13 16:45:27 -05:00
Joshua Boniface 9892e06b94 Improve and move cleanup earlier 2021-12-13 16:44:31 -05:00
Joshua Boniface fa954988a9 Don't fail on initial blockdev stuff 2021-12-13 16:31:27 -05:00
Joshua Boniface d0af376e8c Add wipe warning 2021-12-13 16:05:48 -05:00
Joshua Boniface a73873f764 Be even more forceful with VGs 2021-12-13 16:04:23 -05:00
Joshua Boniface 2ad3de479c Fix partition and console bugs 2021-12-13 15:41:31 -05:00
Joshua Boniface 9a3274f598 Fix bad escapes 2021-12-13 15:15:45 -05:00
Joshua Boniface e18ad4c2e3 Ensure defaults are always set 2021-12-13 14:58:30 -05:00
Joshua Boniface a39f0d1aab Up fatal reboot timeout 2021-12-13 14:53:28 -05:00
Joshua Boniface 0cc1e6b9ab Add filesystem selection and add BIOS boot part 2021-12-13 14:52:06 -05:00
Joshua Boniface ce1b8ac4f6 Allow pausing before failure reboot. 2021-12-13 14:09:21 -05:00
Joshua Boniface 78af7006ed 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.
2021-12-13 13:39:48 -05:00
Joshua Boniface 100bd8c403 Add ACPI support to initial config 2021-12-13 12:42:48 -05:00
Joshua Boniface a3fd110b59 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.
2021-12-13 02:51:19 -05:00
Joshua Boniface d015489a83 Fix incorrect conditional for failures 2021-12-13 01:27:51 -05:00
Joshua Boniface e3f9ee8945 Add workaround if keys fail to fetch 2021-12-13 01:25:59 -05:00
Joshua Boniface 1e1426df13 Add addpkglist to prompt options and use apt-get 2021-12-12 23:37:52 -05:00
Joshua Boniface 483068c38c 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.
2021-12-12 23:27:01 -05:00
Joshua Boniface dcc608d090 Add additional consoles to initial GRUB 2021-12-12 23:10:59 -05:00
Joshua Boniface 03a01d563c 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.
2021-12-12 23:06:10 -05:00
Joshua Boniface 7b3f0e5f0d Use more reliable grep method 2021-12-12 20:18:47 -05:00
Joshua Boniface 19b96b4ade Fix bad grep 2021-12-12 19:50:00 -05:00
Joshua Boniface 64b36c0c67 Fix missing test command 2021-12-12 18:49:51 -05:00
Joshua Boniface 5642779dbf Improve TTY locking
Prefer serial consoles to TTYs, and present a timeout on graphical TTYs.
2021-12-12 16:44:46 -05:00
Joshua Boniface 0f52de5b66 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.
2021-12-12 16:44:39 -05:00