Merge "Execute _poll_shelved_instances only if shelved_offload_time is > 0"
This commit is contained in:
commit
566f603615
|
@ -162,8 +162,8 @@ interval_opts = [
|
|||
cfg.IntOpt('shelved_offload_time',
|
||||
default=0,
|
||||
help='Time in seconds before a shelved instance is eligible '
|
||||
'for removing from a host. -1 never offload, 0 offload '
|
||||
'when shelved'),
|
||||
'for removing from a host. -1 never offload, 0 offload '
|
||||
'immediately when shelved'),
|
||||
cfg.IntOpt('instance_delete_interval',
|
||||
default=300,
|
||||
help='Interval in seconds for retrying failed instance file '
|
||||
|
@ -5456,6 +5456,9 @@ class ComputeManager(manager.Manager):
|
|||
@periodic_task.periodic_task(spacing=CONF.shelved_poll_interval)
|
||||
def _poll_shelved_instances(self, context):
|
||||
|
||||
if CONF.shelved_offload_time <= 0:
|
||||
return
|
||||
|
||||
filters = {'vm_state': vm_states.SHELVED,
|
||||
'host': self.host}
|
||||
shelved_instances = objects.InstanceList.get_by_filters(
|
||||
|
|
|
@ -19,6 +19,7 @@ from nova.compute import claims
|
|||
from nova.compute import task_states
|
||||
from nova.compute import vm_states
|
||||
from nova import db
|
||||
from nova import objects
|
||||
from nova.tests.unit.compute import test_compute
|
||||
from nova.tests.unit.image import fake as fake_image
|
||||
|
||||
|
@ -328,6 +329,13 @@ class ShelveComputeManagerTestCase(test_compute.BaseTestCase):
|
|||
self.compute.unshelve_instance(self.context, instance, image=None,
|
||||
filter_properties=filter_properties, node=node)
|
||||
|
||||
@mock.patch.object(objects.InstanceList, 'get_by_filters')
|
||||
def test_shelved_poll_none_offloaded(self, mock_get_by_filters):
|
||||
# Test instances are not offloaded when shelved_offload_time is -1
|
||||
CONF.set_override('shelved_offload_time', -1)
|
||||
self.compute._poll_shelved_instances(self.context)
|
||||
self.assertEqual(0, mock_get_by_filters.call_count)
|
||||
|
||||
def test_shelved_poll_none_exist(self):
|
||||
self.mox.StubOutWithMock(self.compute.driver, 'destroy')
|
||||
self.mox.StubOutWithMock(timeutils, 'is_older_than')
|
||||
|
|
Loading…
Reference in New Issue