Change I9269ffa2b80e48db96c622d0dc0817738854f602 in Pike
introduced a race condition where creating multiple
servers concurrently can fail the second instances quota
check which happens in conductor after the instance record
is created in the cell database but its related BDMs and
tags are not stored in the cell DB. When deleting the
server from the API, since the BDMs are not in the cell
database with the instance, they are not "seen" and thus
the volume attachments are not deleted and the volume is
orphaned. As for tags, you should be able to see the tags
on the server in ERROR status from the API before deleting
it.
This change adds a functional regression test to show both
the volume attachment and tag issue when we fail the quota
check in conductor.
Reviewed: https:/ /review. openstack. org/621664 /git.openstack. org/cgit/ openstack/ nova/commit/ ?id=5d514b33e28 964b38aeb42a8dd 5b93f3fc8ae239
Committed: https:/
Submitter: Zuul
Branch: master
commit 5d514b33e28964b 38aeb42a8dd5b93 f3fc8ae239
Author: Matt Riedemann <email address hidden>
Date: Mon Dec 3 12:55:11 2018 -0500
Add functional regression test for bug 1806064
Change I9269ffa2b80e48 db96c622d0dc081 7738854f602 in Pike
introduced a race condition where creating multiple
servers concurrently can fail the second instances quota
check which happens in conductor after the instance record
is created in the cell database but its related BDMs and
tags are not stored in the cell DB. When deleting the
server from the API, since the BDMs are not in the cell
database with the instance, they are not "seen" and thus
the volume attachments are not deleted and the volume is
orphaned. As for tags, you should be able to see the tags
on the server in ERROR status from the API before deleting
it.
This change adds a functional regression test to show both
the volume attachment and tag issue when we fail the quota
check in conductor.
Change-Id: I21c2189cc1de6b 8e4857de77acd9f 1ef8b6ea9f6
Related-Bug: #1806064