ERROR_WAIT_TIME should be a config option

As discussed at https://review.openstack.org/#/c/112941/
replace the hard-coded timeout value with a config option.

Change-Id: I49ddf254dfe6460626d90cc75f89e798227dfff6
Closes-Bug: #1385014
This commit is contained in:
Zhenguo Niu 2014-10-24 13:58:21 +08:00
parent c1b3eb22f7
commit 68a3cf78c4
4 changed files with 19 additions and 19 deletions

View File

@ -67,6 +67,10 @@
# (integer value)
#stack_action_timeout=3600
# Error wait time in seconds for stack action (ie. create or
# update). (integer value)
#error_wait_time=240
# RPC timeout for the engine liveness check that is used for
# stack locking. (integer value)
#engine_life_check_timeout=2

View File

@ -136,6 +136,10 @@ engine_opts = [
default=3600,
help=_('Timeout in seconds for stack action (ie. create or'
' update).')),
cfg.IntOpt('error_wait_time',
default=240,
help=_('Error wait time in seconds for stack action (ie. create'
' or update).')),
cfg.IntOpt('engine_life_check_timeout',
default=2,
help=_('RPC timeout for the engine liveness check that is used'

View File

@ -45,9 +45,9 @@ from heat.engine import update
from heat.openstack.common import log as logging
from heat.rpc import api as rpc_api
LOG = logging.getLogger(__name__)
cfg.CONF.import_opt('error_wait_time', 'heat.common.config')
ERROR_WAIT_TIME = 240
LOG = logging.getLogger(__name__)
class ForcedCancel(BaseException):
@ -559,11 +559,10 @@ class Stack(collections.Mapping):
self.FAILED):
self.delete(action=self.ROLLBACK)
creator = scheduler.TaskRunner(self.stack_task,
action=self.CREATE,
reverse=False,
post_func=rollback,
error_wait_time=ERROR_WAIT_TIME)
creator = scheduler.TaskRunner(
self.stack_task, action=self.CREATE,
reverse=False, post_func=rollback,
error_wait_time=cfg.CONF.error_wait_time)
creator(timeout=self.timeout_secs())
def _adopt_kwargs(self, resource):
@ -745,9 +744,10 @@ class Stack(collections.Mapping):
self.env)
backup_stack = self._backup_stack()
try:
update_task = update.StackUpdate(self, newstack, backup_stack,
rollback=action == self.ROLLBACK,
error_wait_time=ERROR_WAIT_TIME)
update_task = update.StackUpdate(
self, newstack, backup_stack,
rollback=action == self.ROLLBACK,
error_wait_time=cfg.CONF.error_wait_time)
updater = scheduler.TaskRunner(update_task)
self.env = newstack.env

View File

@ -31,7 +31,6 @@ from heat.engine import environment
from heat.engine import resources
from heat.engine.resources import nova_keypair
from heat.engine import scheduler
from heat.engine import stack
from heat.tests import fakes
from heat.tests import utils
@ -90,6 +89,7 @@ class HeatTestCase(testscenarios.WithScenarios,
'environment.d')
cfg.CONF.set_default('environment_dir', env_dir)
cfg.CONF.set_override('error_wait_time', None)
self.addCleanup(cfg.CONF.reset)
messaging.setup("fake://", optional=True)
@ -112,14 +112,6 @@ class HeatTestCase(testscenarios.WithScenarios,
utils.setup_dummy_db()
self.addCleanup(utils.reset_dummy_db)
cached_wait_time = stack.ERROR_WAIT_TIME
stack.ERROR_WAIT_TIME = None
def replace_wait_time():
stack.ERROR_WAIT_TIME = cached_wait_time
self.addCleanup(replace_wait_time)
def stub_wallclock(self):
"""
Overrides scheduler wallclock to speed up tests expecting timeouts.