Commit Graph

58 Commits

Author SHA1 Message Date
Joshua Boniface c0fde2a3bb 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.
2021-12-24 15:39:10 -05:00
Joshua Boniface 345b29b84c Flip ID to end of detect string
This just seems to "flow" more for me.
2021-12-24 15:29:53 -05:00
Joshua Boniface e1fa427ddd Add delay during checkin script 2021-12-20 04:44:23 -05:00
Joshua Boniface 87a0251fe0 Replace block zeroing with wipefs
This is very time consuming and intensive on the disks and really
doesn't do anything, so use wipefs.
2021-12-20 01:24:47 -05:00
Joshua Boniface 846ded0e57 Fix weird spacing 2021-12-19 21:39:36 -05:00
Joshua Boniface 7dfea80d2d Fix period finding and failures 2021-12-19 20:55:19 -05:00
Joshua Boniface 559513e629 Add lsscsi to suppkglist 2021-12-19 19:36:42 -05:00
Joshua Boniface e3e8c35949 Adjust comment to reflect group_vars 2021-12-19 17:17:38 -05:00
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 2af6b837d8 Add lsscsi to installer 2021-12-19 04:15:03 -05:00
Joshua Boniface 32fcab15fd Fix template for updated pvcbootstrapd 2021-12-19 04:15:00 -05:00
Joshua Boniface 7704e6149b Fix boot.ipxe name and add host-ipxe template 2021-12-15 17:13:11 -05:00
Joshua Boniface b13faefc1d Restandardize arguments to checkin 2021-12-15 16:47:16 -05:00
Joshua Boniface 928b566d3c Adjust name of checkin URI 2021-12-15 16:38:40 -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 bca019b247 Add blacklist config to preseed 2021-12-13 18:09:05 -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 62b06f9c1b 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.
2021-12-12 23:28:00 -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 5924a78edc Remove extra sleep 2021-12-12 23:09:47 -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 d9c527d72c Lower ethdevice-timeout to 300s
With the auto-reboot implemented waiting this long is not required.
2021-12-12 22:28:24 -05:00