From 06488b8d18d6b50d6a29f921d8228aa07062ab1b Mon Sep 17 00:00:00 2001 From: Ben Vincent Date: Tue, 4 Aug 2026 00:24:21 +1000 Subject: [PATCH] Add optiplex-3070 catalog entry Six new prodnxsr0014-0019 Dell OptiPlex 3070 hosts were registered on the legacy cobbler server (profile almalinux9-dell_3070) but the fleet had no matching bootapi catalog entry, so they would fall to the generic almalinux9 autopart-on-sda path. - Add catalog/optiplex-3070.yaml: auto-nvme, UEFI-aware, fixed ~31G LVM - Document the entry in catalog/README.md shipped list and per-model table Claude-Session: https://claude.ai/code/session_01JUoARVdmhxKQHyyyp1pxeT --- catalog/README.md | 13 +++++++------ catalog/optiplex-3070.yaml | 23 +++++++++++++++++++++++ 2 files changed, 30 insertions(+), 6 deletions(-) create mode 100644 catalog/optiplex-3070.yaml diff --git a/catalog/README.md b/catalog/README.md index b5f674c..72d7bf5 100644 --- a/catalog/README.md +++ b/catalog/README.md @@ -29,11 +29,11 @@ YAML + template change here — **no bootapi code change**. `almalinux//BaseOS//os/`. Generic / VM default (autopart on `sda`). - **fedora** — artifactapi `fedora` remote, tree `fedora/releases//Everything//os/`. -- **optiplex-3050 / optiplex-3060 / optiplex-7080** — AlmaLinux 9 on the Dell - OptiPlex fleet. Same install tree and `almalinux9` kickstart template, but - each passes a `storage_mode` (and, for the 7080, `vg_grow`) var so the one - template lays disks out per model. Ported from the Cobbler profiles - `almalinux9-dell_3050 / _3060 / _7080`. See "Per-model variants" below. +- **optiplex-3050 / optiplex-3060 / optiplex-3070 / optiplex-7080** — AlmaLinux 9 + on the Dell OptiPlex fleet. Same install tree and `almalinux9` kickstart + template, but each passes a `storage_mode` (and, for the 7080, `vg_grow`) var + so the one template lays disks out per model. Ported from the Cobbler profiles + `almalinux9-dell_3050 / _3060 / _3070 / _7080`. See "Per-model variants" below. ## Per-model variants (Dell OptiPlex) @@ -45,6 +45,7 @@ model-specific `storage_mode` var: |-------|----------------|----------------|----------|--------| | `optiplex-3050` | `fixed-nvme` | static `nvme0n1` | legacy BIOS/MBR | fixed ~31G | | `optiplex-3060` | `auto-nvme` | `%pre` picks first NVMe <512G | UEFI-aware (EFI part if booted UEFI) | fixed ~31G | +| `optiplex-3070` | `auto-nvme` | `%pre` picks first NVMe <512G | UEFI-aware | fixed ~31G | | `optiplex-7080` | `auto-nvme` + `vg_grow: "true"` | `%pre` picks first NVMe <512G | UEFI-aware | grows to fill disk | The kickstart (`kickstart/almalinux9.ks.tmpl`) reads `.DistroVars.storage_mode` @@ -54,7 +55,7 @@ autopart-on-`sda` path. **Model selection (NetBox-driven, no code change):** the entry `name` is the OptiPlex **device_type slug**. Set the device's `provision_template` custom -field to that slug (`optiplex-3050` / `-3060` / `-7080`) and bootapi's catalog +field to that slug (`optiplex-3050` / `-3060` / `-3070` / `-7080`) and bootapi's catalog `Select` picks the matching entry (override precedence beats platform/family). The `match.platforms` slug on each entry is the device_type slug too — not a real NetBox platform slug — so these entries are *only* reachable via the diff --git a/catalog/optiplex-3070.yaml b/catalog/optiplex-3070.yaml new file mode 100644 index 0000000..119c430 --- /dev/null +++ b/catalog/optiplex-3070.yaml @@ -0,0 +1,23 @@ +# Distro catalog entry: AlmaLinux 9 on the Dell OptiPlex 3070. +# +# Ported for the six prodnxsr0014-0019 bare-metal hosts registered on the legacy +# Cobbler server under profile almalinux9-dell_3070. Mirrors optiplex-3060: a +# %pre script auto-selects the internal NVMe (first under 512G), is UEFI-aware, +# sets bootloader --boot-drive, and uses a fixed ~31G LVM (no grow). The Cobbler +# almalinux9_dell3070 kickstart template currently fails to render on cobbler, +# so the closest working per-model profile (3060, same UEFI/auto-NVMe layout, +# fixed LVM) was used as the source of truth. Select it by setting the device's +# `provision_template` custom field to "optiplex-3070" (the device_type slug). +name: optiplex-3070 +match: + platforms: [optiplex-3070] +kickstart: almalinux9 +version_default: "9" +kernel_url: "{{.ArtifactBase}}/almalinux/{{.Version}}/BaseOS/{{.Arch}}/os/images/pxeboot/vmlinuz" +initrd_url: "{{.ArtifactBase}}/almalinux/{{.Version}}/BaseOS/{{.Arch}}/os/images/pxeboot/initrd.img" +kernel_args: + - inst.text + - net.ifnames=0 +vars: + mirror: "{{.ArtifactBase}}/almalinux/{{.Version}}" + storage_mode: auto-nvme