Affects Version/s: 0.8.0
Fix Version/s: None
in common/base, NodeDriver._run_deployment_script has the following retry wrapper:
tries = 0
while tries < max_tries:
node = task.run(node, ssh_client)
tries += 1
if tries >= max_tries:
raise LibcloudError(value='Failed after %d tries'
% (max_tries), driver=self)
The except Exception swallows all errors, making debugging very hard.
Furthermore, max_tries is effectively hard-coded in deploy_node():
... forcing people who want to control retries to spin their own deploy_node().
- at a minimum, log or warn about the error that's caught in the retry loop
- better yet, make the catch more fine-grained, so that errors that we know won't be retry-able will fail out immediately.
- think about making the default number of max_tries 1
- make max_tries controllable from deploy_node