kitchen-dokken 2.0.15 → 2.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/lib/kitchen/driver/dokken.rb +2 -1
- data/lib/kitchen/driver/dokken_version.rb +1 -1
- data/lib/kitchen/helpers.rb +64 -10
- data/lib/kitchen/provisioner/dokken.rb +2 -6
- data/lib/kitchen/transport/dokken.rb +2 -2
- metadata +2 -2
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA1:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: ae03351629cd98963f4235e2aeeeded8e100d404
|
|
4
|
+
data.tar.gz: 92d2e6f1d1d377023fc76b8580a0701813ac0e8f
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 3552cfc7d31dfaae91ed8d3119cdc1f13d40c03bd59f9ddf0adc2bd9c3d0068723e8f513f17bce299ff218aa1525ed49f669e4ba697bc596226127c5919ebd2c
|
|
7
|
+
data.tar.gz: 611860a71e2ca679a19c09251b5b26924f9e08e5c645abb5c62e08871ba33d139460e8f130ae77dd5ba17e41d6a204ee3cb0b2db5ba6c5810d1f197e02e6a176
|
|
@@ -201,7 +201,8 @@ module Kitchen
|
|
|
201
201
|
|
|
202
202
|
def dokken_binds
|
|
203
203
|
ret = []
|
|
204
|
-
ret << "#{
|
|
204
|
+
ret << "#{dokken_kitchen_sandbox}:/opt/kitchen" unless dokken_kitchen_sandbox.nil?
|
|
205
|
+
ret << "#{dokken_verifier_sandbox}:/opt/verifier" unless dokken_verifier_sandbox.nil?
|
|
205
206
|
ret << Array(config[:binds]) unless config[:binds].nil?
|
|
206
207
|
ret.flatten
|
|
207
208
|
end
|
data/lib/kitchen/helpers.rb
CHANGED
|
@@ -89,28 +89,48 @@ EOF
|
|
|
89
89
|
end
|
|
90
90
|
|
|
91
91
|
def dokken_create_sandbox
|
|
92
|
-
info("Creating
|
|
93
|
-
FileUtils.mkdir_p(
|
|
94
|
-
File.chmod(0755,
|
|
92
|
+
info("Creating kitchen sandbox at #{dokken_kitchen_sandbox}")
|
|
93
|
+
FileUtils.mkdir_p(dokken_kitchen_sandbox)
|
|
94
|
+
File.chmod(0755, dokken_kitchen_sandbox)
|
|
95
|
+
|
|
96
|
+
info("Creating verifier sandbox at #{dokken_verifier_sandbox}")
|
|
97
|
+
FileUtils.mkdir_p(dokken_verifier_sandbox)
|
|
98
|
+
File.chmod(0755, dokken_verifier_sandbox)
|
|
95
99
|
end
|
|
96
100
|
|
|
97
101
|
def dokken_delete_sandbox
|
|
98
|
-
info("Deleting
|
|
102
|
+
info("Deleting kitchen sandbox at #{dokken_kitchen_sandbox}")
|
|
103
|
+
begin
|
|
104
|
+
FileUtils.rm_rf(dokken_kitchen_sandbox)
|
|
105
|
+
rescue Errno::ENOENT
|
|
106
|
+
debug("Cannot delete #{dokken_kitchen_sandbox}. Does not exist")
|
|
107
|
+
end
|
|
108
|
+
|
|
109
|
+
info("Deleting verifier sandbox at #{dokken_verifier_sandbox}")
|
|
99
110
|
begin
|
|
100
|
-
FileUtils.rm_rf(
|
|
111
|
+
FileUtils.rm_rf(dokken_verifier_sandbox)
|
|
101
112
|
rescue Errno::ENOENT
|
|
102
|
-
debug("Cannot delete #{
|
|
113
|
+
debug("Cannot delete #{dokken_verifier_sandbox}. Does not exist")
|
|
103
114
|
end
|
|
104
115
|
end
|
|
105
116
|
|
|
106
|
-
def
|
|
107
|
-
"#{Dir.home}/.dokken/
|
|
117
|
+
def dokken_kitchen_sandbox
|
|
118
|
+
"#{Dir.home}/.dokken/kitchen_sandbox/#{instance_name}"
|
|
119
|
+
end
|
|
120
|
+
|
|
121
|
+
def dokken_verifier_sandbox
|
|
122
|
+
"#{Dir.home}/.dokken/verifier_sandbox/#{instance_name}"
|
|
108
123
|
end
|
|
109
124
|
|
|
110
125
|
def instance_name
|
|
111
126
|
prefix = (Digest::SHA2.hexdigest FileUtils.pwd)[0, 10]
|
|
112
127
|
"#{prefix}-#{instance.name}"
|
|
113
128
|
end
|
|
129
|
+
|
|
130
|
+
def remote_docker_host?
|
|
131
|
+
return true if config[:docker_host_url] =~ /^tcp:/
|
|
132
|
+
false
|
|
133
|
+
end
|
|
114
134
|
end
|
|
115
135
|
end
|
|
116
136
|
|
|
@@ -118,13 +138,14 @@ module Kitchen
|
|
|
118
138
|
module Provisioner
|
|
119
139
|
class Base
|
|
120
140
|
def create_sandbox
|
|
121
|
-
info("Creating
|
|
141
|
+
info("Creating kitchen sandbox in #{sandbox_path}")
|
|
122
142
|
FileUtils.mkdir_p(sandbox_path)
|
|
123
143
|
File.chmod(0755, sandbox_path)
|
|
124
144
|
end
|
|
125
145
|
|
|
146
|
+
# this MUST be named 'sandbox_path' because ruby.
|
|
126
147
|
def sandbox_path
|
|
127
|
-
"#{Dir.home}/.dokken/
|
|
148
|
+
"#{Dir.home}/.dokken/kitchen_sandbox/#{instance_name}"
|
|
128
149
|
end
|
|
129
150
|
|
|
130
151
|
def instance_name
|
|
@@ -134,3 +155,36 @@ module Kitchen
|
|
|
134
155
|
end
|
|
135
156
|
end
|
|
136
157
|
end
|
|
158
|
+
|
|
159
|
+
module Kitchen
|
|
160
|
+
module Verifier
|
|
161
|
+
class Base
|
|
162
|
+
def create_sandbox
|
|
163
|
+
info("Creating kitchen sandbox in #{sandbox_path}")
|
|
164
|
+
FileUtils.mkdir_p(sandbox_path)
|
|
165
|
+
File.chmod(0755, sandbox_path)
|
|
166
|
+
end
|
|
167
|
+
|
|
168
|
+
def sandbox_path
|
|
169
|
+
"#{Dir.home}/.dokken/verifier_sandbox/#{instance_name}"
|
|
170
|
+
end
|
|
171
|
+
|
|
172
|
+
def instance_name
|
|
173
|
+
prefix = (Digest::SHA2.hexdigest FileUtils.pwd)[0, 10]
|
|
174
|
+
"#{prefix}-#{instance.name}"
|
|
175
|
+
end
|
|
176
|
+
|
|
177
|
+
def call(state)
|
|
178
|
+
instance.transport.connection(state) do |conn|
|
|
179
|
+
conn.execute(install_command)
|
|
180
|
+
conn.execute(prepare_command)
|
|
181
|
+
conn.execute(run_command)
|
|
182
|
+
end
|
|
183
|
+
rescue Kitchen::Transport::TransportFailed => ex
|
|
184
|
+
raise ActionFailed, ex.message
|
|
185
|
+
ensure
|
|
186
|
+
cleanup_sandbox
|
|
187
|
+
end
|
|
188
|
+
end
|
|
189
|
+
end
|
|
190
|
+
end
|
|
@@ -62,12 +62,8 @@ module Kitchen
|
|
|
62
62
|
|
|
63
63
|
# if the user wants to be funny and pass empty strings
|
|
64
64
|
# just use the defaults
|
|
65
|
-
if config[:chef_log_level].empty?
|
|
66
|
-
|
|
67
|
-
end
|
|
68
|
-
if config[:chef_output_format].empty?
|
|
69
|
-
config[:chef_output_format] = 'doc'
|
|
70
|
-
end
|
|
65
|
+
config[:chef_log_level] = 'warn' if config[:chef_log_level].empty?
|
|
66
|
+
config[:chef_output_format] = 'doc' if config[:chef_output_format].empty?
|
|
71
67
|
end
|
|
72
68
|
|
|
73
69
|
private
|
|
@@ -96,9 +96,9 @@ module Kitchen
|
|
|
96
96
|
end
|
|
97
97
|
|
|
98
98
|
tmpdir = Dir.tmpdir + '/dokken/'
|
|
99
|
-
FileUtils.mkdir_p
|
|
99
|
+
FileUtils.mkdir_p tmpdir.to_s, mode: 0777
|
|
100
100
|
tmpdir += Process.uid.to_s
|
|
101
|
-
FileUtils.mkdir_p
|
|
101
|
+
FileUtils.mkdir_p tmpdir.to_s
|
|
102
102
|
File.write("#{tmpdir}/id_rsa", insecure_ssh_private_key)
|
|
103
103
|
FileUtils.chmod(0600, "#{tmpdir}/id_rsa")
|
|
104
104
|
|
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: 2.0
|
|
4
|
+
version: 2.1.0
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Sean OMeara
|
|
8
8
|
autorequire:
|
|
9
9
|
bindir: bin
|
|
10
10
|
cert_chain: []
|
|
11
|
-
date: 2017-02-
|
|
11
|
+
date: 2017-02-21 00:00:00.000000000 Z
|
|
12
12
|
dependencies:
|
|
13
13
|
- !ruby/object:Gem::Dependency
|
|
14
14
|
name: test-kitchen
|