Nova Not Setting Instance to ERROR State When ImageTooLarge Exception is Thrown

Bug #1206970 reported by Sean Carlisle
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
OpenStack Compute (nova)
New
Undecided
Unassigned

Bug Description

Greetings,

I noticed when a user creates an instance via the CLI and specifies a flavor that is too small for the guest image, the ImageTooLarge exception is thrown as expected, but the status of the instance is not changed from "BUILD" to "ERROR".

This occurs with nova version: 1:2013.1.2-0ubuntu1~cloud0

Steps to reproduce:

* Create an instance through nova cli using a flavor with a root disk size that is smaller than the virtual size of the image.

nova-compute.log output of the relevant section:

2013-07-31 13:51:33.694 INFO nova.virt.libvirt.driver [req-81f5b0e5-a262-4f8e-8165-56d5552f9c42 86ee20efe39d487aa4a3d7135fe03f13 3984c9630ad34b63ac85cc74722aea64] [instance: ead79ca1-b282-4e17-abb6-360889df24b4] Creating image
2013-07-31 13:51:33.736 ERROR nova.compute.manager [req-81f5b0e5-a262-4f8e-8165-56d5552f9c42 86ee20efe39d487aa4a3d7135fe03f13 3984c9630ad34b63ac85cc74722aea64] [instance: ead79ca1-b282-4e17-abb6-360889df24b4] Instance failed to spawn
2013-07-31 13:51:33.736 22377 TRACE nova.compute.manager [instance: ead79ca1-b282-4e17-abb6-360889df24b4] Traceback (most recent call last):
2013-07-31 13:51:33.736 22377 TRACE nova.compute.manager [instance: ead79ca1-b282-4e17-abb6-360889df24b4] File "/usr/lib/python2.7/dist-packages/nova/compute/manager.py", line 1103, in _spawn
2013-07-31 13:51:33.736 22377 TRACE nova.compute.manager [instance: ead79ca1-b282-4e17-abb6-360889df24b4] block_device_info)
2013-07-31 13:51:33.736 22377 TRACE nova.compute.manager [instance: ead79ca1-b282-4e17-abb6-360889df24b4] File "/usr/lib/python2.7/dist-packages/nova/virt/libvirt/driver.py", line 1521, in spawn
2013-07-31 13:51:33.736 22377 TRACE nova.compute.manager [instance: ead79ca1-b282-4e17-abb6-360889df24b4] admin_pass=admin_password)
2013-07-31 13:51:33.736 22377 TRACE nova.compute.manager [instance: ead79ca1-b282-4e17-abb6-360889df24b4] File "/usr/lib/python2.7/dist-packages/nova/virt/libvirt/driver.py", line 1807, in _create_image
2013-07-31 13:51:33.736 22377 TRACE nova.compute.manager [instance: ead79ca1-b282-4e17-abb6-360889df24b4] project_id=instance['project_id'])
2013-07-31 13:51:33.736 22377 TRACE nova.compute.manager [instance: ead79ca1-b282-4e17-abb6-360889df24b4] File "/usr/lib/python2.7/dist-packages/nova/virt/libvirt/imagebackend.py", line 158, in cache
2013-07-31 13:51:33.736 22377 TRACE nova.compute.manager [instance: ead79ca1-b282-4e17-abb6-360889df24b4] *args, **kwargs)
2013-07-31 13:51:33.736 22377 TRACE nova.compute.manager [instance: ead79ca1-b282-4e17-abb6-360889df24b4] File "/usr/lib/python2.7/dist-packages/nova/virt/libvirt/imagebackend.py", line 265, in create_image
2013-07-31 13:51:33.736 22377 TRACE nova.compute.manager [instance: ead79ca1-b282-4e17-abb6-360889df24b4] raise exception.ImageTooLarge()
2013-07-31 13:51:33.736 22377 TRACE nova.compute.manager [instance: ead79ca1-b282-4e17-abb6-360889df24b4] ImageTooLarge: Image is larger than instance type allows
2013-07-31 13:51:33.736 22377 TRACE nova.compute.manager [instance: ead79ca1-b282-4e17-abb6-360889df24b4]
2013-07-31 13:51:33.869 AUDIT nova.compute.manager [req-81f5b0e5-a262-4f8e-8165-56d5552f9c42 86ee20efe39d487aa4a3d7135fe03f13 3984c9630ad34b63ac85cc74722aea64] [instance: ead79ca1-b282-4e17-abb6-360889df24b4] Terminating instance
2013-07-31 13:51:34.924 22377 ERROR nova.virt.libvirt.driver [-] [instance: ead79ca1-b282-4e17-abb6-360889df24b4] During wait destroy, instance disappeared.
2013-07-31 13:51:34.997 ERROR nova.virt.libvirt.vif [req-81f5b0e5-a262-4f8e-8165-56d5552f9c42 86ee20efe39d487aa4a3d7135fe03f13 3984c9630ad34b63ac85cc74722aea64] [instance: ead79ca1-b282-4e17-abb6-360889df24b4] Failed while unplugging vif
2013-07-31 13:51:34.997 22377 TRACE nova.virt.libvirt.vif [instance: ead79ca1-b282-4e17-abb6-360889df24b4] Traceback (most recent call last):
2013-07-31 13:51:34.997 22377 TRACE nova.virt.libvirt.vif [instance: ead79ca1-b282-4e17-abb6-360889df24b4] File "/usr/lib/python2.7/dist-packages/nova/virt/libvirt/vif.py", line 442, in unplug_ovs_hybrid
2013-07-31 13:51:34.997 22377 TRACE nova.virt.libvirt.vif [instance: ead79ca1-b282-4e17-abb6-360889df24b4] utils.execute('brctl', 'delif', br_name, v1_name, run_as_root=True)
2013-07-31 13:51:34.997 22377 TRACE nova.virt.libvirt.vif [instance: ead79ca1-b282-4e17-abb6-360889df24b4] File "/usr/lib/python2.7/dist-packages/nova/utils.py", line 239, in execute
2013-07-31 13:51:34.997 22377 TRACE nova.virt.libvirt.vif [instance: ead79ca1-b282-4e17-abb6-360889df24b4] cmd=' '.join(cmd))
2013-07-31 13:51:34.997 22377 TRACE nova.virt.libvirt.vif [instance: ead79ca1-b282-4e17-abb6-360889df24b4] ProcessExecutionError: Unexpected error while running command.
2013-07-31 13:51:34.997 22377 TRACE nova.virt.libvirt.vif [instance: ead79ca1-b282-4e17-abb6-360889df24b4] Command: sudo nova-rootwrap /etc/nova/rootwrap.conf brctl delif qbrb942ef94-ed qvbb942ef94-ed
2013-07-31 13:51:34.997 22377 TRACE nova.virt.libvirt.vif [instance: ead79ca1-b282-4e17-abb6-360889df24b4] Exit code: 1
2013-07-31 13:51:34.997 22377 TRACE nova.virt.libvirt.vif [instance: ead79ca1-b282-4e17-abb6-360889df24b4] Stdout: ''
2013-07-31 13:51:34.997 22377 TRACE nova.virt.libvirt.vif [instance: ead79ca1-b282-4e17-abb6-360889df24b4] Stderr: 'interface qvbb942ef94-ed does not exist!\n'
2013-07-31 13:51:34.997 22377 TRACE nova.virt.libvirt.vif [instance: ead79ca1-b282-4e17-abb6-360889df24b4]
2013-07-31 13:51:34.999 INFO nova.virt.libvirt.driver [req-81f5b0e5-a262-4f8e-8165-56d5552f9c42 86ee20efe39d487aa4a3d7135fe03f13 3984c9630ad34b63ac85cc74722aea64] [instance: ead79ca1-b282-4e17-abb6-360889df24b4] Deleting instance files /var/lib/nova/instances/ead79ca1-b282-4e17-abb6-360889df24b4

Tags: compute
melanie witt (melwitt)
tags: added: compute
Revision history for this message
Hirofumi Ichihara (ichihara-hirofumi) wrote :

Hi Sean,

This problem is fixed ( bug #1177830 ).

To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.