kitchen-puppet 0.0.26 → 0.0.27

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml ADDED
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA1:
3
+ metadata.gz: b8382ef035bf6ae265058c0b93fd30050fd5358c
4
+ data.tar.gz: 9b2fbd62a52a3dbbcae027578b01da659b5cf3a9
5
+ SHA512:
6
+ metadata.gz: 248f01585db42e2130a5f72a1d56a8d44dd7ee06c007528f931f411db239e09b9d13e792a868a5b21e459820d9b1f83cc6e794bbcbd38ca22d0820de75a7abeb
7
+ data.tar.gz: eb449b9835f2b033dd755f31b7d21c63535e553765783f1586598b71c46ccbb504c08133f10edca0bf179708c261814202fc2a27fe627808c6d4acf3de8cba82
data/README.md CHANGED
@@ -1,6 +1,8 @@
1
1
  # Kitchen Puppet
2
2
 
3
3
  [![Gem Version](https://badge.fury.io/rb/kitchen-puppet.svg)](http://badge.fury.io/rb/kitchen-puppet)
4
+ [![Gem Downloads](http://ruby-gem-downloads-badge.herokuapp.com/kitchen-puppet?type=total&color=brightgreen)](https://rubygems.org/gems/kitchen-puppet)
5
+ [![Build Status](https://travis-ci.org/neillturner/kitchen-puppet.png)](https://travis-ci.org/neillturner/kitchen-puppet)
4
6
 
5
7
  # kitchen-puppet
6
8
  A Test Kitchen Provisioner for Puppet
@@ -10,7 +10,7 @@ Gem::Specification.new do |s|
10
10
  s.email = ['neillwturner@gmail.com']
11
11
  s.homepage = 'https://github.com/neillturner/kitchen-puppet'
12
12
  s.summary = 'puppet provisioner for test-kitchen'
13
- candidates = Dir.glob('{lib}/**/*') + ['README.md', 'provisioner_options.md', 'kitchen-puppet.gemspec']
13
+ candidates = Dir.glob('{lib}/**/*') + ['README.md', 'provisioner_options.md', 'kitchen-puppet.gemspec']
14
14
  s.files = candidates.sort
15
15
  s.platform = Gem::Platform::RUBY
16
16
  s.require_paths = ['lib']
@@ -22,7 +22,6 @@ Puppet Provisioner for Test Kitchen
22
22
 
23
23
  == FEATURES:
24
24
 
25
- Supports puppet apply, puppet agent, hiera, hiera-eyaml, custom facts, librarian-puppet, puppet collections (v4)
26
-
25
+ Supports puppet apply, puppet agent, hiera, hiera-eyaml, custom facts, librarian-puppet, puppet collections (v4)
27
26
  EOF
28
27
  end
@@ -2,6 +2,6 @@
2
2
 
3
3
  module Kitchen
4
4
  module Puppet
5
- VERSION = '0.0.26'
5
+ VERSION = '0.0.27'
6
6
  end
7
7
  end
@@ -356,11 +356,11 @@ module Kitchen
356
356
  end
357
357
 
358
358
  def gem_proxy_parm
359
- http_proxy ? "--http-proxy #{http_proxy}" : nil
359
+ http_proxy ? "--http-proxy #{http_proxy}" : nil
360
360
  end
361
361
 
362
362
  def wget_proxy_parm
363
- http_proxy ? "-e use_proxy=yes -e http_proxy=#{http_proxy}" : nil
363
+ http_proxy ? "-e use_proxy=yes -e http_proxy=#{http_proxy}" : nil
364
364
  end
365
365
 
366
366
  def http_proxy
@@ -145,16 +145,16 @@ module Kitchen
145
145
  type == :directory ? File.directory?(c) : File.file?(c)
146
146
  end
147
147
  end
148
-
148
+
149
149
  # TODO: refactor for smaller cyclomatic complexity and perceived complexity
150
150
  # rubocop:disable Metrics/CyclomaticComplexity, Metrics/PerceivedComplexity
151
151
  def install_command
152
152
  return unless config[:require_puppet_collections] || config[:require_puppet_repo]
153
153
  if config[:require_puppet_collections]
154
- install_command_collections
154
+ install_command_collections
155
155
  else
156
- case puppet_platform
157
- when 'debian', 'ubuntu'
156
+ case puppet_platform
157
+ when 'debian', 'ubuntu'
158
158
  info("Installing puppet on #{puppet_platform}")
159
159
  <<-INSTALL
160
160
  if [ ! $(which puppet) ]; then
@@ -171,29 +171,23 @@ module Kitchen
171
171
  INSTALL
172
172
  when 'redhat', 'centos', 'fedora', 'oracle', 'amazon'
173
173
  info("Installing puppet from yum on #{puppet_platform}")
174
- <<-INSTALL
175
- if [ ! $(which puppet) ]; then
176
- #{sudo('rpm')} -ivh #{proxy_parm} #{puppet_yum_repo}
177
- #{update_packages_redhat_cmd}
178
- #{sudo_env('yum')} -y install puppet#{puppet_redhat_version}
179
- fi
180
- #{install_eyaml}
181
- #{install_deep_merge}
182
- #{install_busser}
183
- INSTALL
174
+ <<-INSTALL
175
+ if [ ! $(which puppet) ]; then
176
+ #{install_puppet_yum_repo}
177
+ fi
178
+ #{install_eyaml}
179
+ #{install_deep_merge}
180
+ #{install_busser}
181
+ INSTALL
184
182
  else
185
183
  info('Installing puppet, will try to determine platform os')
186
184
  <<-INSTALL
187
185
  if [ ! $(which puppet) ]; then
188
186
  if [ -f /etc/centos-release ] || [ -f /etc/redhat-release ] || [ -f /etc/oracle-release ]; then
189
- #{sudo('rpm')} -ivh #{proxy_parm} #{puppet_yum_repo}
190
- #{update_packages_redhat_cmd}
191
- #{sudo_env('yum')} -y install puppet#{puppet_redhat_version}
187
+ #{install_puppet_yum_repo}
192
188
  else
193
189
  if [ -f /etc/system-release ] || [ grep -q 'Amazon Linux' /etc/system-release ]; then
194
- #{sudo('rpm')} -ivh #{proxy_parm} #{puppet_yum_repo}
195
- #{update_packages_redhat_cmd}
196
- #{sudo_env('yum')} -y install puppet#{puppet_redhat_version}
190
+ #{install_puppet_yum_repo}
197
191
  else
198
192
  #{sudo('apt-get')} -y install wget
199
193
  #{sudo('wget')} #{wget_proxy_parm} #{puppet_apt_repo}
@@ -209,62 +203,64 @@ module Kitchen
209
203
  #{install_busser}
210
204
  INSTALL
211
205
  end
212
- end
206
+ end
213
207
  end
214
-
208
+
215
209
  def install_command_collections
216
- case puppet_platform
217
- when 'debian', 'ubuntu'
218
- info("Installing Puppet Collections on #{puppet_platform}")
219
- #{sudo('apt-get')} -y install wget
220
- #{sudo('wget')} #{wget_proxy_parm} #{config[:puppet_apt_collections_repo]}
221
- #{sudo('dpkg')} -i #{puppet_apt_coll_repo_file}
222
- when 'redhat', 'centos', 'fedora', 'oracle', 'amazon'
223
- info("Installing Puppet Collections on #{puppet_platform}")
224
- <<-INSTALL
225
- #{Util.shell_helpers}
226
- if [ ! -d "#{config[:puppet_coll_remote_path]}" ]; then
227
- echo "-----> #{sudo_env('yum')} -y localinstall #{config[:puppet_yum_collections_repo]}"
228
- #{sudo_env('yum')} -y localinstall #{config[:puppet_yum_collections_repo]}
229
- #{sudo_env('yum')} -y install puppet
230
- fi
231
- #{install_eyaml("#{config[:puppet_coll_remote_path]}/puppet/bin/gem")}
232
- #{install_deep_merge}
233
- #{install_busser}
234
- INSTALL
235
- else
236
- info('Installing Puppet Collections, will try to determine platform os')
237
- <<-INSTALL
238
- if [ ! -d "#{config[:puppet_coll_remote_path]}" ]; then
239
- if [ -f /etc/centos-release ] || [ -f /etc/redhat-release ] || [ -f /etc/oracle-release ]; then
240
- #{Util.shell_helpers}
241
- if [ ! -d "#{config[:puppet_coll_remote_path]}" ]; then
242
- echo "-----> #{sudo_env('yum')} -y localinstall #{config[:puppet_yum_collections_repo]}"
243
- #{sudo_env('yum')} -y localinstall #{config[:puppet_yum_collections_repo]}
244
- #{sudo_env('yum')} -y install puppet
245
- fi
246
- else
247
- if [ -f /etc/system-release ] || [ grep -q 'Amazon Linux' /etc/system-release ]; then
248
- #{Util.shell_helpers}
249
- if [ ! -d "#{config[:puppet_coll_remote_path]}" ]; then
250
- echo "-----> #{sudo_env('yum')} -y localinstall #{config[:puppet_yum_collections_repo]}"
251
- #{sudo_env('yum')} -y localinstall #{config[:puppet_yum_collections_repo]}
252
- #{sudo_env('yum')} -y install puppet
253
- fi
254
- else
255
- #{sudo('apt-get')} -y install wget
256
- #{sudo('wget')} #{wget_proxy_parm} #{config[:puppet_apt_collections_repo]}
257
- #{sudo('dpkg')} -i #{puppet_apt_coll_repo_file}
210
+ case puppet_platform
211
+ when 'debian', 'ubuntu'
212
+ info("Installing Puppet Collections on #{puppet_platform}")
213
+ <<-INSTALL
214
+ #{sudo('apt-get')} -y install wget
215
+ #{sudo('wget')} #{wget_proxy_parm} #{config[:puppet_apt_collections_repo]}
216
+ #{sudo('dpkg')} -i #{puppet_apt_coll_repo_file}
217
+ INSTALL
218
+ when 'redhat', 'centos', 'fedora', 'oracle', 'amazon'
219
+ info("Installing Puppet Collections on #{puppet_platform}")
220
+ <<-INSTALL
221
+ #{Util.shell_helpers}
222
+ if [ ! -d "#{config[:puppet_coll_remote_path]}" ]; then
223
+ echo "-----> #{sudo_env('yum')} -y localinstall #{config[:puppet_yum_collections_repo]}"
224
+ #{sudo_env('yum')} -y localinstall #{config[:puppet_yum_collections_repo]}
225
+ #{sudo_env('yum')} -y install puppet
226
+ fi
227
+ #{install_eyaml("#{config[:puppet_coll_remote_path]}/puppet/bin/gem")}
228
+ #{install_deep_merge}
229
+ #{install_busser}
230
+ INSTALL
231
+ else
232
+ info('Installing Puppet Collections, will try to determine platform os')
233
+ <<-INSTALL
234
+ if [ ! -d "#{config[:puppet_coll_remote_path]}" ]; then
235
+ if [ -f /etc/centos-release ] || [ -f /etc/redhat-release ] || [ -f /etc/oracle-release ]; then
236
+ #{Util.shell_helpers}
237
+ if [ ! -d "#{config[:puppet_coll_remote_path]}" ]; then
238
+ echo "-----> #{sudo_env('yum')} -y localinstall #{config[:puppet_yum_collections_repo]}"
239
+ #{sudo_env('yum')} -y localinstall #{config[:puppet_yum_collections_repo]}
240
+ #{sudo_env('yum')} -y install puppet
241
+ fi
242
+ else
243
+ if [ -f /etc/system-release ] || [ grep -q 'Amazon Linux' /etc/system-release ]; then
244
+ #{Util.shell_helpers}
245
+ if [ ! -d "#{config[:puppet_coll_remote_path]}" ]; then
246
+ echo "-----> #{sudo_env('yum')} -y localinstall #{config[:puppet_yum_collections_repo]}"
247
+ #{sudo_env('yum')} -y localinstall #{config[:puppet_yum_collections_repo]}
248
+ #{sudo_env('yum')} -y install puppet
258
249
  fi
250
+ else
251
+ #{sudo('apt-get')} -y install wget
252
+ #{sudo('wget')} #{wget_proxy_parm} #{config[:puppet_apt_collections_repo]}
253
+ #{sudo('dpkg')} -i #{puppet_apt_coll_repo_file}
259
254
  fi
260
255
  fi
261
- #{install_eyaml("#{config[:puppet_coll_remote_path]}/puppet/bin/gem")}
262
- #{install_deep_merge}
263
- #{install_busser}
264
- INSTALL
265
- end
266
- end
267
-
256
+ fi
257
+ #{install_eyaml("#{config[:puppet_coll_remote_path]}/puppet/bin/gem")}
258
+ #{install_deep_merge}
259
+ #{install_busser}
260
+ INSTALL
261
+ end
262
+ end
263
+
268
264
  def install_deep_merge
269
265
  return unless config[:hiera_deep_merge]
270
266
  <<-INSTALL
@@ -276,7 +272,7 @@ module Kitchen
276
272
  INSTALL
277
273
  end
278
274
 
279
- def install_eyaml(gem_cmd='gem')
275
+ def install_eyaml(gem_cmd = 'gem')
280
276
  return unless config[:hiera_eyaml]
281
277
  <<-INSTALL
282
278
  # A backend for Hiera that provides per-value asymmetric encryption of sensitive data
@@ -305,6 +301,40 @@ module Kitchen
305
301
  INSTALL
306
302
  end
307
303
 
304
+ # /bin/wget -P /etc/pki/rpm-gpg/ http://yum.puppetlabs.com/RPM-GPG-KEY-puppetlabs
305
+ # changed to curl
306
+
307
+ def install_puppet_yum_repo
308
+ <<-INSTALL
309
+ rhelversion=$(cat /etc/redhat-release | grep release\ 7)
310
+ # For CentOS7/RHEL7 the rdo release contains puppetlabs repo, creating conflict. Create temp-repo
311
+ #{sudo_env('curl')} -o /etc/pki/rpm-gpg/RPM-GPG-KEY-puppetlabs http://yum.puppetlabs.com/RPM-GPG-KEY-puppetlabs
312
+ if [ -n "$rhelversion" ]; then
313
+ echo '[puppettemp-products]
314
+ name=Puppet Labs Products - \$basearch
315
+ baseurl=http://yum.puppetlabs.com/el/7/products/\$basearch
316
+ gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-puppetlabs
317
+ enabled=0
318
+ gpgcheck=1
319
+ [puppettemp-deps]
320
+ name=Puppet Labs Dependencies - \$basearch
321
+ baseurl=http://yum.puppetlabs.com/el/7/dependencies/\$basearch
322
+ gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-puppetlabs
323
+ enabled=0
324
+ gpgcheck=1' >> /etc/yum.repos.d/puppettemp.repo
325
+ #{update_packages_redhat_cmd}
326
+ #{sudo_env('yum')} -y --enablerepo=puppettemp-products --enablerepo=puppettemp-deps install puppet#{puppet_redhat_version}
327
+ # Clean up temporary puppet repo
328
+ rm -rf /etc/pki/rpm-gpg/RPM-GPG-KEY-puppetlabs
329
+ rm -rf /etc/yum.repos.d/puppettemp.repo
330
+ else
331
+ #{sudo('rpm')} -ivh #{proxy_parm} #{puppet_yum_repo}
332
+ #{update_packages_redhat_cmd}
333
+ #{sudo_env('yum')} -y install puppet#{puppet_redhat_version}
334
+ fi
335
+ INSTALL
336
+ end
337
+
308
338
  def init_command
309
339
  dirs = %w(modules manifests files hiera hiera.yaml)
310
340
  .map { |dir| File.join(config[:root_path], dir) }.join(' ')
@@ -350,19 +380,18 @@ module Kitchen
350
380
  end
351
381
 
352
382
  if puppet_git_pr
353
- commands << [
354
- sudo('git'), '--git-dir=/etc/puppet/.git/',
355
- 'fetch -f',
356
- 'origin',
357
- "pull/#{puppet_git_pr}/head:pr_#{puppet_git_pr}"
358
- ].join(' ')
359
-
360
- commands << [
361
- sudo('git'), '--git-dir=/etc/puppet/.git/',
362
- '--work-tree=/etc/puppet/',
363
- 'checkout',
364
- "pr_#{puppet_git_pr}"
365
- ].join(' ')
383
+ commands << [sudo('git'),
384
+ '--git-dir=/etc/puppet/.git/',
385
+ 'fetch -f',
386
+ 'origin',
387
+ "pull/#{puppet_git_pr}/head:pr_#{puppet_git_pr}"
388
+ ].join(' ')
389
+
390
+ commands << [sudo('git'), '--git-dir=/etc/puppet/.git/',
391
+ '--work-tree=/etc/puppet/',
392
+ 'checkout',
393
+ "pr_#{puppet_git_pr}"
394
+ ].join(' ')
366
395
  end
367
396
 
368
397
  if puppet_config
@@ -419,8 +448,8 @@ module Kitchen
419
448
  commands << [
420
449
  sudo('ln -s '), config[:root_path], File.join(puppet_dir, config[:puppet_environment])
421
450
  ].join(' ')
422
- end
423
-
451
+ end
452
+
424
453
  command = commands.join(' && ')
425
454
  debug(command)
426
455
  command
@@ -544,22 +573,22 @@ module Kitchen
544
573
  config[:librarian_puppet_ssl_file]
545
574
  end
546
575
 
547
- def puppet_cmd
548
- if config[:require_puppet_collections]
549
- sudo_env("#{config[:puppet_coll_remote_path]}/bin/puppet")
550
- else
551
- sudo_env('puppet')
552
- end
553
- end
554
-
555
- def puppet_dir
556
- if config[:require_puppet_collections]
557
- '/etc/puppetlabs/puppet'
558
- else
559
- '/etc/puppet'
560
- end
561
- end
562
-
576
+ def puppet_cmd
577
+ if config[:require_puppet_collections]
578
+ sudo_env("#{config[:puppet_coll_remote_path]}/bin/puppet")
579
+ else
580
+ sudo_env('puppet')
581
+ end
582
+ end
583
+
584
+ def puppet_dir
585
+ if config[:require_puppet_collections]
586
+ '/etc/puppetlabs/puppet'
587
+ else
588
+ '/etc/puppet'
589
+ end
590
+ end
591
+
563
592
  def puppet_debian_version
564
593
  config[:puppet_version] ? "=#{config[:puppet_version]}" : nil
565
594
  end
@@ -568,7 +597,7 @@ module Kitchen
568
597
  config[:puppet_version] ? "-#{config[:puppet_version]}" : nil
569
598
  end
570
599
 
571
- def puppet_environment_flag
600
+ def puppet_environment_flag
572
601
  config[:puppet_environment] ? "--environment=#{config[:puppet_environment]} --environmentpath=#{puppet_dir}" : nil
573
602
  end
574
603
 
@@ -624,7 +653,7 @@ module Kitchen
624
653
  def sudo_env(pm)
625
654
  s = https_proxy ? "https_proxy=#{https_proxy}" : nil
626
655
  p = http_proxy ? "http_proxy=#{http_proxy}" : nil
627
- p || s ? "#{sudo('env')} #{p} #{s} #{pm}" : "#{sudo(pm)}"
656
+ p || s ? "#{sudo('env')} #{p} #{s} #{pm}" : "#{sudo(pm)}"
628
657
  end
629
658
 
630
659
  def remove_puppet_repo
@@ -654,33 +683,33 @@ module Kitchen
654
683
  def puppet_apt_repo_file
655
684
  config[:puppet_apt_repo].split('/').last
656
685
  end
657
-
686
+
658
687
  def puppet_apt_coll_repo_file
659
688
  config[:puppet_apt_collections_repo].split('/').last
660
- end
689
+ end
661
690
 
662
691
  def puppet_yum_repo
663
692
  config[:puppet_yum_repo]
664
693
  end
665
694
 
666
695
  def proxy_parm
667
- http_proxy ? "--httpproxy #{URI.parse(http_proxy).host.downcase} --httpport #{URI.parse(http_proxy).port} " : nil
696
+ http_proxy ? "--httpproxy #{URI.parse(http_proxy).host.downcase} --httpport #{URI.parse(http_proxy).port} " : nil
668
697
  end
669
698
 
670
699
  def gem_proxy_parm
671
- http_proxy ? "--http-proxy #{http_proxy}" : nil
700
+ http_proxy ? "--http-proxy #{http_proxy}" : nil
672
701
  end
673
702
 
674
703
  def wget_proxy_parm
675
- p = http_proxy ? "-e http_proxy=#{http_proxy}" : nil
704
+ p = http_proxy ? "-e http_proxy=#{http_proxy}" : nil
676
705
  s = https_proxy ? "-e http_proxy=#{http_proxy}" : nil
677
- p || s ? "-e use_proxy=yes #{p} #{s}" : nil
706
+ p || s ? "-e use_proxy=yes #{p} #{s}" : nil
678
707
  end
679
708
 
680
709
  def http_proxy
681
710
  config[:http_proxy]
682
711
  end
683
-
712
+
684
713
  def https_proxy
685
714
  config[:https_proxy]
686
715
  end
@@ -29,7 +29,7 @@ puppet_git_pr | nil | checkout specific Pull Request from repository specified i
29
29
  update_package_repos| true| update OS repository metadata
30
30
  custom_facts| Hash.new | Hash to set the puppet facts before running puppet apply
31
31
  install_custom_facts| false | Install custom facts to yaml file at "/tmp/kitchen/facter/kitchen.yaml"
32
- chef_bootstrap_url |"https://www.getchef.com/chef/install.sh"| the chef (needed for busser to run tests)
32
+ chef_bootstrap_url |"https://www.getchef.com/chef/install.sh"| the chef (needed for busser to run tests) NOTE: kitchen 1.4 only requires ruby to run busser so this is not required.
33
33
  puppetfile_path | | Path to Puppetfile
34
34
  puppet_apply_command | nil | Overwrite the puppet apply command. Needs "sudo -E puppet apply" as a prefix.
35
35
  require_chef_for_busser | true | Install chef as currently needed by busser to run tests
@@ -52,6 +52,7 @@ puppet_logdest | nil | _Array_ of log destinations. Include 'console' if wanted
52
52
 
53
53
  The provisioner can be configured globally or per suite, global settings act as defaults for all suites, you can then customise per suite, for example:
54
54
 
55
+ ```yaml
55
56
  ---
56
57
  driver:
57
58
  name: vagrant
@@ -71,16 +72,26 @@ The provisioner can be configured globally or per suite, global settings act as
71
72
 
72
73
  suites:
73
74
  - name: default
75
+ ```
76
+
77
+ **NOTE:** With Test-Kitchen 1.4 you not longer need chef install to run the tests. You just need ruby installed version 1.9 or higher and also add to the .kitchen.yml file
74
78
 
79
+ ```yaml
80
+ verifier:
81
+ ruby_bindir: '/usr/bin'
82
+ ```
83
+ where /usr/bin is the location of the ruby command.
75
84
 
76
- in this example, vagrant will download a box for ubuntu 1204 with no configuration management installed, then install the latest puppet and puppet apply against a puppet repo from the /repository/puppet_repo directory using the defailt manifest site.pp
85
+ in this example, vagrant will download a box for ubuntu 1204 with no configuration management installed, then install the
86
+ latest puppet and puppet apply against a puppet repo from the /repository/puppet_repo directory using the defailt manifest site.pp
77
87
 
78
88
  To override a setting at the suite-level, specify the setting name under the suite:
79
89
 
90
+ ```yaml
80
91
  suites:
81
92
  - name: default
82
93
  manifest: foobar.pp
83
-
94
+ ```
84
95
  ### Per-suite Structure
85
96
 
86
97
  It can be beneficial to keep different Puppet layouts for different suites. Rather than having to specify the manifest, modules, etc for each suite, you can create the following directory structure and they will automatically be found:
@@ -126,7 +137,7 @@ update_package_repos| true| update OS repository metadata
126
137
  custom_facts| Hash.new | Hash to set the puppet facts before running puppet apply
127
138
  chef_bootstrap_url |"https://www.getchef.com/chef/install.sh"| the chef (needed for busser to run tests)
128
139
  puppet_agent_command | nil | Overwrite the puppet agent command. Needs "sudo -E puppet agent" as a prefix.
129
- require_chef_for_busser | true | Install chef as currently needed by busser to run tests
140
+ require_chef_for_busser | true | Install chef as currently needed by busser to run tests. NOTE: kitchen 1.4 only requires ruby to run busser so this is not required.
130
141
  puppet_config_path | | path of custom puppet.conf file
131
142
  http_proxy | nil | use http proxy when installing puppet and packages
132
143
 
@@ -137,6 +148,7 @@ NOTE: Puppet Collections Support not in puppet agent yet
137
148
 
138
149
  The provisioner can be configured globally or per suite, global settings act as defaults for all suites, you can then customise per suite, for example:
139
150
 
151
+ ```yaml
140
152
  ---
141
153
  driver:
142
154
  name: vagrant
@@ -156,7 +168,15 @@ The provisioner can be configured globally or per suite, global settings act as
156
168
 
157
169
  suites:
158
170
  - name: default
171
+ ```
172
+
173
+ **NOTE:** With Test-Kitchen 1.4 you not longer need chef install to run the tests. You just need ruby installed version 1.9 or higher and also add to the .kitchen.yml file
159
174
 
175
+ ```yaml
176
+ verifier:
177
+ ruby_bindir: '/usr/bin'
178
+ ```
179
+ where /usr/bin is the location of the ruby command.
160
180
 
161
181
  In this example, vagrant will download a box for ubuntu 1204 with no configuration management installed, then install the latest puppet and run puppet agent against a puppet master at puppetmaster-nocm-ubuntu-1204
162
182
 
@@ -169,6 +189,8 @@ NOTE: For testing it is possible to set the puppetmaster to autosign the certifi
169
189
 
170
190
  To override a setting at the suite-level, specify the setting name under the suite:
171
191
 
192
+ ```yaml
172
193
  suites:
173
194
  - name: default
174
195
  manifest: foobar.pp
196
+ ```
metadata CHANGED
@@ -1,19 +1,23 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: kitchen-puppet
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.26
5
- prerelease:
4
+ version: 0.0.27
6
5
  platform: ruby
7
6
  authors:
8
7
  - Neill Turner
9
8
  autorequire:
10
9
  bindir: bin
11
10
  cert_chain: []
12
- date: 2015-04-24 00:00:00.000000000 Z
11
+ date: 2015-05-11 00:00:00.000000000 Z
13
12
  dependencies: []
14
- description: ! "== DESCRIPTION:\n\nPuppet Provisioner for Test Kitchen\n\n== FEATURES:\n\nSupports
15
- puppet apply, puppet agent, hiera, hiera-eyaml, custom facts, librarian-puppet,
16
- puppet collections (v4) \n\n"
13
+ description: |
14
+ == DESCRIPTION:
15
+
16
+ Puppet Provisioner for Test Kitchen
17
+
18
+ == FEATURES:
19
+
20
+ Supports puppet apply, puppet agent, hiera, hiera-eyaml, custom facts, librarian-puppet, puppet collections (v4)
17
21
  email:
18
22
  - neillwturner@gmail.com
19
23
  executables: []
@@ -30,26 +34,25 @@ files:
30
34
  - provisioner_options.md
31
35
  homepage: https://github.com/neillturner/kitchen-puppet
32
36
  licenses: []
37
+ metadata: {}
33
38
  post_install_message:
34
39
  rdoc_options: []
35
40
  require_paths:
36
41
  - lib
37
42
  required_ruby_version: !ruby/object:Gem::Requirement
38
- none: false
39
43
  requirements:
40
- - - ! '>='
44
+ - - ">="
41
45
  - !ruby/object:Gem::Version
42
46
  version: '0'
43
47
  required_rubygems_version: !ruby/object:Gem::Requirement
44
- none: false
45
48
  requirements:
46
- - - ! '>='
49
+ - - ">="
47
50
  - !ruby/object:Gem::Version
48
51
  version: '0'
49
52
  requirements: []
50
- rubyforge_project: ! '[none]'
51
- rubygems_version: 1.8.24
53
+ rubyforge_project: "[none]"
54
+ rubygems_version: 2.2.2
52
55
  signing_key:
53
- specification_version: 3
56
+ specification_version: 4
54
57
  summary: puppet provisioner for test-kitchen
55
58
  test_files: []