Merge "Remove useless db call instance_get_all_hung_in_rebooting"
This commit is contained in:
@@ -724,12 +724,6 @@ def instance_floating_address_get_all(context, instance_uuid):
|
||||
return IMPL.instance_floating_address_get_all(context, instance_uuid)
|
||||
|
||||
|
||||
# NOTE(hanlind): This method can be removed as conductor RPC API moves to v2.0.
|
||||
def instance_get_all_hung_in_rebooting(context, reboot_window):
|
||||
"""Get all instances stuck in a rebooting state."""
|
||||
return IMPL.instance_get_all_hung_in_rebooting(context, reboot_window)
|
||||
|
||||
|
||||
def instance_update(context, instance_uuid, values):
|
||||
"""Set the given properties on an instance and update it.
|
||||
|
||||
|
||||
@@ -2416,22 +2416,6 @@ def instance_floating_address_get_all(context, instance_uuid):
|
||||
return [floating_ip.address for floating_ip in floating_ips]
|
||||
|
||||
|
||||
# NOTE(hanlind): This method can be removed as conductor RPC API moves to v2.0.
|
||||
@require_admin_context
|
||||
def instance_get_all_hung_in_rebooting(context, reboot_window):
|
||||
reboot_window = (timeutils.utcnow() -
|
||||
datetime.timedelta(seconds=reboot_window))
|
||||
|
||||
# NOTE(danms): this is only used in the _poll_rebooting_instances()
|
||||
# call in compute/manager, so we can avoid the metadata lookups
|
||||
# explicitly
|
||||
return _instances_fill_metadata(context,
|
||||
model_query(context, models.Instance).
|
||||
filter(models.Instance.updated_at <= reboot_window).
|
||||
filter_by(task_state=task_states.REBOOTING).all(),
|
||||
manual_joins=[])
|
||||
|
||||
|
||||
@require_context
|
||||
def instance_update(context, instance_uuid, values):
|
||||
instance_ref = _instance_update(context, instance_uuid, values)[1]
|
||||
|
||||
@@ -1166,7 +1166,8 @@ class InstanceList(base.ObjectListBase, base.NovaObject):
|
||||
# Version 1.16: Added get_all() method
|
||||
# Version 1.17: Instance <= version 1.20
|
||||
# Version 1.18: Instance <= version 1.21
|
||||
VERSION = '1.18'
|
||||
# Version 1.19: Removed get_hung_in_rebooting()
|
||||
VERSION = '1.19'
|
||||
|
||||
fields = {
|
||||
'objects': fields.ListOfObjectsField('Instance'),
|
||||
@@ -1191,6 +1192,7 @@ class InstanceList(base.ObjectListBase, base.NovaObject):
|
||||
'1.16': '1.19',
|
||||
'1.17': '1.20',
|
||||
'1.18': '1.21',
|
||||
'1.19': '1.21',
|
||||
}
|
||||
|
||||
@base.remotable_classmethod
|
||||
@@ -1243,14 +1245,6 @@ class InstanceList(base.ObjectListBase, base.NovaObject):
|
||||
return _make_instance_list(context, cls(), db_instances,
|
||||
expected_attrs)
|
||||
|
||||
@base.remotable_classmethod
|
||||
def get_hung_in_rebooting(cls, context, reboot_window,
|
||||
expected_attrs=None):
|
||||
db_inst_list = db.instance_get_all_hung_in_rebooting(context,
|
||||
reboot_window)
|
||||
return _make_instance_list(context, cls(), db_inst_list,
|
||||
expected_attrs)
|
||||
|
||||
@base.remotable_classmethod
|
||||
def _get_active_by_window_joined(cls, context, begin, end=None,
|
||||
project_id=None, host=None,
|
||||
|
||||
@@ -2436,28 +2436,6 @@ class InstanceTestCase(test.TestCase, ModelsObjectComparatorMixin):
|
||||
self.assertEqual(sorted(['metadata', 'system_metadata']),
|
||||
sorted(mock_fill.call_args[1]['manual_joins']))
|
||||
|
||||
def test_instance_get_all_hung_in_rebooting(self):
|
||||
# Ensure no instances are returned.
|
||||
results = db.instance_get_all_hung_in_rebooting(self.ctxt, 10)
|
||||
self.assertEqual([], results)
|
||||
|
||||
# Ensure one rebooting instance with updated_at older than 10 seconds
|
||||
# is returned.
|
||||
instance = self.create_instance_with_args(task_state="rebooting",
|
||||
updated_at=datetime.datetime(2000, 1, 1, 12, 0, 0))
|
||||
results = db.instance_get_all_hung_in_rebooting(self.ctxt, 10)
|
||||
self._assertEqualListsOfObjects([instance], results,
|
||||
ignored_keys=['task_state', 'info_cache', 'security_groups',
|
||||
'metadata', 'system_metadata', 'pci_devices',
|
||||
'extra'])
|
||||
db.instance_update(self.ctxt, instance['uuid'], {"task_state": None})
|
||||
|
||||
# Ensure the newly rebooted instance is not returned.
|
||||
self.create_instance_with_args(task_state="rebooting",
|
||||
updated_at=timeutils.utcnow())
|
||||
results = db.instance_get_all_hung_in_rebooting(self.ctxt, 10)
|
||||
self.assertEqual([], results)
|
||||
|
||||
def test_instance_update_with_expected_vm_state(self):
|
||||
instance = self.create_instance_with_args(vm_state='foo')
|
||||
db.instance_update(self.ctxt, instance['uuid'], {'host': 'h1',
|
||||
|
||||
@@ -1559,20 +1559,6 @@ class _TestInstanceListObject(object):
|
||||
self.assertIsInstance(inst_list.objects[i], instance.Instance)
|
||||
self.assertEqual(inst_list.objects[i].uuid, fakes[i]['uuid'])
|
||||
|
||||
def test_get_hung_in_rebooting(self):
|
||||
fakes = [self.fake_instance(1),
|
||||
self.fake_instance(2)]
|
||||
dt = timeutils.isotime()
|
||||
self.mox.StubOutWithMock(db, 'instance_get_all_hung_in_rebooting')
|
||||
db.instance_get_all_hung_in_rebooting(self.context, dt).AndReturn(
|
||||
fakes)
|
||||
self.mox.ReplayAll()
|
||||
inst_list = instance.InstanceList.get_hung_in_rebooting(self.context,
|
||||
dt)
|
||||
for i in range(0, len(fakes)):
|
||||
self.assertIsInstance(inst_list.objects[i], instance.Instance)
|
||||
self.assertEqual(inst_list.objects[i].uuid, fakes[i]['uuid'])
|
||||
|
||||
def test_get_active_by_window_joined(self):
|
||||
fakes = [self.fake_instance(1), self.fake_instance(2)]
|
||||
# NOTE(mriedem): Send in a timezone-naive datetime since the
|
||||
|
||||
@@ -1091,7 +1091,7 @@ object_data = {
|
||||
'InstanceGroup': '1.9-a413a4ec0ff391e3ef0faa4e3e2a96d0',
|
||||
'InstanceGroupList': '1.6-1e383df73d9bd224714df83d9a9983bb',
|
||||
'InstanceInfoCache': '1.5-cd8b96fefe0fc8d4d337243ba0bf0e1e',
|
||||
'InstanceList': '1.18-592dca17aa22feacae9f1ff854e17c79',
|
||||
'InstanceList': '1.19-f5832b018649c2bd8bb00df788df0aad',
|
||||
'InstanceMapping': '1.0-47ef26034dfcbea78427565d9177fe50',
|
||||
'InstanceMappingList': '1.0-b7b108f6a56bd100c20a3ebd5f3801a1',
|
||||
'InstanceNUMACell': '1.2-535ef30e0de2d6a0d26a71bd58ecafc4',
|
||||
|
||||
Reference in New Issue
Block a user