diff --git a/src/oneprovision/lib/ansible.rb b/src/oneprovision/lib/ansible.rb index 7efc6affe5..a76cd331fd 100644 --- a/src/oneprovision/lib/ansible.rb +++ b/src/oneprovision/lib/ansible.rb @@ -149,6 +149,8 @@ module OneProvision raise OneProvisionLoopException, errors end + rescue StandardError + raise OneProvisionLoopException end # Retries ssh connection diff --git a/src/oneprovision/lib/oneprovision.rb b/src/oneprovision/lib/oneprovision.rb index 4cc7b72291..9f04bf9db1 100644 --- a/src/oneprovision/lib/oneprovision.rb +++ b/src/oneprovision/lib/oneprovision.rb @@ -115,13 +115,17 @@ module OneProvision instance.run_mode[:fail_choice] = :cleanup elsif options.key? :fail_retry instance.run_mode[:fail_choice] = :retry - instance.run_mode[:max_retries] = options[:fail_retry].to_i elsif options.key? :fail_skip instance.run_mode[:fail_choice] = :skip elsif options.key? :fail_quit instance.run_mode[:fail_choice] = :quit else instance.run_mode[:fail_choice] = FAIL_CHOICE_DEFAULT + end + + if options[:fail_retry] + instance.run_mode[:max_retries] = options[:fail_retry].to_i + else instance.run_mode[:max_retries] = MAX_RETRIES_DEFAULT end