Nova compute raises AttributeError on creating the instance with raw image type and instance goes in to error state.
Steps to reproduce:
1. Set image_type = raw in [libvirt] section of nova.conf and restart nova services.
2. Create an instance using image (I have used default cirros image).
$ nova boot --image 5e1659aa-6d38-44e8-aaa3-4217337436c0 --flavor 1 instance-1
3. Run $ nova list
4. Instance is in Error state and following error is logged in n-cpu logs
2015-06-30 23:13:11.174 DEBUG oslo_concurrency.lockutils [req-f66cf801-d424-4583-8270-92023c6a70a1 demo demo] Lock "8d2c340dcce68e48a75457b1e91457feed27a
ef5" released by "copy_raw_image" :: held 0.431s from (pid=29182) inner /usr/local/lib/python2.7/dist-packages/oslo_concurrency/lockutils.py:456
2015-06-30 23:13:11.184 ERROR nova.compute.manager [req-f66cf801-d424-4583-8270-92023c6a70a1 demo demo] [instance: 4a4913a9-2ea9-4943-b25e-da684edaf569]
Instance failed to spawn
2015-06-30 23:13:11.184 TRACE nova.compute.manager [instance: 4a4913a9-2ea9-4943-b25e-da684edaf569] Traceback (most recent call last):
2015-06-30 23:13:11.184 TRACE nova.compute.manager [instance: 4a4913a9-2ea9-4943-b25e-da684edaf569] File "/opt/stack/nova/nova/compute/manager.py", lin
e 2113, in _build_resources
2015-06-30 23:13:11.184 TRACE nova.compute.manager [instance: 4a4913a9-2ea9-4943-b25e-da684edaf569] yield resources
2015-06-30 23:13:11.184 TRACE nova.compute.manager [instance: 4a4913a9-2ea9-4943-b25e-da684edaf569] File "/opt/stack/nova/nova/compute/manager.py", lin
e 1985, in _build_and_run_instance
2015-06-30 23:13:11.184 TRACE nova.compute.manager [instance: 4a4913a9-2ea9-4943-b25e-da684edaf569] block_device_info=block_device_info)
2015-06-30 23:13:11.184 TRACE nova.compute.manager [instance: 4a4913a9-2ea9-4943-b25e-da684edaf569] File "/opt/stack/nova/nova/virt/libvirt/driver.py",
line 2428, in spawn
2015-06-30 23:13:11.184 TRACE nova.compute.manager [instance: 4a4913a9-2ea9-4943-b25e-da684edaf569] admin_pass=admin_password)
2015-06-30 23:13:11.184 TRACE nova.compute.manager [instance: 4a4913a9-2ea9-4943-b25e-da684edaf569] File "/opt/stack/nova/nova/virt/libvirt/driver.py",
line 2827, in _create_image
2015-06-30 23:13:11.184 TRACE nova.compute.manager [instance: 4a4913a9-2ea9-4943-b25e-da684edaf569] instance, size, fallback_from_host)
2015-06-30 23:13:11.184 TRACE nova.compute.manager [instance: 4a4913a9-2ea9-4943-b25e-da684edaf569] File "/opt/stack/nova/nova/virt/libvirt/driver.py",
line 5968, in _try_fetch_image_cache
2015-06-30 23:13:11.184 TRACE nova.compute.manager [instance: 4a4913a9-2ea9-4943-b25e-da684edaf569] size=size)
2015-06-30 23:13:11.184 TRACE nova.compute.manager [instance: 4a4913a9-2ea9-4943-b25e-da684edaf569] File "/opt/stack/nova/nova/virt/libvirt/imagebacken
d.py", line 234, in cache
2015-06-30 23:13:11.184 TRACE nova.compute.manager [instance: 4a4913a9-2ea9-4943-b25e-da684edaf569] *args, **kwargs)
2015-06-30 23:13:11.184 TRACE nova.compute.manager [instance: 4a4913a9-2ea9-4943-b25e-da684edaf569] File "/opt/stack/nova/nova/virt/libvirt/imagebacken
d.py", line 452, in create_image
2015-06-30 23:13:11.184 TRACE nova.compute.manager [instance: 4a4913a9-2ea9-4943-b25e-da684edaf569] copy_raw_image(base, self.path, size)
2015-06-30 23:13:11.184 TRACE nova.compute.manager [instance: 4a4913a9-2ea9-4943-b25e-da684edaf569] File "/usr/local/lib/python2.7/dist-packages/oslo_c
oncurrency/lockutils.py", line 445, in inner
2015-06-30 23:13:11.184 TRACE nova.compute.manager [instance: 4a4913a9-2ea9-4943-b25e-da684edaf569] return f(*args, **kwargs)
2015-06-30 23:13:11.184 TRACE nova.compute.manager [instance: 4a4913a9-2ea9-4943-b25e-da684edaf569] File "/opt/stack/nova/nova/virt/libvirt/imagebacken
d.py", line 439, in copy_raw_image
2015-06-30 23:13:11.184 TRACE nova.compute.manager [instance: 4a4913a9-2ea9-4943-b25e-da684edaf569] disk.extend(image, size)
2015-06-30 23:13:11.184 TRACE nova.compute.manager [instance: 4a4913a9-2ea9-4943-b25e-da684edaf569] File "/opt/stack/nova/nova/virt/disk/api.py", line
197, in extend
2015-06-30 23:13:11.184 TRACE nova.compute.manager [instance: 4a4913a9-2ea9-4943-b25e-da684edaf569] if not is_image_extendable(image):
2015-06-30 23:13:11.184 TRACE nova.compute.manager [instance: 4a4913a9-2ea9-4943-b25e-da684edaf569] File "/opt/stack/nova/nova/virt/disk/api.py", line
272, in is_image_extendable
2015-06-30 23:13:11.184 TRACE nova.compute.manager [instance: 4a4913a9-2ea9-4943-b25e-da684edaf569] utils.execute('e2label', image.file)
2015-06-30 23:13:11.184 TRACE nova.compute.manager [instance: 4a4913a9-2ea9-4943-b25e-da684edaf569] AttributeError: 'LocalFileImage' object has no attrib
ute 'file'
2015-06-30 23:13:11.184 TRACE nova.compute.manager [instance: 4a4913a9-2ea9-4943