yahoo-eng-team team mailing list archive
-
yahoo-eng-team team
-
Mailing list archive
-
Message #48986
[Bug 1555644] Re: VMware: Extending virtual disk failed with error: capacity
Reviewed: https://review.openstack.org/291203
Committed: https://git.openstack.org/cgit/openstack/nova/commit/?id=589660af7c4ac3903f209c912e89795b8d62a122
Submitter: Jenkins
Branch: master
commit 589660af7c4ac3903f209c912e89795b8d62a122
Author: Dongcan Ye <hellochosen@xxxxxxxxx>
Date: Thu Mar 10 22:09:24 2016 +0800
VMware: Always update image size for sparse image
In some situation, if image cache folder already exists, we may not
update image size. This will cause extend root disk failed in situation
using sparse image and use_linked_clone.
This patch update image size for sparse image whether the image cache
folder exists or not.
Change-Id: I017194e7314458a493ccc942bef34209a902809e
Closes-Bug: #1555644
** Changed in: nova
Status: In Progress => Fix Released
--
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):
Fix Released
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
References