← Back to team overview

yahoo-eng-team team mailing list archive

[Bug 1753964] [NEW] Image remains in queued state for web-download if node_staging_uri is not set

 

Public bug reported:

If operator does not set 'node_staging_uri' in glance-api.conf then
importing image using web-download remains in queued state.

Steps to reproduce:
1. Ensure glance-api is running under mod_wsgi (add WSGI_MODE=mod_wsgi in local.conf and run stack.sh)
2. Do not set node_staging_uri in glance-api.conf

3. Create image using below curl command:
curl -i -X POST -H "x-auth-token: <auth-token>" http://192.168.0.13:9292/v2/images -d '{"container_format":"bare","disk_format":"raw","name":"Import web-download"}'

4. Import image using below curl command:
curl -i -X POST -H "Content-type: application/json" -H "x-auth-token: <auth-token>" http://192.168.0.13:9292/v2/images/<id-of-image-created-in-step-3>/import -d '{"method":{"name":"web-download","uri":"https://www.openstack.org/assets/openstack-logo/2016R/OpenStack-Logo-Horizontal.eps.zip"}}'

Expected result:
Image should be in active state.

Actual result:
Image remains in queued state.

API Logs:
Mar 07 09:26:07 ubuntu-16 glance-api[3499]: DEBUG glance_store.backend [-] Attempting to import store file {{(pid=3506) _load_store /usr/local/lib/python2.7/dist-packages/glance_store/backend.py:231}}
Mar 07 09:26:07 ubuntu-16 glance-api[3499]: DEBUG glance_store.capabilities [-] Store glance_store._drivers.filesystem.Store doesn't support updating dynamic storage capabilities. Please overwrite 'update_capabilities' method of the store to implement updating logics if needed. {{(pid=3506) update_capabilities /usr/local/lib/python2.7/dist-packages/glance_store/capabilities.py:97}}
Mar 07 09:26:07 ubuntu-16 glance-api[3499]: Traceback (most recent call last):
Mar 07 09:26:07 ubuntu-16 glance-api[3499]:   File "/usr/local/lib/python2.7/dist-packages/eventlet/greenpool.py", line 82, in _spawn_n_impl
Mar 07 09:26:07 ubuntu-16 glance-api[3499]:     func(*args, **kwargs)
Mar 07 09:26:07 ubuntu-16 glance-api[3499]:   File "/opt/stack/glance/glance/domain/proxy.py", line 238, in run
Mar 07 09:26:07 ubuntu-16 glance-api[3499]:     self.base.run(executor)
Mar 07 09:26:07 ubuntu-16 glance-api[3499]:   File "/opt/stack/glance/glance/notifier.py", line 581, in run
Mar 07 09:26:07 ubuntu-16 glance-api[3499]:     super(TaskProxy, self).run(executor)
Mar 07 09:26:07 ubuntu-16 glance-api[3499]:   File "/opt/stack/glance/glance/domain/proxy.py", line 238, in run
Mar 07 09:26:07 ubuntu-16 glance-api[3499]:     self.base.run(executor)
Mar 07 09:26:07 ubuntu-16 glance-api[3499]:   File "/opt/stack/glance/glance/domain/proxy.py", line 238, in run
Mar 07 09:26:07 ubuntu-16 glance-api[3499]:     self.base.run(executor)
Mar 07 09:26:07 ubuntu-16 glance-api[3499]:   File "/opt/stack/glance/glance/domain/__init__.py", line 438, in run
Mar 07 09:26:07 ubuntu-16 glance-api[3499]:     executor.begin_processing(self.task_id)
Mar 07 09:26:07 ubuntu-16 glance-api[3499]:   File "/opt/stack/glance/glance/async/taskflow_executor.py", line 144, in begin_processing
Mar 07 09:26:07 ubuntu-16 glance-api[3499]:     super(TaskExecutor, self).begin_processing(task_id)
Mar 07 09:26:07 ubuntu-16 glance-api[3499]:   File "/opt/stack/glance/glance/async/__init__.py", line 63, in begin_processing
Mar 07 09:26:07 ubuntu-16 glance-api[3499]:     self._run(task_id, task.type)
Mar 07 09:26:07 ubuntu-16 glance-api[3499]:   File "/opt/stack/glance/glance/async/taskflow_executor.py", line 165, in _run
Mar 07 09:26:07 ubuntu-16 glance-api[3499]:     flow = self._get_flow(task)
Mar 07 09:26:07 ubuntu-16 glance-api[3499]:   File "/opt/stack/glance/glance/async/taskflow_executor.py", line 134, in _get_flow
Mar 07 09:26:07 ubuntu-16 glance-api[3499]:     invoke_kwds=kwds).driver
Mar 07 09:26:07 ubuntu-16 glance-api[3499]:   File "/usr/local/lib/python2.7/dist-packages/stevedore/driver.py", line 61, in __init__
Mar 07 09:26:07 ubuntu-16 glance-api[3499]:     warn_on_missing_entrypoint=warn_on_missing_entrypoint
Mar 07 09:26:07 ubuntu-16 glance-api[3499]:   File "/usr/local/lib/python2.7/dist-packages/stevedore/named.py", line 81, in __init__
Mar 07 09:26:07 ubuntu-16 glance-api[3499]:     verify_requirements)
Mar 07 09:26:07 ubuntu-16 glance-api[3499]:   File "/usr/local/lib/python2.7/dist-packages/stevedore/extension.py", line 203, in _load_plugins
Mar 07 09:26:07 ubuntu-16 glance-api[3499]:     self._on_load_failure_callback(self, ep, err)
Mar 07 09:26:07 ubuntu-16 glance-api[3499]:   File "/usr/local/lib/python2.7/dist-packages/stevedore/extension.py", line 195, in _load_plugins
Mar 07 09:26:07 ubuntu-16 glance-api[3499]:     verify_requirements,
Mar 07 09:26:07 ubuntu-16 glance-api[3499]:   File "/usr/local/lib/python2.7/dist-packages/stevedore/named.py", line 158, in _load_one_plugin
Mar 07 09:26:07 ubuntu-16 glance-api[3499]:     verify_requirements,
Mar 07 09:26:07 ubuntu-16 glance-api[3499]:   File "/usr/local/lib/python2.7/dist-packages/stevedore/extension.py", line 227, in _load_one_plugin
Mar 07 09:26:07 ubuntu-16 glance-api[3499]:     obj = plugin(*invoke_args, **invoke_kwds)
Mar 07 09:26:07 ubuntu-16 glance-api[3499]:   File "/opt/stack/glance/glance/async/flows/api_image_import.py", line 323, in get_flow
Mar 07 09:26:07 ubuntu-16 glance-api[3499]:     file_uri = separator.join((CONF.node_staging_uri, str(image_id)))
Mar 07 09:26:07 ubuntu-16 glance-api[3499]: UnboundLocalError: local variable 'separator' referenced before assignment

** Affects: glance
     Importance: Undecided
     Assignee: Abhishek Kekane (abhishek-kekane)
         Status: New

** Changed in: glance
     Assignee: (unassigned) => Abhishek Kekane (abhishek-kekane)

** Summary changed:

- 500 Error for web-download if node_staging_uri is not set 
+ Image remains in queued state for web-download if node_staging_uri is not set

-- 
You received this bug notification because you are a member of Yahoo!
Engineering Team, which is subscribed to Glance.
https://bugs.launchpad.net/bugs/1753964

Title:
  Image remains in queued state for web-download if node_staging_uri is
  not set

Status in Glance:
  New

Bug description:
  If operator does not set 'node_staging_uri' in glance-api.conf then
  importing image using web-download remains in queued state.

  Steps to reproduce:
  1. Ensure glance-api is running under mod_wsgi (add WSGI_MODE=mod_wsgi in local.conf and run stack.sh)
  2. Do not set node_staging_uri in glance-api.conf

  3. Create image using below curl command:
  curl -i -X POST -H "x-auth-token: <auth-token>" http://192.168.0.13:9292/v2/images -d '{"container_format":"bare","disk_format":"raw","name":"Import web-download"}'

  4. Import image using below curl command:
  curl -i -X POST -H "Content-type: application/json" -H "x-auth-token: <auth-token>" http://192.168.0.13:9292/v2/images/<id-of-image-created-in-step-3>/import -d '{"method":{"name":"web-download","uri":"https://www.openstack.org/assets/openstack-logo/2016R/OpenStack-Logo-Horizontal.eps.zip"}}'

  Expected result:
  Image should be in active state.

  Actual result:
  Image remains in queued state.

  API Logs:
  Mar 07 09:26:07 ubuntu-16 glance-api[3499]: DEBUG glance_store.backend [-] Attempting to import store file {{(pid=3506) _load_store /usr/local/lib/python2.7/dist-packages/glance_store/backend.py:231}}
  Mar 07 09:26:07 ubuntu-16 glance-api[3499]: DEBUG glance_store.capabilities [-] Store glance_store._drivers.filesystem.Store doesn't support updating dynamic storage capabilities. Please overwrite 'update_capabilities' method of the store to implement updating logics if needed. {{(pid=3506) update_capabilities /usr/local/lib/python2.7/dist-packages/glance_store/capabilities.py:97}}
  Mar 07 09:26:07 ubuntu-16 glance-api[3499]: Traceback (most recent call last):
  Mar 07 09:26:07 ubuntu-16 glance-api[3499]:   File "/usr/local/lib/python2.7/dist-packages/eventlet/greenpool.py", line 82, in _spawn_n_impl
  Mar 07 09:26:07 ubuntu-16 glance-api[3499]:     func(*args, **kwargs)
  Mar 07 09:26:07 ubuntu-16 glance-api[3499]:   File "/opt/stack/glance/glance/domain/proxy.py", line 238, in run
  Mar 07 09:26:07 ubuntu-16 glance-api[3499]:     self.base.run(executor)
  Mar 07 09:26:07 ubuntu-16 glance-api[3499]:   File "/opt/stack/glance/glance/notifier.py", line 581, in run
  Mar 07 09:26:07 ubuntu-16 glance-api[3499]:     super(TaskProxy, self).run(executor)
  Mar 07 09:26:07 ubuntu-16 glance-api[3499]:   File "/opt/stack/glance/glance/domain/proxy.py", line 238, in run
  Mar 07 09:26:07 ubuntu-16 glance-api[3499]:     self.base.run(executor)
  Mar 07 09:26:07 ubuntu-16 glance-api[3499]:   File "/opt/stack/glance/glance/domain/proxy.py", line 238, in run
  Mar 07 09:26:07 ubuntu-16 glance-api[3499]:     self.base.run(executor)
  Mar 07 09:26:07 ubuntu-16 glance-api[3499]:   File "/opt/stack/glance/glance/domain/__init__.py", line 438, in run
  Mar 07 09:26:07 ubuntu-16 glance-api[3499]:     executor.begin_processing(self.task_id)
  Mar 07 09:26:07 ubuntu-16 glance-api[3499]:   File "/opt/stack/glance/glance/async/taskflow_executor.py", line 144, in begin_processing
  Mar 07 09:26:07 ubuntu-16 glance-api[3499]:     super(TaskExecutor, self).begin_processing(task_id)
  Mar 07 09:26:07 ubuntu-16 glance-api[3499]:   File "/opt/stack/glance/glance/async/__init__.py", line 63, in begin_processing
  Mar 07 09:26:07 ubuntu-16 glance-api[3499]:     self._run(task_id, task.type)
  Mar 07 09:26:07 ubuntu-16 glance-api[3499]:   File "/opt/stack/glance/glance/async/taskflow_executor.py", line 165, in _run
  Mar 07 09:26:07 ubuntu-16 glance-api[3499]:     flow = self._get_flow(task)
  Mar 07 09:26:07 ubuntu-16 glance-api[3499]:   File "/opt/stack/glance/glance/async/taskflow_executor.py", line 134, in _get_flow
  Mar 07 09:26:07 ubuntu-16 glance-api[3499]:     invoke_kwds=kwds).driver
  Mar 07 09:26:07 ubuntu-16 glance-api[3499]:   File "/usr/local/lib/python2.7/dist-packages/stevedore/driver.py", line 61, in __init__
  Mar 07 09:26:07 ubuntu-16 glance-api[3499]:     warn_on_missing_entrypoint=warn_on_missing_entrypoint
  Mar 07 09:26:07 ubuntu-16 glance-api[3499]:   File "/usr/local/lib/python2.7/dist-packages/stevedore/named.py", line 81, in __init__
  Mar 07 09:26:07 ubuntu-16 glance-api[3499]:     verify_requirements)
  Mar 07 09:26:07 ubuntu-16 glance-api[3499]:   File "/usr/local/lib/python2.7/dist-packages/stevedore/extension.py", line 203, in _load_plugins
  Mar 07 09:26:07 ubuntu-16 glance-api[3499]:     self._on_load_failure_callback(self, ep, err)
  Mar 07 09:26:07 ubuntu-16 glance-api[3499]:   File "/usr/local/lib/python2.7/dist-packages/stevedore/extension.py", line 195, in _load_plugins
  Mar 07 09:26:07 ubuntu-16 glance-api[3499]:     verify_requirements,
  Mar 07 09:26:07 ubuntu-16 glance-api[3499]:   File "/usr/local/lib/python2.7/dist-packages/stevedore/named.py", line 158, in _load_one_plugin
  Mar 07 09:26:07 ubuntu-16 glance-api[3499]:     verify_requirements,
  Mar 07 09:26:07 ubuntu-16 glance-api[3499]:   File "/usr/local/lib/python2.7/dist-packages/stevedore/extension.py", line 227, in _load_one_plugin
  Mar 07 09:26:07 ubuntu-16 glance-api[3499]:     obj = plugin(*invoke_args, **invoke_kwds)
  Mar 07 09:26:07 ubuntu-16 glance-api[3499]:   File "/opt/stack/glance/glance/async/flows/api_image_import.py", line 323, in get_flow
  Mar 07 09:26:07 ubuntu-16 glance-api[3499]:     file_uri = separator.join((CONF.node_staging_uri, str(image_id)))
  Mar 07 09:26:07 ubuntu-16 glance-api[3499]: UnboundLocalError: local variable 'separator' referenced before assignment

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


Follow ups