puppet-tripleo/releasenotes/notes/swift-ring-curl-retry-1c329d1808b7f02c.yaml
Christian Schwede 46537e0c4b Retry Swift ring up-/downloads on failures
The current way never retries up- or downloading the rings from the
undercloud. This is risky, for example when there are temporary network
issues.

This patch adds retries to the curl commands. It does so in two ways:

1. curl retries up to 3 times if there is an HTTP error. This could
happen for example if the proxy is accessible, but the proxy itself
can't connect to a backend server. Note that curl returns an exit code
of 0 if there is an HTTP error, so curl itself needs to retry in this
case.

2. If curl fails hard (for example due to an network error, proxy being
down etc) the whole command will be re-executed up to 3 times by Puppet
itself. The default timeout has been set to 30 seconds instead of the
default timeout of 300 seconds.

Change-Id: I21f732c1afa9d472f4a2fb840b6ddad9b8d65d07
2017-09-01 11:05:11 +02:00

9 lines
331 B
YAML

---
fixes:
- |
Retry Swift ring up-/downloads on failures to improve overall
stability during deployments when there are temporary errors.
Retries are executed in case of HTTP errors (for example due to a
temporary issue between the proxy and backend servers) as well as
connection issue to the proxy itself.