Skip to content

Packer azure-arm plugin does not expose knob for setting OS disk performance tier #13516

@sgreene570

Description

@sgreene570

Community Note

  • Please vote on this issue by adding a 👍 reaction to the original issue to help the community and maintainers prioritize this request
  • Please do not leave "+1" or other comments that do not add relevant new information or questions, they generate extra noise for issue followers and do not help prioritize the request
  • If you are interested in working on this issue or have submitted a pull request, please leave a comment

Description

When creating a VM, Azure assigns the VM's OS disk a default performance tier based on the configured size of the disk in GiB (rounded down to the closest power of 2).

For particularly small disks (e.g. 32 gb) the default performance tier can provide minimal throughput / IOPS, which can result in very long-winded packer build operations (e.g. rsync'ing lots of files around).

Ideally packer would expose a simple field, e.g. os_disk_performance_tier, alongside the current os_disk_size_gb field, to support manually bumping the performance specs of the deployed OS disk without having to increase the final image artifact size.

As a workaround we have been bumping the OS disk's performance tier via the azure CLI as an additional shell provisioner step once the VM is created, however, this is a control plane operation and as such can take anywhere from 5 minutes to 1 hour to complete based on regional disk system load. Azure support has confirmed that creating the VM with the desired performance tier will result in the provisioned IOPS being available immediately as an alternative.

Use Case(s)

Creating small packer images on top of Azure premium SSDs that require lots of file operations during the build process.

Potential configuration

Add new field for azure-arm plugin:

os_disk_performance_tier: P30

Performance tier specs.

Potential References

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions