yahoo-eng-team team mailing list archive
-
yahoo-eng-team team
-
Mailing list archive
-
Message #24688
[Bug 1153774] Re: exception handling logic questionably assumes the availability of database service
this is very old and a lot has changed since this was filed.
** Changed in: nova
Status: Triaged => Invalid
--
You received this bug notification because you are a member of Yahoo!
Engineering Team, which is subscribed to OpenStack Compute (nova).
https://bugs.launchpad.net/bugs/1153774
Title:
exception handling logic questionably assumes the availability of
database service
Status in OpenStack Compute (Nova):
Invalid
Bug description:
version: essex
In function "_run_instance" of class "ComputeManager" in
nova/compute/manager.py, it seems that the exception handling logic
assumes the availability of database service, which is problematic
because an exception may be triggered by the unavailability of
database service.
For example, if the database service (mysqld in our case) crashes (and
then restarts e.g. in a few seconds) when the "_spawn" is executing,
as shown in the snippet below, then the three-fold exception handling
logic of "_run_instance" would all fail.
==========
(wrapper)
try:
(inside _run_instance)
try:
try:
_spawn
except:
_deallocate_network
except:
_set_instance_error_state
except:
add_instance_fault_from_exc
==========
Specifically, "_deallocate_network" would not be able to reset the ip
to the state "allocated=0" in db "nova.fixed_ips" (assuming the use of
fixed ip). "_set_instance_error_state" would not be able to set
vm_state to ERROR in db "nova.instances." And
"add_instance_fault_from_exc" would not be able to add the fault
information into db "nova.instance_faults."
To manage notifications about this bug go to:
https://bugs.launchpad.net/nova/+bug/1153774/+subscriptions