kitchen-puppet 1.45.0 → 1.45.1
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/README.md +11 -2
- data/lib/kitchen-puppet/version.rb +1 -1
- data/lib/kitchen/provisioner/puppet_apply.rb +31 -21
- data/provisioner_options.md +3 -0
- 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: c5dc746ed2da8713a22e51d2617606ea867f4344
|
4
|
+
data.tar.gz: ad89bbde2f6781bfa45e6e87d0c7297f69f71f67
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: e4908784a514c2cbac99d941ec6ba49d7f5453b06d7f2e0155143dec35ba1694e778890ccc7aef536986b942eee1224648af809dec1dc657bbafba633914337f
|
7
|
+
data.tar.gz: ca0b413cbcdb1ade56fdb433649fb6b9fe829eb3c75db9708610291dde5448e500497e923e6dee477d5f303885242e57690674fb47fb8a732706c7707032663e
|
data/README.md
CHANGED
@@ -14,7 +14,14 @@ The PuppetApply provider works by passing the puppet repository based on attribu
|
|
14
14
|
The PuppetAgent provider works by passing the puppetmaster and other attributes in .kitchen.yml & calling puppet agent.
|
15
15
|
|
16
16
|
|
17
|
-
This provider has been tested against the Ubuntu 1204 and Centos 6.5 boxes running in vagrant/virtualbox as well as various docker
|
17
|
+
This provider has been tested against the Ubuntu 1204 and Centos 6.5 boxes running in vagrant/virtualbox as well as various docker.
|
18
|
+
|
19
|
+
## Resources
|
20
|
+
* http://ehaselwanter.com/en/blog/2014/05/08/using-test-kitchen-with-puppet
|
21
|
+
* http://www.slideshare.net/MartinEtmajer/testdriven-infrastructure-with-puppet-test-kitchen-serverspec-and-rspec
|
22
|
+
* http://www.slideshare.net/YuryTsarev/containercon-test-driven-infrastructure
|
23
|
+
* http://events.linuxfoundation.org/sites/events/files/slides/ContainerCon%20-%20Test%20Driven%20Infrastructure_0.pdf
|
24
|
+
* https://www.cedric-meury.ch/2016/10/test-driven-infrastructure-with-puppet-docker-test-kitchen-and-serverspec-yury-tsarev-gooddata
|
18
25
|
|
19
26
|
## Windows Workstation Install
|
20
27
|
You need to download the puppet msi and install it and run everything inside the puppet window.
|
@@ -148,8 +155,10 @@ To implement this with test-kitchen setup the puppet repository with:
|
|
148
155
|
|
149
156
|
* install kitchen-verifier-serverspec on your workstation i.e. 'gem install kitchen-verifier-serverspec'
|
150
157
|
|
158
|
+
See examples:
|
159
|
+
* [https://github.com/neillturner/puppet_vagrant_repo](https://github.com/neillturner/puppet_vagrant_repo)
|
151
160
|
|
152
|
-
|
161
|
+
* [https://github.com/neillturner/puppet_repo](https://github.com/neillturner/puppet_repo)
|
153
162
|
|
154
163
|
```
|
155
164
|
.
|
@@ -221,10 +221,11 @@ module Kitchen
|
|
221
221
|
info("Installing puppet on #{puppet_platform}")
|
222
222
|
<<-INSTALL
|
223
223
|
if(Get-Command puppet -ErrorAction 0) { return; }
|
224
|
-
if( [Environment]::Is64BitOperatingSystem ) {
|
225
|
-
|
224
|
+
$architecture = if( [Environment]::Is64BitOperatingSystem ) { '-x64' } else { '' }
|
225
|
+
if( '#{puppet_windows_version}' -eq 'latest' ) {
|
226
|
+
$MsiUrl = "https://downloads.puppetlabs.com/windows/puppet${architecture}-latest.msi"
|
226
227
|
} else {
|
227
|
-
$MsiUrl = "https://downloads.puppetlabs.com/windows/puppet-#{puppet_windows_version}.msi"
|
228
|
+
$MsiUrl = "https://downloads.puppetlabs.com/windows/puppet-#{puppet_windows_version}${architecture}.msi"
|
228
229
|
}
|
229
230
|
$process = Start-Process -FilePath msiexec.exe -Wait -PassThru -ArgumentList '/qn', '/norestart', '/i', $MsiUrl
|
230
231
|
if ($process.ExitCode -ne 0) {
|
@@ -305,6 +306,24 @@ module Kitchen
|
|
305
306
|
#{install_busser}
|
306
307
|
#{custom_install_command}
|
307
308
|
INSTALL
|
309
|
+
when /^windows.*/
|
310
|
+
info("Installing Puppet Collections on #{puppet_platform}")
|
311
|
+
<<-INSTALL
|
312
|
+
if(Get-Command puppet -ErrorAction 0) { return; }
|
313
|
+
$architecture = if( [Environment]::Is64BitOperatingSystem ) { 'x64' } else { 'x86' }
|
314
|
+
if( '#{puppet_windows_version}' -eq 'latest' ) {
|
315
|
+
$MsiUrl = "https://downloads.puppetlabs.com/windows/puppet-agent-${architecture}-latest.msi"
|
316
|
+
} else {
|
317
|
+
$MsiUrl = "https://downloads.puppetlabs.com/windows/puppet-agent-#{puppet_windows_version}-${architecture}.msi"
|
318
|
+
}
|
319
|
+
$process = Start-Process -FilePath msiexec.exe -Wait -PassThru -ArgumentList '/qn', '/norestart', '/i', $MsiUrl
|
320
|
+
if ($process.ExitCode -ne 0) {
|
321
|
+
Write-Host "Installer failed."
|
322
|
+
Exit 1
|
323
|
+
}
|
324
|
+
|
325
|
+
#{install_busser}
|
326
|
+
INSTALL
|
308
327
|
else
|
309
328
|
info('Installing Puppet Collections, will try to determine platform os')
|
310
329
|
<<-INSTALL
|
@@ -564,13 +583,7 @@ module Kitchen
|
|
564
583
|
].join(' ')
|
565
584
|
end
|
566
585
|
|
567
|
-
if hiera_data
|
568
|
-
commands << [
|
569
|
-
sudo("#{cp_command} -r"), File.join(config[:root_path], 'hiera'), '/var/lib/'
|
570
|
-
].join(' ')
|
571
|
-
end
|
572
|
-
|
573
|
-
if hiera_data && hiera_data_remote_path != '/var/lib/hiera'
|
586
|
+
if hiera_data
|
574
587
|
commands << [
|
575
588
|
sudo(mkdir_command), hiera_data_remote_path
|
576
589
|
].join(' ')
|
@@ -746,10 +759,9 @@ module Kitchen
|
|
746
759
|
end
|
747
760
|
|
748
761
|
def puppet_cmd
|
749
|
-
|
750
|
-
|
751
|
-
|
752
|
-
end
|
762
|
+
return '& "C:\Program Files\Puppet Labs\Puppet\bin\puppet"' if powershell_shell?
|
763
|
+
|
764
|
+
puppet_bin = config[:require_puppet_collections] ? "#{config[:puppet_coll_remote_path]}/bin/puppet" : 'puppet'
|
753
765
|
|
754
766
|
if config[:puppet_no_sudo]
|
755
767
|
puppet_bin
|
@@ -759,15 +771,13 @@ module Kitchen
|
|
759
771
|
end
|
760
772
|
|
761
773
|
def puppet_dir
|
762
|
-
return '/
|
763
|
-
|
764
|
-
'C:/ProgramData/PuppetLabs/puppet/etc'
|
774
|
+
return 'C:/ProgramData/PuppetLabs/puppet/etc' if powershell_shell?
|
775
|
+
config[:require_puppet_collections] ? '/etc/puppetlabs/puppet' : '/etc/puppet'
|
765
776
|
end
|
766
777
|
|
767
778
|
def hiera_config_dir
|
768
|
-
return '/
|
769
|
-
|
770
|
-
'C:/ProgramData/PuppetLabs/puppet/etc'
|
779
|
+
return 'C:/ProgramData/PuppetLabs/puppet/etc' if powershell_shell?
|
780
|
+
config[:require_puppet_collections] ? '/etc/puppetlabs/code' : '/etc/puppet'
|
771
781
|
end
|
772
782
|
|
773
783
|
def puppet_debian_version
|
@@ -791,7 +801,7 @@ module Kitchen
|
|
791
801
|
end
|
792
802
|
|
793
803
|
def puppet_windows_version
|
794
|
-
config[:puppet_version] ? config[:puppet_version].to_s : '
|
804
|
+
config[:puppet_version] ? config[:puppet_version].to_s : 'latest'
|
795
805
|
end
|
796
806
|
|
797
807
|
def puppet_environment_flag
|
data/provisioner_options.md
CHANGED
@@ -56,6 +56,7 @@ install_hiera | false | Installs `hiera-puppet` package. Not needed for puppet >
|
|
56
56
|
librarian_puppet_ssl_file | nil | ssl certificate file for librarian-puppet
|
57
57
|
manifest | 'site.pp' | manifest for puppet apply to run
|
58
58
|
manifests_path | | puppet repo manifests directory
|
59
|
+
max_retries| 1 | maximum number of retry attempts of converge command
|
59
60
|
modules_path | | puppet repo manifests directory. Can be multiple directories separated by colons and then they will be merged
|
60
61
|
platform | platform_name kitchen.yml parameter | OS platform of server
|
61
62
|
puppet_apply_command | nil | Overwrite the puppet apply command. Needs "sudo -E puppet apply" as a prefix.
|
@@ -90,7 +91,9 @@ require_puppet_collections | false | Set if using puppet collections install (Pu
|
|
90
91
|
require_puppet_omnibus | false | Set if using omnibus puppet install
|
91
92
|
require_puppet_repo | true | Set if using a puppet install from yum or apt repo
|
92
93
|
resolve_with_librarian_puppet | true | Use librarian_puppet to resolve modules if a Puppetfile is found
|
94
|
+
retry_on_exit_code| [] | Array of exit codes to retry converge command against
|
93
95
|
update_package_repos| true| update OS repository metadata
|
96
|
+
wait_for_retry| 30 | number of seconds to wait before retrying converge command
|
94
97
|
|
95
98
|
## Puppet Apply Configuring Provisioner Options
|
96
99
|
|
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.45.
|
4
|
+
version: 1.45.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-
|
11
|
+
date: 2016-11-04 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: test-kitchen
|