vmware: Cannot create a volume from image on vSan datastores

Bug #1229998 reported by Sreeram Yerrapragada
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
Cinder
Fix Released
High
Subbu

Bug Description

2013-09-22 20:02:33.088 ERROR cinder.openstack.common.rpc.amqp [req-34ba085d-3144-4d4e-834f-cc5a03e25225 9f996b6250e94616a7a931568f901a8a c8a65072688645f9820d201bf3436f99] Exception during message handling
2013-09-22 20:02:33.088 TRACE cinder.openstack.common.rpc.amqp Traceback (most recent call last):
2013-09-22 20:02:33.088 TRACE cinder.openstack.common.rpc.amqp File "/opt/stack/cinder/cinder/openstack/common/rpc/amqp.py", line 441, in _process_data
2013-09-22 20:02:33.088 TRACE cinder.openstack.common.rpc.amqp **args)
2013-09-22 20:02:33.088 TRACE cinder.openstack.common.rpc.amqp File "/opt/stack/cinder/cinder/openstack/common/rpc/dispatcher.py", line 148, in dispatch
2013-09-22 20:02:33.088 TRACE cinder.openstack.common.rpc.amqp return getattr(proxyobj, method)(ctxt, **kwargs)
2013-09-22 20:02:33.088 TRACE cinder.openstack.common.rpc.amqp File "/opt/stack/cinder/cinder/utils.py", line 804, in wrapper
2013-09-22 20:02:33.088 TRACE cinder.openstack.common.rpc.amqp return func(self, *args, **kwargs)
2013-09-22 20:02:33.088 TRACE cinder.openstack.common.rpc.amqp File "/opt/stack/cinder/cinder/volume/manager.py", line 227, in create_volume
2013-09-22 20:02:33.088 TRACE cinder.openstack.common.rpc.amqp flow.run(context.elevated())
2013-09-22 20:02:33.088 TRACE cinder.openstack.common.rpc.amqp File "/opt/stack/cinder/cinder/taskflow/decorators.py", line 105, in wrapper
2013-09-22 20:02:33.088 TRACE cinder.openstack.common.rpc.amqp return f(self, *args, **kwargs)
2013-09-22 20:02:33.088 TRACE cinder.openstack.common.rpc.amqp File "/opt/stack/cinder/cinder/taskflow/patterns/linear_flow.py", line 232, in run
2013-09-22 20:02:33.088 TRACE cinder.openstack.common.rpc.amqp run_it(r)
2013-09-22 20:02:33.088 TRACE cinder.openstack.common.rpc.amqp File "/opt/stack/cinder/cinder/taskflow/patterns/linear_flow.py", line 212, in run_it
2013-09-22 20:02:33.088 TRACE cinder.openstack.common.rpc.amqp self.rollback(context, cause)
2013-09-22 20:02:33.088 TRACE cinder.openstack.common.rpc.amqp File "/usr/lib/python2.7/contextlib.py", line 24, in __exit__
2013-09-22 20:02:33.088 TRACE cinder.openstack.common.rpc.amqp self.gen.next()
2013-09-22 20:02:33.088 TRACE cinder.openstack.common.rpc.amqp File "/opt/stack/cinder/cinder/taskflow/patterns/linear_flow.py", line 172, in run_it
2013-09-22 20:02:33.088 TRACE cinder.openstack.common.rpc.amqp result = runner(context, *args, **kwargs)
2013-09-22 20:02:33.088 TRACE cinder.openstack.common.rpc.amqp File "/opt/stack/cinder/cinder/taskflow/utils.py", line 260, in __call__
2013-09-22 20:02:33.088 TRACE cinder.openstack.common.rpc.amqp self.result = self.task(*args, **kwargs)
2013-09-22 20:02:33.088 TRACE cinder.openstack.common.rpc.amqp File "/opt/stack/cinder/cinder/volume/flows/create_volume/__init__.py", line 1468, in __call__
2013-09-22 20:02:33.088 TRACE cinder.openstack.common.rpc.amqp **volume_spec)
2013-09-22 20:02:33.088 TRACE cinder.openstack.common.rpc.amqp File "/opt/stack/cinder/cinder/volume/flows/create_volume/__init__.py", line 1431, in _create_from_image
2013-09-22 20:02:33.088 TRACE cinder.openstack.common.rpc.amqp image_id, image_location, image_service)
2013-09-22 20:02:33.088 TRACE cinder.openstack.common.rpc.amqp File "/opt/stack/cinder/cinder/volume/flows/create_volume/__init__.py", line 1345, in _copy_image_to_volume
2013-09-22 20:02:33.088 TRACE cinder.openstack.common.rpc.amqp raise exception.ImageCopyFailure(reason=ex)
2013-09-22 20:02:33.088 TRACE cinder.openstack.common.rpc.amqp ImageCopyFailure: Failed to copy image to volume: File [vsanDatastore] 1faf3f52-1b53-5e7f-2805-0050569172da/volume-80d2aab3-f4c9-436b-86a0-b090fe763c6d-flat.vmdk was not found

Tags: vmdk vmware
tags: added: vmdk
Changed in cinder:
assignee: nobody → Subbu (subramanian-neelakantan)
Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix proposed to cinder (master)

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

Changed in cinder:
status: New → In Progress
Changed in cinder:
assignee: Subbu (subramanian-neelakantan) → Vui Lam (vui)
Vui Lam (vui)
Changed in cinder:
assignee: Vui Lam (vui) → nobody
assignee: nobody → Subbu (subramanian-neelakantan)
Changed in cinder:
importance: Undecided → High
Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix merged to cinder (master)

Reviewed: https://review.openstack.org/51839
Committed: http://github.com/openstack/cinder/commit/7b64653931628328bd5d70b0cdea8952e6c709f8
Submitter: Jenkins
Branch: master

commit 7b64653931628328bd5d70b0cdea8952e6c709f8
Author: Subramanian Neelakantan <email address hidden>
Date: Fri Oct 11 08:54:18 2013 +0530

    Using HttpNfcLease to transfer vmdk files.

    The current VMware driver supported only "sparse" and "preallocated"
    vmware_disktype property set in a "vmdk" glance image. Both of these were just
    copied over as *-flat.vmdk files into the vmfs or nfs file system of the
    underlying datastore. This was used during copy_image_to_volume() api.
    Unfortunately for a vsan datastore this work flow breaks since there is no
    access to the flat vmdk file in the underlying datastore.

    This patch introduces a new vmware_disktype for a glance image called
    "streamOptimized". This is a format generated when a VM/vApp is exported using
    the HttpNfc APIs. AS the name suggests this is a highly optimized format for
    streaming in chunks and thus would result in much faster upload / download
    speeds. The driver's copy_volume_to_image() implementation now always uploads
    the vmdk contents using HttpNfc api so that the glance image ends up in the
    "streamOptimized" disk type. Also the driver's copy_image_to_volume()
    implementation now understands a "streamOptmized" disk type and uses HttpNfc to
    import that vmdk into a backing VM.

    Note that the same "streamOptmized" glance image format will also be supported
    by VMware nova driver. This change is in a different patch -
    https://review.openstack.org/#/c/53976/

    Patch Set 4: Removing changes to requirements.txt that got in by mistake.
    Patch Set 5: Fixing a small bug around progress updates.
    Patch Set 6: Addressing comments from Avishay.

    Fixes bug: 1229998

    Change-Id: I6b55945cb61efded826e0bcf7e2a678ebbbbd9d3

Changed in cinder:
status: In Progress → Fix Committed
Changed in cinder:
milestone: none → icehouse-1
Thierry Carrez (ttx)
Changed in cinder:
status: Fix Committed → Fix Released
Thierry Carrez (ttx)
Changed in cinder:
milestone: icehouse-1 → 2014.1
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.