VMware: volume create fails with "VimFaultException: A specified parameter was not correct"

Bug #1416456 reported by Johnson koil raj
14
This bug affects 3 people
Affects Status Importance Assigned to Milestone
Cinder
Fix Released
High
Johnson koil raj
Kilo
Fix Released
High
Vipin Balachandran

Bug Description

Steps to reproduce:

Setup info
VC1
 Cluster1
  Host1
 Cluster2
  Host2

1. Spawn a instance in Cluster1
2. Create a volume and attach to instance.
3. Now detach and take snapshot
4. Create a volume from the snapshot
5. Cinder driver should select a datastore from Cluster2

vCenter expects 'Resource pool' information in the clone spec which is not currently provided.

2015-01-30 15:36:40.598 30257 TRACE oslo.messaging.rpc.dispatcher File "/opt/stack/venvs/cinder/local/lib/python2.7/site-packages/oslo/messaging/rpc/dispatcher.py", line 137, in _dispatch_and_reply
2015-01-30 15:36:40.598 30257 TRACE oslo.messaging.rpc.dispatcher incoming.message))
2015-01-30 15:36:40.598 30257 TRACE oslo.messaging.rpc.dispatcher File "/opt/stack/venvs/cinder/local/lib/python2.7/site-packages/oslo/messaging/rpc/dispatcher.py", line 180, in _dispatch
2015-01-30 15:36:40.598 30257 TRACE oslo.messaging.rpc.dispatcher return self._do_dispatch(endpoint, method, ctxt, args)
2015-01-30 15:36:40.598 30257 TRACE oslo.messaging.rpc.dispatcher File "/opt/stack/venvs/cinder/local/lib/python2.7/site-packages/oslo/messaging/rpc/dispatcher.py", line 126, in _do_dispatch
2015-01-30 15:36:40.598 30257 TRACE oslo.messaging.rpc.dispatcher result = getattr(endpoint, method)(ctxt, **new_args)
2015-01-30 15:36:40.598 30257 TRACE oslo.messaging.rpc.dispatcher File "/opt/stack/venvs/cinder/local/lib/python2.7/site-packages/osprofiler/profiler.py", line 105, in wrapper
2015-01-30 15:36:40.598 30257 TRACE oslo.messaging.rpc.dispatcher return f(*args, **kwargs)
2015-01-30 15:36:40.598 30257 TRACE oslo.messaging.rpc.dispatcher File "/opt/stack/venvs/cinder/local/lib/python2.7/site-packages/cinder/volume/manager.py", line 383, in create_volume
2015-01-30 15:36:40.598 30257 TRACE oslo.messaging.rpc.dispatcher _run_flow_locked()
2015-01-30 15:36:40.598 30257 TRACE oslo.messaging.rpc.dispatcher File "/opt/stack/venvs/cinder/local/lib/python2.7/site-packages/cinder/openstack/common/lockutils.py", line 233, in inner
2015-01-30 15:36:40.598 30257 TRACE oslo.messaging.rpc.dispatcher retval = f(*args, **kwargs)
2015-01-30 15:36:40.598 30257 TRACE oslo.messaging.rpc.dispatcher File "/opt/stack/venvs/cinder/local/lib/python2.7/site-packages/cinder/volume/manager.py", line 378, in _run_flow_locked
2015-01-30 15:36:40.598 30257 TRACE oslo.messaging.rpc.dispatcher _run_flow()
2015-01-30 15:36:40.598 30257 TRACE oslo.messaging.rpc.dispatcher File "/opt/stack/venvs/cinder/local/lib/python2.7/site-packages/cinder/volume/manager.py", line 374, in _run_flow
2015-01-30 15:36:40.598 30257 TRACE oslo.messaging.rpc.dispatcher flow_engine.run()
2015-01-30 15:36:40.598 30257 TRACE oslo.messaging.rpc.dispatcher File "/opt/stack/venvs/cinder/local/lib/python2.7/site-packages/taskflow/engines/action_engine/engine.py", line 99, in run
2015-01-30 15:36:40.598 30257 TRACE oslo.messaging.rpc.dispatcher for _state in self.run_iter():
2015-01-30 15:36:40.598 30257 TRACE oslo.messaging.rpc.dispatcher File "/opt/stack/venvs/cinder/local/lib/python2.7/site-packages/taskflow/engines/action_engine/engine.py", line 156, in run_iter
2015-01-30 15:36:40.598 30257 TRACE oslo.messaging.rpc.dispatcher misc.Failure.reraise_if_any(failures.values())
2015-01-30 15:36:40.598 30257 TRACE oslo.messaging.rpc.dispatcher File "/opt/stack/venvs/cinder/local/lib/python2.7/site-packages/taskflow/utils/misc.py", line 733, in reraise_if_any
2015-01-30 15:36:40.598 30257 TRACE oslo.messaging.rpc.dispatcher failures[0].reraise()
2015-01-30 15:36:40.598 30257 TRACE oslo.messaging.rpc.dispatcher File "/opt/stack/venvs/cinder/local/lib/python2.7/site-packages/taskflow/utils/misc.py", line 740, in reraise
2015-01-30 15:36:40.598 30257 TRACE oslo.messaging.rpc.dispatcher six.reraise(*self._exc_info)
2015-01-30 15:36:40.598 30257 TRACE oslo.messaging.rpc.dispatcher File "/opt/stack/venvs/cinder/local/lib/python2.7/site-packages/taskflow/engines/action_engine/executor.py", line 35, in _execute_task
2015-01-30 15:36:40.598 30257 TRACE oslo.messaging.rpc.dispatcher result = task.execute(**arguments)
2015-01-30 15:36:40.598 30257 TRACE oslo.messaging.rpc.dispatcher File "/opt/stack/venvs/cinder/local/lib/python2.7/site-packages/cinder/volume/flows/manager/create_volume.py", line 628, in execute
2015-01-30 15:36:40.598 30257 TRACE oslo.messaging.rpc.dispatcher **volume_spec)
2015-01-30 15:36:40.598 30257 TRACE oslo.messaging.rpc.dispatcher File "/opt/stack/venvs/cinder/local/lib/python2.7/site-packages/cinder/volume/flows/manager/create_volume.py", line 407, in _create_from_snapshot
2015-01-30 15:36:40.598 30257 TRACE oslo.messaging.rpc.dispatcher snapshot_ref)
2015-01-30 15:36:40.598 30257 TRACE oslo.messaging.rpc.dispatcher File "/opt/stack/venvs/cinder/local/lib/python2.7/site-packages/osprofiler/profiler.py", line 105, in wrapper
2015-01-30 15:36:40.598 30257 TRACE oslo.messaging.rpc.dispatcher return f(*args, **kwargs)
2015-01-30 15:36:40.598 30257 TRACE oslo.messaging.rpc.dispatcher File "/opt/stack/venvs/cinder/local/lib/python2.7/site-packages/cinder/volume/drivers/vmware/vmdk.py", line 2035, in create_volume_from_snapshot
2015-01-30 15:36:40.598 30257 TRACE oslo.messaging.rpc.dispatcher self._create_volume_from_snapshot(volume, snapshot)
2015-01-30 15:36:40.598 30257 TRACE oslo.messaging.rpc.dispatcher File "/opt/stack/venvs/cinder/local/lib/python2.7/site-packages/cinder/volume/drivers/vmware/vmdk.py", line 2027, in _create_volume_from_snapshot
2015-01-30 15:36:40.598 30257 TRACE oslo.messaging.rpc.dispatcher snapshot['volume_size'])
2015-01-30 15:36:40.598 30257 TRACE oslo.messaging.rpc.dispatcher File "/opt/stack/venvs/cinder/local/lib/python2.7/site-packages/cinder/volume/drivers/vmware/vmdk.py", line 1988, in _clone_backing
2015-01-30 15:36:40.598 30257 TRACE oslo.messaging.rpc.dispatcher snapshot, clone_type, datastore, host=host, rp=rp)
2015-01-30 15:36:40.598 30257 TRACE oslo.messaging.rpc.dispatcher File "/opt/stack/venvs/cinder/local/lib/python2.7/site-packages/cinder/volume/drivers/vmware/volumeops.py", line 1075, in clone_backing
2015-01-30 15:36:40.598 30257 TRACE oslo.messaging.rpc.dispatcher task_info = self._session.wait_for_task(task)
2015-01-30 15:36:40.598 30257 TRACE oslo.messaging.rpc.dispatcher File "/opt/stack/venvs/cinder/local/lib/python2.7/site-packages/cinder/volume/drivers/vmware/api.py", line 288, in wait_for_task
2015-01-30 15:36:40.598 30257 TRACE oslo.messaging.rpc.dispatcher return loop.start(self._task_poll_interval).wait()
2015-01-30 15:36:40.598 30257 TRACE oslo.messaging.rpc.dispatcher File "/opt/stack/venvs/cinder/local/lib/python2.7/site-packages/eventlet/event.py", line 121, in wait
2015-01-30 15:36:40.598 30257 TRACE oslo.messaging.rpc.dispatcher return hubs.get_hub().switch()
2015-01-30 15:36:40.598 30257 TRACE oslo.messaging.rpc.dispatcher File "/opt/stack/venvs/cinder/local/lib/python2.7/site-packages/eventlet/hubs/hub.py", line 293, in switch
2015-01-30 15:36:40.598 30257 TRACE oslo.messaging.rpc.dispatcher return self.greenlet.switch()
2015-01-30 15:36:40.598 30257 TRACE oslo.messaging.rpc.dispatcher File "/opt/stack/venvs/cinder/local/lib/python2.7/site-packages/cinder/openstack/common/loopingcall.py", line 81, in _inner
2015-01-30 15:36:40.598 30257 TRACE oslo.messaging.rpc.dispatcher self.f(*self.args, **self.kw)
2015-01-30 15:36:40.598 30257 TRACE oslo.messaging.rpc.dispatcher File "/opt/stack/venvs/cinder/local/lib/python2.7/site-packages/cinder/volume/drivers/vmware/api.py", line 319, in _poll_task
2015-01-30 15:36:40.598 30257 TRACE oslo.messaging.rpc.dispatcher raise excep
2015-01-30 15:36:40.598 30257 TRACE oslo.messaging.rpc.dispatcher VimFaultException: A specified parameter was not correct.

Changed in cinder:
assignee: nobody → Johnson koil raj (jjohnsonkoilraj)
importance: Medium → High
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/151872

Changed in cinder:
status: New → In Progress
Eric Harney (eharney)
tags: added: drivers
removed: cinder
Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix merged to cinder (master)

Reviewed: https://review.openstack.org/151872
Committed: https://git.openstack.org/cgit/openstack/cinder/commit/?id=0df929e60c9053240b792dea7ed7e2c10de69fc1
Submitter: Jenkins
Branch: master

commit 0df929e60c9053240b792dea7ed7e2c10de69fc1
Author: Johnson koil raj <email address hidden>
Date: Sat Jan 31 15:24:57 2015 +0530

    VMware: Fix missing target resource pool

    The volume is cloned while creating it from another volume, snapshot
    or image. Currently, the target resource pool is unset while calling
    vCenter CloneVM_Task API.

    So when a clone happens across clusters in a vCenter clone fails.
    This patch fixes the problem by setting the target resource pool
    (returned by datastore selection logic) while invoking clone.

    Closes-Bug: #1416456

    Change-Id: Ib1023efe6fd19d604af89f7e4b4f67640d778d39

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

Fix proposed to branch: stable/kilo
Review: https://review.openstack.org/186652

Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix merged to cinder (stable/kilo)

Reviewed: https://review.openstack.org/186652
Committed: https://git.openstack.org/cgit/openstack/cinder/commit/?id=c56bbb74f196b43baabcd949109643b4bff3b65e
Submitter: Jenkins
Branch: stable/kilo

commit c56bbb74f196b43baabcd949109643b4bff3b65e
Author: Johnson koil raj <email address hidden>
Date: Sat Jan 31 15:24:57 2015 +0530

    VMware: Fix missing target resource pool

    The volume is cloned while creating it from another volume, snapshot
    or image. Currently, the target resource pool is unset while calling
    vCenter CloneVM_Task API.

    So when a clone happens across clusters in a vCenter clone fails.
    This patch fixes the problem by setting the target resource pool
    (returned by datastore selection logic) while invoking clone.

    Closes-Bug: #1416456

    Change-Id: Ib1023efe6fd19d604af89f7e4b4f67640d778d39
    (cherry picked from commit 0df929e60c9053240b792dea7ed7e2c10de69fc1)

tags: added: in-stable-kilo
Thierry Carrez (ttx)
Changed in cinder:
milestone: none → liberty-1
status: Fix Committed → Fix Released
Thierry Carrez (ttx)
Changed in cinder:
milestone: liberty-1 → 7.0.0
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.