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 -- Mailing list: https://launchpad.net/~yahoo-eng-team Post to : yahoo-eng-team@lists.launchpad.net Unsubscribe : https://launchpad.net/~yahoo-eng-team More help : https://help.launchpad.net/ListHelp