581df2c986
Before change I4244f7dd8fe74565180f73684678027067b4506e in Stein, when a cold migration would reschedule to conductor it would not send the RequestSpec, only the filter_properties. The filter_properties contain a primitive version of the instance group information from the RequestSpec for things like the group members, hosts and policies, but not the uuid. When conductor is trying to reschedule the cold migration without a RequestSpec, it builds a RequestSpec from the components it has, like the filter_properties. This results in a RequestSpec with an instance_group field set but with no uuid field in the RequestSpec.instance_group. That RequestSpec gets persisted and then because of change Ie70c77db753711e1449e99534d3b83669871943f, later attempts to load the RequestSpec from the database will fail because of the missing RequestSpec.instance_group.uuid. The test added here recreates the pre-Stein scenario which could still be a problem (on master) for any corrupted RequestSpecs for older instances. NOTE(mriedem): In this version we have to request a specific port to avoid a NetworkAmbiguous failure when creating the server. Change-Id: I05700c97f756edb7470be7273d5c9c3d76d63e29 Related-Bug: #1830747 (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_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_1746509.py | ||
test_bug_1764883.py | ||
test_bug_1780373.py | ||
test_bug_1784353.py | ||
test_bug_1794996.py | ||
test_bug_1797580.py | ||
test_bug_1806064.py | ||
test_bug_1806515.py | ||
test_bug_1830747.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.