Azure: ubuntu minimal images getting warnings due to missing gdisk (/usr/sbin/sgdisk)
blackboxsw opened this issue · comments
Chad Smith commented
Bug report
Ubuntu Minimal Azure images do not contain gdisk package (and resulting sgdisk), resulting in failure to partition /dev/sda.
This results in a warning in cloud-init logs Failed to partitioning operation
and the inability to partition /dev/sda.
Steps to reproduce the problem
Environment details
- Cloud-init version: 24.1~
- Operating System Distribution: Ubuntu Noble minimal
- Cloud provider, platform or installer type: Azure
cloud-init logs
2024-02-19 03:16:07,680 - cc_disk_setup.py[DEBUG]: Checking if device layout matches
2024-02-19 03:16:07,680 - subp.py[DEBUG]: Running command [None, '-p', '/dev/sda'] with allowed return codes [0] (shell=False, capture=True)
2024-02-19 03:16:07,680 - util.py[DEBUG]: Creating partition on /dev/disk/cloud/azure_resource took 0.022 seconds
2024-02-19 03:16:07,680 - util.py[WARNING]: Failed partitioning operation
Error running partition command on /dev/sda
'NoneType' object has no attribute 'encode'
2024-02-19 03:16:07,684 - util.py[DEBUG]: Failed partitioning operation
Error running partition command on /dev/sda
'NoneType' object has no attribute 'encode'
Traceback (most recent call last):
File "/usr/lib/python3/dist-packages/cloudinit/config/cc_disk_setup.py", line 491, in check_partition_gpt_layout
out, _err = subp.subp(prt_cmd, update_env=LANG_C_ENV)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/lib/python3/dist-packages/cloudinit/subp.py", line 244, in subp
bytes_args = [
^
File "/usr/lib/python3/dist-packages/cloudinit/subp.py", line 245, in <listcomp>
x if isinstance(x, bytes) else x.encode("utf-8") for x in args
^^^^^^^^
AttributeError: 'NoneType' object has no attribute 'encode'
The above exception was the direct cause of the following exception:
Traceback (most recent call last):
File "/usr/lib/python3/dist-packages/cloudinit/config/cc_disk_setup.py", line 136, in handle
util.log_time(
File "/usr/lib/python3/dist-packages/cloudinit/util.py", line 2838, in log_time
ret = func(*args, **kwargs)
^^^^^^^^^^^^^^^^^^^^^
File "/usr/lib/python3/dist-packages/cloudinit/config/cc_disk_setup.py", line 829, in mkpart
if check_partition_layout(table_type, device, layout):
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/lib/python3/dist-packages/cloudinit/config/cc_disk_setup.py", line 538, in check_partition_layout
found_layout = check_partition_gpt_layout(device, layout)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/lib/python3/dist-packages/cloudinit/config/cc_disk_setup.py", line 493, in check_partition_gpt_layout
raise RuntimeError(
RuntimeError: Error running partition command on /dev/sda
'NoneType' object has no attribute 'encode'
2024-02-19 03:16:07,687 - cc_disk_setup.py[DEBUG]: setting up filesystems: [{'filesystem': 'ext4', 'device': 'ephemeral0.1'}]
2024-02-19 03:16:07,687 - cc_disk_setup.py[DEBUG]: ephemeral0.1 is mapped to disk=/dev/disk/cloud/azure_resource part=1
2024-02-19 03:16:07,687 - cc_disk_setup.py[DEBUG]: Creating new filesystem.