kitchen-puppet 0.0.22 → 0.0.23

Sign up to get free protection for your applications and to get access to all the features.
@@ -2,6 +2,6 @@
2
2
 
3
3
  module Kitchen
4
4
  module Puppet
5
- VERSION = '0.0.22'
5
+ VERSION = '0.0.23'
6
6
  end
7
7
  end
@@ -127,6 +127,8 @@ module Kitchen
127
127
  provisioner.calculate_path('hiera_keys')
128
128
  end
129
129
 
130
+ default_config :hiera_deep_merge, false
131
+
130
132
  def calculate_path(path, type = :directory)
131
133
  base = config[:test_base_path]
132
134
  candidates = []
@@ -159,6 +161,7 @@ module Kitchen
159
161
  do_download #{config[:puppet_omnibus_url]} /tmp/puppet_install.sh
160
162
  #{sudo('sh')} /tmp/puppet_install.sh #{version}
161
163
  fi
164
+ #{install_deep_merge}
162
165
  #{install_busser}
163
166
  INSTALL
164
167
  else
@@ -173,6 +176,8 @@ module Kitchen
173
176
  #{sudo_env('apt-get')} -y install puppet-common#{puppet_debian_version}
174
177
  #{sudo_env('apt-get')} -y install puppet#{puppet_debian_version}
175
178
  fi
179
+ #{install_eyaml}
180
+ #{install_deep_merge}
176
181
  #{install_busser}
177
182
  INSTALL
178
183
  when 'redhat', 'centos', 'fedora', 'oracle', 'amazon'
@@ -183,6 +188,8 @@ module Kitchen
183
188
  #{update_packages_redhat_cmd}
184
189
  #{sudo_env('yum')} -y install puppet#{puppet_redhat_version}
185
190
  fi
191
+ #{install_eyaml}
192
+ #{install_deep_merge}
186
193
  #{install_busser}
187
194
  INSTALL
188
195
  else
@@ -208,19 +215,30 @@ module Kitchen
208
215
  fi
209
216
  fi
210
217
  #{install_eyaml}
218
+ #{install_deep_merge}
211
219
  #{install_busser}
212
220
  INSTALL
213
221
  end
214
222
  end
215
223
  end
216
224
  # rubocop:enable Metrics/CyclomaticComplexity, Metrics/PerceivedComplexity
225
+ def install_deep_merge
226
+ return unless config[:hiera_deep_merge]
227
+ <<-INSTALL
228
+ # Support for hash merge lookups to recursively merge hash keys
229
+ if [[ $(#{sudo('gem')} list deep_merge -i) == 'false' ]]; then
230
+ echo '-----> Installing deep_merge to provide deep_merge of hiera hashes'
231
+ #{sudo('gem')} install #{gem_proxy_parm} --no-ri --no-rdoc deep_merge
232
+ fi
233
+ INSTALL
234
+ end
217
235
 
218
236
  def install_eyaml
219
237
  return unless config[:hiera_eyaml]
220
238
  <<-INSTALL
221
239
  # A backend for Hiera that provides per-value asymmetric encryption of sensitive data
222
240
  if [[ $(#{sudo('gem')} list hiera-eyaml -i) == 'false' ]]; then
223
- echo "-----> Installing hiera-eyaml to provide encryption of hiera data"
241
+ echo '-----> Installing hiera-eyaml to provide encryption of hiera data'
224
242
  #{sudo('gem')} install #{gem_proxy_parm} --no-ri --no-rdoc hiera-eyaml
225
243
  fi
226
244
  INSTALL
@@ -236,7 +254,7 @@ module Kitchen
236
254
  # whole chef client
237
255
  if [ ! -d "/opt/chef" ]
238
256
  then
239
- echo "-----> Installing Chef Omnibus to install busser to run tests"
257
+ echo '-----> Installing Chef Omnibus to install busser to run tests'
240
258
  do_download #{chef_url} /tmp/install.sh
241
259
  #{sudo('sh')} /tmp/install.sh
242
260
  fi
@@ -433,6 +451,10 @@ module Kitchen
433
451
  config[:hiera_eyaml_key_remote_path]
434
452
  end
435
453
 
454
+ def hiera_deep_merge
455
+ config[:hiera_deep_merge]
456
+ end
457
+
436
458
  def librarian_puppet_ssl_file
437
459
  config[:librarian_puppet_ssl_file]
438
460
  end
@@ -38,6 +38,7 @@ remove_puppet_repo | false | remove copy of puppet repository and puppet configu
38
38
  hiera_eyaml | false | use hiera-eyaml to encrypt hiera data
39
39
  hiera_eyaml_key_remote_path | "/etc/puppet/secure/keys" | directory of hiera-eyaml keys on server
40
40
  hiera_eyaml_key_path | "hiera_keys" | directory of hiera-eyaml keys on workstation
41
+ hiera_deep_merge | false | install the deep_merge gem to support hiera deep merge mode
41
42
  facter_file | nil | yaml file of custom facter_files to be provided to the puppet-apply command
42
43
  http_proxy | nil | use http proxy when installing puppet and packages
43
44
  puppet_logdest | nil | _Array_ of log destinations. Include 'console' if wanted
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: kitchen-puppet
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.22
4
+ version: 0.0.23
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -9,7 +9,7 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2015-02-03 00:00:00.000000000 Z
12
+ date: 2015-02-25 00:00:00.000000000 Z
13
13
  dependencies: []
14
14
  description: ! '== DESCRIPTION:
15
15