35112d7667
Change I4d3193d8401614311010ed0e055fcb3aaeeebaed added some
additional local delete cleanup to prevent leaking of placement
allocations. The change introduced a regression in our "delete while
booting" handling as the _local_delete_cleanup required a valid
instance object to do its work and in two cases, we could have
instance = None from _lookup_instance if we are racing with a create
request and the conductor has deleted the instance record while we
are in the middle of processing the delete request.
This handles those scenarios by doing two things:
(1) Changing the _local_delete_cleanup and
_update_queued_for_deletion methods to take an instance UUID
instead of a full instance object as they really only need the
UUID to do their work
(2) Saving a copy of the instance UUID before doing another instance
lookup which might return None and passing that UUID to the
_local_delete_cleanup and _update_queued_for_deletion methods
Closes-Bug: #1914777
Change-Id: I03cf285ad83e09d88cdb702a88dfed53c01610f8
(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_1669054.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_1764556.py | ||
test_bug_1764883.py | ||
test_bug_1778305.py | ||
test_bug_1780373.py | ||
test_bug_1781286.py | ||
test_bug_1781710.py | ||
test_bug_1784353.py | ||
test_bug_1790204.py | ||
test_bug_1794996.py | ||
test_bug_1797580.py | ||
test_bug_1806064.py | ||
test_bug_1806515.py | ||
test_bug_1815153.py | ||
test_bug_1823370.py | ||
test_bug_1825020.py | ||
test_bug_1825034.py | ||
test_bug_1825537.py | ||
test_bug_1830747.py | ||
test_bug_1831771.py | ||
test_bug_1835822.py | ||
test_bug_1837955.py | ||
test_bug_1839560.py | ||
test_bug_1843090.py | ||
test_bug_1843708.py | ||
test_bug_1845291.py | ||
test_bug_1848343.py | ||
test_bug_1849165.py | ||
test_bug_1849409.py | ||
test_bug_1852458.py | ||
test_bug_1862633.py | ||
test_bug_1879878.py | ||
test_bug_1886418.py | ||
test_bug_1888395.py | ||
test_bug_1889108.py | ||
test_bug_1893284.py | ||
test_bug_1894966.py | ||
test_bug_1895696.py | ||
test_bug_1896463.py | ||
test_bug_1899649.py | ||
test_bug_1902925.py | ||
test_bug_1914777.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.