kitchen-dokken 0.0.31 → 0.0.32
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/lib/kitchen/driver/dokken.rb +17 -2
- data/lib/kitchen/driver/dokken_version.rb +1 -1
- data/lib/kitchen/transport/dokken.rb +6 -1
- metadata +3 -3
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 624899b08f3767c8e67ee162a4d80aa5eced1e3d
|
4
|
+
data.tar.gz: 186e7dcd5682fceefe9c29c2379623f992827eb3
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 6da44eaba2464e9d3f904dc8deef11ef956c885d99f1aa77bfea41bdfef790621da86f27f0c934effb0d06e92f410dc4b55683699b35bf998f082648da1d5521
|
7
|
+
data.tar.gz: cc554c47b56339cad2796e204408ae9c50631246c4a29ed9b310512e5a75bf959f1519c3c76eb9db85ca8885541e302cb64aa2398603da051eddf8fbb5706129
|
@@ -32,7 +32,6 @@ module Kitchen
|
|
32
32
|
# @author Sean OMeara <sean@chef.io>
|
33
33
|
class Dokken < Kitchen::Driver::Base
|
34
34
|
default_config :pid_one_command, 'sh -c "trap exit 0 SIGTERM; while :; do sleep 1; done"'
|
35
|
-
default_config :privileged, false
|
36
35
|
default_config :image_prefix, nil
|
37
36
|
default_config :chef_version, '12.5.1'
|
38
37
|
default_config :data_image, 'someara/kitchen-cache:latest'
|
@@ -40,6 +39,15 @@ module Kitchen
|
|
40
39
|
default_config :read_timeout, 3600
|
41
40
|
default_config :write_timeout, 3600
|
42
41
|
default_config :api_retries, 20
|
42
|
+
# docker run args
|
43
|
+
default_config :privileged, false
|
44
|
+
default_config :hostname, nil
|
45
|
+
default_config :binds, nil # volumes to mount
|
46
|
+
default_config :links, nil
|
47
|
+
default_config :cap_add, nil
|
48
|
+
default_config :cap_drop, nil
|
49
|
+
default_config :security_opt, nil
|
50
|
+
default_config :network_mode, 'bridge'
|
43
51
|
|
44
52
|
# (see Base#create)
|
45
53
|
def create(state)
|
@@ -185,9 +193,16 @@ module Kitchen
|
|
185
193
|
'name' => runner_container_name,
|
186
194
|
'Cmd' => Shellwords.shellwords(config[:pid_one_command]),
|
187
195
|
'Image' => "#{repo(work_image)}:#{tag(work_image)}",
|
196
|
+
'Hostname' => config[:hostname],
|
188
197
|
'HostConfig' => {
|
189
198
|
'Privileged' => config[:privileged],
|
190
|
-
'VolumesFrom' => [chef_container_name, data_container_name]
|
199
|
+
'VolumesFrom' => [chef_container_name, data_container_name],
|
200
|
+
'Binds' => Array(config[:binds]),
|
201
|
+
'Links' => Array(config[:links]),
|
202
|
+
'CapAdd' => Array(config[:cap_add]),
|
203
|
+
'CapDrop' => Array(config[:cap_drop]),
|
204
|
+
'SecurityOpt' => Array(config[:security_opt]),
|
205
|
+
'NetworkMode' => config[:network_mode],
|
191
206
|
}
|
192
207
|
)
|
193
208
|
state[:runner_container] = runner_container.json
|
@@ -41,6 +41,7 @@ module Kitchen
|
|
41
41
|
default_config :docker_host_url, ENV['DOCKER_HOST'] || 'unix:///var/run/docker.sock'
|
42
42
|
default_config :read_timeout, 3600
|
43
43
|
default_config :write_timeout, 3600
|
44
|
+
default_config :host_ip_override, false
|
44
45
|
|
45
46
|
# (see Base#connection)
|
46
47
|
def connection(state, &block)
|
@@ -83,7 +84,10 @@ module Kitchen
|
|
83
84
|
end
|
84
85
|
|
85
86
|
def upload(locals, remote)
|
86
|
-
if options[:
|
87
|
+
if options[:host_ip_override]
|
88
|
+
# Allow connecting to any ip/hostname to support sibling containers
|
89
|
+
ip = options[:host_ip_override]
|
90
|
+
elsif options[:docker_host_url] =~ /unix:/
|
87
91
|
# we should read the proper mapped ip, since this allows us to upload the files
|
88
92
|
ip = options[:data_container][:NetworkSettings][:Ports][:"22/tcp"][0][:HostIp]
|
89
93
|
elsif options[:docker_host_url] =~ /tcp:/
|
@@ -162,6 +166,7 @@ module Kitchen
|
|
162
166
|
# @api private
|
163
167
|
def connection_options(data) # rubocop:disable Metrics/MethodLength
|
164
168
|
opts = {}
|
169
|
+
opts[:host_ip_override] = config[:host_ip_override]
|
165
170
|
opts[:docker_host_url] = config[:docker_host_url]
|
166
171
|
opts[:docker_host_options] = ::Docker.options
|
167
172
|
opts[:data_container] = data[:data_container]
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: kitchen-dokken
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.32
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Sean OMeara
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2016-
|
11
|
+
date: 2016-08-12 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: test-kitchen
|
@@ -73,7 +73,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
73
73
|
version: '0'
|
74
74
|
requirements: []
|
75
75
|
rubyforge_project:
|
76
|
-
rubygems_version: 2.6.
|
76
|
+
rubygems_version: 2.6.6
|
77
77
|
signing_key:
|
78
78
|
specification_version: 4
|
79
79
|
summary: A Test Kitchen Driver that talks to the Docker Remote API and uses Volumes
|