kitchen-salt 0.0.19 → 0.0.20

Sign up to get free protection for your applications and to get access to all the features.
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