I'm learning about the cloud-config-ish autoinstall tool subiquity and I keep running into a problem where the autoinstall works, but it won't follow my configuration for the storage:
section.
Here's my autoinstall config (except for username, hostname, password hash and SSH key):
#cloud-config
autoinstall:
version: 1
locale: en_US.UTF-8
refresh-installer: { update: yes } # Check for updated installer
storage:
# ESP + boot + swap + zil placeholder + root
layout: { name: direct }
config:
- type: disk
match: # select largest ssd...
size: largest
ssd: true
id: ssd0 # ...and call it ssd0
ptable: gpt # use gpt partitions on ssd0
wipe: superblock
- type: partition # create partitions on ssd0
number: 1
id: efi-partition
device: ssd0
size: 256M
flag: boot # uefi partition needs boot flag
grub_device: true # and must be the grub device?
- type: partition
number: 2
id: boot-partition
device: ssd0
size: 768M
- type: partition
number: 3
id: swap-partition
device: ssd0
size: 128G
flag: swap
- type: partition
number: 4
id: zil-partition
device: ssd0
size: 128G
- type: partition
number: 5
id: root-partition
device: ssd0
size: 256G
- type: format # format partitions on ssd0
id: efi-format
volume: efi-partition
fstype: fat32 # ESP gets FAT32
label: ESP
- type: format
id: boot-format
volume: boot-partition
fstype: ext4
label: BOOT
- type: format
id: swap-format
volume: swap-partition
fstype: swap # swap
label: SWAP
flag: swap
- type: format
id: root-format
volume: root-partition
fstype: xfs # / (root) gets ext4, xfs, btrfs
label: ROOT
- type: mount # mount formatted partitions on ssd0
id: root-mount # / (root) gets mounted first
device: root-format
path: /
- type: mount
id: boot-mount # /boot gets mounted next
device: boot-format
path: /boot
- type: mount
id: efi-mount # /boot/efi gets mounted next
device: efi-format
path: /boot/efi
identity:
hostname: foo
username: bar
password: $6$<snip>
ssh:
install-server: true
allow-pw: false
authorized-keys:
- ssh-rsa AAAA<snip>
packages:
- build-essential
- git
- python3-pip
- tasksel
- zfsutils-linux
As you can see from the storage:
section, I'm putting in a few partitions (all GPT, no MBR on this build!):
- a FAT32 UEFI system partition at
/boot/efi
- an ext2
/boot
partition
- a swap partition
- a placeholder partition for a ZFS intent log (to be added later, after autoinstall)
- an XFS root partition
The Ubuntu autoinstaller seems to pass validation, because I get the proceed-with-autoinstall yes/no, it runs, and at the end I have a bootable system with ZFS installed and everything. However, it ignores my partition scheme and instead just creates a FAT32 EFI partition and an Ext4 root partition. Can anyone tell me what I'm doing wrong, here, or how I can track down why it's validating, but ignoring my storage:
configuration?