Skip to content

Print only missing requirements or features in 'No available VM size' error spew #3086

Open
@mcgov

Description

@mcgov

LISA can throw an error and skip deployment if the environment requirements are not met based on the runbook or test requirements. The current error message is super verbose and not helpful for debugging what happened. An example:

deployment skipped: ["no available vm size found on 'westus3'."], runbook: Environment(name='generated_2', topology='subnet', nodes_raw=None, nodes_requirement=[type:requirement,name:,default:False,count:1,core:[1,],mem:[512,],disk:has_resource_disk: None,os_disk_type: allowed:True,items:[DiskType.PremiumSSDLRS,DiskType.StandardHDDLRS,DiskType.StandardSSDLRS,DiskType.Ephemeral],data_disk_type: allowed:True,items:[DiskType.PremiumSSDLRS,DiskType.StandardHDDLRS,DiskType.StandardSSDLRS,DiskType.UltraSSDLRS],count: [0,],caching: None,iops: [0,],throughput: [0,],size: [0,],max_data_disk_count: None,disk_controller_type: allowed:True,items:[DiskControllerType.SCSI,DiskControllerType.NVME],network interface: data_path:allowed:False,items:[NetworkDataPath.Sriov,NetworkDataPath.Synthetic], nic_count:[1,], max_nic_count:[1,], gpu:[0,],f:allowed:True,items:[gen:1,SecurityProfileSettings(extended_schemas={}, type='Security_Profile', security_profile=allowed:False,items:[SecurityProfileType.CVM,SecurityProfileType.Standard,SecurityProfileType.SecureBoot], encrypt_disk=False, disk_encryption_set_id=''),disk_count:[0,],arch:x64],ef:None,NodeSpace(type='requirement')], _original_nodes_requirement=[type:requirement,name:,default:False,count:1,core:[1,],mem:[512,],disk:has_resource_disk: None,os_disk_type: allowed:True,items:[DiskType.PremiumSSDLRS,DiskType.StandardHDDLRS,DiskType.StandardSSDLRS,DiskType.Ephemeral],data_disk_type: allowed:True,items:[DiskType.PremiumSSDLRS,DiskType.StandardHDDLRS,DiskType.StandardSSDLRS,DiskType.UltraSSDLRS],count: [0,],caching: None,iops: [0,],throughput: [0,],size: [0,],max_data_disk_count: None,disk_controller_type: allowed:True,items:[DiskControllerType.SCSI,DiskControllerType.NVME],network interface: data_path:allowed:False,items:[NetworkDataPath.Sriov,NetworkDataPath.Synthetic], nic_count:[1,], max_nic_count:[1,], gpu:[0,],f:allowed:True,items:[gen:1,SecurityProfileSettings(extended_schemas={}, type='Security_Profile', security_profile=allowed:False,items:[SecurityProfileType.CVM,SecurityPro...

If there is a missing feature or a requirement which the environment isn't able to meet, LISA should only print the missing features/requirements instead of dumping the entire environment.

The current error message leads to dark patterns like just specifying 'maximize_capability' everywhere which can cause other problems like your test pass running test suites which the environment doesn't support.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions