yahoo-eng-team team mailing list archive
-
yahoo-eng-team team
-
Mailing list archive
-
Message #62603
[Bug 1675570] [NEW] Volumes are not detached when deleting shelved offloaded servers
Public bug reported:
I performed the following steps in a functional test within Nova:
1. Create a server and wait for it to be ACTIVE.
2. Shelve the server (it's automatically offloaded from the compute host).
3. Attach a volume to the shelved offloaded server (using microversion 2.20 or later).
4. Wait for the volume to show up as attached to the server and be in 'in-use' state.
5. Delete the server. This triggers a "local delete" in the API code since instance.host is None.
Expected result:
The volume is detached from the server and in 'available' status again.
Actual result:
The volume status is still 'in-use' even though the server is deleted.
This is a regression in Ocata with the cells v2 code that was added in
the local delete flow in the API:
https://github.com/openstack/nova/blob/2a41eb8786fa1654bbecb50c2a15fdd96fdc4767/nova/compute/api.py#L1887
The problem is with cells v2 when the instance is mapped to a cell, and
we do a local delete, we're destroying the instance in the cell but we
aren't cleaning up the volumes like we would normally do in the old
local delete flow where the instance.host is None but not mapped to a
cell:
https://github.com/openstack/nova/blob/2a41eb8786fa1654bbecb50c2a15fdd96fdc4767/nova/compute/api.py#L2207
** Affects: nova
Importance: High
Status: Triaged
** Tags: api cells ocata-backport-potential volumes
--
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/1675570
Title:
Volumes are not detached when deleting shelved offloaded servers
Status in OpenStack Compute (nova):
Triaged
Bug description:
I performed the following steps in a functional test within Nova:
1. Create a server and wait for it to be ACTIVE.
2. Shelve the server (it's automatically offloaded from the compute host).
3. Attach a volume to the shelved offloaded server (using microversion 2.20 or later).
4. Wait for the volume to show up as attached to the server and be in 'in-use' state.
5. Delete the server. This triggers a "local delete" in the API code since instance.host is None.
Expected result:
The volume is detached from the server and in 'available' status
again.
Actual result:
The volume status is still 'in-use' even though the server is deleted.
This is a regression in Ocata with the cells v2 code that was added in
the local delete flow in the API:
https://github.com/openstack/nova/blob/2a41eb8786fa1654bbecb50c2a15fdd96fdc4767/nova/compute/api.py#L1887
The problem is with cells v2 when the instance is mapped to a cell,
and we do a local delete, we're destroying the instance in the cell
but we aren't cleaning up the volumes like we would normally do in the
old local delete flow where the instance.host is None but not mapped
to a cell:
https://github.com/openstack/nova/blob/2a41eb8786fa1654bbecb50c2a15fdd96fdc4767/nova/compute/api.py#L2207
To manage notifications about this bug go to:
https://bugs.launchpad.net/nova/+bug/1675570/+subscriptions
Follow ups