From 9939e1f42d201bb659d5cf57974a45ee62689892 Mon Sep 17 00:00:00 2001 From: "Joshua M. Boniface" Date: Fri, 1 Sep 2023 15:41:57 -0400 Subject: [PATCH] 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. --- buildpxe.sh | 4 ++ templates/host-preseed.j2 | 63 ++++++++++++++++++++++++++++++ templates/pxe-install-seed.example | 35 ----------------- 3 files changed, 67 insertions(+), 35 deletions(-) create mode 100644 templates/host-preseed.j2 delete mode 100644 templates/pxe-install-seed.example diff --git a/buildpxe.sh b/buildpxe.sh index 04c0328..a1f5569 100755 --- a/buildpxe.sh +++ b/buildpxe.sh @@ -124,6 +124,10 @@ build_pxe() { cp templates/boot.pxe ${outputdir}/boot.pxe echo "done." + echo -n "Copying preseed template... " + cp templates/host-preseed.j2 ${outputdir}/host-preseed.j2 + echo "done." + sudo chown -R $(whoami) ${outputdir} sudo chmod -R u+w ${outputdir} diff --git a/templates/host-preseed.j2 b/templates/host-preseed.j2 new file mode 100644 index 0000000..74da833 --- /dev/null +++ b/templates/host-preseed.j2 @@ -0,0 +1,63 @@ +# PVC install.sh preseed configuration Jinja2 template +# +# This BASH-compliant variables file is Loaded during PXE installs to preseed the environment. +# During normal usage, the pvcbootstrapd will load this file, adjust it according to its needs, +# and write out one instance per node to be installed. +# +# This file is thus not designed to be used by humans, and its values are seeded via options in +# the cluster-local Ansible group_vars, though it can be used as a manual template if required. + +### +### General definitions/overrides +### + +# The Debian release to use (overrides the default) +#debrelease="buster" +debrelease="{debrelease}" + +# The Debian mirror to use (overrides the default) +#debmirror="http://debian.mirror.rafal.ca/debian" +debmirror="{debmirror}" + +{% if addpkglist is defined and addpkglist %} +# Additional packages (comma-separated) to install in the base system +#addpkglist="mypackage,otherpackage" +addpkglist="{addpkglist}" +{% endif %} + +{% if skip_blockcheck is defined and skip_blockcheck %} +# Skip block zeroing; only recommended for testing, slow, low-endurance, or known-zeroed block devices. +skip_blockcheck="y" +{% endif %} + +### +### Per-host definitions (required) +### + +# The hostname of the system (set per-run) +#target_hostname="myhostname.domain.tld" +target_hostname="{hostname}" + +# The target system disk (either a path or model to find; path overrides model if set) +# Install will fail if these devices aren't found. +{% if target_disk_path is defined and target_disk_path %} +#target_disk_path="/dev/disk/by-path/pci-0000:03:00.0-scsi-0:1:0:0" # Example: RAID device via explicit path +target_disk_path="{target_disk_path}" +{% end if %} +{% if target_disk_model is defined and target_disk_model %} +#target_disk_model="DELLBOSS VD" # Example: Dell BOSS on R6515 via model name +target_disk_model="{target_disk_model}" +{% end if %} + +# SSH key method (usually tftp) +target_keys_method="tftp" + +# SSH key path (usually keys.txt) +target_keys_path="keys.txt" + +# Deploy username (usually deploy) +target_deploy_user="deploy" + +# Installer checkin URI (provided by pvcbootstrapd) +#pvcbootstrapd_checkin_uri="http://10.199.199.254:9999/checkin/installer" +pvcbootstrapd_checkin_uri="{pvcbootstrapd_checkin_uri}" diff --git a/templates/pxe-install-seed.example b/templates/pxe-install-seed.example deleted file mode 100644 index 4e265a0..0000000 --- a/templates/pxe-install-seed.example +++ /dev/null @@ -1,35 +0,0 @@ -### -### General definitions -### - -# The Debian release to use -debrelease="bullseye" - -# The Debian mirror to use -debmirror="http://debian.mirror.rafal.ca/debian" - -# Package list (installed during debootstrap) -debpkglist="lvm2,parted,gdisk,grub-pc,grub-efi-amd64,linux-image-amd64,sudo,vim,gpg,gpg-agent,aptitude,openssh-server,vlan,ifenslave,python2,python3,ca-certificates,ntp" - -# Package list (installed in chroot) -suppkglist="firmware-linux,firmware-linux-nonfree,firmware-bnx2,firmware-bnx2x" - -### -### Per-host definitions -### - -# The hostname of the system (set per-run) -target_hostname="HOSTNAME" - -# The target disk (either path or model to find; path overrides model if set) -target_disk_path="/dev/disk/by-path/pci-0000:01:00.0-scsi-0:2:0:0" # Example: Dell BOSS on R6515 via explicit path -target_disk_model="DELLBOSS VD" # Example: Dell BOSS on R6515 via model name - -# SSH key method (usually tftp) -target_keys_method="tftp" - -# SSH key path -target_keys_path="keys.txt" - -# Deploy username -target_deploy_user="deploy"