XenAPI: Failed to create ephemeral disk for VMs on XenServer 7.0/7.1

Bug #1701153 reported by Jianghua Wang
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
os-xenapi
Fix Released
Low
Jianghua Wang

Bug Description

1. setup devstack on XenServer 7.0;
2. create flavor with a ephemeral disk
 nova flavor-create --ephemeral 1 test-ephemeral 81 1 1 1
3. Boot VM with the above flavor:
nova boot --image cirros-0.3.5-x86_64-disk --nic net-id=60f82bcc-dfed-4825-8832-4a9331e2df2c --flavor 81 --admin-pass admin --config-drive true testVM2
4. the VM booting will failed with the following traceback:

Jun 29 02:42:09 DevStackOSDomU nova-compute[31288]: sible value for cylinders: 130 (should be in 0-129)\nsfdisk: I don't like these partitions - nothing changed.\n(If you really want this, use the --force option.)\n'"]
Jun 29 02:42:09 DevStackOSDomU nova-compute[31288]: ERROR nova.compute.manager [instance: 37056ac0-764e-4001-be74-2989dc735cb8] Traceback (most recent call last):
Jun 29 02:42:09 DevStackOSDomU nova-compute[31288]: ERROR nova.compute.manager [instance: 37056ac0-764e-4001-be74-2989dc735cb8] File "/opt/stack/nova/nova/compute/manager.py", line 2144, in _build_resources
Jun 29 02:42:09 DevStackOSDomU nova-compute[31288]: ERROR nova.compute.manager [instance: 37056ac0-764e-4001-be74-2989dc735cb8] yield resources
Jun 29 02:42:09 DevStackOSDomU nova-compute[31288]: ERROR nova.compute.manager [instance: 37056ac0-764e-4001-be74-2989dc735cb8] File "/opt/stack/nova/nova/compute/manager.py", line 1959, in _build_and_run_instance
Jun 29 02:42:09 DevStackOSDomU nova-compute[31288]: ERROR nova.compute.manager [instance: 37056ac0-764e-4001-be74-2989dc735cb8] block_device_info=block_device_info)
Jun 29 02:42:09 DevStackOSDomU nova-compute[31288]: ERROR nova.compute.manager [instance: 37056ac0-764e-4001-be74-2989dc735cb8] File "/opt/stack/nova/nova/virt/xenapi/driver.py", line 174, in spawn
Jun 29 02:42:09 DevStackOSDomU nova-compute[31288]: ERROR nova.compute.manager [instance: 37056ac0-764e-4001-be74-2989dc735cb8] admin_password, network_info, block_device_info)
Jun 29 02:42:09 DevStackOSDomU nova-compute[31288]: ERROR nova.compute.manager [instance: 37056ac0-764e-4001-be74-2989dc735cb8] File "/opt/stack/nova/nova/virt/xenapi/vmops.py", line 436, in spawn
Jun 29 02:42:09 DevStackOSDomU nova-compute[31288]: ERROR nova.compute.manager [instance: 37056ac0-764e-4001-be74-2989dc735cb8] network_info, block_device_info, name_label, rescue)
Jun 29 02:42:09 DevStackOSDomU nova-compute[31288]: ERROR nova.compute.manager [instance: 37056ac0-764e-4001-be74-2989dc735cb8] File "/opt/stack/nova/nova/virt/xenapi/vmops.py", line 619, in _spawn
Jun 29 02:42:09 DevStackOSDomU nova-compute[31288]: ERROR nova.compute.manager [instance: 37056ac0-764e-4001-be74-2989dc735cb8] undo_mgr.rollback_and_reraise(msg=msg, instance=instance)
Jun 29 02:42:09 DevStackOSDomU nova-compute[31288]: ERROR nova.compute.manager [instance: 37056ac0-764e-4001-be74-2989dc735cb8] File "/opt/stack/nova/nova/utils.py", line 813, in rollback_and_reraise
Jun 29 02:42:09 DevStackOSDomU nova-compute[31288]: ERROR nova.compute.manager [instance: 37056ac0-764e-4001-be74-2989dc735cb8] self._rollback()
Jun 29 02:42:09 DevStackOSDomU nova-compute[31288]: ERROR nova.compute.manager [instance: 37056ac0-764e-4001-be74-2989dc735cb8] File "/usr/local/lib/python2.7/dist-packages/oslo_utils/excutils.py", line 220, in __exit__
Jun 29 02:42:09 DevStackOSDomU nova-compute[31288]: ERROR nova.compute.manager [instance: 37056ac0-764e-4001-be74-2989dc735cb8] self.force_reraise()
Jun 29 02:42:09 DevStackOSDomU nova-compute[31288]: ERROR nova.compute.manager [instance: 37056ac0-764e-4001-be74-2989dc735cb8] File "/usr/local/lib/python2.7/dist-packages/oslo_utils/excutils.py", line 196, in force_reraise
Jun 29 02:42:09 DevStackOSDomU nova-compute[31288]: ERROR nova.compute.manager [instance: 37056ac0-764e-4001-be74-2989dc735cb8] six.reraise(self.type_, self.value, self.tb)
Jun 29 02:42:09 DevStackOSDomU nova-compute[31288]: ERROR nova.compute.manager [instance: 37056ac0-764e-4001-be74-2989dc735cb8] File "/opt/stack/nova/nova/virt/xenapi/vmops.py", line 584, in _spawn
Jun 29 02:42:09 DevStackOSDomU nova-compute[31288]: ERROR nova.compute.manager [instance: 37056ac0-764e-4001-be74-2989dc735cb8] attach_devices_step(undo_mgr, vm_ref, vdis, disk_image_type)
Jun 29 02:42:09 DevStackOSDomU nova-compute[31288]: ERROR nova.compute.manager [instance: 37056ac0-764e-4001-be74-2989dc735cb8] File "/opt/stack/nova/nova/virt/xenapi/vmops.py", line 130, in inner
Jun 29 02:42:09 DevStackOSDomU nova-compute[31288]: ERROR nova.compute.manager [instance: 37056ac0-764e-4001-be74-2989dc735cb8] rv = f(*args, **kwargs)
Jun 29 02:42:09 DevStackOSDomU nova-compute[31288]: ERROR nova.compute.manager [instance: 37056ac0-764e-4001-be74-2989dc735cb8] File "/opt/stack/nova/nova/virt/xenapi/vmops.py", line 517, in attach_devices_step
Jun 29 02:42:09 DevStackOSDomU nova-compute[31288]: ERROR nova.compute.manager [instance: 37056ac0-764e-4001-be74-2989dc735cb8] attach_disks(undo_mgr, vm_ref, vdis, disk_image_type)
Jun 29 02:42:09 DevStackOSDomU nova-compute[31288]: ERROR nova.compute.manager [instance: 37056ac0-764e-4001-be74-2989dc735cb8] File "/opt/stack/nova/nova/virt/xenapi/vmops.py", line 464, in attach_disks
Jun 29 02:42:09 DevStackOSDomU nova-compute[31288]: ERROR nova.compute.manager [instance: 37056ac0-764e-4001-be74-2989dc735cb8] admin_password, injected_files)
Jun 29 02:42:09 DevStackOSDomU nova-compute[31288]: ERROR nova.compute.manager [instance: 37056ac0-764e-4001-be74-2989dc735cb8] File "/opt/stack/nova/nova/virt/xenapi/vmops.py", line 808, in _attach_disks
Jun 29 02:42:09 DevStackOSDomU nova-compute[31288]: ERROR nova.compute.manager [instance: 37056ac0-764e-4001-be74-2989dc735cb8] ephemeral_gb)
Jun 29 02:42:09 DevStackOSDomU nova-compute[31288]: ERROR nova.compute.manager [instance: 37056ac0-764e-4001-be74-2989dc735cb8] File "/opt/stack/nova/nova/virt/xenapi/vm_utils.py", line 1100, in generate_ephemeral
Jun 29 02:42:09 DevStackOSDomU nova-compute[31288]: ERROR nova.compute.manager [instance: 37056ac0-764e-4001-be74-2989dc735cb8] safe_destroy_vdis(session, vdi_refs)
Jun 29 02:42:09 DevStackOSDomU nova-compute[31288]: ERROR nova.compute.manager [instance: 37056ac0-764e-4001-be74-2989dc735cb8] File "/usr/local/lib/python2.7/dist-packages/oslo_utils/excutils.py", line 220, in __exit__
Jun 29 02:42:09 DevStackOSDomU nova-compute[31288]: ERROR nova.compute.manager [instance: 37056ac0-764e-4001-be74-2989dc735cb8] self.force_reraise()
Jun 29 02:42:09 DevStackOSDomU nova-compute[31288]: ERROR nova.compute.manager [instance: 37056ac0-764e-4001-be74-2989dc735cb8] File "/usr/local/lib/python2.7/dist-packages/oslo_utils/excutils.py", line 196, in force_reraise

...

Jun 29 02:42:09 DevStackOSDomU nova-compute[31288]: ERROR nova.compute.manager [instance: 37056ac0-764e-4001-be74-2989dc735cb8] dev, partition_start, partition_end)
Jun 29 02:42:09 DevStackOSDomU nova-compute[31288]: ERROR nova.compute.manager [instance: 37056ac0-764e-4001-be74-2989dc735cb8] File "/usr/local/lib/python2.7/dist-packages/os_xenapi/client/session.py", line 218, in call_plugin_serialized
Jun 29 02:42:09 DevStackOSDomU nova-compute[31288]: ERROR nova.compute.manager [instance: 37056ac0-764e-4001-be74-2989dc735cb8] rv = self.call_plugin(plugin, fn, params)
Jun 29 02:42:09 DevStackOSDomU nova-compute[31288]: ERROR nova.compute.manager [instance: 37056ac0-764e-4001-be74-2989dc735cb8] File "/usr/local/lib/python2.7/dist-packages/os_xenapi/client/session.py", line 214, in call_plugin
Jun 29 02:42:09 DevStackOSDomU nova-compute[31288]: ERROR nova.compute.manager [instance: 37056ac0-764e-4001-be74-2989dc735cb8] self.host_ref, plugin, fn, args)
Jun 29 02:42:09 DevStackOSDomU nova-compute[31288]: ERROR nova.compute.manager [instance: 37056ac0-764e-4001-be74-2989dc735cb8] File "/usr/local/lib/python2.7/dist-packages/os_xenapi/client/session.py", line 293, in _unwrap_plugin_exceptions
Jun 29 02:42:09 DevStackOSDomU nova-compute[31288]: ERROR nova.compute.manager [instance: 37056ac0-764e-4001-be74-2989dc735cb8] return func(*args, **kwargs)
Jun 29 02:42:09 DevStackOSDomU nova-compute[31288]: ERROR nova.compute.manager [instance: 37056ac0-764e-4001-be74-2989dc735cb8] File "/usr/local/lib/python2.7/dist-packages/os_xenapi/client/XenAPI.py", line 239, in __call__
Jun 29 02:42:09 DevStackOSDomU nova-compute[31288]: ERROR nova.compute.manager [instance: 37056ac0-764e-4001-be74-2989dc735cb8] return self.__send(self.__name, args)
Jun 29 02:42:09 DevStackOSDomU nova-compute[31288]: ERROR nova.compute.manager [instance: 37056ac0-764e-4001-be74-2989dc735cb8] File "/usr/local/lib/python2.7/dist-packages/os_xenapi/client/XenAPI.py", line 130, in xenapi_request
Jun 29 02:42:09 DevStackOSDomU nova-compute[31288]: ERROR nova.compute.manager [instance: 37056ac0-764e-4001-be74-2989dc735cb8] result = _parse_result(getattr(self, methodname)(*full_params))
Jun 29 02:42:09 DevStackOSDomU nova-compute[31288]: ERROR nova.compute.manager [instance: 37056ac0-764e-4001-be74-2989dc735cb8] File "/usr/local/lib/python2.7/dist-packages/os_xenapi/client/XenAPI.py", line 212, in _parse_result
Jun 29 02:42:09 DevStackOSDomU nova-compute[31288]: ERROR nova.compute.manager [instance: 37056ac0-764e-4001-be74-2989dc735cb8] raise Failure(result['ErrorDescription'])
Jun 29 02:42:09 DevStackOSDomU nova-compute[31288]: ERROR nova.compute.manager [instance: 37056ac0-764e-4001-be74-2989dc735cb8] Failure: ['XENAPI_PLUGIN_FAILURE', 'make_partition', 'SubprocessException', "'sfdisk -uS /dev/sm/backend/bb07655e-91cd-41cd-2c76-cc70e7a13eea/dab0b825-538e-4b93-a4e1-c6f4dfd1cbc3' returned non-zero exit code: retcode=1, out='\nDisk /dev/sm/backend/bb07655e-91cd-41cd-2c76-cc70e7a13eea/dab0b825-538e-4b93-a4e1-c6f4dfd1cbc3: 130 cylinders, 255 heads, 63 sectors/track\nOld situation:\nNew situation:\nUnits: sectors of 512 bytes, counting from 0\n\n Device Boot Start End #sectors Id System\n/dev/sm/backend/bb07655e-91cd-41cd-2c76-cc70e7a13eea/dab0b825-538e-4b93-a4e1-c6f4dfd1cbc3p1 2048 2097151 2095104 83 Linux\n/dev/sm/backend/bb07655e-91cd-41cd-2c76-cc70e7a13eea/dab0b825-538e-4b93-a4e1-c6f4dfd1cbc3p2 0 - 0 0 Empty\n/dev/sm/backend/bb07655e-91cd-41cd-2c76-cc70e7a13eea/dab0b825-538e-4b93-a4e1-c6f4dfd1cbc3p3 0 - 0 0 Empty\n/dev/sm/backend/bb07655e-91cd-41cd-2c76-cc70e7a13eea/dab0b825-538e-4b93-a4e1-c6f4dfd1cbc3p4 0 - 0 0 Empty\n', stderr='Checking that no-one is using this disk right now ...\nBLKRRPART: Invalid argument\nOK\nsfdisk: /dev/sm/backend/bb07655e-91cd-41cd-2c76-cc70e7a13eea/dab0b825-538e-4b93-a4e1-c6f4dfd1cbc3: unrecognized partition table type\n\nsfdisk: No partitions found\n\nsfdisk: Warning: The partition table looks like it was made\n for C/H/S=*/139/8 (instead of 130/255/63).\nFor this listing I'll assume that geometry.\n\nsfdisk: \t\tstart: (c,h,s) expected (1,117,1) found (0,32,33)\n\nsfdisk: \t\tend: (c,h,s) expected (1023,138,8) found (130,138,8)\n\nWarning: partition 1 does not end at a cylinder boundary\nWarning: no primary partition is marked bootable (active)\nThis does not matter for LILO, but the DOS MBR will not boot this disk.\nend of partition 1 has impossible value for cylinders: 130 (should be in 0-129)\nsfdisk: I don't like these partitions - nothing changed.\n(If you really
Jun 29 02:42:09 DevStackOSDomU nova-compute[31288]: want this, use the --force option.)\n'"]
Jun 29 02:42:09 DevStackOSDomU nova-compute[31288]: ERROR nova.compute.manager [instance: 37056ac0-764e-4001-be74-2989dc735cb8]

Tags: xenserver
summary: - XenAPI: Failed to create ephemeral disk for VMs on XenServer 7.0
+ XenAPI: Failed to create ephemeral disk for VMs on XenServer 7.0/7.1
Sean Dague (sdague)
tags: added: xenserver
Changed in nova:
status: New → Confirmed
importance: Undecided → Low
Revision history for this message
Jianghua Wang (wjh-fresh) wrote :

Dom0 plugins has been moved to os-xenapi and the fix will be in the dom0 plugins. So updated the project from nova to os-xenapi.

affects: nova → os-xenapi
Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix proposed to os-xenapi (master)

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

Changed in os-xenapi:
assignee: nobody → Jianghua Wang (wjh-fresh)
status: Confirmed → In Progress
Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix merged to os-xenapi (master)

Reviewed: https://review.openstack.org/489894
Committed: https://git.openstack.org/cgit/openstack/os-xenapi/commit/?id=e7a915be9f3fc7aa073865f2ce120f213d9b3b14
Submitter: Jenkins
Branch: master

commit e7a915be9f3fc7aa073865f2ce120f213d9b3b14
Author: Jianghua Wang <email address hidden>
Date: Wed Aug 2 07:17:42 2017 +0000

    XenAPI: fix the ephemeral disk failure on XS7.x

    In XS7.x, sfdisk V2.23 is installed. But there is a bug which
    causing it complaining wrong cylinder number is specified for
    the partition's end. And that bug has been fixed since 2.26.
    At here the solution is to use the option of '--force" before
    V2.26.

    Change-Id: I5f1a3c182ee1874383bd5f0cecbad18d96e8b58f
    Closes-Bug: #1701153

Changed in os-xenapi:
status: In Progress → Fix Released
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

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