kitchen-puppet 1.42.0 → 1.43.1
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 +4 -4
- data/README.md +11 -1
- data/lib/kitchen-puppet/version.rb +1 -1
- data/lib/kitchen/provisioner/puppet_apply.rb +129 -45
- data/provisioner_options.md +62 -55
- metadata +2 -2
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA1:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: e913481016895e945afb71d289cfdb28f659572f
|
|
4
|
+
data.tar.gz: 0cd76403d1c5e7ab4c6e83954679e99400a5f3f1
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: e962188077f822eabd2d14aaadcc8ffbb217009a1e024bc87efba2d90904a2be8bf99624259f407464d48adeb9e3adc2e7369c57beff5f001a0fb95b185cf293
|
|
7
|
+
data.tar.gz: 676923046eb3466948e53bc3104340261155c370f8e21368ed857680a73a83e50c0945911c516e7c55a041520423f100575902edd0795991d6a147201fc8a9ec
|
data/README.md
CHANGED
|
@@ -61,6 +61,16 @@ For PuppetAgent a server with a puppet master is required that can resolve the h
|
|
|
61
61
|
|
|
62
62
|
You can also use the PuppetApply driver with a docker container, provided the necessary box requirements to install puppet are included inside the container. The easiest way to do this is to supply Kitchen-Docker with a custom dockerfile to install the needed dependencies for puppet installation.
|
|
63
63
|
|
|
64
|
+
## Windows Support
|
|
65
|
+
|
|
66
|
+
There is windows/winrm support, currently not all functionality is supported.
|
|
67
|
+
* `require_chef_for_busser: false` (it is possible to call rspec over winrm to run the tests)
|
|
68
|
+
* `resolve_with_librarian_puppet: false` (librarian-puppet is not working on windows server)
|
|
69
|
+
|
|
70
|
+
Sample Puppet Repositories
|
|
71
|
+
* A sample hello world example puppet repository: https://github.com/neillturner/puppet_windows_repo
|
|
72
|
+
* A more extensive sample installing virtualbox on windows: https://github.com/red-gate/puppet-virtualbox_windows
|
|
73
|
+
|
|
64
74
|
## Test-Kitchen Serverspec
|
|
65
75
|
|
|
66
76
|
To run the verify step with the test-kitchen serverspec setup your puppet repository as follows:
|
|
@@ -136,7 +146,7 @@ To implement this with test-kitchen setup the puppet repository with:
|
|
|
136
146
|
|
|
137
147
|
* the spec_helper in the spec folder.
|
|
138
148
|
|
|
139
|
-
* install kitchen-verifier-serverspec on your workstation i.e. 'gem install kitchen-verifier-serverspec'
|
|
149
|
+
* install kitchen-verifier-serverspec on your workstation i.e. 'gem install kitchen-verifier-serverspec'
|
|
140
150
|
|
|
141
151
|
|
|
142
152
|
See example [https://github.com/neillturner/puppet_repo](https://github.com/neillturner/puppet_repo)
|
|
@@ -64,6 +64,7 @@ module Kitchen
|
|
|
64
64
|
default_config :puppet_logdest, nil
|
|
65
65
|
default_config :custom_install_command, nil
|
|
66
66
|
default_config :custom_pre_install_command, nil
|
|
67
|
+
default_config :custom_pre_apply_command, nil
|
|
67
68
|
default_config :puppet_whitelist_exit_code, nil
|
|
68
69
|
default_config :require_puppet_omnibus, false
|
|
69
70
|
default_config :puppet_omnibus_url, 'https://raw.githubusercontent.com/petems/puppet-install-shell/master/install_puppet.sh'
|
|
@@ -216,6 +217,23 @@ module Kitchen
|
|
|
216
217
|
#{install_busser}
|
|
217
218
|
#{custom_install_command}
|
|
218
219
|
INSTALL
|
|
220
|
+
when /^windows.*/
|
|
221
|
+
info("Installing puppet on #{puppet_platform}")
|
|
222
|
+
<<-INSTALL
|
|
223
|
+
if(Get-Command puppet -ErrorAction 0) { return; }
|
|
224
|
+
if( [Environment]::Is64BitOperatingSystem ) {
|
|
225
|
+
$MsiUrl = "https://downloads.puppetlabs.com/windows/puppet-#{puppet_windows_version}-x64.msi"
|
|
226
|
+
} else {
|
|
227
|
+
$MsiUrl = "https://downloads.puppetlabs.com/windows/puppet-#{puppet_windows_version}.msi"
|
|
228
|
+
}
|
|
229
|
+
$process = Start-Process -FilePath msiexec.exe -Wait -PassThru -ArgumentList '/qn', '/norestart', '/i', $MsiUrl
|
|
230
|
+
if ($process.ExitCode -ne 0) {
|
|
231
|
+
Write-Host "Installer failed."
|
|
232
|
+
Exit 1
|
|
233
|
+
}
|
|
234
|
+
|
|
235
|
+
#{install_busser}
|
|
236
|
+
INSTALL
|
|
219
237
|
else
|
|
220
238
|
info('Installing puppet, will try to determine platform os')
|
|
221
239
|
# need to add a CR to avoid trouble with proxy settings concatenation
|
|
@@ -340,7 +358,19 @@ module Kitchen
|
|
|
340
358
|
|
|
341
359
|
def install_busser
|
|
342
360
|
return unless config[:require_chef_for_busser]
|
|
343
|
-
|
|
361
|
+
info("Install busser on #{puppet_platform}")
|
|
362
|
+
case puppet_platform
|
|
363
|
+
when /^windows.*/
|
|
364
|
+
# https://raw.githubusercontent.com/opscode/knife-windows/master/lib/chef/knife/bootstrap/windows-chef-client-msi.erb
|
|
365
|
+
<<-INSTALL
|
|
366
|
+
$webclient = New-Object System.Net.WebClient; $webclient.DownloadFile('https://opscode-omnibus-packages.s3.amazonaws.com/windows/2008r2/x86_64/chef-windows-11.12.8-1.windows.msi','chef-windows-11.12.8-1.windows.msi')
|
|
367
|
+
msiexec /qn /i chef-windows-11.12.8-1.windows.msi
|
|
368
|
+
|
|
369
|
+
cmd.exe /C "SET PATH=%PATH%;`"C:\\opscode\\chef\\embedded\\bin`";`"C:\\tmp\\busser\\gems\\bin`""
|
|
370
|
+
|
|
371
|
+
INSTALL
|
|
372
|
+
else
|
|
373
|
+
<<-INSTALL
|
|
344
374
|
#{Util.shell_helpers}
|
|
345
375
|
# install chef omnibus so that busser works as this is needed to run tests :(
|
|
346
376
|
# TODO: work out how to install enough ruby
|
|
@@ -354,7 +384,8 @@ module Kitchen
|
|
|
354
384
|
do_download #{chef_url} /tmp/install.sh
|
|
355
385
|
#{sudo('sh')} /tmp/install.sh
|
|
356
386
|
fi
|
|
357
|
-
|
|
387
|
+
INSTALL
|
|
388
|
+
end
|
|
358
389
|
end
|
|
359
390
|
|
|
360
391
|
def install_omnibus_command
|
|
@@ -434,14 +465,17 @@ module Kitchen
|
|
|
434
465
|
end
|
|
435
466
|
|
|
436
467
|
def init_command
|
|
437
|
-
|
|
438
|
-
|
|
439
|
-
|
|
440
|
-
|
|
441
|
-
|
|
442
|
-
|
|
443
|
-
|
|
444
|
-
|
|
468
|
+
todelete = %w(modules manifests files hiera hiera.yaml facter spec enc)
|
|
469
|
+
.map { |dir| File.join(config[:root_path], dir) }
|
|
470
|
+
todelete += [hiera_data_remote_path,
|
|
471
|
+
'/etc/hiera.yaml',
|
|
472
|
+
"#{puppet_dir}/hiera.yaml",
|
|
473
|
+
spec_files_remote_path.to_s,
|
|
474
|
+
"#{puppet_dir}/fileserver.conf"]
|
|
475
|
+
todelete += File.join(puppet_dir, config[:puppet_environment]) if config[:puppet_environment]
|
|
476
|
+
cmd = "#{sudo(rm_command_paths(todelete))};"
|
|
477
|
+
cmd += " #{mkdir_command} #{config[:root_path]};"
|
|
478
|
+
cmd += " #{sudo(mkdir_command)} #{puppet_dir}"
|
|
445
479
|
debug(cmd)
|
|
446
480
|
cmd
|
|
447
481
|
end
|
|
@@ -506,7 +540,7 @@ module Kitchen
|
|
|
506
540
|
|
|
507
541
|
if puppet_config
|
|
508
542
|
commands << [
|
|
509
|
-
sudo(
|
|
543
|
+
sudo(cp_command),
|
|
510
544
|
File.join(config[:root_path], 'puppet.conf'),
|
|
511
545
|
puppet_dir
|
|
512
546
|
].join(' ')
|
|
@@ -514,17 +548,17 @@ module Kitchen
|
|
|
514
548
|
|
|
515
549
|
if hiera_config
|
|
516
550
|
commands << [
|
|
517
|
-
sudo(
|
|
551
|
+
sudo(cp_command), File.join(config[:root_path], 'hiera.yaml'), '/etc/'
|
|
518
552
|
].join(' ')
|
|
519
553
|
|
|
520
554
|
commands << [
|
|
521
|
-
sudo(
|
|
555
|
+
sudo(cp_command), File.join(config[:root_path], 'hiera.yaml'), hiera_config_dir
|
|
522
556
|
].join(' ')
|
|
523
557
|
end
|
|
524
558
|
|
|
525
559
|
if fileserver_config
|
|
526
560
|
commands << [
|
|
527
|
-
sudo(
|
|
561
|
+
sudo(cp_command),
|
|
528
562
|
File.join(config[:root_path], 'fileserver.conf'),
|
|
529
563
|
puppet_dir
|
|
530
564
|
].join(' ')
|
|
@@ -532,25 +566,25 @@ module Kitchen
|
|
|
532
566
|
|
|
533
567
|
if hiera_data && hiera_data_remote_path == '/var/lib/hiera'
|
|
534
568
|
commands << [
|
|
535
|
-
sudo(
|
|
569
|
+
sudo("#{cp_command} -r"), File.join(config[:root_path], 'hiera'), '/var/lib/'
|
|
536
570
|
].join(' ')
|
|
537
571
|
end
|
|
538
572
|
|
|
539
573
|
if hiera_data && hiera_data_remote_path != '/var/lib/hiera'
|
|
540
574
|
commands << [
|
|
541
|
-
sudo(
|
|
575
|
+
sudo(mkdir_command), hiera_data_remote_path
|
|
542
576
|
].join(' ')
|
|
543
577
|
commands << [
|
|
544
|
-
sudo(
|
|
578
|
+
sudo("#{cp_command} -r"), File.join(config[:root_path], 'hiera/*'), hiera_data_remote_path
|
|
545
579
|
].join(' ')
|
|
546
580
|
end
|
|
547
581
|
|
|
548
582
|
if hiera_eyaml
|
|
549
583
|
commands << [
|
|
550
|
-
sudo(
|
|
584
|
+
sudo(mkdir_command), hiera_eyaml_key_remote_path
|
|
551
585
|
].join(' ')
|
|
552
586
|
commands << [
|
|
553
|
-
sudo(
|
|
587
|
+
sudo("#{cp_command} -r"), File.join(config[:root_path], 'hiera_keys/*'), hiera_eyaml_key_remote_path
|
|
554
588
|
].join(' ')
|
|
555
589
|
end
|
|
556
590
|
|
|
@@ -562,10 +596,10 @@ module Kitchen
|
|
|
562
596
|
|
|
563
597
|
if spec_files_path && spec_files_remote_path
|
|
564
598
|
commands << [
|
|
565
|
-
sudo(
|
|
599
|
+
sudo(mkdir_command), spec_files_remote_path
|
|
566
600
|
].join(' ')
|
|
567
601
|
commands << [
|
|
568
|
-
sudo(
|
|
602
|
+
sudo("#{cp_command} -r"), File.join(config[:root_path], 'spec/*'), spec_files_remote_path
|
|
569
603
|
].join(' ')
|
|
570
604
|
end
|
|
571
605
|
|
|
@@ -575,7 +609,7 @@ module Kitchen
|
|
|
575
609
|
].join(' ')
|
|
576
610
|
end
|
|
577
611
|
|
|
578
|
-
command = commands.join(' && ')
|
|
612
|
+
command = powershell_shell? ? commands.join('; ') : commands.join(' && ')
|
|
579
613
|
debug(command)
|
|
580
614
|
command
|
|
581
615
|
end
|
|
@@ -603,6 +637,12 @@ module Kitchen
|
|
|
603
637
|
puppet_logdest_flag,
|
|
604
638
|
puppet_whitelist_exit_code
|
|
605
639
|
].join(' ')
|
|
640
|
+
if config[:custom_pre_apply_command]
|
|
641
|
+
result = <<-RUN
|
|
642
|
+
#{config[:custom_pre_apply_command]}
|
|
643
|
+
#{result}
|
|
644
|
+
RUN
|
|
645
|
+
end
|
|
606
646
|
info("Going to invoke puppet apply with: #{result}")
|
|
607
647
|
result
|
|
608
648
|
end
|
|
@@ -702,7 +742,7 @@ module Kitchen
|
|
|
702
742
|
end
|
|
703
743
|
|
|
704
744
|
def puppet_cmd
|
|
705
|
-
puppet_bin = 'puppet'
|
|
745
|
+
puppet_bin = powershell_shell? ? '& "C:\Program Files\Puppet Labs\Puppet\bin\puppet"' : 'puppet'
|
|
706
746
|
if config[:require_puppet_collections]
|
|
707
747
|
puppet_bin = "#{config[:puppet_coll_remote_path]}/bin/puppet"
|
|
708
748
|
end
|
|
@@ -715,19 +755,15 @@ module Kitchen
|
|
|
715
755
|
end
|
|
716
756
|
|
|
717
757
|
def puppet_dir
|
|
718
|
-
if config[:require_puppet_collections]
|
|
719
|
-
|
|
720
|
-
|
|
721
|
-
'/etc/puppet'
|
|
722
|
-
end
|
|
758
|
+
return '/etc/puppetlabs/puppet' if config[:require_puppet_collections]
|
|
759
|
+
return '/etc/puppet' unless powershell_shell?
|
|
760
|
+
'C:/ProgramData/PuppetLabs/puppet/etc'
|
|
723
761
|
end
|
|
724
762
|
|
|
725
763
|
def hiera_config_dir
|
|
726
|
-
if config[:require_puppet_collections]
|
|
727
|
-
|
|
728
|
-
|
|
729
|
-
'/etc/puppet'
|
|
730
|
-
end
|
|
764
|
+
return '/etc/puppetlabs/code' if config[:require_puppet_collections]
|
|
765
|
+
return '/etc/puppet' unless powershell_shell?
|
|
766
|
+
'C:/ProgramData/PuppetLabs/puppet/etc'
|
|
731
767
|
end
|
|
732
768
|
|
|
733
769
|
def puppet_debian_version
|
|
@@ -750,6 +786,10 @@ module Kitchen
|
|
|
750
786
|
end
|
|
751
787
|
end
|
|
752
788
|
|
|
789
|
+
def puppet_windows_version
|
|
790
|
+
config[:puppet_version] ? config[:puppet_version].to_s : '3.8.6'
|
|
791
|
+
end
|
|
792
|
+
|
|
753
793
|
def puppet_environment_flag
|
|
754
794
|
if config[:puppet_version] =~ /^2/
|
|
755
795
|
config[:puppet_environment] ? "--environment=#{config[:puppet_environment]}" : nil
|
|
@@ -761,6 +801,7 @@ module Kitchen
|
|
|
761
801
|
def puppet_manifestdir
|
|
762
802
|
return nil if config[:require_puppet_collections]
|
|
763
803
|
return nil if config[:puppet_environment]
|
|
804
|
+
return nil if powershell_shell?
|
|
764
805
|
bash_vars = "export MANIFESTDIR='#{File.join(config[:root_path], 'manifests')}';"
|
|
765
806
|
debug(bash_vars)
|
|
766
807
|
bash_vars
|
|
@@ -837,10 +878,15 @@ module Kitchen
|
|
|
837
878
|
def custom_facts
|
|
838
879
|
return nil if config[:custom_facts].none?
|
|
839
880
|
return nil if config[:install_custom_facts]
|
|
840
|
-
|
|
841
|
-
|
|
842
|
-
|
|
843
|
-
|
|
881
|
+
if powershell_shell?
|
|
882
|
+
environment_vars = config[:custom_facts].map { |k, v| "$env:FACTER_#{k}='#{v}'" }.join('; ')
|
|
883
|
+
environment_vars = "#{environment_vars};"
|
|
884
|
+
else
|
|
885
|
+
environment_vars = config[:custom_facts].map { |k, v| "FACTER_#{k}=#{v}" }.join(' ')
|
|
886
|
+
environment_vars = "export #{environment_vars};"
|
|
887
|
+
end
|
|
888
|
+
debug(environment_vars)
|
|
889
|
+
environment_vars
|
|
844
890
|
end
|
|
845
891
|
|
|
846
892
|
def puppet_enc_flag
|
|
@@ -856,7 +902,13 @@ module Kitchen
|
|
|
856
902
|
end
|
|
857
903
|
|
|
858
904
|
def puppet_whitelist_exit_code
|
|
859
|
-
|
|
905
|
+
if config[:puppet_whitelist_exit_code].nil?
|
|
906
|
+
return powershell_shell? ? '; exit $LASTEXITCODE' : nil
|
|
907
|
+
elsif powershell_shell?
|
|
908
|
+
return "; if(@(#{[config[:puppet_whitelist_exit_code]].join(', ')}) -contains $LASTEXITCODE) {exit 0} else {exit $LASTEXITCODE}"
|
|
909
|
+
else
|
|
910
|
+
return "; [ $? -eq #{config[:puppet_whitelist_exit_code]} ] && exit 0"
|
|
911
|
+
end
|
|
860
912
|
end
|
|
861
913
|
|
|
862
914
|
def puppet_apt_repo
|
|
@@ -1004,14 +1056,10 @@ module Kitchen
|
|
|
1004
1056
|
debug('Found multiple directories in module path merging.....')
|
|
1005
1057
|
modules_array = modules.split(':')
|
|
1006
1058
|
modules_array.each do |m|
|
|
1007
|
-
|
|
1008
|
-
debug("Copying modules from #{m} to #{tmpmodules_dir}")
|
|
1009
|
-
FileUtils.cp_r(Dir.glob("#{m}/*"), tmpmodules_dir, remove_destination: true)
|
|
1010
|
-
end
|
|
1059
|
+
copy_modules(m, tmpmodules_dir)
|
|
1011
1060
|
end
|
|
1012
|
-
elsif modules
|
|
1013
|
-
|
|
1014
|
-
FileUtils.cp_r(Dir.glob("#{modules}/*"), tmpmodules_dir, remove_destination: true)
|
|
1061
|
+
elsif modules
|
|
1062
|
+
copy_modules(modules, tmpmodules_dir)
|
|
1015
1063
|
else
|
|
1016
1064
|
info 'nothing to do for modules'
|
|
1017
1065
|
end
|
|
@@ -1019,6 +1067,21 @@ module Kitchen
|
|
|
1019
1067
|
copy_self_as_module
|
|
1020
1068
|
end
|
|
1021
1069
|
|
|
1070
|
+
def copy_modules(source, destination)
|
|
1071
|
+
return unless File.directory?(source)
|
|
1072
|
+
|
|
1073
|
+
debug("Copying modules from #{source} to #{destination}")
|
|
1074
|
+
|
|
1075
|
+
excluded_paths = %w(modules spec pkg) + config[:ignored_paths_from_root]
|
|
1076
|
+
|
|
1077
|
+
Dir.glob("#{source}/*").each do |f|
|
|
1078
|
+
module_name = File.basename(f)
|
|
1079
|
+
target = "#{destination}/#{module_name}"
|
|
1080
|
+
FileUtils.mkdir_p(target) unless File.exist? target
|
|
1081
|
+
FileUtils.cp_r(Dir.glob("#{source}/#{module_name}/*").reject { |entry| entry =~ /#{excluded_paths.join('$|')}$/ }, target, remove_destination: true)
|
|
1082
|
+
end
|
|
1083
|
+
end
|
|
1084
|
+
|
|
1022
1085
|
def copy_self_as_module
|
|
1023
1086
|
if File.exist?(modulefile)
|
|
1024
1087
|
warn('Modulefile found but this is depricated, ignoring it, see https://tickets.puppetlabs.com/browse/PUP-1188')
|
|
@@ -1111,6 +1174,27 @@ module Kitchen
|
|
|
1111
1174
|
ENV['SSL_CERT_FILE'] = '' if librarian_puppet_ssl_file
|
|
1112
1175
|
end
|
|
1113
1176
|
end
|
|
1177
|
+
|
|
1178
|
+
def cp_command
|
|
1179
|
+
return 'cp -force' if powershell_shell?
|
|
1180
|
+
'cp'
|
|
1181
|
+
end
|
|
1182
|
+
|
|
1183
|
+
def rm_command
|
|
1184
|
+
return 'rm -force -recurse' if powershell_shell?
|
|
1185
|
+
'rm -rf'
|
|
1186
|
+
end
|
|
1187
|
+
|
|
1188
|
+
def mkdir_command
|
|
1189
|
+
return 'mkdir -force -path' if powershell_shell?
|
|
1190
|
+
'mkdir -p'
|
|
1191
|
+
end
|
|
1192
|
+
|
|
1193
|
+
def rm_command_paths(paths)
|
|
1194
|
+
return :nil if paths.length.zero?
|
|
1195
|
+
return "#{rm_command} \"#{paths.join('", "')}\"" if powershell_shell?
|
|
1196
|
+
"#{rm_command} #{paths.join(' ')}"
|
|
1197
|
+
end
|
|
1114
1198
|
end
|
|
1115
1199
|
end
|
|
1116
1200
|
end
|
data/provisioner_options.md
CHANGED
|
@@ -6,83 +6,90 @@ Kitchen-puppet is very flexible in how it installs puppet:
|
|
|
6
6
|
It installs it in the following order:
|
|
7
7
|
|
|
8
8
|
* if require_puppet_omnibus is set to true
|
|
9
|
-
|
|
9
|
+
|
|
10
|
+
Installs using the omnibus_puppet script and passes the puppet_version if specied as -v option.
|
|
11
|
+
|
|
10
12
|
* If require_puppet_collections is set to true
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
13
|
+
|
|
14
|
+
Installs from the puppet collection.
|
|
15
|
+
This is required if you wish to install puppet version 4.
|
|
16
|
+
|
|
17
|
+
You get the version of puppet in the collection. To influence which puppet version is install modify either
|
|
18
|
+
* puppet_yum_collections_repo
|
|
19
|
+
* puppet_apt_collections_repo
|
|
20
|
+
to an new collection. At time of writing there was only one collection PC1.
|
|
21
|
+
|
|
17
22
|
* if require_puppet_repo is set to true (the default)
|
|
18
|
-
|
|
23
|
+
|
|
24
|
+
Installs from the operation system repository with the puppet version that is in the particular repository.
|
|
19
25
|
|
|
20
26
|
# Puppet Apply Provisioner Options
|
|
21
27
|
|
|
22
28
|
key | default value | Notes
|
|
23
29
|
----|---------------|--------
|
|
24
|
-
|
|
30
|
+
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.
|
|
31
|
+
custom_facts| Hash.new | Hash to set the puppet facts before running puppet apply
|
|
32
|
+
custom_options | | custom options to add to puppet apply command.
|
|
33
|
+
custom_install_command | nil | Custom shell command to be used at end of install stage. Can be multiline. See examples below.
|
|
34
|
+
custom_pre_apply_command | nil | Custom shell command to be used before the puppet apply stage. Can be multiline. See examples below.
|
|
35
|
+
custom_pre_install_command | nil | Custom shell command to be used at beginning of install stage. Can be multiline.
|
|
36
|
+
facter_file | nil | yaml file of custom facter_files to be provided to the puppet-apply command
|
|
25
37
|
facter_version | "latest"| desired version, affects apt installs.
|
|
26
|
-
platform | platform_name kitchen.yml parameter | OS platform of server
|
|
27
|
-
hiera_version | "latest"| desired version, affects apt installs.
|
|
28
|
-
install_hiera | false | Installs `hiera-puppet` package. Not needed for puppet > 3.x.x
|
|
29
|
-
hiera_package | 'hiera-puppet' | Only used if `install_hiera` is set
|
|
30
|
-
require_puppet_repo | true | Set if using a puppet install from yum or apt repo
|
|
31
|
-
puppet_apt_repo | "http://apt.puppetlabs.com/puppetlabs-release-precise.deb"| apt repo Ubuntu12
|
|
32
|
-
_for Ubuntu15 change to_ | "http://apt.puppetlabs.com/puppetlabs-release-jessie.deb" |
|
|
33
|
-
puppet_yum_repo | "https://yum.puppetlabs.com/puppetlabs-release-el-6.noarch.rpm"| yum repo RH/Centos6
|
|
34
|
-
_for RH/Centos7 change to_ | "https://yum.puppetlabs.com/puppetlabs-release-el-7.noarch.rpm" |
|
|
35
|
-
require_puppet_collections | false | Set if using puppet collections install (Puppet v4)
|
|
36
|
-
puppet_yum_collections_repo | "http://yum.puppetlabs.com/puppetlabs-release-pc1-el-6.noarch.rpm" | yum collections repo RH/Centos6
|
|
37
|
-
_for RH/Centos7 change to_ | "https://yum.puppetlabs.com/puppetlabs-release-pc1-el-7.noarch.rpm" |
|
|
38
|
-
puppet_apt_collections_repo | "http://apt.puppetlabs.com/puppetlabs-release-pc1-wheezy.deb" | apt collections repo
|
|
39
|
-
_for Ubuntu15 change to_ | "http://apt.puppetlabs.com/puppetlabs-release-pc1-jessie.deb" |
|
|
40
|
-
puppet_coll_remote_path | "/opt/puppetlabs" | Server Installation location of a puppet collections install.
|
|
41
|
-
puppet_detailed_exitcodes | nil | Provide transaction information via exit codes. See `--detailed-exitcodes` section of `puppet help apply`
|
|
42
|
-
manifests_path | | puppet repo manifests directory
|
|
43
|
-
manifest | 'site.pp' | manifest for puppet apply to run
|
|
44
|
-
modules_path | | puppet repo manifests directory. Can be multiple directories separated by colons and then they will be merged
|
|
45
38
|
files_path | | directory to place at /tmp/kitchen/files
|
|
46
39
|
fileserver_config_path | | file to place fileserver.conf
|
|
47
40
|
hiera_config_path | | path to hiera.yaml
|
|
48
41
|
hiera_data_path | | puppet repo hiera data directory
|
|
49
42
|
hiera_data_remote_path | "/var/lib/hiera" | Hiera data directory on server
|
|
50
|
-
|
|
51
|
-
puppet_verbose| false| Extra information logging on puppet run
|
|
52
|
-
puppet_noop| false| puppet runs in a no-op or dry-run mode
|
|
53
|
-
puppet_git_init | nil | initialize puppet from GIT repository, e.g. "git@github.com:example/puppet-repo.git"
|
|
54
|
-
puppet_git_pr | nil | checkout specific Pull Request from repository specified in puppet_git_init, e.g. "324"
|
|
55
|
-
update_package_repos| true| update OS repository metadata
|
|
56
|
-
custom_facts| Hash.new | Hash to set the puppet facts before running puppet apply
|
|
57
|
-
install_custom_facts| false | Install custom facts to yaml file at "/tmp/kitchen/facter/kitchen.rb"
|
|
58
|
-
facter_file | nil | yaml file of custom facter_files to be provided to the puppet-apply command
|
|
59
|
-
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.
|
|
60
|
-
puppetfile_path | | Path to Puppetfile
|
|
61
|
-
puppet_apply_command | nil | Overwrite the puppet apply command. Needs "sudo -E puppet apply" as a prefix.
|
|
62
|
-
require_chef_for_busser | true | Install chef as currently needed by busser to run tests
|
|
63
|
-
resolve_with_librarian_puppet | true | Use librarian_puppet to resolve modules if a Puppetfile is found
|
|
64
|
-
librarian_puppet_ssl_file | nil | ssl certificate file for librarian-puppet
|
|
65
|
-
puppet_config_path | | path of custom puppet.conf file
|
|
66
|
-
puppet_environment | nil | puppet environment for running puppet apply (Must set if using Puppet v4)
|
|
67
|
-
remove_puppet_repo | false | remove copy of puppet repository and puppet configuration on server after running puppet
|
|
43
|
+
hiera_deep_merge | false | install the deep_merge gem to support hiera deep merge mode
|
|
68
44
|
hiera_eyaml | false | use hiera-eyaml to encrypt hiera data
|
|
69
45
|
hiera_eyaml_key_remote_path | "/etc/puppet/secure/keys" | directory of hiera-eyaml keys on server
|
|
70
46
|
hiera_eyaml_key_path | "hiera_keys" | directory of hiera-eyaml keys on workstation
|
|
71
|
-
|
|
47
|
+
hiera_package | 'hiera-puppet' | Only used if `install_hiera` is set
|
|
48
|
+
hiera_version | "latest"| desired version, affects apt installs.
|
|
72
49
|
http_proxy | nil | use http proxy when installing puppet, packages and running puppet
|
|
73
50
|
https_proxy | nil | use https proxy when installing puppet, packages and running puppet
|
|
51
|
+
ignored_paths_from_root | [] | allow extra paths to be ignored when copying from puppet repository
|
|
52
|
+
ignore_spec_fixtures | false | don't copy spec/fixtures to avoid problems with symlinks
|
|
53
|
+
install_custom_facts| false | Install custom facts to yaml file at "/tmp/kitchen/facter/kitchen.rb"
|
|
54
|
+
install_hiera | false | Installs `hiera-puppet` package. Not needed for puppet > 3.x.x
|
|
55
|
+
librarian_puppet_ssl_file | nil | ssl certificate file for librarian-puppet
|
|
56
|
+
manifest | 'site.pp' | manifest for puppet apply to run
|
|
57
|
+
manifests_path | | puppet repo manifests directory
|
|
58
|
+
modules_path | | puppet repo manifests directory. Can be multiple directories separated by colons and then they will be merged
|
|
59
|
+
platform | platform_name kitchen.yml parameter | OS platform of server
|
|
60
|
+
puppet_apply_command | nil | Overwrite the puppet apply command. Needs "sudo -E puppet apply" as a prefix.
|
|
61
|
+
puppet_apt_repo | "http://apt.puppetlabs.com/puppetlabs-release-precise.deb"| apt repo Ubuntu12
|
|
62
|
+
_for Ubuntu15 change to_ | "http://apt.puppetlabs.com/puppetlabs-release-jessie.deb" |
|
|
63
|
+
puppet_apt_collections_repo | "http://apt.puppetlabs.com/puppetlabs-release-pc1-wheezy.deb" | apt collections repo
|
|
64
|
+
_for Ubuntu15 change to_ | "http://apt.puppetlabs.com/puppetlabs-release-pc1-jessie.deb" |
|
|
65
|
+
puppet_coll_remote_path | "/opt/puppetlabs" | Server Installation location of a puppet collections install.
|
|
66
|
+
puppet_config_path | | path of custom puppet.conf file
|
|
67
|
+
puppet_debug| false| Enable full debugging logging on puppet run
|
|
68
|
+
puppet_detailed_exitcodes | nil | Provide transaction information via exit codes. See `--detailed-exitcodes` section of `puppet help apply`
|
|
69
|
+
puppet_enc | | path for external node classifier script
|
|
70
|
+
puppet_environment | nil | puppet environment for running puppet apply (Must set if using Puppet v4)
|
|
71
|
+
puppet_git_init | nil | initialize puppet from GIT repository, e.g. "git@github.com:example/puppet-repo.git"
|
|
72
|
+
puppet_git_pr | nil | checkout specific Pull Request from repository specified in puppet_git_init, e.g. "324"
|
|
74
73
|
puppet_logdest | nil | _Array_ of log destinations. Include 'console' if wanted
|
|
75
|
-
custom_options | | custom options to add to puppet apply command.
|
|
76
|
-
custom_pre_install_command | nil | Custom shell command to be used at beginning of install stage. Can be multiline.
|
|
77
|
-
custom_install_command | nil | Custom shell command to be used at end of install stage. Can be multiline. See examples below.
|
|
78
|
-
puppet_whitelist_exit_code | nil | Whitelist exit code expected from puppet run. Intended to be used together with `puppet_detailed_exitcodes`.
|
|
79
|
-
require_puppet_omnibus | false | Set if using omnibus puppet install
|
|
80
74
|
puppet_omnibus_url | https://raw.githubusercontent.com/ petems/puppet-install-shell/ master/install_puppet.sh | omnibus puppet v3 install location.
|
|
81
75
|
_for puppet v4 change to_ | https://raw.githubusercontent.com/ petems/puppet-install-shell/ master/install_puppet_agent.sh |
|
|
82
|
-
|
|
76
|
+
puppet_noop| false| puppet runs in a no-op or dry-run mode
|
|
83
77
|
puppet_no_sudo | false | allow puppet command to run without sudo if required
|
|
84
|
-
|
|
85
|
-
|
|
78
|
+
puppet_verbose| false| Extra information logging on puppet run
|
|
79
|
+
puppet_version | "latest"| desired version, affects apt installs.
|
|
80
|
+
puppet_whitelist_exit_code | nil | Whitelist exit code expected from puppet run. Intended to be used together with `puppet_detailed_exitcodes`.
|
|
81
|
+
puppet_yum_repo | "https://yum.puppetlabs.com/puppetlabs-release-el-6.noarch.rpm"| yum repo RH/Centos6
|
|
82
|
+
_for RH/Centos7 change to_ | "https://yum.puppetlabs.com/puppetlabs-release-el-7.noarch.rpm" |
|
|
83
|
+
puppet_yum_collections_repo | "http://yum.puppetlabs.com/puppetlabs-release-pc1-el-6.noarch.rpm" | yum collections repo RH/Centos6
|
|
84
|
+
_for RH/Centos7 change to_ | "https://yum.puppetlabs.com/puppetlabs-release-pc1-el-7.noarch.rpm" |
|
|
85
|
+
puppetfile_path | | Path to Puppetfile
|
|
86
|
+
remove_puppet_repo | false | remove copy of puppet repository and puppet configuration on server after running puppet
|
|
87
|
+
require_chef_for_busser | true | Install chef as currently needed by busser to run tests
|
|
88
|
+
require_puppet_collections | false | Set if using puppet collections install (Puppet v4)
|
|
89
|
+
require_puppet_omnibus | false | Set if using omnibus puppet install
|
|
90
|
+
require_puppet_repo | true | Set if using a puppet install from yum or apt repo
|
|
91
|
+
resolve_with_librarian_puppet | true | Use librarian_puppet to resolve modules if a Puppetfile is found
|
|
92
|
+
update_package_repos| true| update OS repository metadata
|
|
86
93
|
|
|
87
94
|
## Puppet Apply Configuring Provisioner Options
|
|
88
95
|
|
metadata
CHANGED
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: kitchen-puppet
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 1.
|
|
4
|
+
version: 1.43.1
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Neill Turner
|
|
8
8
|
autorequire:
|
|
9
9
|
bindir: bin
|
|
10
10
|
cert_chain: []
|
|
11
|
-
date: 2016-07-
|
|
11
|
+
date: 2016-07-28 00:00:00.000000000 Z
|
|
12
12
|
dependencies:
|
|
13
13
|
- !ruby/object:Gem::Dependency
|
|
14
14
|
name: test-kitchen
|