When launching an instance with options "Boot from volume" or "Boot from volume snapshot (creates a new volume)", Horizon (rightfully) doesn't make it possible to specify volume size. Yet it uses the default "volume_size" value of 1, which is defined as initial in the form [0].
When Nova API processes this request, it also tries to verify the new volume size vs. minimum disk size, because "volume_size" is set [1]. This check will fail if your image requires a disk more than 1 GiB in size.
I naively tried just not sending "volume_size" to the Nova API, but this triggered some other errors. Preferably, Horizon should be setting the "volume_size" accordingly to the volume or snapshot that has been chosen, similar to booting from image [2].
As a quick fix, you can set the disk requirements of your images to no more than 1 GiB. But you also have to re-create the affected volumes, since this min_disk metadata gets burned into them.
----------
Steps to reproduce:
0) Create a Glance image with a requirement of more than 1 GiB of disk space (2 if you don't trust yourself with the GB/GiB fuss)
1) Navigate to Compute -> Volumes and create a new bootable volume from that image, with plenty of space (10 GiB).
2) Launch an instance from that volume, either from Volumes or Instances screen.
3) Enjoy the VolumeSmallerThanMinDisk exception.
Note that the CLI-equivalent process works as expected, for obvious reasons.
----------
[0] https://github.com/openstack/horizon/blob/stable/liberty/openstack_dashboard/dashboards/project/instances/workflows/create_instance.py#L116
[1] https://github.com/openstack/nova/blob/stable/liberty/nova/compute/api.py#L725
[2] https://github.com/openstack/horizon/blob/stable/liberty/openstack_dashboard/dashboards/project/instances/workflows/create_instance.py#L444
Just wanted to note that this doesn't occur in the Angular Launch Instance workflow.