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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 1331d108ec0fd4f436ec283eea7b297e8ba7ddbd
4
- data.tar.gz: 8b7c178ffc9bac18f8cdac11fc61e96eda4fe600
3
+ metadata.gz: 60e2ad59397194be230673615a799951113e06a5
4
+ data.tar.gz: aa1487f1397b039d131a53cbe6ecd5d00287f11e
5
5
  SHA512:
6
- metadata.gz: cd1a6c190c6cc3e50dc3df2459281da2c651cb95f86a66d2c3f85efd877e226f6f732b8d74eed64be1646344548c75ae2a8ec2bd885dbfcb6236d000db389c2a
7
- data.tar.gz: 957ca38b58e557d28c6f8da2fb6bced0dc1fc0b5d9dce0f47282283123715efe4510a958403bb45624d2496d2e034353de536d7a36a7291df95ea78fd653a811
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
- delete_data
73
- delete_runner
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
- @work_image = Docker::Image.build_from_dir(
102
+ @intermediate_image = Docker::Image.build_from_dir(
101
103
  context_root,
102
- { 'nocache' => true, 'forcerm' => true },
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
- raise 'work_image build failed'
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 instance_platform_name
144
- instance.platform.name
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 work_image
148
- return "#{image_prefix}/#{instance_name}" unless image_prefix.nil?
149
- instance_name
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 delete_runner
157
- debug "driver - deleting container #{runner_container_name}"
158
- delete_container runner_container_name
161
+ def instance_platform_name
162
+ instance.platform.name
159
163
  end
160
164
 
161
- def delete_chef_container
162
- debug "driver - deleting container #{chef_container_name}"
163
- delete_container chef_container_name
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 delete_data
167
- debug "driver - deleting container #{data_container_name}"
168
- delete_container data_container_name
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 delete_container(name)
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(args['name'], false)
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 pull_image(image)
317
- with_retries { Docker::Image.create({ 'fromImage' => repo(image), 'tag' => tag(image) }, docker_connection) }
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 platform_image
326
- config[:image]
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 chef_image
334
- "someara/chef:#{chef_version}"
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 data_container_name
346
- "#{instance.name}-data"
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
@@ -19,6 +19,6 @@
19
19
  module Kitchen
20
20
  module Driver
21
21
  # Version string for Dokken Kitchen driver
22
- DOKKEN_VERSION = '0.0.18'
22
+ DOKKEN_VERSION = '0.0.19'
23
23
  end
24
24
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: kitchen-dokken
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.18
4
+ version: 0.0.19
5
5
  platform: ruby
6
6
  authors:
7
7
  - Sean OMeara