Merge "Prevent NFV unit tests from randomly failing"

This commit is contained in:
Zuul 2018-11-22 13:10:52 +00:00 committed by Gerrit Code Review
commit 7c69e87dfd
5 changed files with 118 additions and 111 deletions

View File

@ -42,30 +42,30 @@ def fake_event_issue(a, b, c, d):
# nova/tests/unit/virt/libvirt/test_driver.py
class TestInstance(testcase.NFVTestCase):
_tenant_table = Table()
_instance_type_table = InstanceTypeTable()
_image_table = ImageTable()
_instance_table = InstanceTable()
_instance_group_table = InstanceGroupTable()
_host_table = HostTable()
_host_group_table = HostGroupTable()
_host_aggregate_table = HostAggregateTable()
# Don't attempt to write to the database while unit testing
_tenant_table.persist = False
_image_table.persist = False
_instance_type_table.persist = False
_instance_table.persist = False
_instance_group_table.persist = False
_host_table.persist = False
_host_group_table.persist = False
_host_aggregate_table.persist = False
def setUp(self):
"""
Setup for testing.
"""
super(TestInstance, self).setUp()
self._tenant_table = Table()
self._instance_type_table = InstanceTypeTable()
self._image_table = ImageTable()
self._instance_table = InstanceTable()
self._instance_group_table = InstanceGroupTable()
self._host_table = HostTable()
self._host_group_table = HostGroupTable()
self._host_aggregate_table = HostAggregateTable()
# Don't attempt to write to the database while unit testing
self._tenant_table.persist = False
self._image_table.persist = False
self._instance_type_table.persist = False
self._instance_table.persist = False
self._instance_group_table.persist = False
self._host_table.persist = False
self._host_group_table.persist = False
self._host_aggregate_table.persist = False
self.useFixture(fixtures.MonkeyPatch('nfv_vim.tables._tenant_table._tenant_table',
self._tenant_table))
self.useFixture(fixtures.MonkeyPatch('nfv_vim.tables._host_table._host_table',

View File

@ -30,28 +30,29 @@ def fake_timer(a, b, c, d):
class TestInstanceDirector(testcase.NFVTestCase):
_image_table = ImageTable()
_instance_table = Table()
_instance_type_table = Table()
_tenant_table = Table()
# Don't attempt to write to the database while unit testing
_image_table.persist = False
_instance_table.persist = False
_instance_type_table.persist = False
_tenant_table.persist = False
_director = None
def setUp(self):
super(TestInstanceDirector, self).setUp()
self._image_table = ImageTable()
self._instance_table = Table()
self._instance_type_table = Table()
self._tenant_table = Table()
# Don't attempt to write to the database while unit testing
self._image_table.persist = False
self._instance_table.persist = False
self._instance_type_table.persist = False
self._tenant_table.persist = False
self._director = None
self.instance_setup_func()
def tearDown(self):
super(TestInstanceDirector, self).tearDown()
self._tenant_table.clear()
self._image_table.clear()
self._instance_table.clear()
self._instance_type_table.clear()
self._tenant_table.clear()
self._director = None
def create_instance(self, instance_type_name, instance_name, recovery_priority=None):
@ -91,34 +92,33 @@ class TestInstanceDirector(testcase.NFVTestCase):
"""
instance_type_uuid = uuid.uuid4()
if 0 == len(self._instance_type_table):
instance_type = objects.InstanceType(instance_type_uuid, 'small')
instance_type.update_details(vcpus=1, mem_mb=64, disk_gb=1, ephemeral_gb=0,
swap_gb=0, guest_services=None,
auto_recovery=True,
live_migration_timeout=800,
live_migration_max_downtime=500,
storage_type='local_image')
self._instance_type_table[instance_type_uuid] = instance_type
instance_type = objects.InstanceType(instance_type_uuid, 'small')
instance_type.update_details(vcpus=1,
mem_mb=64,
disk_gb=1,
ephemeral_gb=0,
swap_gb=0,
guest_services=None,
auto_recovery=True,
live_migration_timeout=800,
live_migration_max_downtime=500,
storage_type='local_image')
self._instance_type_table[instance_type_uuid] = instance_type
self._instance_table.clear()
if self._director is None:
self._director = InstanceDirector(
max_concurrent_recovering_instances=4,
max_concurrent_migrates_per_host=1,
max_concurrent_evacuates_per_host=1,
recovery_audit_interval=_audit_interval,
recovery_audit_cooldown=_audit_cooldown,
recovery_audit_batch_interval=2,
recovery_cooldown=_recovery_cooldown,
rebuild_timeout=_rebuild_timeout,
reboot_timeout=_reboot_timeout,
migrate_timeout=_migrate_timeout,
single_hypervisor=False,
recovery_threshold=250,
max_throttled_recovering_instances=2
)
self._director = InstanceDirector(
max_concurrent_recovering_instances=4,
max_concurrent_migrates_per_host=1,
max_concurrent_evacuates_per_host=1,
recovery_audit_interval=_audit_interval,
recovery_audit_cooldown=_audit_cooldown,
recovery_audit_batch_interval=2,
recovery_cooldown=_recovery_cooldown,
rebuild_timeout=_rebuild_timeout,
reboot_timeout=_reboot_timeout,
migrate_timeout=_migrate_timeout,
single_hypervisor=False,
recovery_threshold=250,
max_throttled_recovering_instances=2)
@mock.patch('nfv_vim.tables.tables_get_tenant_table')
@mock.patch('nfv_vim.tables.tables_get_instance_type_table')

View File

@ -48,10 +48,10 @@ class TestNFVPluginsK8SNodeTaint(testcase.NFVTestCase):
test_value1 = 'testValue1'
test_key2 = 'testKey2'
test_value2 = 'testValue2'
test_node_repo = {}
def setUp(self):
super(TestNFVPluginsK8SNodeTaint, self).setUp()
self.test_node_repo = {}
self.setup_node_repo(self.test_node_name)
def mock_patch_node(obj, node_name, body):

View File

@ -149,28 +149,28 @@ def fake_event_issue(a, b, c, d):
@mock.patch('nfv_vim.event_log._instance._event_issue', fake_event_issue)
class TestSwPatchStrategy(testcase.NFVTestCase):
_tenant_table = Table()
_instance_type_table = Table()
_instance_table = InstanceTable()
_instance_group_table = InstanceGroupTable()
_host_table = HostTable()
_host_group_table = HostGroupTable()
_host_aggregate_table = HostAggregateTable()
# Don't attempt to write to the database while unit testing
_tenant_table.persist = False
_instance_type_table.persist = False
_instance_table.persist = False
_instance_group_table.persist = False
_host_table.persist = False
_host_group_table.persist = False
_host_aggregate_table.persist = False
def setUp(self):
"""
Setup for testing.
"""
super(TestSwPatchStrategy, self).setUp()
self._tenant_table = Table()
self._instance_type_table = Table()
self._instance_table = InstanceTable()
self._instance_group_table = InstanceGroupTable()
self._host_table = HostTable()
self._host_group_table = HostGroupTable()
self._host_aggregate_table = HostAggregateTable()
# Don't attempt to write to the database while unit testing
self._tenant_table.persist = False
self._instance_type_table.persist = False
self._instance_table.persist = False
self._instance_group_table.persist = False
self._host_table.persist = False
self._host_group_table.persist = False
self._host_aggregate_table.persist = False
self.useFixture(fixtures.MonkeyPatch('nfv_vim.tables._tenant_table._tenant_table',
self._tenant_table))
self.useFixture(fixtures.MonkeyPatch('nfv_vim.tables._host_table._host_table',
@ -187,15 +187,18 @@ class TestSwPatchStrategy(testcase.NFVTestCase):
self._instance_type_table))
instance_type_uuid = str(uuid.uuid4())
if 0 == len(self._instance_type_table):
instance_type = objects.InstanceType(instance_type_uuid, 'small')
instance_type.update_details(vcpus=1, mem_mb=64, disk_gb=1, ephemeral_gb=0,
swap_gb=0, guest_services=None,
auto_recovery=True,
live_migration_timeout=800,
live_migration_max_downtime=500,
storage_type='local_image')
self._instance_type_table[instance_type_uuid] = instance_type
instance_type = objects.InstanceType(instance_type_uuid, 'small')
instance_type.update_details(vcpus=1,
mem_mb=64,
disk_gb=1,
ephemeral_gb=0,
swap_gb=0,
guest_services=None,
auto_recovery=True,
live_migration_timeout=800,
live_migration_max_downtime=500,
storage_type='local_image')
self._instance_type_table[instance_type_uuid] = instance_type
def tearDown(self):
"""

View File

@ -128,25 +128,26 @@ def fake_event_issue(a, b, c, d):
@mock.patch('nfv_vim.objects._sw_update.SwUpdate.save', fake_save)
@mock.patch('nfv_vim.objects._sw_update.timers.timers_create_timer', fake_timer)
class TestSwUpgradeStrategy(testcase.NFVTestCase):
_tenant_table = Table()
_instance_type_table = Table()
_instance_table = InstanceTable()
_instance_group_table = InstanceGroupTable()
_host_table = HostTable()
_host_group_table = HostGroupTable()
_host_aggregate_table = HostAggregateTable()
# Don't attempt to write to the database while unit testing
_tenant_table.persist = False
_instance_type_table.persist = False
_instance_table.persist = False
_instance_group_table.persist = False
_host_table.persist = False
_host_group_table.persist = False
_host_aggregate_table.persist = False
def setUp(self):
super(TestSwUpgradeStrategy, self).setUp()
self._tenant_table = Table()
self._instance_type_table = Table()
self._instance_table = InstanceTable()
self._instance_group_table = InstanceGroupTable()
self._host_table = HostTable()
self._host_group_table = HostGroupTable()
self._host_aggregate_table = HostAggregateTable()
# Don't attempt to write to the database while unit testing
self._tenant_table.persist = False
self._instance_type_table.persist = False
self._instance_table.persist = False
self._instance_group_table.persist = False
self._host_table.persist = False
self._host_group_table.persist = False
self._host_aggregate_table.persist = False
self.useFixture(fixtures.MonkeyPatch('nfv_vim.tables._host_aggregate_table._host_aggregate_table',
self._host_aggregate_table))
self.useFixture(fixtures.MonkeyPatch('nfv_vim.tables._host_group_table._host_group_table',
@ -164,15 +165,18 @@ class TestSwUpgradeStrategy(testcase.NFVTestCase):
instance_type_uuid = str(uuid.uuid4())
if 0 == len(self._instance_type_table):
instance_type = objects.InstanceType(instance_type_uuid, 'small')
instance_type.update_details(vcpus=1, mem_mb=64, disk_gb=1, ephemeral_gb=0,
swap_gb=0, guest_services=None,
auto_recovery=True,
live_migration_timeout=800,
live_migration_max_downtime=500,
storage_type='local_image')
self._instance_type_table[instance_type_uuid] = instance_type
instance_type = objects.InstanceType(instance_type_uuid, 'small')
instance_type.update_details(vcpus=1,
mem_mb=64,
disk_gb=1,
ephemeral_gb=0,
swap_gb=0,
guest_services=None,
auto_recovery=True,
live_migration_timeout=800,
live_migration_max_downtime=500,
storage_type='local_image')
self._instance_type_table[instance_type_uuid] = instance_type
def tearDown(self):
"""