← Back to team overview

yahoo-eng-team team mailing list archive

[Bug 1555644] [NEW] VMware: Extending virtual disk failed with error: capacity

 

Public bug reported:

Scenario A:
1. image disk type: sparse
2. image size(2.3G)
3. flavor1(root_disk: 5G)
4. use_linked_clone

Scenario B:
1. image disk type: sparse
2. image size(2.3G)
3. flavor2(root_disk: 6G)
4. use_linked_clone

I boot an instance with sparse image disk, image size is 2.3G, Nova
flavor root disk is 5G, everything got well(Scenario A).

Then I boot another instance  with new flavor root disk 6G(Scenario B),  it raises error:
2016-03-10 17:31:56.350 3211 ERROR nova.compute.manager [req-a3e93241-5f54-485a-a7f0-2e1e0ebad92d 4412e38ec9814b96a03e63097ec51f1a 8f75187cd29f4715881f450646fc6e08 - - -] [instance: 22ea4a58-2296-40fc-b69b-a511a3b6d925] Instance failed to spawn
2016-03-10 17:31:56.350 3211 TRACE nova.compute.manager [instance: 22ea4a58-2296-40fc-b69b-a511a3b6d925] Traceback (most recent call last):
2016-03-10 17:31:56.350 3211 TRACE nova.compute.manager [instance: 22ea4a58-2296-40fc-b69b-a511a3b6d925]   File "/usr/lib/python2.7/site-packages/nova/compute/manager.py", line 2461, in _build_resources
2016-03-10 17:31:56.350 3211 TRACE nova.compute.manager [instance: 22ea4a58-2296-40fc-b69b-a511a3b6d925]     yield resources
2016-03-10 17:31:56.350 3211 TRACE nova.compute.manager [instance: 22ea4a58-2296-40fc-b69b-a511a3b6d925]   File "/usr/lib/python2.7/site-packages/nova/compute/manager.py", line 2333, in _build_and_run_instance
2016-03-10 17:31:56.350 3211 TRACE nova.compute.manager [instance: 22ea4a58-2296-40fc-b69b-a511a3b6d925]     block_device_info=block_device_info)
2016-03-10 17:31:56.350 3211 TRACE nova.compute.manager [instance: 22ea4a58-2296-40fc-b69b-a511a3b6d925]   File "/usr/lib/python2.7/site-packages/nova/virt/vmwareapi/driver.py", line 480, in spawn
2016-03-10 17:31:56.350 3211 TRACE nova.compute.manager [instance: 22ea4a58-2296-40fc-b69b-a511a3b6d925]     admin_password, network_info, block_device_info)
2016-03-10 17:31:56.350 3211 TRACE nova.compute.manager [instance: 22ea4a58-2296-40fc-b69b-a511a3b6d925]   File "/usr/lib/python2.7/site-packages/nova/virt/vmwareapi/vmops.py", line 636, in spawn
2016-03-10 17:31:56.350 3211 TRACE nova.compute.manager [instance: 22ea4a58-2296-40fc-b69b-a511a3b6d925]     self._use_disk_image_as_linked_clone(vm_ref, vi)
2016-03-10 17:31:56.350 3211 TRACE nova.compute.manager [instance: 22ea4a58-2296-40fc-b69b-a511a3b6d925]   File "/usr/lib/python2.7/site-packages/nova/virt/vmwareapi/vmops.py", line 1747, in _use_disk_image_as_linked_clone
2016-03-10 17:31:56.350 3211 TRACE nova.compute.manager [instance: 22ea4a58-2296-40fc-b69b-a511a3b6d925]     vi.dc_info, vi.ii, vi.instance, str(sized_disk_ds_loc))
2016-03-10 17:31:56.350 3211 TRACE nova.compute.manager [instance: 22ea4a58-2296-40fc-b69b-a511a3b6d925]   File "/usr/lib/python2.7/site-packages/nova/virt/vmwareapi/vmops.py", line 224, in _extend_if_required
2016-03-10 17:31:56.350 3211 TRACE nova.compute.manager [instance: 22ea4a58-2296-40fc-b69b-a511a3b6d925]     root_vmdk_path, dc_info.ref)
2016-03-10 17:31:56.350 3211 TRACE nova.compute.manager [instance: 22ea4a58-2296-40fc-b69b-a511a3b6d925]   File "/usr/lib/python2.7/site-packages/nova/virt/vmwareapi/vmops.py", line 202, in _extend_virtual_disk
2016-03-10 17:31:56.350 3211 TRACE nova.compute.manager [instance: 22ea4a58-2296-40fc-b69b-a511a3b6d925]     self._delete_datastore_file(ds_path, dc_ref)
2016-03-10 17:31:56.350 3211 TRACE nova.compute.manager [instance: 22ea4a58-2296-40fc-b69b-a511a3b6d925]   File "/usr/lib/python2.7/site-packages/oslo_utils/excutils.py", line 85, in __exit__
2016-03-10 17:31:56.350 3211 TRACE nova.compute.manager [instance: 22ea4a58-2296-40fc-b69b-a511a3b6d925]     six.reraise(self.type_, self.value, self.tb)
2016-03-10 17:31:56.350 3211 TRACE nova.compute.manager [instance: 22ea4a58-2296-40fc-b69b-a511a3b6d925]   File "/usr/lib/python2.7/site-packages/nova/virt/vmwareapi/vmops.py", line 193, in _extend_virtual_disk
2016-03-10 17:31:56.350 3211 TRACE nova.compute.manager [instance: 22ea4a58-2296-40fc-b69b-a511a3b6d925]     self._session._wait_for_task(vmdk_extend_task)
2016-03-10 17:31:56.350 3211 TRACE nova.compute.manager [instance: 22ea4a58-2296-40fc-b69b-a511a3b6d925]   File "/usr/lib/python2.7/site-packages/nova/virt/vmwareapi/driver.py", line 680, in _wait_for_task
2016-03-10 17:31:56.350 3211 TRACE nova.compute.manager [instance: 22ea4a58-2296-40fc-b69b-a511a3b6d925]     return self.wait_for_task(task_ref)
2016-03-10 17:31:56.350 3211 TRACE nova.compute.manager [instance: 22ea4a58-2296-40fc-b69b-a511a3b6d925]   File "/usr/lib/python2.7/site-packages/oslo_vmware/api.py", line 380, in wait_for_task
2016-03-10 17:31:56.350 3211 TRACE nova.compute.manager [instance: 22ea4a58-2296-40fc-b69b-a511a3b6d925]     return evt.wait()
2016-03-10 17:31:56.350 3211 TRACE nova.compute.manager [instance: 22ea4a58-2296-40fc-b69b-a511a3b6d925]   File "/usr/lib/python2.7/site-packages/eventlet/event.py", line 121, in wait
2016-03-10 17:31:56.350 3211 TRACE nova.compute.manager [instance: 22ea4a58-2296-40fc-b69b-a511a3b6d925]     return hubs.get_hub().switch()
2016-03-10 17:31:56.350 3211 TRACE nova.compute.manager [instance: 22ea4a58-2296-40fc-b69b-a511a3b6d925]   File "/usr/lib/python2.7/site-packages/eventlet/hubs/hub.py", line 294, in switch
2016-03-10 17:31:56.350 3211 TRACE nova.compute.manager [instance: 22ea4a58-2296-40fc-b69b-a511a3b6d925]     return self.greenlet.switch()
2016-03-10 17:31:56.350 3211 TRACE nova.compute.manager [instance: 22ea4a58-2296-40fc-b69b-a511a3b6d925]   File "/usr/lib/python2.7/site-packages/oslo_vmware/common/loopingcall.py", line 76, in _inner
2016-03-10 17:31:56.350 3211 TRACE nova.compute.manager [instance: 22ea4a58-2296-40fc-b69b-a511a3b6d925]     self.f(*self.args, **self.kw)
2016-03-10 17:31:56.350 3211 TRACE nova.compute.manager [instance: 22ea4a58-2296-40fc-b69b-a511a3b6d925]   File "/usr/lib/python2.7/site-packages/oslo_vmware/api.py", line 417, in _poll_task
2016-03-10 17:31:56.350 3211 TRACE nova.compute.manager [instance: 22ea4a58-2296-40fc-b69b-a511a3b6d925]     raise task_ex
2016-03-10 17:31:56.350 3211 TRACE nova.compute.manager [instance: 22ea4a58-2296-40fc-b69b-a511a3b6d925] VMwareDriverException: \u6307\u5b9a\u7684\u53c2\u6570\u9519\u8bef\u3002
2016-03-10 17:31:56.350 3211 TRACE nova.compute.manager [instance: 22ea4a58-2296-40fc-b69b-a511a3b6d925] capacity
2016-03-10 17:31:56.350 3211 TRACE nova.compute.manager [instance: 22ea4a58-2296-40fc-b69b-a511a3b6d925]
2016-03-10 17:31:56.352 3211 INFO nova.compute.manager [req-a3e93241-5f54-485a-a7f0-2e1e0ebad92d 4412e38ec9814b96a03e63097ec51f1a 8f75187cd29f4715881f450646fc6e08 - - -] [instance: 22ea4a58-2296-40fc-b69b-a511a3b6d925] Terminating instance


Because the cache_image_folder already exists, it not update image size.  In _use_disk_image_as_linked_clone function, root_gb greater than image file size, so it excutes  _extend_virtual_disk error.

** Affects: nova
     Importance: Undecided
     Assignee: Dongcan Ye (hellochosen)
         Status: New


** Tags: vmware

** Changed in: nova
     Assignee: (unassigned) => Dongcan Ye (hellochosen)

-- 
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/1555644

Title:
  VMware: Extending virtual disk failed with error: capacity

Status in OpenStack Compute (nova):
  New

Bug description:
  Scenario A:
  1. image disk type: sparse
  2. image size(2.3G)
  3. flavor1(root_disk: 5G)
  4. use_linked_clone

  Scenario B:
  1. image disk type: sparse
  2. image size(2.3G)
  3. flavor2(root_disk: 6G)
  4. use_linked_clone

  I boot an instance with sparse image disk, image size is 2.3G, Nova
  flavor root disk is 5G, everything got well(Scenario A).

  Then I boot another instance  with new flavor root disk 6G(Scenario B),  it raises error:
  2016-03-10 17:31:56.350 3211 ERROR nova.compute.manager [req-a3e93241-5f54-485a-a7f0-2e1e0ebad92d 4412e38ec9814b96a03e63097ec51f1a 8f75187cd29f4715881f450646fc6e08 - - -] [instance: 22ea4a58-2296-40fc-b69b-a511a3b6d925] Instance failed to spawn
  2016-03-10 17:31:56.350 3211 TRACE nova.compute.manager [instance: 22ea4a58-2296-40fc-b69b-a511a3b6d925] Traceback (most recent call last):
  2016-03-10 17:31:56.350 3211 TRACE nova.compute.manager [instance: 22ea4a58-2296-40fc-b69b-a511a3b6d925]   File "/usr/lib/python2.7/site-packages/nova/compute/manager.py", line 2461, in _build_resources
  2016-03-10 17:31:56.350 3211 TRACE nova.compute.manager [instance: 22ea4a58-2296-40fc-b69b-a511a3b6d925]     yield resources
  2016-03-10 17:31:56.350 3211 TRACE nova.compute.manager [instance: 22ea4a58-2296-40fc-b69b-a511a3b6d925]   File "/usr/lib/python2.7/site-packages/nova/compute/manager.py", line 2333, in _build_and_run_instance
  2016-03-10 17:31:56.350 3211 TRACE nova.compute.manager [instance: 22ea4a58-2296-40fc-b69b-a511a3b6d925]     block_device_info=block_device_info)
  2016-03-10 17:31:56.350 3211 TRACE nova.compute.manager [instance: 22ea4a58-2296-40fc-b69b-a511a3b6d925]   File "/usr/lib/python2.7/site-packages/nova/virt/vmwareapi/driver.py", line 480, in spawn
  2016-03-10 17:31:56.350 3211 TRACE nova.compute.manager [instance: 22ea4a58-2296-40fc-b69b-a511a3b6d925]     admin_password, network_info, block_device_info)
  2016-03-10 17:31:56.350 3211 TRACE nova.compute.manager [instance: 22ea4a58-2296-40fc-b69b-a511a3b6d925]   File "/usr/lib/python2.7/site-packages/nova/virt/vmwareapi/vmops.py", line 636, in spawn
  2016-03-10 17:31:56.350 3211 TRACE nova.compute.manager [instance: 22ea4a58-2296-40fc-b69b-a511a3b6d925]     self._use_disk_image_as_linked_clone(vm_ref, vi)
  2016-03-10 17:31:56.350 3211 TRACE nova.compute.manager [instance: 22ea4a58-2296-40fc-b69b-a511a3b6d925]   File "/usr/lib/python2.7/site-packages/nova/virt/vmwareapi/vmops.py", line 1747, in _use_disk_image_as_linked_clone
  2016-03-10 17:31:56.350 3211 TRACE nova.compute.manager [instance: 22ea4a58-2296-40fc-b69b-a511a3b6d925]     vi.dc_info, vi.ii, vi.instance, str(sized_disk_ds_loc))
  2016-03-10 17:31:56.350 3211 TRACE nova.compute.manager [instance: 22ea4a58-2296-40fc-b69b-a511a3b6d925]   File "/usr/lib/python2.7/site-packages/nova/virt/vmwareapi/vmops.py", line 224, in _extend_if_required
  2016-03-10 17:31:56.350 3211 TRACE nova.compute.manager [instance: 22ea4a58-2296-40fc-b69b-a511a3b6d925]     root_vmdk_path, dc_info.ref)
  2016-03-10 17:31:56.350 3211 TRACE nova.compute.manager [instance: 22ea4a58-2296-40fc-b69b-a511a3b6d925]   File "/usr/lib/python2.7/site-packages/nova/virt/vmwareapi/vmops.py", line 202, in _extend_virtual_disk
  2016-03-10 17:31:56.350 3211 TRACE nova.compute.manager [instance: 22ea4a58-2296-40fc-b69b-a511a3b6d925]     self._delete_datastore_file(ds_path, dc_ref)
  2016-03-10 17:31:56.350 3211 TRACE nova.compute.manager [instance: 22ea4a58-2296-40fc-b69b-a511a3b6d925]   File "/usr/lib/python2.7/site-packages/oslo_utils/excutils.py", line 85, in __exit__
  2016-03-10 17:31:56.350 3211 TRACE nova.compute.manager [instance: 22ea4a58-2296-40fc-b69b-a511a3b6d925]     six.reraise(self.type_, self.value, self.tb)
  2016-03-10 17:31:56.350 3211 TRACE nova.compute.manager [instance: 22ea4a58-2296-40fc-b69b-a511a3b6d925]   File "/usr/lib/python2.7/site-packages/nova/virt/vmwareapi/vmops.py", line 193, in _extend_virtual_disk
  2016-03-10 17:31:56.350 3211 TRACE nova.compute.manager [instance: 22ea4a58-2296-40fc-b69b-a511a3b6d925]     self._session._wait_for_task(vmdk_extend_task)
  2016-03-10 17:31:56.350 3211 TRACE nova.compute.manager [instance: 22ea4a58-2296-40fc-b69b-a511a3b6d925]   File "/usr/lib/python2.7/site-packages/nova/virt/vmwareapi/driver.py", line 680, in _wait_for_task
  2016-03-10 17:31:56.350 3211 TRACE nova.compute.manager [instance: 22ea4a58-2296-40fc-b69b-a511a3b6d925]     return self.wait_for_task(task_ref)
  2016-03-10 17:31:56.350 3211 TRACE nova.compute.manager [instance: 22ea4a58-2296-40fc-b69b-a511a3b6d925]   File "/usr/lib/python2.7/site-packages/oslo_vmware/api.py", line 380, in wait_for_task
  2016-03-10 17:31:56.350 3211 TRACE nova.compute.manager [instance: 22ea4a58-2296-40fc-b69b-a511a3b6d925]     return evt.wait()
  2016-03-10 17:31:56.350 3211 TRACE nova.compute.manager [instance: 22ea4a58-2296-40fc-b69b-a511a3b6d925]   File "/usr/lib/python2.7/site-packages/eventlet/event.py", line 121, in wait
  2016-03-10 17:31:56.350 3211 TRACE nova.compute.manager [instance: 22ea4a58-2296-40fc-b69b-a511a3b6d925]     return hubs.get_hub().switch()
  2016-03-10 17:31:56.350 3211 TRACE nova.compute.manager [instance: 22ea4a58-2296-40fc-b69b-a511a3b6d925]   File "/usr/lib/python2.7/site-packages/eventlet/hubs/hub.py", line 294, in switch
  2016-03-10 17:31:56.350 3211 TRACE nova.compute.manager [instance: 22ea4a58-2296-40fc-b69b-a511a3b6d925]     return self.greenlet.switch()
  2016-03-10 17:31:56.350 3211 TRACE nova.compute.manager [instance: 22ea4a58-2296-40fc-b69b-a511a3b6d925]   File "/usr/lib/python2.7/site-packages/oslo_vmware/common/loopingcall.py", line 76, in _inner
  2016-03-10 17:31:56.350 3211 TRACE nova.compute.manager [instance: 22ea4a58-2296-40fc-b69b-a511a3b6d925]     self.f(*self.args, **self.kw)
  2016-03-10 17:31:56.350 3211 TRACE nova.compute.manager [instance: 22ea4a58-2296-40fc-b69b-a511a3b6d925]   File "/usr/lib/python2.7/site-packages/oslo_vmware/api.py", line 417, in _poll_task
  2016-03-10 17:31:56.350 3211 TRACE nova.compute.manager [instance: 22ea4a58-2296-40fc-b69b-a511a3b6d925]     raise task_ex
  2016-03-10 17:31:56.350 3211 TRACE nova.compute.manager [instance: 22ea4a58-2296-40fc-b69b-a511a3b6d925] VMwareDriverException: \u6307\u5b9a\u7684\u53c2\u6570\u9519\u8bef\u3002
  2016-03-10 17:31:56.350 3211 TRACE nova.compute.manager [instance: 22ea4a58-2296-40fc-b69b-a511a3b6d925] capacity
  2016-03-10 17:31:56.350 3211 TRACE nova.compute.manager [instance: 22ea4a58-2296-40fc-b69b-a511a3b6d925]
  2016-03-10 17:31:56.352 3211 INFO nova.compute.manager [req-a3e93241-5f54-485a-a7f0-2e1e0ebad92d 4412e38ec9814b96a03e63097ec51f1a 8f75187cd29f4715881f450646fc6e08 - - -] [instance: 22ea4a58-2296-40fc-b69b-a511a3b6d925] Terminating instance

  
  Because the cache_image_folder already exists, it not update image size.  In _use_disk_image_as_linked_clone function, root_gb greater than image file size, so it excutes  _extend_virtual_disk error.

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


Follow ups