Archive MAAS preseed to archive/maas/ with README — project abandoned, replaced by USB autoinstall
This commit is contained in:
21
archive/maas/README.md
Normal file
21
archive/maas/README.md
Normal file
@@ -0,0 +1,21 @@
|
||||
# MAAS Archive
|
||||
|
||||
**Status: ABANDONED — May 23, 2026**
|
||||
|
||||
These files are the final state of the MAAS PXE deployment effort for Iron Legion fleet nodes. MAAS was removed from Shield after repeated failures on isolated subnets, IP exhaustion, and general complexity. Replaced by USB autoinstall approach.
|
||||
|
||||
## Files
|
||||
|
||||
- `curtin_userdata_fleet_v5.yaml` — Fleet preseed targeting `/dev/nvme0n1`, no apt-get (isolated subnet safe), SSH enable only. Final working version before abandonment.
|
||||
|
||||
## Lessons Captured
|
||||
|
||||
1. MAAS ephemeral commissioning fails on subnets without internet (apt-get hangs)
|
||||
2. IP exhaustion on /27 pools after failed deployments (sticky reservations)
|
||||
3. G9 Intel I226-V NIC (enp5s0) drops link during Linux driver init
|
||||
4. Linux enumerates first NVMe as `nvme0n1`, not `nvme1`
|
||||
5. Cloud-init stomps hostname unless `preserve_hostname: true` is set
|
||||
|
||||
## Replacement
|
||||
|
||||
See `autoinstall/` in repo root for the USB-based replacement workflow.
|
||||
49
archive/maas/curtin_userdata_fleet_v5.yaml
Normal file
49
archive/maas/curtin_userdata_fleet_v5.yaml
Normal file
@@ -0,0 +1,49 @@
|
||||
#cloud-config
|
||||
# MAAS Fleet Preseed v5 — Iron Legion DR Standard
|
||||
# No apt-get during late_commands (isolated subnet)
|
||||
# Targets /dev/nvme0n1 (first NVMe, skip eMMC)
|
||||
# Defer internet tasks to post-deploy on fleet LAN
|
||||
# Corrected 2026-05-23: nvme1 → nvme0n1 (Linux enumeration)
|
||||
|
||||
debconf_selections:
|
||||
maas: |
|
||||
{{for line in str(curtin_preseed).splitlines()}}
|
||||
{{line}}
|
||||
{{endfor}}
|
||||
|
||||
storage:
|
||||
swap:
|
||||
size: 0
|
||||
config:
|
||||
- type: disk
|
||||
id: root-disk
|
||||
path: /dev/nvme0n1
|
||||
ptable: gpt
|
||||
wipe: superblock-recursive
|
||||
- type: partition
|
||||
id: root-partition
|
||||
device: root-disk
|
||||
size: -1
|
||||
flag: boot
|
||||
- type: format
|
||||
id: root-format
|
||||
volume: root-partition
|
||||
fstype: ext4
|
||||
- type: mount
|
||||
id: root-mount
|
||||
device: root-format
|
||||
path: /
|
||||
|
||||
late_commands:
|
||||
fleet_01_create_user: ["curtin", "in-target", "--", "sh", "-c", "useradd -m -s /bin/bash -G sudo jarvis && echo 'jarvis:ubuntu' | chpasswd"]
|
||||
fleet_02_hostname: ["curtin", "in-target", "--", "sh", "-c", "hostnamectl set-hostname $(echo {{node.hostname}} | sed 's/[^a-zA-Z0-9-]//g') && echo $(echo {{node.hostname}} | sed 's/[^a-zA-Z0-9-]//g') > /etc/hostname"]
|
||||
fleet_02b_preserve_hostname: ["curtin", "in-target", "--", "sh", "-c", "echo 'preserve_hostname: true' > /etc/cloud/cloud.cfg.d/99_preserve_hostname.cfg"]
|
||||
fleet_03_enable_ssh: ["curtin", "in-target", "--", "systemctl", "enable", "ssh"]
|
||||
fleet_04_start_ssh: ["curtin", "in-target", "--", "systemctl", "start", "ssh"]
|
||||
fleet_05_ssh_dir: ["curtin", "in-target", "--", "sh", "-c", "mkdir -p /home/jarvis/.ssh && chmod 700 /home/jarvis/.ssh"]
|
||||
fleet_06_auth_keys: ["curtin", "in-target", "--", "sh", "-c", "echo 'ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIPSBrRCROUHOiZX9IB3teEK89VFfghbdu7OF5NoJ1Y6g Generated By Termius' > /home/jarvis/.ssh/authorized_keys"]
|
||||
fleet_07_chmod: ["curtin", "in-target", "--", "chmod", "600", "/home/jarvis/.ssh/authorized_keys"]
|
||||
fleet_08_chown: ["curtin", "in-target", "--", "chown", "-R", "jarvis:jarvis", "/home/jarvis/.ssh"]
|
||||
fleet_09_sudo: ["curtin", "in-target", "--", "sh", "-c", "echo 'jarvis ALL=(ALL) NOPASSWD: ALL' > /etc/sudoers.d/jarvis && chmod 440 /etc/sudoers.d/jarvis"]
|
||||
fleet_10_ansible_dirs: ["curtin", "in-target", "--", "sh", "-c", "mkdir -p /var/lib/ansible/local"]
|
||||
maas: [wget, '--no-proxy', {{node_disable_pxe_url|escape.json}}, '--post-data', {{node_disable_pxe_data|escape.json}}, '-O', '/dev/null']
|
||||
Reference in New Issue
Block a user