← Back to team overview

yahoo-eng-team team mailing list archive

[Bug 1552610] [NEW] Failed to download images from vmware glance datastore to compute datastore

 

Public bug reported:

Openstack version: Kilo.

We are configuring openstack/vmware w/ multiple datastore.
We also applied this patch: https://review.openstack.org/#/c/186716/

But we got an error when booting instances.

What we do:
1. Configure glance-store backend as vsphere
2. Create an image in glance. It is stored in vsphere://172.20.2.38/folder/openstack_glance/58f446bb-35da-4aca-9532-c33c8562e2c2?dcPath=IDC_Test&dsName=LUN03-00
3. Boot an instance with this image.

We failed at Step-3:
2016-03-02 18:37:19.941 14897 DEBUG nova.virt.vmwareapi.ds_util [req-6d3819a8-d5f8-406a-aa5c-0da4e4f26bf6 4412e38ec9814b96a03e63097ec51f1a 8f75187cd29f4715881f450646fc6e08 - - -] Copying the datastore file from [LUN03-00] openstack_glance/58f446bb-35da-4aca-9532-c33c8562e2c2 to [LUN03-02] vmware_temp/e3e50103-da69-44bb-910d-0ecaaba77c78/58f446bb-35da-4aca-9532-c33c8562e2c2/tmp-sparse.vmdk file_copy /usr/lib/python2.7/site-packages/nova/virt/vmwareapi/ds_util.py:239 
7c78/58f446bb-35da-4aca-9532-c33c8562e2c2/tmp-sparse.vmdk file_copy /usr/lib/python2.7/site-packages/nova/virt/vmwareapi/ds_util.py:239 
….
2016-03-02 18:37:20.480 14897 TRACE oslo_vmware.common.loopingcall FileNotFoundException: \u627e\u4e0d\u5230\u6587\u4ef6 [LUN03-02] vmware_temp/e3e50103-da69-44bb-910d-0ecaaba77c78/58f446bb-35da-4aca-9532-c33c8562e2c2/ 

There is no e3e50103-da69-44bb-910d-0ecaaba77c78 under [LUN03-02]
vmware_temp.

Radoslav Gerganov confirms nova/virt/vmwareapi/vmops.py has a bug:

    def _prepare_sparse_image(self, vi):
        tmp_dir_loc = vi.datastore.build_path(
                self._tmp_folder, uuidutils.generate_uuid())
        tmp_image_ds_loc = tmp_dir_loc.join(
                vi.ii.image_id, "tmp-sparse.vmdk")
        return tmp_dir_loc, tmp_image_ds_loc

should be:

def _prepare_sparse_image(self, vi):
    tmp_dir_loc = vi.datastore.build_path(
            self._tmp_folder, uuidutils.generate_uuid())
    tmp_image_ds_loc = tmp_dir_loc.join(
            vi.ii.image_id, "tmp-sparse.vmdk")
    ds_util.mkdir(self._session, tmp_image_ds_loc.parent, vi.dc_info.ref)
    return tmp_dir_loc, tmp_image_ds_loc

This issue is gone after we make the changes.

** Affects: nova
     Importance: Undecided
         Status: New

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

Title:
  Failed to download images from vmware glance datastore to compute
  datastore

Status in OpenStack Compute (nova):
  New

Bug description:
  Openstack version: Kilo.

  We are configuring openstack/vmware w/ multiple datastore.
  We also applied this patch: https://review.openstack.org/#/c/186716/

  But we got an error when booting instances.

  What we do:
  1. Configure glance-store backend as vsphere
  2. Create an image in glance. It is stored in vsphere://172.20.2.38/folder/openstack_glance/58f446bb-35da-4aca-9532-c33c8562e2c2?dcPath=IDC_Test&dsName=LUN03-00
  3. Boot an instance with this image.

  We failed at Step-3:
  2016-03-02 18:37:19.941 14897 DEBUG nova.virt.vmwareapi.ds_util [req-6d3819a8-d5f8-406a-aa5c-0da4e4f26bf6 4412e38ec9814b96a03e63097ec51f1a 8f75187cd29f4715881f450646fc6e08 - - -] Copying the datastore file from [LUN03-00] openstack_glance/58f446bb-35da-4aca-9532-c33c8562e2c2 to [LUN03-02] vmware_temp/e3e50103-da69-44bb-910d-0ecaaba77c78/58f446bb-35da-4aca-9532-c33c8562e2c2/tmp-sparse.vmdk file_copy /usr/lib/python2.7/site-packages/nova/virt/vmwareapi/ds_util.py:239 
  7c78/58f446bb-35da-4aca-9532-c33c8562e2c2/tmp-sparse.vmdk file_copy /usr/lib/python2.7/site-packages/nova/virt/vmwareapi/ds_util.py:239 
  ….
  2016-03-02 18:37:20.480 14897 TRACE oslo_vmware.common.loopingcall FileNotFoundException: \u627e\u4e0d\u5230\u6587\u4ef6 [LUN03-02] vmware_temp/e3e50103-da69-44bb-910d-0ecaaba77c78/58f446bb-35da-4aca-9532-c33c8562e2c2/ 

  There is no e3e50103-da69-44bb-910d-0ecaaba77c78 under [LUN03-02]
  vmware_temp.

  Radoslav Gerganov confirms nova/virt/vmwareapi/vmops.py has a bug:

      def _prepare_sparse_image(self, vi):
          tmp_dir_loc = vi.datastore.build_path(
                  self._tmp_folder, uuidutils.generate_uuid())
          tmp_image_ds_loc = tmp_dir_loc.join(
                  vi.ii.image_id, "tmp-sparse.vmdk")
          return tmp_dir_loc, tmp_image_ds_loc

  should be:

  def _prepare_sparse_image(self, vi):
      tmp_dir_loc = vi.datastore.build_path(
              self._tmp_folder, uuidutils.generate_uuid())
      tmp_image_ds_loc = tmp_dir_loc.join(
              vi.ii.image_id, "tmp-sparse.vmdk")
      ds_util.mkdir(self._session, tmp_image_ds_loc.parent, vi.dc_info.ref)
      return tmp_dir_loc, tmp_image_ds_loc

  This issue is gone after we make the changes.

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


Follow ups