Closed askedrelic closed 1 week ago
I can see the problem here, it's a bug, but the workaround is to wipe sda
before the install process.
Looks like sda
already contains Talos installation which leads to a race condition, which is a bug on its own.
The root cause is that the partition table on the disk has a layout which go-blockdevice/v2
doesn't handle updating today correctly - the first pre-existing partition is bigger than new partition. A proper fix would be to use a different code path when completely wiping the partition table (which happens on install vs. updating existing pt).
Thanks for confirming; I felt like installing Talos on top of a mounted disk could cause issues, but is our preferred install method due to several constraints and would be great to be more supported.
Is continuing to use wipe:true
recommended? Would wipe:false
help at all?
It's a bug which is going to be fixed and backported.
At the moment, there's no workaround on Talos side except for wiping the disk before installation.
Bug Report
Installing Talos 1.8.2 from maintenance mode fails with a "Error: failed to create partitions: failed to write GPT: failed to add partition 1: device or resource busy" message. The failed install leaves the disk without a bootable partition.
Description
Trying to install Talos via API on a bare-metal machine, in a 2 step process. First step, I'm installing a fresh Ubuntu 22.04 instance and build/write the metal-amd64.iso Talos installer over the existing Ubuntu disk, then rebooting into Talos maintenance mode. For the 2nd step, I apply-config to install Talos with my config. Related to https://github.com/siderolabs/talos/issues/9647 ; similar bootstrap process but different local machine I have physical access to; Dell PowerEdge R740
I believe this related to Talos 1.8. I've tested the same process config with 1.7 and it installs successfully. I'm going to keep the machine running 1.7.7 for now, if you need more info.
Logs
Disk view from maintenance mode
failed install section
full logs https://gist.github.com/askedrelic/63395ba87579127d5cd309825637d4bd
controlplane.yml https://gist.github.com/askedrelic/2f31b85d732c33e8bfe01f19cde6675e
Environment