kitchen-dokken 0.0.18 → 0.0.19
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 +64 -59
- data/lib/kitchen/driver/dokken_version.rb +1 -1
- metadata +1 -1
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 60e2ad59397194be230673615a799951113e06a5
|
4
|
+
data.tar.gz: aa1487f1397b039d131a53cbe6ecd5d00287f11e
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 13032c9258781c1e309f0477c9dee736354b5397cfdc93006cf897882f6b6f9bbab61c4a80847c566ea8c34def9f106e4630ec4a403e49bcd683f5660c0a5278
|
7
|
+
data.tar.gz: 70488a3094a0bde091a18bd73aff17dfb79fd8ff7a960149926eb864d5ef473d0322dcf247e55ee373746833e0818f927072e990c66b7af32160cdd5f6eb901f
|
@@ -64,18 +64,20 @@ module Kitchen
|
|
64
64
|
save_misc_state state
|
65
65
|
end
|
66
66
|
|
67
|
-
def api_retries
|
68
|
-
config[:api_retries]
|
69
|
-
end
|
70
|
-
|
71
67
|
def destroy(_state)
|
72
|
-
|
73
|
-
|
68
|
+
stop_data_container
|
69
|
+
delete_data_container
|
70
|
+
stop_runner_container
|
71
|
+
delete_runner_container
|
74
72
|
delete_work_image
|
75
73
|
end
|
76
74
|
|
77
75
|
private
|
78
76
|
|
77
|
+
def api_retries
|
78
|
+
config[:api_retries]
|
79
|
+
end
|
80
|
+
|
79
81
|
def docker_connection
|
80
82
|
opts = Docker.options
|
81
83
|
opts[:read_timeout] = config[:read_timeout]
|
@@ -97,22 +99,19 @@ module Kitchen
|
|
97
99
|
|
98
100
|
begin
|
99
101
|
with_retries do
|
100
|
-
@
|
102
|
+
@intermediate_image = Docker::Image.build_from_dir(
|
101
103
|
context_root,
|
102
|
-
{
|
104
|
+
{
|
105
|
+
'nocache' => true,
|
106
|
+
'forcerm' => true,
|
107
|
+
'q' => true,
|
108
|
+
't' => work_image
|
109
|
+
},
|
103
110
|
docker_connection
|
104
111
|
)
|
105
112
|
end
|
106
113
|
rescue
|
107
|
-
|
108
|
-
end
|
109
|
-
|
110
|
-
with_retries do
|
111
|
-
@work_image.tag(
|
112
|
-
'repo' => repo(work_image),
|
113
|
-
'tag' => tag(work_image),
|
114
|
-
'force' => true
|
115
|
-
)
|
114
|
+
fail 'work_image build failed'
|
116
115
|
end
|
117
116
|
state[:work_image] = work_image
|
118
117
|
end
|
@@ -140,32 +139,42 @@ module Kitchen
|
|
140
139
|
instance.name
|
141
140
|
end
|
142
141
|
|
143
|
-
def
|
144
|
-
|
142
|
+
def delete_chef_container
|
143
|
+
debug "driver - deleting container #{chef_container_name}"
|
144
|
+
delete_container chef_container_name
|
145
145
|
end
|
146
146
|
|
147
|
-
def
|
148
|
-
|
149
|
-
|
147
|
+
def delete_data_container
|
148
|
+
debug "driver - deleting container #{data_container_name}"
|
149
|
+
delete_container data_container_name
|
150
|
+
end
|
151
|
+
|
152
|
+
def delete_runner_container
|
153
|
+
debug "driver - deleting container #{runner_container_name}"
|
154
|
+
delete_container runner_container_name
|
150
155
|
end
|
151
156
|
|
152
157
|
def image_prefix
|
153
158
|
config[:image_prefix]
|
154
159
|
end
|
155
160
|
|
156
|
-
def
|
157
|
-
|
158
|
-
delete_container runner_container_name
|
161
|
+
def instance_platform_name
|
162
|
+
instance.platform.name
|
159
163
|
end
|
160
164
|
|
161
|
-
def
|
162
|
-
debug "driver -
|
163
|
-
|
165
|
+
def stop_runner_container
|
166
|
+
debug "driver - stopping container #{runner_container_name}"
|
167
|
+
stop_container runner_container_name
|
164
168
|
end
|
165
169
|
|
166
|
-
def
|
167
|
-
debug "driver -
|
168
|
-
|
170
|
+
def stop_data_container
|
171
|
+
debug "driver - stopping container #{data_container_name}"
|
172
|
+
stop_container data_container_name
|
173
|
+
end
|
174
|
+
|
175
|
+
def work_image
|
176
|
+
return "#{image_prefix}/#{instance_name}" unless image_prefix.nil?
|
177
|
+
instance_name
|
169
178
|
end
|
170
179
|
|
171
180
|
def start_runner_container(state)
|
@@ -272,27 +281,23 @@ module Kitchen
|
|
272
281
|
@container ? @container.info['State'] : {}
|
273
282
|
end
|
274
283
|
|
275
|
-
def
|
284
|
+
def stop_container(name)
|
276
285
|
begin
|
277
|
-
puts "Destroying container #{name}."
|
278
286
|
with_retries { @container = Docker::Container.get(name, docker_connection) }
|
279
|
-
rescue
|
280
|
-
puts "Container #{name} not found. Nothing to destroy"
|
281
|
-
return
|
282
|
-
end
|
283
|
-
|
284
|
-
begin
|
285
287
|
with_retries do
|
286
288
|
@container.stop(force: true)
|
287
|
-
wait_running_state(
|
289
|
+
wait_running_state(name, false)
|
288
290
|
end
|
289
|
-
rescue
|
291
|
+
rescue Docker::Error::NotFoundError
|
290
292
|
debug "Container #{name} not found. Nothing to stop."
|
291
293
|
end
|
294
|
+
end
|
292
295
|
|
296
|
+
def delete_container(name)
|
293
297
|
begin
|
298
|
+
with_retries { @container = Docker::Container.get(name, docker_connection) }
|
294
299
|
with_retries { @container.delete(force: true, v: true) }
|
295
|
-
rescue
|
300
|
+
rescue Docker::Error::NotFoundError
|
296
301
|
debug "Container #{name} not found. Nothing to delete."
|
297
302
|
end
|
298
303
|
end
|
@@ -313,37 +318,37 @@ module Kitchen
|
|
313
318
|
image.split(':')[1] || 'latest'
|
314
319
|
end
|
315
320
|
|
316
|
-
def
|
317
|
-
|
318
|
-
end
|
319
|
-
|
320
|
-
def pull_if_missing(image)
|
321
|
-
return if Docker::Image.exist?("#{repo(image)}:#{tag(image)}", docker_connection)
|
322
|
-
pull_image image
|
321
|
+
def chef_container_name
|
322
|
+
"chef-#{chef_version}"
|
323
323
|
end
|
324
324
|
|
325
|
-
def
|
326
|
-
|
325
|
+
def chef_image
|
326
|
+
"someara/chef:#{chef_version}"
|
327
327
|
end
|
328
328
|
|
329
329
|
def chef_version
|
330
330
|
config[:chef_version]
|
331
331
|
end
|
332
332
|
|
333
|
-
def
|
334
|
-
"
|
335
|
-
end
|
336
|
-
|
337
|
-
def chef_container_name
|
338
|
-
"chef-#{chef_version}"
|
333
|
+
def data_container_name
|
334
|
+
"#{instance.name}-data"
|
339
335
|
end
|
340
336
|
|
341
337
|
def data_image
|
342
338
|
config[:data_image]
|
343
339
|
end
|
344
340
|
|
345
|
-
def
|
346
|
-
|
341
|
+
def platform_image
|
342
|
+
config[:image]
|
343
|
+
end
|
344
|
+
|
345
|
+
def pull_if_missing(image)
|
346
|
+
return if Docker::Image.exist?("#{repo(image)}:#{tag(image)}", docker_connection)
|
347
|
+
pull_image image
|
348
|
+
end
|
349
|
+
|
350
|
+
def pull_image(image)
|
351
|
+
with_retries { Docker::Image.create({ 'fromImage' => repo(image), 'tag' => tag(image) }, docker_connection) }
|
347
352
|
end
|
348
353
|
|
349
354
|
def runner_container_name
|