Fail to boot raw image on XenServer

Bug #1055413 reported by Mate Lakat
18
This bug affects 3 people
Affects Status Importance Assigned to Milestone
OpenStack Compute (nova)
Fix Released
Medium
Mate Lakat
Folsom
Fix Released
Medium
Chuck Short
nova (Ubuntu)
Fix Released
Undecided
Unassigned
Quantal
Fix Released
Undecided
Unassigned

Bug Description

Failed to start a raw image on XenServer (dies with KeyError).

STEPS TO REPRODUCE:
1.) Get a QCOW2 image:
wget https://launchpad.net/cirros/trunk/0.3.0/+download/cirros-0.3.0-x86_64-disk.img

2.) Convert that to RAW:
qemu-img convert -O raw cirros-0.3.0-x86_64-disk.img cirros.raw

3.) Activate your devstack:
. openrc admin

4.) Upload that to glance:
glance image-create --name="cirros" --is-public=true --container-format=bare --disk-format=raw < cirros.raw

5.) Boot that image with your XenServer:
nova boot --image cirros --flavor m1.tiny somevmname

You end up with the following Traceback on n-cpu console:
Traceback (most recent call last):
  File "/opt/stack/nova/nova/virt/xenapi/vmops.py", line 355, in spawn
    vdis = create_disks_step(undo_mgr)
  File "/opt/stack/nova/nova/virt/xenapi/vmops.py", line 139, in inner
    rv = f(*args, **kwargs)
  File "/opt/stack/nova/nova/virt/xenapi/vmops.py", line 257, in create_disks_step
    image_meta, block_device_info)
  File "/opt/stack/nova/nova/virt/xenapi/vmops.py", line 224, in _create_disks
    block_device_info=block_device_info)
  File "/opt/stack/nova/nova/virt/xenapi/vm_utils.py", line 427, in get_vdis_for_instance
    image_type)
  File "/opt/stack/nova/nova/virt/xenapi/vm_utils.py", line 919, in _create_image
    image_id, image_type)
  File "/opt/stack/nova/nova/virt/xenapi/vm_utils.py", line 843, in _create_cached_image
    root_vdi = vdis['root']
KeyError: 'root'

Same happens if you specify 'ovf' as the container format.
Same happens, if you:
tar -czf tarred.tgz cirros.raw
glance image-create --name="cirros" --is-public=true --container-format=ovf --disk-format=raw < tarred.tgz

Same happens if image uploaded through Horizon

Mate Lakat (mate-lakat)
description: updated
Mate Lakat (mate-lakat)
description: updated
tags: added: xenserver
Mate Lakat (mate-lakat)
Changed in nova:
assignee: nobody → Mate Lakat (mate-lakat)
Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix proposed to nova (master)

Fix proposed to branch: master
Review: https://review.openstack.org/13628

Changed in nova:
status: New → In Progress
Changed in nova:
importance: Undecided → Medium
tags: added: folsom-backport-potential
Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix merged to nova (master)

Reviewed: https://review.openstack.org/13628
Committed: http://github.com/openstack/nova/commit/8f0e47279ac4eb93dae6593d8b7985b120ae1084
Submitter: Jenkins
Branch: master

commit 8f0e47279ac4eb93dae6593d8b7985b120ae1084
Author: Mate Lakat <email address hidden>
Date: Tue Sep 25 12:25:03 2012 +0100

    Fix booting a raw image on XenServer

    Fixes bug 1055413.

    ImageType.from_string removed, as it was only used by its test.
    Introduced ImageType.get_role, that returns the image's role within the
    VM. In case of DISK_* image types, the role is always 'root'. Role
    should be the key when accessing the vdis dictionary.

    Change-Id: Ieb952a9246d06a8280510113a98b888237abcc65

Changed in nova:
status: In Progress → Fix Committed
Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix proposed to nova (stable/folsom)

Fix proposed to branch: stable/folsom
Review: https://review.openstack.org/14087

Mark McLoughlin (markmc)
tags: removed: folsom-backport-potential
Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix merged to nova (stable/folsom)

Reviewed: https://review.openstack.org/14087
Committed: http://github.com/openstack/nova/commit/bddb06d3fb2c91faf9cb1c330905f4a4c0bb3fd2
Submitter: Jenkins
Branch: stable/folsom

commit bddb06d3fb2c91faf9cb1c330905f4a4c0bb3fd2
Author: Mate Lakat <email address hidden>
Date: Tue Sep 25 12:25:03 2012 +0100

    Fix booting a raw image on XenServer

    Fixes bug 1055413.

    ImageType.from_string removed, as it was only used by its test.
    Introduced ImageType.get_role, that returns the image's role within the
    VM. In case of DISK_* image types, the role is always 'root'. Role
    should be the key when accessing the vdis dictionary.

    Change-Id: Ieb952a9246d06a8280510113a98b888237abcc65

Thierry Carrez (ttx)
Changed in nova:
milestone: none → grizzly-1
status: Fix Committed → Fix Released
Changed in nova (Ubuntu):
status: New → Fix Released
Changed in nova (Ubuntu Quantal):
status: New → Confirmed
Revision history for this message
Clint Byrum (clint-fewbar) wrote : Please test proposed package

Hello Mate, or anyone else affected,

Accepted nova into quantal-proposed. The package will build now and be available at http://launchpad.net/ubuntu/+source/nova/2012.2.1+stable-20121212-a99a802e-0ubuntu1 in a few hours, and then in the -proposed repository.

Please help us by testing this new package. See https://wiki.ubuntu.com/Testing/EnableProposed for documentation how to enable and use -proposed. Your feedback will aid us getting this update out to other Ubuntu users.

If this package fixes the bug for you, please add a comment to this bug, mentioning the version of the package you tested, and change the tag from verification-needed to verification-done. If it does not fix the bug for you, please add a comment stating that, and change the tag to verification-failed. In either case, details of your testing will help us make a better decision.

Further information regarding the verification process can be found at https://wiki.ubuntu.com/QATeam/PerformingSRUVerification . Thank you in advance!

Changed in nova (Ubuntu Quantal):
status: Confirmed → Fix Committed
tags: added: verification-needed
Revision history for this message
Launchpad Janitor (janitor) wrote :
Download full text (8.3 KiB)

This bug was fixed in the package nova - 2012.2.1+stable-20121212-a99a802e-0ubuntu1

---------------
nova (2012.2.1+stable-20121212-a99a802e-0ubuntu1) quantal-proposed; urgency=low

  * Ubuntu updates:
    - debian/control: Ensure novaclient is upgraded with nova,
      require python-keystoneclient >= 1:2.9.0. (LP: #1073289)
    - d/p/avoid_setuptools_git_dependency.patch: Refresh.
  * Dropped patches, applied upstream:
    - debian/patches/CVE-2012-5625.patch: [a99a802]
  * Resynchronize with stable/folsom (b55014ca) (LP: #1085255):
    - [a99a802] create_lvm_image allocates dirty blocks (LP: #1070539)
    - [670b388] RPC exchange name defaults to 'openstack' (LP: #1083944)
    - [3ede373] disassociate_floating_ip with multi_host=True fails
      (LP: #1074437)
    - [22d7c3b] libvirt imagecache should handle shared image storage
      (LP: #1075018)
    - [e787786] Detached and deleted RBD volumes remain associated with insance
      (LP: #1083818)
    - [9265eb0] live_migration missing migrate_data parameter in Hyper-V driver
      (LP: #1066513)
    - [3d99848] use_single_default_gateway does not function correctly
      (LP: #1075859)
    - [65a2d0a] resize does not migrate DHCP host information (LP: #1065440)
    - [102c76b] Nova backup image fails (LP: #1065053)
    - [48a3521] Fix config-file overrides for nova-dhcpbridge
    - [69663ee] Cloudpipe in Folsom: no such option: cnt_vpn_clients
      (LP: #1069573)
    - [6e47cc8] DisassociateAddress can cause Internal Server Error
      (LP: #1080406)
    - [22c3d7b] API calls to dis-associate an auto-assigned floating IP should
      return proper warning (LP: #1061499)
    - [bd11d15] libvirt: if exception raised during volume_detach, volume state
      is inconsistent (LP: #1057756)
    - [dcb59c3] admin can't describe all images in ec2 api (LP: #1070138)
    - [78de622] Incorrect Exception raised during Create server when metadata
      over 255 characters (LP: #1004007)
    - [c313de4] Fixed IP isn't released before updating DHCP host file
      (LP: #1078718)
    - [f4ab42d] Enabling Return Reservation ID with XML create server request
      returns no body (LP: #1061124)
    - [3db2a38] 'BackupCreate' should accept rotation parameter greater than or
      equal to zero (LP: #1071168)
    - [f7e5dde] libvirt reboot sometimes fails to reattach volumes
      (LP: #1073720)
    - [ff776d4] libvirt: detaching volume may fail while terminating other
      instances on the same host concurrently (LP: #1060836)
    - [85a8bc2] Used instance uuid rather than id in remove-fixed-ip
    - [42a85c0] Fix error on invalid delete_on_termination value
    - [6a17579] xenapi migrations fail w/ swap (LP: #1064083)
    - [97649b8] attach-time field for volumes is not updated for detach volume
      (LP: #1056122)
    - [8f6a718] libvirt: rebuild is not using kernel and ramdisk associated with
      the new image (LP: #1060925)
    - [fbe835f] live-migration and volume host assignement (LP: #1066887)
    - [c2a9150] typo prevents volume_tmp_dir flag from working (LP: #1071536)
    - [93efa21] Instances deleted during spawn leak network allocations
      (LP: #1068716)
    - [ebabd02] After restartin...

Read more...

Changed in nova (Ubuntu Quantal):
status: Fix Committed → Fix Released
Thierry Carrez (ttx)
Changed in nova:
milestone: grizzly-1 → 2013.1
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Duplicates of this bug

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.