3f37d0bba4
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. Change-Id: I21c2189cc1de6b8e4857de77acd9f1ef8b6ea9f6 Related-Bug: #1806064 (cherry picked from commit |
||
---|---|---|
.. | ||
README.rst | ||
__init__.py | ||
test_bug_1404867.py | ||
test_bug_1522536.py | ||
test_bug_1541691.py | ||
test_bug_1548980.py | ||
test_bug_1552888.py | ||
test_bug_1554631.py | ||
test_bug_1558866.py | ||
test_bug_1568208.py | ||
test_bug_1595962.py | ||
test_bug_1620248.py | ||
test_bug_1627838.py | ||
test_bug_1670627.py | ||
test_bug_1671648.py | ||
test_bug_1675570.py | ||
test_bug_1678326.py | ||
test_bug_1679750.py | ||
test_bug_1682693.py | ||
test_bug_1689692.py | ||
test_bug_1702454.py | ||
test_bug_1713783.py | ||
test_bug_1718455.py | ||
test_bug_1718512.py | ||
test_bug_1719730.py | ||
test_bug_1732947.py | ||
test_bug_1735407.py | ||
test_bug_1741125.py | ||
test_bug_1741307.py | ||
test_bug_1746483.py | ||
test_bug_1746509.py | ||
test_bug_1764883.py | ||
test_bug_1780373.py | ||
test_bug_1784353.py | ||
test_bug_1806064.py |
README.rst
Tests for Specific Regressions
When we have a bug reported by end users that we can write a full stack reproduce on, we should. And we should keep a regression test for that bug in our tree. It can be deleted at some future date if needed, but largely should not be changed.
Writing Regression Tests
- These should be full stack tests which inherit from nova.test.TestCase directly. (This is to prevent coupling with other tests).
- They should setup a full stack cloud in their setUp via fixtures
- They should each live in a file which is named test_bug######.py
Writing Tests Before the Bug is Fixed
TODO describe writing and landing tests before the bug is fixed as a reproduce.