kitchen-puppet 0.0.22 → 0.0.23

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.
@@ -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