← Back to team overview

yahoo-eng-team team mailing list archive

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

 

So, the actual bug is invalid, there is clearly a bug in the side effect
though, which is it throwing 500.

The node_staging_uri is used as local cache for the taskflow to store
the data it downloads before the rest of the tasks are ran. So it is
needed for the 'web-download' (In 'web-download' only use case it does
not need to be shared between the glance nodes). If the methods are
incorrectly configured, the image should stay in 'queued' but we should
fail the import call gracefully.

** Changed in: glance
       Status: New => Invalid

-- 
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:
  Invalid

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


References