Fix database poison warnings, part 3
The following warning appears in the unit test logs a number of times. This patch fixes the warnings in ComputeAPIAPICellUnitTestCase. "UserWarning: This test uses methods that set internal oslo_db state, but it does not claim to use the database. This will conflict with the setup of tests that do use the database and cause failures later." Note that this warning is only emitted once per unit test worker, so new offenders will show up in the logs each time you fix a test until they are all gone. Change-Id: Idcd733df2aafe809cb89f2a1db5df6ad227dd39c Related-Bug: #1568414
This commit is contained in:
parent
044edbe366
commit
70de70c71c
|
@ -13,7 +13,6 @@
|
|||
|
||||
"""Unit tests for compute API."""
|
||||
|
||||
import copy
|
||||
import datetime
|
||||
|
||||
import iso8601
|
||||
|
@ -1133,8 +1132,8 @@ class _ComputeAPIUnitTestMixIn(object):
|
|||
updates = {'progress': 0, 'task_state': task_states.DELETING}
|
||||
|
||||
self.mox.StubOutWithMock(inst, 'save')
|
||||
self.mox.StubOutWithMock(db,
|
||||
'block_device_mapping_get_all_by_instance')
|
||||
self.mox.StubOutWithMock(objects.BlockDeviceMappingList,
|
||||
'get_by_instance_uuid')
|
||||
|
||||
self.mox.StubOutWithMock(db, 'constraint')
|
||||
self.mox.StubOutWithMock(db, 'instance_destroy')
|
||||
|
@ -1147,8 +1146,9 @@ class _ComputeAPIUnitTestMixIn(object):
|
|||
rpcapi = self.compute_api.compute_rpcapi
|
||||
self.mox.StubOutWithMock(rpcapi, 'terminate_instance')
|
||||
|
||||
db.block_device_mapping_get_all_by_instance(self.context,
|
||||
inst.uuid).AndReturn([])
|
||||
objects.BlockDeviceMappingList.get_by_instance_uuid(
|
||||
self.context, inst.uuid).AndReturn(
|
||||
objects.BlockDeviceMappingList())
|
||||
inst.save()
|
||||
self.compute_api._create_reservations(self.context,
|
||||
inst, inst.task_state,
|
||||
|
@ -1275,15 +1275,16 @@ class _ComputeAPIUnitTestMixIn(object):
|
|||
|
||||
def test_delete_soft_rollback(self):
|
||||
inst = self._create_instance_obj()
|
||||
self.mox.StubOutWithMock(db,
|
||||
'block_device_mapping_get_all_by_instance')
|
||||
self.mox.StubOutWithMock(objects.BlockDeviceMappingList,
|
||||
'get_by_instance_uuid')
|
||||
self.mox.StubOutWithMock(inst, 'save')
|
||||
|
||||
delete_time = datetime.datetime(1955, 11, 5)
|
||||
self.useFixture(utils_fixture.TimeFixture(delete_time))
|
||||
|
||||
db.block_device_mapping_get_all_by_instance(
|
||||
self.context, inst.uuid).AndReturn([])
|
||||
objects.BlockDeviceMappingList.get_by_instance_uuid(
|
||||
self.context, inst.uuid).AndReturn(
|
||||
objects.BlockDeviceMappingList())
|
||||
inst.save().AndRaise(test.TestingException)
|
||||
|
||||
self.mox.ReplayAll()
|
||||
|
@ -1304,6 +1305,7 @@ class _ComputeAPIUnitTestMixIn(object):
|
|||
self.mox.StubOutWithMock(compute_utils, 'downsize_quota_delta')
|
||||
self.mox.StubOutWithMock(compute_utils, 'reserve_quota_delta')
|
||||
self.mox.StubOutWithMock(fake_mig, 'save')
|
||||
self.mox.StubOutWithMock(quota.QUOTAS, 'commit')
|
||||
self.mox.StubOutWithMock(self.compute_api, '_record_action_start')
|
||||
self.mox.StubOutWithMock(self.compute_api.compute_rpcapi,
|
||||
'confirm_resize')
|
||||
|
@ -1328,7 +1330,8 @@ class _ComputeAPIUnitTestMixIn(object):
|
|||
fake_mig.save().WithSideEffects(_check_mig)
|
||||
|
||||
if self.cell_type:
|
||||
fake_quotas.commit()
|
||||
quota.QUOTAS.commit(self.context, resvs, project_id=None,
|
||||
user_id=None)
|
||||
|
||||
self.compute_api._record_action_start(self.context, fake_inst,
|
||||
'confirmResize')
|
||||
|
@ -1366,6 +1369,7 @@ class _ComputeAPIUnitTestMixIn(object):
|
|||
self.mox.StubOutWithMock(compute_utils, 'reserve_quota_delta')
|
||||
self.mox.StubOutWithMock(fake_inst, 'save')
|
||||
self.mox.StubOutWithMock(fake_mig, 'save')
|
||||
self.mox.StubOutWithMock(quota.QUOTAS, 'commit')
|
||||
self.mox.StubOutWithMock(self.compute_api, '_record_action_start')
|
||||
self.mox.StubOutWithMock(self.compute_api.compute_rpcapi,
|
||||
'revert_resize')
|
||||
|
@ -1396,7 +1400,8 @@ class _ComputeAPIUnitTestMixIn(object):
|
|||
fake_mig.save().WithSideEffects(_check_mig)
|
||||
|
||||
if self.cell_type:
|
||||
fake_quotas.commit()
|
||||
quota.QUOTAS.commit(self.context, resvs, project_id=None,
|
||||
user_id=None)
|
||||
|
||||
self.compute_api._record_action_start(self.context, fake_inst,
|
||||
'revertResize')
|
||||
|
@ -1426,6 +1431,7 @@ class _ComputeAPIUnitTestMixIn(object):
|
|||
'reverse_upsize_quota_delta')
|
||||
self.mox.StubOutWithMock(compute_utils, 'reserve_quota_delta')
|
||||
self.mox.StubOutWithMock(fake_inst, 'save')
|
||||
self.mox.StubOutWithMock(quota.QUOTAS, 'rollback')
|
||||
|
||||
self.context.elevated().AndReturn(self.context)
|
||||
objects.Migration.get_by_instance_and_status(
|
||||
|
@ -1445,7 +1451,8 @@ class _ComputeAPIUnitTestMixIn(object):
|
|||
expected={'task_state': [None]})
|
||||
fake_inst.save(expected_task_state=[None]).AndRaise(exc)
|
||||
|
||||
fake_quotas.rollback()
|
||||
quota.QUOTAS.rollback(self.context, resvs, project_id=None,
|
||||
user_id=None)
|
||||
|
||||
self.mox.ReplayAll()
|
||||
self.assertRaises(exception.UnexpectedTaskStateError,
|
||||
|
@ -1474,6 +1481,7 @@ class _ComputeAPIUnitTestMixIn(object):
|
|||
self.mox.StubOutWithMock(compute_utils, 'upsize_quota_delta')
|
||||
self.mox.StubOutWithMock(compute_utils, 'reserve_quota_delta')
|
||||
self.mox.StubOutWithMock(fake_inst, 'save')
|
||||
self.mox.StubOutWithMock(quota.QUOTAS, 'commit')
|
||||
self.mox.StubOutWithMock(self.compute_api, '_record_action_start')
|
||||
self.mox.StubOutWithMock(self.compute_api.compute_task_api,
|
||||
'resize_instance')
|
||||
|
@ -1524,7 +1532,9 @@ class _ComputeAPIUnitTestMixIn(object):
|
|||
else:
|
||||
expected_reservations = []
|
||||
if self.cell_type == 'api':
|
||||
fake_quotas.commit()
|
||||
if flavor_id_passed:
|
||||
quota.QUOTAS.commit(self.context, resvs, project_id=None,
|
||||
user_id=None)
|
||||
expected_reservations = []
|
||||
mig = objects.Migration()
|
||||
|
||||
|
@ -2272,8 +2282,10 @@ class _ComputeAPIUnitTestMixIn(object):
|
|||
quiesced = [False, False]
|
||||
quiesce_expected = not quiesce_fails and vm_state == vm_states.ACTIVE
|
||||
|
||||
def fake_get_all_by_instance(context, instance, use_slave=False):
|
||||
return copy.deepcopy(instance_bdms)
|
||||
@classmethod
|
||||
def fake_bdm_list_get_by_instance_uuid(cls, context, instance_uuid):
|
||||
return obj_base.obj_make_list(context, cls(),
|
||||
objects.BlockDeviceMapping, instance_bdms)
|
||||
|
||||
def fake_image_create(context, image_meta, data=None):
|
||||
self.assertThat(image_meta, matchers.DictMatches(expect_meta))
|
||||
|
@ -2293,8 +2305,9 @@ class _ComputeAPIUnitTestMixIn(object):
|
|||
def fake_unquiesce_instance(context, instance, mapping=None):
|
||||
quiesced[1] = True
|
||||
|
||||
self.stub_out('nova.db.block_device_mapping_get_all_by_instance',
|
||||
fake_get_all_by_instance)
|
||||
self.stub_out('nova.objects.BlockDeviceMappingList'
|
||||
'.get_by_instance_uuid',
|
||||
fake_bdm_list_get_by_instance_uuid)
|
||||
self.stubs.Set(self.compute_api.image_api, 'create',
|
||||
fake_image_create)
|
||||
self.stubs.Set(self.compute_api.volume_api, 'get',
|
||||
|
|
Loading…
Reference in New Issue