API cell always doing local deletes
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
OpenStack Compute (nova) |
Fix Released
|
Medium
|
Chris Behrens | ||
Havana |
Fix Released
|
Medium
|
Sam Morrison |
Bug Description
It appears a regression was introduced in:
https:/
Where the API cell is now always doing a _local_delete()... before telling child cells to delete the instance. There's at least a couple of bad side effects of this:
1) The instance disappears immediately from API view, even though the instance still exists in the child cell. The user does not see a 'deleting' task state. And if the delete fails in the child cell, you have a sync issue until the instance is 'healed'.
2) Double delete.start and delete.end notifications are sent. 1 from API cell, 1 from child cell.
The problem seems to be that _local_delete is being called because the service is determined to be down... because the compute service does not run in the API cell.
summary: |
- API cell doing always doing local deletes + API cell always doing local deletes |
Changed in nova: | |
status: | New → In Progress |
assignee: | nobody → Chris Behrens (cbehrens) |
tags: | added: cells |
tags: | added: havana-backport-potential |
tags: |
added: havana-rc-potential removed: cells havana-backport-potential |
tags: |
added: havana-backport-potential removed: havana-rc-potential |
Changed in nova: | |
milestone: | none → icehouse-1 |
Changed in nova: | |
status: | Fix Committed → Fix Released |
tags: | removed: havana-backport-potential in-stable-havana |
Changed in nova: | |
importance: | Undecided → Medium |
Changed in nova: | |
milestone: | icehouse-1 → 2014.1 |
Reviewed: https:/ /review. openstack. org/51948 github. com/openstack/ nova/commit/ 0493c803ae9612f 87ed028e1a39e88 0aead5bdcb
Committed: http://
Submitter: Jenkins
Branch: master
commit 0493c803ae9612f 87ed028e1a39e88 0aead5bdcb
Author: Chris Behrens <email address hidden>
Date: Tue Oct 15 21:48:54 2013 +0000
Cells: Fix instance deletes
A regression was introduced with object conversion that caused all
instances to be locally deleted in the API cell when cells is enabled.
This would happen before the child cell was told to delete the instance.
Additionally, if an instance record was created in a child cell but
failed to schedule to a host in such a way that the API cell has
no knowledge of the 'host', the instance would be deleted in the API
cell only.
Also, it appears that we would cast deletes to child cells twice due to
logic duplicated in cells_api.py that exists in api.py.
Closes-Bug: #1240247
Change-Id: I94cfddd9cef2d6 3b2cb31c0f2dae8 e211a4418d9