summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMatt Davis <nitzmahone@users.noreply.github.com>2017-03-01 23:13:24 -0800
committerGitHub <noreply@github.com>2017-03-01 23:13:24 -0800
commit4901763d727c53f77efb91c1cef629fe4cf3006d (patch)
tree28ab5696cb951e020ee2a5cf1600004b5a517e66
parent299e964dbf24d0ad5b66a9ca36a0bb4f5fbebf34 (diff)
downloadansible-4901763d727c53f77efb91c1cef629fe4cf3006d.tar.gz
fix conflicts in win_chocolatey execution_timeout (#22182)
-rw-r--r--lib/ansible/modules/windows/win_chocolatey.ps155
-rw-r--r--lib/ansible/modules/windows/win_chocolatey.py5
2 files changed, 51 insertions, 9 deletions
diff --git a/lib/ansible/modules/windows/win_chocolatey.ps1 b/lib/ansible/modules/windows/win_chocolatey.ps1
index d3df757a06..4a44097365 100644
--- a/lib/ansible/modules/windows/win_chocolatey.ps1
+++ b/lib/ansible/modules/windows/win_chocolatey.ps1
@@ -32,6 +32,7 @@ $upgrade = Get-AnsibleParam -obj $params -name "upgrade" -type "bool" -default $
$version = Get-AnsibleParam -obj $params -name "version" -type "str"
$source = Get-AnsibleParam -obj $params -name "source" -type "str"
$showlog = Get-AnsibleParam -obj $params -name "showlog" -type "bool" -default $false
+$executiontimeout = Get-Attr -obj $params -name execution_timeout -default $null
$state = Get-AnsibleParam -obj $params -name "state" -type "str" -default "present" -validateset "present","absent","latest"
$installargs = Get-AnsibleParam -obj $params -name "install_args" -type "str"
$packageparams = Get-AnsibleParam -obj $params -name "params" -type "str"
@@ -140,7 +141,9 @@ Function Choco-Upgrade
[Parameter(Mandatory=$false, Position=8)]
[bool]$ignorechecksums,
[Parameter(Mandatory=$false, Position=9)]
- [bool]$ignoredependencies
+ [bool]$ignoredependencies,
+ [Parameter(Mandatory=$false, Position=10)]
+ [string]$executiontimeout
)
if (-not (Choco-IsInstalled $package))
@@ -190,7 +193,12 @@ Function Choco-Upgrade
$cmd += " -ignoredependencies"
}
- $output = invoke-expression $cmd
+ if ($executiontimeout)
+ {
+ $cmd += " --execution-timeout=$executiontimeout"
+ }
+
+ $results = invoke-expression $cmd
$result.rc = $LastExitCode
if ($LastExitCode -notin $successexitcodes)
@@ -233,12 +241,27 @@ Function Choco-Install
[Parameter(Mandatory=$false, Position=9)]
[bool]$ignorechecksums,
[Parameter(Mandatory=$false, Position=10)]
- [bool]$ignoredependencies
+ [bool]$ignoredependencies,
+ [Parameter(Mandatory=$false, Position=11)]
+ [string]$executiontimeout
)
if ((Choco-IsInstalled $package) -and -not $force)
{
- return
+ if ($upgrade)
+ {
+ Choco-Upgrade -package $package -version $version -source $source -force $force `
+ -installargs $installargs -packageparams $packageparams `
+ -allowemptychecksums $allowemptychecksums -ignorechecksums $ignorechecksums `
+ -ignoredependencies $ignoredependencies -executiontimeout $executiontimeout
+
+ return
+ }
+
+ if (-not $force)
+ {
+ return
+ }
}
$cmd = "$executable install -dv -y $package"
@@ -283,7 +306,12 @@ Function Choco-Install
$cmd += " -ignoredependencies"
}
- $output = invoke-expression $cmd
+ if ($executiontimeout)
+ {
+ $cmd += " --execution-timeout=$executiontimeout"
+ }
+
+ $results = invoke-expression $cmd
$result.rc = $LastExitCode
if ($LastExitCode -notin $successexitcodes)
@@ -306,7 +334,10 @@ Function Choco-Uninstall
[Parameter(Mandatory=$false, Position=2)]
[string]$version,
[Parameter(Mandatory=$false, Position=3)]
- [bool]$force
+ [bool]$force,
+ [Parameter(Mandatory=$false, Position=4)]
+ [string]$executiontimeout
+
)
if (-not (Choco-IsInstalled $package))
@@ -331,7 +362,12 @@ Function Choco-Uninstall
$cmd += " -params '$packageparams'"
}
- $output = invoke-expression $cmd
+ if ($executiontimeout)
+ {
+ $cmd += " --execution-timeout=$executiontimeout"
+ }
+
+ $results = invoke-expression $cmd
$result.rc = $LastExitCode
if ($LastExitCode -notin $successexitcodes)
@@ -353,7 +389,7 @@ Try
Choco-Install -package $package -version $version -source $source -force $force `
-installargs $installargs -packageparams $packageparams `
-allowemptychecksums $allowemptychecksums -ignorechecksums $ignorechecksums `
- -ignoredependencies $ignoredependencies
+ -ignoredependencies $ignoredependencies -executiontimeout $executiontimeout
}
elseif ($state -eq "latest")
{
@@ -364,7 +400,8 @@ Try
}
elseif ($state -eq "absent")
{
- Choco-Uninstall -package $package -version $version -force $force
+ Choco-Uninstall -package $package -version $version -force $force `
+ -executiontimeout $executiontimeout
}
Exit-Json $result
diff --git a/lib/ansible/modules/windows/win_chocolatey.py b/lib/ansible/modules/windows/win_chocolatey.py
index e6479fe459..4029550193 100644
--- a/lib/ansible/modules/windows/win_chocolatey.py
+++ b/lib/ansible/modules/windows/win_chocolatey.py
@@ -94,6 +94,11 @@ options:
- Ignore dependencies, only install/upgrade the package itself
default: false
version_added: '2.1'
+ execution_timeout:
+ description:
+ - Timeout to pass to the native installer
+ require: false
+ version_added: '2.3'
author: "Trond Hindenes (@trondhindenes), Peter Mounce (@petemounce), Pepe Barbe (@elventear), Adam Keech (@smadam813)"
'''