Ignition: partition layout for CoreOS

I’m confused about the partitons Ignition/CoreOS requires and how to configure them.

When not configuring partitions the following are created (in that order):
/boot
/boot/efi
(mbr boot partition)
/sysroot

My first try was setting up those partitions with the root filesystem (/sysroot) on a raid1 which resulted in:

systemd[1]: Starting Ignition OSTree: Grow root filesystem...
coreos-growpart[707]: cat: /sys/devices/virtual/block/md127/partition: No such file or directory
systemd[1]: ignition-ostree-growfs.service: Main process exited, code=exited, status=1/FAILURE

(ignition-ostree-growfs.service)

raid.yaml
variant: fcos
version: 1.0.0
storage:
  disks:
    - device: /dev/vda
      wipe_table: true 
      partitions:
        - label: boot
          number: 1
          size_mib: 400
          start_mib: 0
          type_guid: BC13C2FF-59E6-4262-A352-B275FD6F7172
        - label: EFI-SYSTEM
          number: 0
          size_mib: 50
          type_guid: C12A7328-F81F-11D2-BA4B-00A0C93EC93B
        - label: bios
          number: 0
          size_mib: 1
          type_guid: 21686148-6449-6E6F-744E-656564454649
        - label: root-r1
          number: 0
          size_mib: 50000
          type_guid: A19D880F-05FC-4D3B-A006-743F0F84911E
    - device: /dev/vdb
      wipe_table: true 
      partitions:
        - label: root-r2
          number: 1
          size_mib: 50000
          type_guid: A19D880F-05FC-4D3B-A006-743F0F84911E
  raid:
    - name: rootfs
      level: raid1
      devices:
      - /dev/disk/by-partlabel/root-r1
      - /dev/disk/by-partlabel/root-r2
  filesystems:
    - path: /boot
      device: /dev/disk/by-partlabel/boot
      format: ext4
      label: boot
    - path: /boot/efi
      device: /dev/disk/by-partlabel/EFI-SYSTEM
      format: vfat
      label: EFI-SYSTEM
    - path: /sysroot
      device: /dev/md/rootfs
      format: ext4
      label: root

ok, raid doesn’t work. Let’s try a normal partition.

systemd[1]: Starting Mount OSTree /var...
ignition-ostree-mount-var[745]: /sysroot//ostree/boot.1/fedora-coreos/3d0f96f51f3cb5047c0e8d4158d80ad5f5af74446d7ee3baecdcba9c7c23f1b9/0 is not a symlink
systemd[1]: ignition-ostree-mount-var.service: Main process exited, code=exited, status=1/FAILURE

(ignition-ostree-mount-var.service)

plain.yaml
variant: fcos
version: 1.0.0
storage:
  disks:
    - device: /dev/vda
      wipe_table: true 
      partitions:
        - label: boot
          number: 1
          size_mib: 400
          start_mib: 0
          type_guid: BC13C2FF-59E6-4262-A352-B275FD6F7172
        - label: EFI-SYSTEM
          number: 0
          size_mib: 50
          type_guid: C12A7328-F81F-11D2-BA4B-00A0C93EC93B
        - label: bios
          number: 0
          size_mib: 1
          type_guid: 21686148-6449-6E6F-744E-656564454649
        - label: root-r1
          number: 0
          size_mib: 50000
          type_guid: A19D880F-05FC-4D3B-A006-743F0F84911E
  filesystems:
    - path: /boot
      device: /dev/disk/by-partlabel/boot
      format: ext4
      label: boot
    - path: /boot/efi
      device: /dev/disk/by-partlabel/EFI-SYSTEM
      format: vfat
      label: EFI-SYSTEM
    - path: /sysroot
      device: /dev/disk/by-partlabel/root-r1
      format: ext4
      label: root

How do I have to configure Ignition to not fail on creating/using my partitions? And what partitions are required/expected?

You are trying to re-configure main OS partitions (rootfs, bootfs, ESP) which at the moment is not supported on FCOS (similar statement for complex storage setup, like RAID).

This is currently an active area of brainstorming among developers, but no concrete details at this point. The issue is tracked and discussed at https://github.com/coreos/fedora-coreos-tracker/issues/94.