← Back to team overview

yahoo-eng-team team mailing list archive

[Bug 1563529] [NEW] "Boot from volume" fails on image size restriction

 

Public bug reported:

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

** Affects: horizon
     Importance: Undecided
         Status: New

** Description changed:

  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 image size, because "volume_size" is set [1].
+ 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 then 1 GiB of disk space (2 if you don't trust yourself with the GB/GiB fuss)
+ 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

-- 
You received this bug notification because you are a member of Yahoo!
Engineering Team, which is subscribed to OpenStack Dashboard (Horizon).
https://bugs.launchpad.net/bugs/1563529

Title:
  "Boot from volume" fails on image size restriction

Status in OpenStack Dashboard (Horizon):
  New

Bug description:
  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

To manage notifications about this bug go to:
https://bugs.launchpad.net/horizon/+bug/1563529/+subscriptions


Follow ups