← Back to team overview

yahoo-eng-team team mailing list archive

[Bug 1155113] Re: xenapi: ImageTooLarge for instances with 0 disk size

 

** Changed in: nova
       Status: Fix Committed => Fix Released

** Changed in: nova
    Milestone: None => havana-1

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

Title:
  xenapi: ImageTooLarge for instances with 0 disk size

Status in OpenStack Compute (Nova):
  Fix Released

Bug description:
  Create two flavors:

  nova-manage flavor create --name=m1.nodisk --memory=512 --cpu=1 --root_gb=0 \
  --flavor=7 --swap=0 --rxtx_factor=1.0 --is_public=true
  nova-manage flavor create --name=m1.onegig --memory=512 --cpu=1 --root_gb=1 \
  --flavor=8 --swap=0 --rxtx_factor=1.0 --is_public=true

  Upload an image:

  glance image-create --name growbug \
  --copy-from=https://github.com/downloads/citrix-openstack/warehouse/cirros-0.3.0-x86_64-disk.vhd.tgz \
  --container-format=ovf --disk-format=vhd --is-public=True

  Wait until it is active, get its id:

  IMAGEID=$(glance image-list | grep bugimage |  sed -e 's/^| //g' -e
  's/ |.*$//g')

  Boot it up:

  nova boot --image $IMAGEID --flavor 7 growinstance

  The instance state will be error:

  stack@DevStackOSDomU:~/devstack$ nova list | grep growinstance
  | 200fd365-6d7d-45b0-9c35-89ef11d43662 | growinstance | ERROR  |          |

  And you see the following in the n-cpu log:

  Failed to spawn, rolling back
  Traceback (most recent call last):
    File "/opt/stack/nova/nova/virt/xenapi/vmops.py", line 452, in spawn
      vdis = create_disks_step(undo_mgr, disk_image_type, image_meta)
    File "/opt/stack/nova/nova/virt/xenapi/vmops.py", line 143, in inner
      rv = f(*args, **kwargs)
    File "/opt/stack/nova/nova/virt/xenapi/vmops.py", line 335, in create_disks_step
      block_device_info=block_device_info)
    File "/opt/stack/nova/nova/virt/xenapi/vmops.py", line 306, in _create_disks
      block_device_info=block_device_info)
    File "/opt/stack/nova/nova/virt/xenapi/vm_utils.py", line 518, in get_vdis_for_instance
      context, session, instance, name_label, image, image_type)
    File "/opt/stack/nova/nova/virt/xenapi/vm_utils.py", line 974, in _create_image
      image_id, image_type)
    File "/opt/stack/nova/nova/virt/xenapi/vm_utils.py", line 919, in _create_cached_image
      image_id, image_type)
    File "/opt/stack/nova/nova/virt/xenapi/vm_utils.py", line 994, in _fetch_image
      vdis = _fetch_vhd_image(context, session, instance, image_id)
    File "/opt/stack/nova/nova/virt/xenapi/vm_utils.py", line 1120, in _fetch_vhd_image
      _check_vdi_size(context, session, instance, root_vdi_uuid)
    File "/opt/stack/nova/nova/virt/xenapi/vm_utils.py", line 1157, in _check_vdi_size
      raise exception.ImageTooLarge()
  ImageTooLarge: Image is larger than instance type allows

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