Skip to content

Commit 00aae9a

Browse files
Merge pull request #929 from puppetlabs/maint-docker-pipeline
(MAINT) Fixing pipeline for Windows
2 parents 66ba893 + d37fc76 commit 00aae9a

7 files changed

+24
-27
lines changed

manifests/install.pp

+1
Original file line numberDiff line numberDiff line change
@@ -109,6 +109,7 @@
109109
provider => powershell,
110110
unless => template('docker/windows/check_powershell_provider.ps1.erb'),
111111
logoutput => true,
112+
timeout => 1800,
112113
notify => Exec['service-restart-on-failure'],
113114
}
114115
}

spec/spec_helper_acceptance_local.rb

+7-4
Original file line numberDiff line numberDiff line change
@@ -201,10 +201,13 @@ def fetch_puppet_version
201201
@windows_ip = ip
202202
end
203203
apply_manifest("class { 'docker': docker_ee => true, extra_parameters => '\"insecure-registries\": [ \"#{@windows_ip}:5000\" ]' }", catch_failures: true)
204-
sleep 300
204+
retry_on_error_matching(120, 5, %r{.*}) do
205+
puts 'waiting for VM to restart..'
206+
run_shell('ls') # random command to check connectivity to litmus host
207+
end
205208
docker_path = 'C:\\Program Files\\Docker'
206-
run_shell("set PATH \"%PATH%;C:\\Users\\Administrator\\AppData\\Local\\Temp;#{docker_path}\"")
207-
puts 'Waiting for box to come online'
208-
sleep 300
209+
retry_on_error_matching(120, 5, %r{.*}) do
210+
run_shell("set PATH \"%PATH%;C:\\Users\\Administrator\\AppData\\Local\\Temp;#{docker_path}\"")
211+
end
209212
end
210213
end

templates/windows/check_docker.ps1.erb

+2-2
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
1-
# this file checks the status of the Windows Docker package using the DockerMsftProvider powershell provider
2-
$dockerProviderName="DockerMsftProvider"
1+
# this file checks the status of the Windows Docker package using the DockerProvider powershell provider
2+
$dockerProviderName="DockerProvider"
33

44
Write-Information "Checking Docker package."
55
$package=Get-Package <%= @docker_ee_package_name %> -ProviderName $dockerProviderName -ErrorAction Ignore

templates/windows/check_powershell_provider.ps1.erb

+6-5
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,14 @@
1-
# this file checks the status of the Windows Docker package using the DockerMsftProvider powershell provider
1+
# this file checks the status of the Windows Docker package using the DockerProvider powershell provider
22
[Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12
3-
$dockerProviderName="DockerMsftProvider"
3+
$dockerProviderName="DockerProvider"
44

55
Write-Information "Checking Package Provider"
6-
$module = Get-PackageProvider NuGet
6+
$module = Get-PackageProvider NuGet -ErrorAction SilentlyContinue
77
If ($module -eq $null) {
88
Write-Error "NuGet PackagePrivider is not installed."
99
Exit 1
1010
}
11+
1112
<% if @nuget_package_provider_version -%>
1213
Write-Information "Checking Package provider version"
1314
if ($module.Version.ToString() -ne "<%= @nuget_package_provider_version %>" ) {
@@ -18,7 +19,7 @@ if ($module.Version.ToString() -ne "<%= @nuget_package_provider_version %>" ) {
1819

1920

2021
Write-Information "Checking Docker Provider"
21-
$provider = Get-Module -ListAvailable -Name $dockerProviderName
22+
$provider = Get-Module -ListAvailable -Name $dockerProviderName -ErrorAction SilentlyContinue
2223
If ($provider -eq $null) {
2324
Write-Error "Docker Microsoft Docker provider is not installed."
2425
Exit 1
@@ -33,7 +34,7 @@ if ($provider.Version.ToString() -ne "<%= @docker_msft_provider_version %>" ) {
3334
<% end -%>
3435

3536
Write-Information "Checking Docker package."
36-
$package=Get-Package <%= @docker_ee_package_name %> -ProviderName $dockerProviderName
37+
$package=Get-Package <%= @docker_ee_package_name %> -ProviderName $dockerProviderName -ErrorAction SilentlyContinue
3738
If ($package -eq $null) {
3839
Write-Error "Docker package is not installed."
3940
Exit 1

templates/windows/download_docker.ps1.erb

+1
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
1+
[Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12
12
$dockerLocation = Join-Path $env:TEMP "docker.zip"
23

34
Invoke-webrequest -UseBasicparsing -Outfile $dockerLocation "<%= @docker_download_url %>"

templates/windows/install_powershell_provider.ps1.erb

+5-14
Original file line numberDiff line numberDiff line change
@@ -1,23 +1,17 @@
1-
# this file install the Windows Docker package using the DockerMsftProvider powershell provider
1+
# this file install the Windows Docker package using the DockerProvider powershell provider
22
[Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12
3-
$dockerProviderName="DockerMsftProvider"
3+
$dockerProviderName="DockerProvider"
44

55
Write-Information "Installing Package Provider"
6-
$module = Install-PackageProvider NuGet -Force `
7-
<% if @nuget_package_provider_version -%>
8-
-RequiredVersion <%= @nuget_package_provider_version %>
9-
<% end -%>
6+
$module = Install-PackageProvider NuGet -Force <%= "-RequiredVersion #{@nuget_package_provider_version}" if @nuget_package_provider_version %>
107

118
If ($module -eq $null) {
129
Write-Error "Failed to install NuGet Package Provider"
1310
Exit 1
1411
}
1512

1613
Write-Information "Installing Docker Provider"
17-
Install-Module $dockerProviderName -Force `
18-
<% if @docker_msft_provider_version -%>
19-
-RequiredVersion <%= @docker_msft_provider_version %>
20-
<% end -%>
14+
Install-Module $dockerProviderName -Force <%= "-RequiredVersion #{@docker_msft_provider_version}" if @docker_msft_provider_version %>
2115

2216
$provider = Get-Module -ListAvailable -Name $dockerProviderName
2317
If ($provider -eq $null) {
@@ -26,10 +20,7 @@ If ($provider -eq $null) {
2620
}
2721

2822
Write-Information "Installing Docker Package"
29-
$package=Install-Package <%= @docker_ee_package_name %> -ProviderName $dockerProviderName -Force `
30-
<% if @version -%>
31-
-RequiredVersion <%= @version %>
32-
<% end -%>
23+
$package=Install-Package Docker -ProviderName $dockerProviderName -Force <%= "-RequiredVersion #{@version}" if @version %>
3324

3425
If ($package -eq $null) {
3526
Write-Error "Failed to install Docker Package"

templates/windows/remove_docker.ps1.erb

+2-2
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
1-
# this file install the Windows Docker package using the DockerMsftProvider powershell provider
2-
$dockerProviderName="DockerMsftProvider"
1+
# this file install the Windows Docker package using the DockerProvider powershell provider
2+
$dockerProviderName="DockerProvider"
33

44
$package=Get-Package <%= @docker_ee_package_name %> -ProviderName $dockerProviderName -ErrorAction Ignore
55
If ($package -ne $null) {

0 commit comments

Comments
 (0)