Page Menu
Home
Software Heritage
Search
Configure Global Search
Log In
Files
F9124232
docker_custom_source_spec.rb
No One
Temporary
Actions
Download File
Edit File
Delete File
View Transforms
Subscribe
Mute Notifications
Award Token
Flag For Later
Size
3 KB
Subscribers
None
docker_custom_source_spec.rb
View Options
require
'spec_helper_acceptance'
skip
=
false
if
os
[
:family
]
==
'windows'
docker_args
=
'docker_ee => true, docker_ee_source_location => "https://download.docker.com/components/engine/windows-server/17.06/docker-17.06.2-ee-14.zip"'
default_image
=
'winamd64/hello-seattle'
# The default args are set because:
# restart => 'always' - there is no service created to manage containers
# net => 'nat' - docker uses bridged by default when running a container. When installing docker on windows the default network is NAT.
default_docker_run_arg
=
"restart => 'always', net => 'nat',"
default_run_command
=
'ping 127.0.0.1 -t'
docker_command
=
'"/cygdrive/c/Program Files/Docker/docker"'
skip
=
false
elsif
os
[
:name
]
==
'Ubuntu'
&&
os
[
:release
][
:full
]
==
'14.04'
docker_args
=
"version => '18.06.1~ce~3-0~ubuntu'"
skip
=
true
else
docker_args
=
''
skip
=
true
end
describe
'the Puppet Docker module'
do
context
'with download location'
,
skip
:
skip
do
let
(
:pp
)
do
"
class { 'docker':
#{
docker_args
}
}
"
end
it
'runs successfully'
do
apply_manifest
(
pp
,
catch_failures
:
true
)
end
it
'runs idempotently'
do
apply_manifest
(
pp
,
catch_changes
:
true
)
unless
selinux
==
'true'
end
it
'is start a docker process'
do
if
os
[
:family
]
==
'windows'
run_shell
(
'powershell Get-Process -Name dockerd'
)
do
|
r
|
expect
(
r
.
stdout
)
.
to
match
(
%r{ProcessName}
)
end
else
run_shell
(
'ps aux | grep docker'
)
do
|
r
|
expect
(
r
.
stdout
)
.
to
match
%r{dockerd -H unix:\/\/\/var\/run\/docker.sock}
end
end
end
it
'installs a working docker client'
do
run_shell
(
"
#{
docker_command
}
ps"
,
expect_failures
:
false
)
end
it
'stops a running container and remove container'
do
pp
=
<<-
EOS
class { 'docker': #{docker_args} }
docker::image { '#{default_image}':
require => Class['docker'],
}
docker::run { 'container_3_6':
image => '#{default_image}',
command => '#{default_run_command}',
require => Docker::Image['#{default_image}'],
#{default_docker_run_arg}
}
EOS
pp2
=
<<-
EOS
class { 'docker': #{docker_args} }
docker::image { '#{default_image}':
require => Class['docker'],
}
docker::run { 'container_3_6':
ensure => 'absent',
image => '#{default_image}',
require => Docker::Image['#{default_image}'],
}
EOS
apply_manifest
(
pp
,
catch_failures
:
true
)
apply_manifest
(
pp
,
catch_changes
:
true
)
unless
selinux
==
'true'
# A sleep to give docker time to execute properly
sleep
15
run_shell
(
"
#{
docker_command
}
ps"
,
expect_failures
:
false
)
apply_manifest
(
pp2
,
catch_failures
:
true
)
apply_manifest
(
pp2
,
catch_changes
:
true
)
unless
selinux
==
'true'
# A sleep to give docker time to execute properly
sleep
15
run_shell
(
"
#{
docker_command
}
inspect container-3-6"
,
expect_failures
:
true
)
if
os
[
:family
]
==
'windows'
run_shell
(
'test -f /cygdrive/c/Users/Administrator/AppData/Local/Temp/container-3-6.service'
,
expect_failures
:
true
)
else
run_shell
(
'test -f /etc/systemd/system/container-3-6.service'
,
expect_failures
:
true
)
end
end
end
end
File Metadata
Details
Attached
Mime Type
text/x-ruby
Expires
Sat, Jun 21, 6:51 PM (2 w, 2 d ago)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
3375690
Attached To
R205 puppet-puppetlabs-docker
Event Timeline
Log In to Comment