summaryrefslogtreecommitdiff
path: root/etc/heat
diff options
context:
space:
mode:
authorSteve Baker <sbaker@redhat.com>2014-07-28 11:48:59 +1200
committerSteve Baker <sbaker@redhat.com>2014-07-30 15:43:56 +1200
commitd61427fe161305e380505252f8662e99407d80a1 (patch)
tree50a7b06c82861a1adbb67e30757f9ef7a603263e /etc/heat
parentf0ec53626eec22a1b3d95ed409f4e9ee9cee5618 (diff)
downloadheat-d61427fe161305e380505252f8662e99407d80a1.tar.gz
Retry resource create until success
On resource create, if a ResourceInFailure is raised then repeated attempts are made to delete and recreate the resource until success or a different error state is achieved. Likewise, the prepare-retry deletes will be retried until ResourceInFailure is not raised. An exponentially increasing delay with jitter is introduced between each create attempt, and attempts continue up to the configured action_retry_limit or stack operation timeout. Likewise An exponentially increasing delay with jitter is introduced between each prepre-retry delete attempt, and delete attempts continue up to the configured action_retry_limit or stack operation timeout. The delete attempt count is reset to zero whenever a create attempt has been performed. Creates that result from an UpdateReplace will also go through this path, so this is also helps some stack update scenarios. This change is aimed at being part of an interim solution to making heat resilient to transient cloud failures. Convergence is the permanent solution however there may be benefits to the convergence implementation from this interim effort. Currently retry is only attempted on ResourceInFailure. Eventually client plugins can indicate whether a given exception should lead to a retry attempt (such as connection errors, some 500s). Partial-Blueprint: retry-failed-api-calls Change-Id: I07c3301349bcd24096f3cafbb6d82c43bccb93de
Diffstat (limited to 'etc/heat')
-rw-r--r--etc/heat/heat.conf.sample4
1 files changed, 4 insertions, 0 deletions
diff --git a/etc/heat/heat.conf.sample b/etc/heat/heat.conf.sample
index 0781a9c92..de9a004e8 100644
--- a/etc/heat/heat.conf.sample
+++ b/etc/heat/heat.conf.sample
@@ -47,6 +47,10 @@
# one time. (integer value)
#max_stacks_per_tenant=100
+# Number of times to retry to bring a resource to a non-error
+# state. Set to 0 to disable retries. (integer value)
+#action_retry_limit=5
+
# Controls how many events will be pruned whenever a stack's
# events exceed max_events_per_stack. Set this lower to keep
# more events at the expense of more frequent purges. (integer