From 2809c1ca07781865aea1523f1a9a404590910b58 Mon Sep 17 00:00:00 2001 From: nitzmahone Date: Mon, 20 Jun 2016 12:59:48 -0700 Subject: [PATCH] add win_chocolatey support for nonzero success exit codes --- lib/ansible/modules/extras/windows/win_chocolatey.ps1 | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/lib/ansible/modules/extras/windows/win_chocolatey.ps1 b/lib/ansible/modules/extras/windows/win_chocolatey.ps1 index f47b3ce97dd..301ffe1a64b 100644 --- a/lib/ansible/modules/extras/windows/win_chocolatey.ps1 +++ b/lib/ansible/modules/extras/windows/win_chocolatey.ps1 @@ -39,6 +39,10 @@ $installargs = Get-Attr -obj $params -name install_args -default $null $packageparams = Get-Attr -obj $params -name params -default $null $ignoredependencies = Get-Attr -obj $params -name ignore_dependencies -default "false" | ConvertTo-Bool +# as of chocolatey 0.9.10, nonzero success exit codes can be returned +# see https://github.com/chocolatey/choco/issues/512#issuecomment-214284461 +$successexitcodes = (0,1605,1614,1641,3010) + if ("present","absent" -notcontains $state) { Fail-Json $result "state is $state; must be present or absent" @@ -159,7 +163,7 @@ Function Choco-Upgrade $results = invoke-expression $cmd - if ($LastExitCode -ne 0) + if ($LastExitCode -notin $successexitcodes) { Set-Attr $result "choco_error_cmd" $cmd Set-Attr $result "choco_error_log" "$results" @@ -244,7 +248,7 @@ Function Choco-Install $results = invoke-expression $cmd - if ($LastExitCode -ne 0) + if ($LastExitCode -notin $successexitcodes) { Set-Attr $result "choco_error_cmd" $cmd Set-Attr $result "choco_error_log" "$results" @@ -286,7 +290,7 @@ Function Choco-Uninstall $results = invoke-expression $cmd - if ($LastExitCode -ne 0) + if ($LastExitCode -notin $successexitcodes) { Set-Attr $result "choco_error_cmd" $cmd Set-Attr $result "choco_error_log" "$results"