-
Notifications
You must be signed in to change notification settings - Fork 1k
Description
Bug report
When using RHEL10 as base image, only sfdisk is available and it fails to partition and empty disk when the table type is GPT.
during cc_disk_setup, this command is run:
subp.py[DEBUG]: Running command ['sfdisk', '-l', '-J', '/dev/vdb'] with allowed return codes [0] (shell=False, capture=True)
However on an empty disk, the exit code is 1:
Error running partition command on /dev/vdb
Unexpected error while running command.
Command: ['sfdisk', '-l', '-J', '/dev/vdb']
Exit code: 1
Reason: -
Stdout:
Stderr: sfdisk: /dev/vdb: does not contain a recognized partition table
2026-01-22 13:21:13,952 - log_util.py[DEBUG]: Failed partitioning operation
Steps to reproduce the problem
Cloud-init disk setup configured as:
disk_setup:
/dev/vdb:
table_type: 'gpt'
layout: True
overwrite: true
Environment details
- Cloud-init version: 24.4-6.el10
- Operating System Distribution: RHEL 10.1
- Cloud provider, platform or installer type: OCP
cloud-init logs
2026-01-19 13:20:47,582 - cc_disk_setup.py[DEBUG]: Partitioning disks: {'/dev/vdb': {'layout': True, 'overwrite': True, 'table_type': 'gpt'}}
2026-01-19 13:20:47,582 - subp.py[DEBUG]: Running command ['udevadm', 'settle'] with allowed return codes [0] (shell=False, capture=True)
2026-01-19 13:20:47,590 - cc_disk_setup.py[DEBUG]: Checking values for /dev/vdb definition
2026-01-19 13:20:47,590 - cc_disk_setup.py[DEBUG]: Checking against default devices
2026-01-19 13:20:47,591 - cc_disk_setup.py[DEBUG]: Checking if device /dev/vdb is a valid device
2026-01-19 13:20:47,591 - subp.py[DEBUG]: Running command ['lsblk', '--pairs', '--output', 'NAME,TYPE,FSTYPE,LABEL', '/dev/vdb', '--nodeps'] with allowed return codes [0] (shell=False, capture=True)
2026-01-19 13:20:47,594 - cc_disk_setup.py[DEBUG]: Checking if device layout matches
2026-01-19 13:20:47,594 - subp.py[DEBUG]: Running command ['sfdisk', '-l', '-J', '/dev/vdb'] with allowed return codes [0] (shell=False, capture=True)
2026-01-19 13:20:47,604 - performance.py[DEBUG]: Creating partition on /dev/vdb took 0.022 seconds
2026-01-19 13:20:47,604 - log_util.py[WARNING]: Failed partitioning operation
Error running partition command on /dev/vdb
Unexpected error while running command.
Command: ['sfdisk', '-l', '-J', '/dev/vdb']
Exit code: 1
Reason: -
Stdout:
Stderr: sfdisk: /dev/vdb: does not contain a recognized partition table
2026-01-19 13:20:47,604 - log_util.py[DEBUG]: Failed partitioning operation
Error running partition command on /dev/vdb
Unexpected error while running command.
Command: ['sfdisk', '-l', '-J', '/dev/vdb']
Exit code: 1
Reason: -
Stdout:
Stderr: sfdisk: /dev/vdb: does not contain a recognized partition table
Traceback (most recent call last):
File "/usr/lib/python3.12/site-packages/cloudinit/config/cc_disk_setup.py", line 779, in check_partition_gpt_layout
out, _err = subp.subp(prt_cmd, update_env=LANG_C_ENV)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/lib/python3.12/site-packages/cloudinit/subp.py", line 291, in subp
raise ProcessExecutionError(
cloudinit.subp.ProcessExecutionError: Unexpected error while running command.
Command: ['sfdisk', '-l', '-J', '/dev/vdb']
Exit code: 1
Reason: -
Stdout:
Stderr: sfdisk: /dev/vdb: does not contain a recognized partition table
The above exception was the direct cause of the following exception:
Traceback (most recent call last):
File "/usr/lib/python3.12/site-packages/cloudinit/config/cc_disk_setup.py", line 58, in handle
mkpart(disk, definition)
File "/usr/lib/python3.12/site-packages/cloudinit/config/cc_disk_setup.py", line 1103, in mkpart
if check_partition_layout(table_type, device, layout):
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/lib/python3.12/site-packages/cloudinit/config/cc_disk_setup.py", line 813, in check_partition_layout
found_layout = check_partition_gpt_layout(device, layout)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/lib/python3.12/site-packages/cloudinit/config/cc_disk_setup.py", line 787, in check_partition_gpt_layout
raise RuntimeError(
RuntimeError: Error running partition command on /dev/vdb
Unexpected error while running command.
Command: ['sfdisk', '-l', '-J', '/dev/vdb']
Exit code: 1
Reason: -
Stdout:
Stderr: sfdisk: /dev/vdb: does not contain a recognized partition table