I cannot yet confirm this error. On a KVM VM (using UEFI and a complete empty NVME disk) is see this:
Starting setup-storage 3.0 Using config file: /var/lib/fai/config/disk_config/demohost Parted could not read a disk label (new disk?) Executing: parted -s /dev/nvme0n1 mklabel gpt Executing: parted -s /dev/nvme0n1 mklabel gpt Executing: parted -s /dev/nvme0n1 mkpart '" "' "xfs" 2097152B 10526637567B Executing: parted -s /dev/nvme0n1 set 1 boot on Executing: parted -s /dev/nvme0n1 mkpart '" "' "fat32" 10526637568B 10736352767B Executing: parted -s /dev/nvme0n1 mkpart '" "' "" 1048576B 2097151B Executing: parted -s /dev/nvme0n1 set 3 bios_grub on Executing: mkfs.xfs -f /dev/nvme0n1p1 Executing: mkfs.vfat /dev/nvme0n1p2 Executing: parted /dev/nvme0n1 set 1 boot on /dev/nvme0n1p2 UUID=D50D-BB7D /dev/nvme0n1p1 UUID=4d48c307-bad8-4e2b-b7c1-a0d635b73849 You see, no wipefs is called at all. On a VM with a NVME where I've created an empty partition /dev/nvme0n1p1 I see this: Starting setup-storage 3.0 Using config file: /var/lib/fai/config/disk_config/demohost Executing: wipefs -af /dev/nvme0n1p1 Executing: parted -s /dev/nvme0n1 mklabel gpt Executing: parted -s /dev/nvme0n1 mkpart '" "' "xfs" 2097152B 10526637567B Executing: parted -s /dev/nvme0n1 set 1 boot on Executing: parted -s /dev/nvme0n1 mkpart '" "' "fat32" 10526637568B 10736352767B Executing: parted -s /dev/nvme0n1 mkpart '" "' "" 1048576B 2097151B Executing: parted -s /dev/nvme0n1 set 3 bios_grub on Executing: mkfs.xfs -f /dev/nvme0n1p1 Executing: mkfs.vfat /dev/nvme0n1p2 Executing: parted /dev/nvme0n1 set 1 boot on /dev/nvme0n1p2 UUID=25E9-3EB8 /dev/nvme0n1p1 UUID=472ea23f-dd05-40a4-977c-815b7f52839a For some reason, your device /dev/nvme0n1p1 does not seem to be available at the time the wipefs is executed. But it must be available before, otherwise FAI would no have been queued the wipefs command at all. In setup-storage, we call udevadm settle --timeout=10 before we determine the list of disks like this: # read the sizes and partition tables of all disks listed in $FAI::disks &FAI::get_current_disks; Maybe the timeout is too short for your hardware? -- best regards Thomas