kitchen-dokken 2.4.1 → 2.4.3
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/CHANGELOG.md +6 -0
- data/lib/kitchen/driver/dokken +0 -0
- data/lib/kitchen/driver/dokken.rb +36 -27
- data/lib/kitchen/driver/dokken_version.rb +1 -1
- metadata +17 -2
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA1:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 2c96c48b219e98045ac11e51e56610767eaba3b5
|
|
4
|
+
data.tar.gz: f3bdb6494d7c029ce6144d27a8ffa1448940309b
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 2c452fb897d7a6cfa9a537e403b205556578f079592eee2746418b79a2069b7956c250638e887cc2f1ca0b8784785783c3bdb6b5ded4c7991e48d698fa090914
|
|
7
|
+
data.tar.gz: ec2525c3c9baae58bb5aeaa4ef206d586e1f5ab6672c1633a9e9bbf0f3ca4957e1f4004b5887d99e620adc67922008c2b4849de073a5b0819d7057f64af9cc2b
|
data/CHANGELOG.md
CHANGED
|
File without changes
|
|
@@ -19,6 +19,7 @@ require 'digest'
|
|
|
19
19
|
require 'kitchen'
|
|
20
20
|
require 'tmpdir'
|
|
21
21
|
require 'docker'
|
|
22
|
+
require 'lockfile'
|
|
22
23
|
require_relative '../helpers'
|
|
23
24
|
|
|
24
25
|
include Dokken::Helpers
|
|
@@ -56,7 +57,7 @@ module Kitchen
|
|
|
56
57
|
default_config :write_timeout, 3600
|
|
57
58
|
|
|
58
59
|
# (see Base#create)
|
|
59
|
-
def create(state)
|
|
60
|
+
def create(state)
|
|
60
61
|
# image to config
|
|
61
62
|
pull_platform_image
|
|
62
63
|
|
|
@@ -297,17 +298,18 @@ module Kitchen
|
|
|
297
298
|
end
|
|
298
299
|
|
|
299
300
|
def make_dokken_network
|
|
300
|
-
|
|
301
|
-
|
|
302
|
-
|
|
303
|
-
|
|
301
|
+
lockfile = Lockfile.new "#{home_dir}/.dokken-network.lock"
|
|
302
|
+
begin
|
|
303
|
+
lockfile.lock
|
|
304
|
+
with_retries { ::Docker::Network.get('dokken', {}, docker_connection) }
|
|
305
|
+
rescue
|
|
304
306
|
begin
|
|
305
|
-
|
|
306
|
-
n = ::Docker::Network.create('dokken', {})
|
|
307
|
-
debug "n - #{n}"
|
|
307
|
+
with_retries { ::Docker::Network.create('dokken', {}) }
|
|
308
308
|
rescue ::Docker::Error => e
|
|
309
|
-
debug "driver - :#{e}:"
|
|
309
|
+
debug "driver - error :#{e}:"
|
|
310
310
|
end
|
|
311
|
+
ensure
|
|
312
|
+
lockfile.unlock
|
|
311
313
|
end
|
|
312
314
|
end
|
|
313
315
|
|
|
@@ -317,24 +319,30 @@ module Kitchen
|
|
|
317
319
|
end
|
|
318
320
|
|
|
319
321
|
def create_chef_container(state)
|
|
320
|
-
|
|
321
|
-
|
|
322
|
-
|
|
323
|
-
|
|
324
|
-
|
|
325
|
-
|
|
326
|
-
|
|
327
|
-
|
|
328
|
-
|
|
329
|
-
|
|
330
|
-
'
|
|
331
|
-
|
|
332
|
-
|
|
333
|
-
|
|
334
|
-
|
|
335
|
-
|
|
336
|
-
|
|
322
|
+
lockfile = Lockfile.new "#{home_dir}/.dokken-#{chef_container_name}.lock"
|
|
323
|
+
begin
|
|
324
|
+
lockfile.lock
|
|
325
|
+
with_retries { ::Docker::Container.get(chef_container_name, {}, docker_connection) }
|
|
326
|
+
rescue ::Docker::Error::NotFoundError
|
|
327
|
+
with_retries do
|
|
328
|
+
begin
|
|
329
|
+
debug "driver - creating volume container #{chef_container_name} from #{chef_image}"
|
|
330
|
+
config = {
|
|
331
|
+
'name' => chef_container_name,
|
|
332
|
+
'Cmd' => 'true',
|
|
333
|
+
'Image' => "#{repo(chef_image)}:#{tag(chef_image)}",
|
|
334
|
+
'HostConfig' => {
|
|
335
|
+
'NetworkMode' => self[:network_mode],
|
|
336
|
+
},
|
|
337
|
+
}
|
|
338
|
+
chef_container = create_container(config)
|
|
339
|
+
state[:chef_container] = chef_container.json
|
|
340
|
+
rescue ::Docker::Error => e
|
|
341
|
+
raise "driver - #{chef_container_name} failed to create #{e}"
|
|
342
|
+
end
|
|
337
343
|
end
|
|
344
|
+
ensure
|
|
345
|
+
lockfile.unlock
|
|
338
346
|
end
|
|
339
347
|
end
|
|
340
348
|
|
|
@@ -396,6 +404,7 @@ module Kitchen
|
|
|
396
404
|
end
|
|
397
405
|
end
|
|
398
406
|
rescue ::Docker::Error => e
|
|
407
|
+
debug "driver - error :#{e}:"
|
|
399
408
|
raise "driver - failed to create_container #{args['name']}"
|
|
400
409
|
end
|
|
401
410
|
end
|
|
@@ -524,7 +533,7 @@ module Kitchen
|
|
|
524
533
|
tries -= 1
|
|
525
534
|
sleep 0.1
|
|
526
535
|
retry if tries > 0
|
|
527
|
-
debug "tries: #{tries}
|
|
536
|
+
debug "tries: #{tries} error: #{e}"
|
|
528
537
|
raise e
|
|
529
538
|
end
|
|
530
539
|
end
|
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.4.
|
|
4
|
+
version: 2.4.3
|
|
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-06-
|
|
11
|
+
date: 2017-06-22 00:00:00.000000000 Z
|
|
12
12
|
dependencies:
|
|
13
13
|
- !ruby/object:Gem::Dependency
|
|
14
14
|
name: test-kitchen
|
|
@@ -38,6 +38,20 @@ dependencies:
|
|
|
38
38
|
- - "~>"
|
|
39
39
|
- !ruby/object:Gem::Version
|
|
40
40
|
version: '1.33'
|
|
41
|
+
- !ruby/object:Gem::Dependency
|
|
42
|
+
name: lockfile
|
|
43
|
+
requirement: !ruby/object:Gem::Requirement
|
|
44
|
+
requirements:
|
|
45
|
+
- - "~>"
|
|
46
|
+
- !ruby/object:Gem::Version
|
|
47
|
+
version: '2.1'
|
|
48
|
+
type: :runtime
|
|
49
|
+
prerelease: false
|
|
50
|
+
version_requirements: !ruby/object:Gem::Requirement
|
|
51
|
+
requirements:
|
|
52
|
+
- - "~>"
|
|
53
|
+
- !ruby/object:Gem::Version
|
|
54
|
+
version: '2.1'
|
|
41
55
|
description: A Test Kitchen Driver for Dokken
|
|
42
56
|
email:
|
|
43
57
|
- sean@sean.io
|
|
@@ -47,6 +61,7 @@ extra_rdoc_files: []
|
|
|
47
61
|
files:
|
|
48
62
|
- CHANGELOG.md
|
|
49
63
|
- LICENSE
|
|
64
|
+
- lib/kitchen/driver/dokken
|
|
50
65
|
- lib/kitchen/driver/dokken.rb
|
|
51
66
|
- lib/kitchen/driver/dokken_version.rb
|
|
52
67
|
- lib/kitchen/helpers.rb
|