Portably determine the next available block device in a Linux VM?

I'm trying to use the code from https://stackoverflow.com/questions/32844854/boto3-show-next-available-device-name-on-instance:

def get_free_device_name(instance):
    all_device_names = ["/dev/xvd%s" % (x) for x in ascii_lowercase]
    device_list = instance.block_device_mappings
    used_device_names = set()
    for device in device_list:
        used_device_names.add([device['DeviceName']])
    return list(set(all_device_names) - used_device_names).pop()

К сожалению, этот код не является переносимым и не работает для меня, или, вероятно, большого количества людей, которые могут попробовать его в будущем.

Например, он не будет работать в экземпляре, оптимизированном для AWS EC2 EBS, где устройства пронумерованы /dev/nvmeXn1,

0 ответов

Другие вопросы по тегам