kitchen-salt 0.0.19 → 0.0.20

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 CHANGED
@@ -1,15 +1,7 @@
1
1
  ---
2
- !binary "U0hBMQ==":
3
- metadata.gz: !binary |-
4
- MzBmNWJhY2U4OWMwMDliZTg4MTEwYjBmM2FhY2QyYTdkZjBiYjJmNg==
5
- data.tar.gz: !binary |-
6
- ZjM1MDFiYTE2MzE4Y2ZiYzkwOTFhZTQwYjg0ZDgyNjMzYzM0YjE2NA==
2
+ SHA1:
3
+ metadata.gz: 12fa6805423ded99c3c23c988daf11e1f4a5cded
4
+ data.tar.gz: 3e31aff1ed3d5da8aff8891dc991706e3ff75631
7
5
  SHA512:
8
- metadata.gz: !binary |-
9
- MjIwMGI4MTI2MmRkNjNlODZlN2ZkNDlkNjVjNjdhODg5MGNkOTI3ZDI0Yjcw
10
- NDE3YzljYTc5YjY4OWVkYWQ4MDRhNmExYjVhZjAwYTFmNmNjNzk5ZGU1ODIw
11
- NTI0ZWRmNzBkZTNjM2M4ZWIzZDkzZGIwNDY0ZTIwM2ViYzhjYTY=
12
- data.tar.gz: !binary |-
13
- NzRkMzYxNzYzODU1NDRmZmU4MzhiOWYyYjE0NTZmNGExNTMyNWQ3Y2RjODQ5
14
- MzI1ZGE3ZTA4MjAzZjFiZjc0MzI2NDQwOTVjMzUxYjk1Y2UxZjI2YTc3NTVj
15
- Yjk0OGFiODkxOTFmY2M5MjdkNmYyODdiYjNmZDNmOGY3ZjdkMzM=
6
+ metadata.gz: 67aa2eaf7794942a0a97c79f1a6594f979d371429ad5090c3d67eef53f51540a2d4b72fe0f0701fa864cc98a796c6d8a2e5baaeba2fcd8706438dde016c6176a
7
+ data.tar.gz: 966af886ee52d978bf8c0fa3d019029da0198bf56e4018cdd8648773aacadd3c716fca46b8990c4f5beec99aa371f3408555ab2f4f31ebac4359751917c6f949
@@ -1,5 +1,5 @@
1
1
  module Kitchen
2
2
  module Salt
3
- VERSION = "0.0.19"
3
+ VERSION = "0.0.20"
4
4
  end
5
5
  end
@@ -56,7 +56,9 @@ module Kitchen
56
56
  default_config :salt_copy_filter, []
57
57
  default_config :is_file_root, false
58
58
 
59
- default_config :dependancies, []
59
+ default_config :dependencies, []
60
+ default_config :vendor_path, ""
61
+ default_config :omnibus_cachier, false
60
62
 
61
63
  # salt-call version that supports the undocumented --retcode-passthrough command
62
64
  RETCODE_VERSION = '0.17.5'
@@ -81,6 +83,8 @@ module Kitchen
81
83
  salt_apt_repo = config[:salt_apt_repo]
82
84
  salt_apt_repo_key = config[:salt_apt_repo_key]
83
85
 
86
+ omnibus_download_dir = config[:omnibus_cachier] ? "/tmp/vagrant-cache/omnibus_chef" : "/tmp"
87
+
84
88
  <<-INSTALL
85
89
  sh -c '
86
90
  #{Util.shell_helpers}
@@ -130,15 +134,15 @@ module Kitchen
130
134
  exit 2
131
135
  fi
132
136
 
133
- # install chef omnibus so that busser works :(
134
- # TODO: work out how to install enough ruby
135
- # and set busser: { :ruby_bindir => '/usr/bin/ruby' } so that we dont need the
136
- # whole chef client
137
137
  if [ ! -d "/opt/chef" ]
138
138
  then
139
139
  echo "-----> Installing Chef Omnibus"
140
- do_download #{chef_url} /tmp/install.sh
141
- #{sudo('sh')} /tmp/install.sh
140
+ mkdir -p #{omnibus_download_dir}
141
+ if [ ! -x #{omnibus_download_dir}/install.sh ]
142
+ then
143
+ do_download #{chef_url} #{omnibus_download_dir}/install.sh
144
+ fi
145
+ #{sudo('sh')} #{omnibus_download_dir}/install.sh -d #{omnibus_download_dir}
142
146
  fi
143
147
 
144
148
  '
@@ -157,7 +161,17 @@ module Kitchen
157
161
  else
158
162
  prepare_formula config[:kitchen_root], config[:formula]
159
163
 
160
- config[:dependancies].each do |formula|
164
+ deps = if Pathname.new(config[:vendor_path]).absolute?
165
+ Dir["#{config[:vendor_path]}/*"]
166
+ else
167
+ Dir["#{config[:kitchen_root]}/#{config[:vendor_path]}/*"]
168
+ end
169
+
170
+ deps.each do |d|
171
+ prepare_formula "#{config[:kitchen_root]}/#{config[:vendor_path]}", File.basename(d)
172
+ end
173
+
174
+ config[:dependencies].each do |formula|
161
175
  prepare_formula formula[:path], formula[:name]
162
176
  end
163
177
  end
@@ -410,14 +424,22 @@ module Kitchen
410
424
  target = source.sub(/^#{source_path}/, target_path)
411
425
  debug("cp_r_with_filter:source = #{source}")
412
426
  debug("cp_r_with_filter:target = #{target}")
427
+ filtered = filter.include?(File.basename(source))
413
428
  if File.directory? source
414
- if filter.include?(File.basename(source))
429
+ if filtered
415
430
  debug("Found #{source} in #{filter}, pruning it from the Find")
416
431
  Find.prune
417
432
  end
418
433
  FileUtils.mkdir target unless File.exists? target
434
+ if File.symlink? source
435
+ FileUtils.cp_r "#{source}/.", target
436
+ end
419
437
  else
420
- FileUtils.copy source, target
438
+ if filtered
439
+ debug("Found #{source} in #{filter}, not copying file")
440
+ else
441
+ FileUtils.copy source, target
442
+ end
421
443
  end
422
444
  end
423
445
  end
metadata CHANGED
@@ -1,15 +1,71 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: kitchen-salt
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.19
4
+ version: 0.0.20
5
5
  platform: ruby
6
6
  authors:
7
7
  - Simon McCartney
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2014-07-16 00:00:00.000000000 Z
12
- dependencies: []
11
+ date: 2015-07-02 00:00:00.000000000 Z
12
+ dependencies:
13
+ - !ruby/object:Gem::Dependency
14
+ name: test-kitchen
15
+ requirement: !ruby/object:Gem::Requirement
16
+ requirements:
17
+ - - ">="
18
+ - !ruby/object:Gem::Version
19
+ version: '0'
20
+ type: :runtime
21
+ prerelease: false
22
+ version_requirements: !ruby/object:Gem::Requirement
23
+ requirements:
24
+ - - ">="
25
+ - !ruby/object:Gem::Version
26
+ version: '0'
27
+ - !ruby/object:Gem::Dependency
28
+ name: rspec
29
+ requirement: !ruby/object:Gem::Requirement
30
+ requirements:
31
+ - - ">="
32
+ - !ruby/object:Gem::Version
33
+ version: '0'
34
+ type: :development
35
+ prerelease: false
36
+ version_requirements: !ruby/object:Gem::Requirement
37
+ requirements:
38
+ - - ">="
39
+ - !ruby/object:Gem::Version
40
+ version: '0'
41
+ - !ruby/object:Gem::Dependency
42
+ name: pry
43
+ requirement: !ruby/object:Gem::Requirement
44
+ requirements:
45
+ - - ">="
46
+ - !ruby/object:Gem::Version
47
+ version: '0'
48
+ type: :development
49
+ prerelease: false
50
+ version_requirements: !ruby/object:Gem::Requirement
51
+ requirements:
52
+ - - ">="
53
+ - !ruby/object:Gem::Version
54
+ version: '0'
55
+ - !ruby/object:Gem::Dependency
56
+ name: gem-release
57
+ requirement: !ruby/object:Gem::Requirement
58
+ requirements:
59
+ - - ">="
60
+ - !ruby/object:Gem::Version
61
+ version: '0'
62
+ type: :development
63
+ prerelease: false
64
+ version_requirements: !ruby/object:Gem::Requirement
65
+ requirements:
66
+ - - ">="
67
+ - !ruby/object:Gem::Version
68
+ version: '0'
13
69
  description: salt provisioner for test-kitchen
14
70
  email:
15
71
  - simon@mccartney.ie
@@ -28,17 +84,17 @@ require_paths:
28
84
  - lib
29
85
  required_ruby_version: !ruby/object:Gem::Requirement
30
86
  requirements:
31
- - - ! '>='
87
+ - - ">="
32
88
  - !ruby/object:Gem::Version
33
89
  version: '0'
34
90
  required_rubygems_version: !ruby/object:Gem::Requirement
35
91
  requirements:
36
- - - ! '>='
92
+ - - ">="
37
93
  - !ruby/object:Gem::Version
38
94
  version: '0'
39
95
  requirements: []
40
- rubyforge_project: ! '[none]'
41
- rubygems_version: 2.2.2
96
+ rubyforge_project: "[none]"
97
+ rubygems_version: 2.4.3
42
98
  signing_key:
43
99
  specification_version: 4
44
100
  summary: salt provisioner for test-kitchen