nova/nova/tests/functional/regressions
Matt Riedemann 4c6443c0b5 Handle volume-backed instances in IsolatedHostsFilter
The RequestSpec.image object for a volume-backed instance will
not have the 'id' attribute set because the
nova.utils.get_image_metadata_from_volume() method doesn't convert
the volume['volume_image_metadata']['image_id'] into the ImageMeta.id
field. It is unclear if there are intentional reasons for omitting
this information, but the IsolatedHostsFilter has just never supported
filtering for volume-backed instances based on a provided image id.

The logic within the filter depends on the
restrict_isolated_hosts_to_isolated_images config option, which
defaults to True. When True, a volume-backed instance will not be
put on an isolated host. When False, a volume-backed instance can
go on any host, isolated or not.

Again, it's unclear if we should actually be filtering volume-backed
servers using the image_id from the volume_image_metadata or not,
but it's not what we've historically done so this change simply
fixes the regression bug.

Change-Id: Ieb8abb1a3f04ce008f9617e051e4d720dbe6917a
Closes-Bug: #1746483
(cherry picked from commit 0a7427dc58)
2018-02-12 14:45:39 -05:00
..
README.rst
__init__.py
test_bug_1522536.py replace chance with filter scheduler in func tests 2017-08-16 14:42:51 +00:00
test_bug_1541691.py Remove unused conf 2016-09-02 09:02:23 +08:00
test_bug_1548980.py replace chance with filter scheduler in func tests 2017-08-16 14:42:51 +00:00
test_bug_1552888.py Trivial-Fix: Fix typos 2016-06-13 06:41:08 +00:00
test_bug_1554631.py Catching OverQuota Exception 2017-05-03 19:00:34 +00:00
test_bug_1558866.py conf: Remove deprecated 'null_kernel' opt 2017-10-21 00:23:51 +00:00
test_bug_1568208.py Fix generation of Guru Meditation Report 2016-04-13 17:00:32 +03:00
test_bug_1595962.py Remove unnecessary self.flags and ConfPatcher 2017-11-27 15:49:10 +00:00
test_bug_1620248.py Stop using mox stubs in cast_as_call.py 2017-07-25 00:40:41 +00:00
test_bug_1627838.py Stop overwriting thread local context in ClientRouter 2016-09-26 20:49:22 +00:00
test_bug_1670627.py Stop using mox stubs in cast_as_call.py 2017-07-25 00:40:41 +00:00
test_bug_1671648.py Make conductor pass and use host_lists 2017-12-21 17:02:35 -05:00
test_bug_1675570.py Implement new attach Cinder flow 2017-12-07 10:29:15 -05:00
test_bug_1678326.py Commit usage decrement after destroying instance 2017-04-05 15:19:15 -04:00
test_bug_1679750.py replace chance with filter scheduler in func tests 2017-08-16 14:42:51 +00:00
test_bug_1682693.py replace chance with filter scheduler in func tests 2017-08-16 14:42:51 +00:00
test_bug_1689692.py Always put 'uuid' into sort_keys for stable instance lists 2017-10-07 07:45:40 -07:00
test_bug_1702454.py Functional regression test for evacuate with a target 2017-10-29 13:49:06 -04:00
test_bug_1713783.py Set server status to ERROR if rebuild failed 2018-01-23 11:39:45 -05:00
test_bug_1718455.py Ensure instance can migrate when launched concurrently 2017-09-28 11:40:54 -04:00
test_bug_1719730.py Set group_members when converting to legacy request spec 2017-09-27 20:52:19 +00:00
test_bug_1732947.py Implement new attach Cinder flow 2017-12-07 10:29:15 -05:00
test_bug_1735407.py Add late server group policy check to rebuild 2018-02-06 13:54:12 +01:00
test_bug_1741125.py Add regression test for resize failing during retries 2018-01-08 10:51:30 -05:00
test_bug_1741307.py Handle no allocations during migrate 2018-01-04 14:18:50 -05:00
test_bug_1746483.py Handle volume-backed instances in IsolatedHostsFilter 2018-02-12 14:45:39 -05:00

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.