2018-01-04 10:03:40.179 22592 ERROR ironic. conductor. manager [req-29e934a7- ba1a-4d1b- a622-c39f36c1bc 3b 63c009a5db504af f855e56e45540f9 13 7701a9fe2a7e4cc 98a9105bbe0ed2a e9 - default default] Error while preparing t
o deploy to node e78a5e78- 9635-436f- ac17-6748f7cd22 b8: 'NoneType' object is not iterable: TypeError: 'NoneType' object is not iterable
2018-01-04 10:03:40.179 22592 ERROR ironic. conductor. manager Traceback (most recent call last):
2018-01-04 10:03:40.179 22592 ERROR ironic. conductor. manager File "/usr/lib/ python2. 7/site- packages/ ironic/ conductor/ manager. py", line 2842, in do_node_deploy
2018-01-04 10:03:40.179 22592 ERROR ironic. conductor. manager task.driver. deploy. prepare( task)
2018-01-04 10:03:40.179 22592 ERROR ironic. conductor. manager File "/usr/lib/ python2. 7/site- packages/ ironic_ lib/metrics. py", line 61, in wrapped
2018-01-04 10:03:40.179 22592 ERROR ironic. conductor. manager result = f(*args, **kwargs)
2018-01-04 10:03:40.179 22592 ERROR ironic. conductor. manager File "/usr/lib/ python2. 7/site- packages/ ironic/ conductor/ task_manager. py", line 148, in wrapper
2018-01-04 10:03:40.179 22592 ERROR ironic. conductor. manager return f(*args, **kwargs)
2018-01-04 10:03:40.179 22592 ERROR ironic. conductor. manager File "/usr/lib/ python2. 7/site- packages/ ironic/ drivers/ modules/ iscsi_deploy. py", line 539, in prepare
2018-01-04 10:03:40.179 22592 ERROR ironic. conductor. manager task.driver. boot.prepare_ ramdisk( task, deploy_opts)
2018-01-04 10:03:40.179 22592 ERROR ironic. conductor. manager File "/usr/lib/ python2. 7/site- packages/ ironic_ lib/metrics. py", line 61, in wrapped
2018-01-04 10:03:40.179 22592 ERROR ironic. conductor. manager result = f(*args, **kwargs)
2018-01-04 10:03:40.179 22592 ERROR ironic. conductor. manager File "/usr/lib/ python2. 7/site- packages/ ironic/ drivers/ modules/ pxe.py" , line 509, in prepare_ramdisk
2018-01-04 10:03:40.179 22592 ERROR ironic. conductor. manager _cache_ ramdisk_ kernel( task.context, node, pxe_info)
2018-01-04 10:03:40.179 22592 ERROR ironic. conductor. manager File "/usr/lib/ python2. 7/site- packages/ ironic/ drivers/ modules/ pxe.py" , line 364, in _cache_ ramdisk_ kernel
2018-01-04 10:03:40.179 22592 ERROR ironic. conductor. manager CONF.force_ raw_images)
2018-01-04 10:03:40.179 22592 ERROR ironic. conductor. manager File "/usr/lib/ python2. 7/site- packages/ ironic/ drivers/ modules/ deploy_ utils.py" , line 487, in fetch_images
2018-01-04 10:03:40.179 22592 ERROR ironic. conductor. manager cache.fetch_ image(href, path, ctx=ctx, force_raw= force_raw)
2018-01-04 10:03:40.179 22592 ERROR ironic. conductor. manager File "/usr/lib/ python2. 7/site- packages/ ironic/ drivers/ modules/ image_cache. py", line 134, in fetch_image
2018-01-04 10:03:40.179 22592 ERROR ironic. conductor. manager href, master_path, dest_path, ctx=ctx, force_raw= force_raw)
2018-01-04 10:03:40.179 22592 ERROR ironic. conductor. manager File "/usr/lib/ python2. 7/site- packages/ ironic/ drivers/ modules/ image_cache. py", line 158, in _download_image
2018-01-04 10:03:40.179 22592 ERROR ironic. conductor. manager _fetch(ctx, href, tmp_path, force_raw)
2018-01-04 10:03:40.179 22592 ERROR ironic. conductor. manager File "/usr/lib/ python2. 7/site- packages/ ironic/ drivers/ modules/ image_cache. py", line 301, in _fetch
2018-01-04 10:03:40.179 22592 ERROR ironic. conductor. manager images. fetch(context, image_href, path_tmp, force_raw=False)
2018-01-04 10:03:40.179 22592 ERROR ironic. conductor. manager File "/usr/lib/ python2. 7/site- packages/ ironic/ common/ images. py", line 325, in fetch
2018-01-04 10:03:40.179 22592 ERROR ironic. conductor. manager image_service. download( image_href, image_file)
2018-01-04 10:03:40.179 22592 ERROR ironic. conductor. manager File "/usr/lib/ python2. 7/site- packages/ ironic/ common/ glance_ service/ v2/image_ service. py", line 51, in download
2018-01-04 10:03:40.179 22592 ERROR ironic. conductor. manager return self._download( image_id, method='data', data=data)
2018-01-04 10:03:40.179 22592 ERROR ironic. conductor. manager File "/usr/lib/ python2. 7/site- packages/ ironic/ common/ glance_ service/ base_image_ service. py", line 73, in wrapper
2018-01-04 10:03:40.179 22592 ERROR ironic. conductor. manager return func(self, *args, **kwargs)
2018-01-04 10:03:40.179 22592 ERROR ironic. conductor. manager File "/usr/lib/ python2. 7/site- packages/ ironic/ common/ glance_ service/ base_image_ service. py", line 176, in _download
2018-01-04 10:03:40.179 22592 ERROR ironic. conductor. manager for chunk in image_chunks:
2018-01-04 10:03:40.179 22592 ERROR ironic. conductor. manager TypeError: 'NoneType' object is not iterable
Note that I had to enable tracebacks manually, otherwise I only saw "NoneType object is not iterable" without any details.
UPD: it turns out that Glance returns None as data when the backing storage (e.g. Swift) cannot find data. We need to account for it, if it's valid behavior.