kitchen-puppet 1.47.4 → 1.48.0
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 +53 -1
- data/lib/kitchen-puppet/version.rb +1 -1
- data/lib/kitchen/provisioner/puppet_apply.rb +18 -0
- data/provisioner_options.md +6 -5
- 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: 942ab91b20ef7cd39f819db78b5f6beb9f7a6bd5
|
|
4
|
+
data.tar.gz: 6f214a9565ccf1b9db8508d939971b63dafb2097
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 835b2f4473b1531a4a841abc509be2c411afe12c5b168b157a4f4eb62eaacd1bef813497f682db440d054a96c4b679a9e1b310fac631adf92000a9e0d5c4d0d2
|
|
7
|
+
data.tar.gz: 99cbab9178d8b3a63aa10522431bd1c7a9691bc0dadd78466a0ff5bfa8701734905d03acfe61a389b5de4d528b472c1ef9edf20b612abb527e715ff8abecadd0
|
data/README.md
CHANGED
|
@@ -188,8 +188,60 @@ suites:
|
|
|
188
188
|
- modules/mycompany_base/spec/acceptance/base_spec.rb
|
|
189
189
|
```
|
|
190
190
|
|
|
191
|
-
See [
|
|
191
|
+
See [kitchen-verifier-serverspec](https://github.com/neillturner/kitchen-verifier-serverspec)
|
|
192
192
|
|
|
193
|
+
## hiera_writer_files option
|
|
194
|
+
|
|
195
|
+
Allows creation of arbitrary YAML files in the target instance's `hieradata/`
|
|
196
|
+
dir in test-kitchen configuration (eg `kitchen.yml`). Like setting chef
|
|
197
|
+
attributes in `kitchen.yml`, except for Hiera YAML files.
|
|
198
|
+
|
|
199
|
+
set `hiera_writer_files` in `kitchen.yml`
|
|
200
|
+
|
|
201
|
+
```
|
|
202
|
+
---
|
|
203
|
+
driver:
|
|
204
|
+
name: vagrant
|
|
205
|
+
|
|
206
|
+
provisioner:
|
|
207
|
+
#name: puppet_apply
|
|
208
|
+
name: puppet_hierawriter_apply
|
|
209
|
+
manifests_path: /repository/puppet_repo/manifests
|
|
210
|
+
modules_path: /repository/puppet_repo/modules-mycompany
|
|
211
|
+
hiera_data_path: /repository/puppet_repo/hieradata
|
|
212
|
+
hiera_writer_files:
|
|
213
|
+
- datacenter/vagrant.yaml:
|
|
214
|
+
logstash_servers: []
|
|
215
|
+
hosts:
|
|
216
|
+
10.1.2.3:
|
|
217
|
+
- puppet
|
|
218
|
+
- puppetdb
|
|
219
|
+
|
|
220
|
+
platforms:
|
|
221
|
+
- name: nocm_ubuntu-12.04
|
|
222
|
+
driver_plugin: vagrant
|
|
223
|
+
driver_config:
|
|
224
|
+
box: nocm_ubuntu-12.04
|
|
225
|
+
box_url: http://puppet-vagrant-boxes.puppetlabs.com/ubuntu-server-12042-x64-vbox4210-nocm.box
|
|
226
|
+
|
|
227
|
+
suites:
|
|
228
|
+
- name: default
|
|
229
|
+
```
|
|
230
|
+
|
|
231
|
+
The above configuration will result in the creation of a file on the guest named
|
|
232
|
+
`${hieradata}/datacenter/vagrant.yaml` containing:
|
|
233
|
+
|
|
234
|
+
```
|
|
235
|
+
---
|
|
236
|
+
logstash_servers: []
|
|
237
|
+
hosts:
|
|
238
|
+
10.1.2.3:
|
|
239
|
+
- puppet
|
|
240
|
+
- puppetdb
|
|
241
|
+
```
|
|
242
|
+
|
|
243
|
+
It will overwrite any existing Hiera YAML files with the same name (on the
|
|
244
|
+
guest), not merge.
|
|
193
245
|
|
|
194
246
|
## Provisioner Options
|
|
195
247
|
Please see the Provisioner Options (https://github.com/neillturner/kitchen-puppet/blob/master/provisioner_options.md).
|
|
@@ -54,6 +54,7 @@ module Kitchen
|
|
|
54
54
|
default_config :hiera_version, nil
|
|
55
55
|
default_config :install_hiera, false
|
|
56
56
|
default_config :hiera_package, 'hiera-puppet'
|
|
57
|
+
default_config :hiera_writer_files, nil
|
|
57
58
|
default_config :require_puppet_repo, true
|
|
58
59
|
default_config :require_chef_for_busser, true
|
|
59
60
|
default_config :resolve_with_librarian_puppet, true
|
|
@@ -790,6 +791,10 @@ module Kitchen
|
|
|
790
791
|
powershell? ? 'C:/ProgramData/PuppetLabs/hiera/var' : '/var/lib/hiera'
|
|
791
792
|
end
|
|
792
793
|
|
|
794
|
+
def hiera_writer
|
|
795
|
+
config[:hiera_writer_files]
|
|
796
|
+
end
|
|
797
|
+
|
|
793
798
|
def hiera_eyaml
|
|
794
799
|
config[:hiera_eyaml]
|
|
795
800
|
end
|
|
@@ -1268,6 +1273,19 @@ module Kitchen
|
|
|
1268
1273
|
debug("Copying hiera data from #{hiera_data} to #{tmp_hiera_dir}")
|
|
1269
1274
|
FileUtils.mkdir_p(tmp_hiera_dir)
|
|
1270
1275
|
FileUtils.cp_r(Dir.glob("#{hiera_data}/*"), tmp_hiera_dir)
|
|
1276
|
+
if hiera_writer
|
|
1277
|
+
hiera_writer.each do |file|
|
|
1278
|
+
file.each do |filename, hiera_hash|
|
|
1279
|
+
debug("Creating hiera yaml file #{tmp_hiera_dir}/#{filename}")
|
|
1280
|
+
dir = File.join(tmp_hiera_dir, File.dirname(filename.to_s))
|
|
1281
|
+
FileUtils.mkdir_p(dir)
|
|
1282
|
+
output_file = open(File.join(dir, File.basename(filename.to_s)), 'w')
|
|
1283
|
+
# convert json and back before converting to yaml to recursively convert symbols to strings, heh
|
|
1284
|
+
output_file.write JSON[hiera_hash.to_json].to_yaml
|
|
1285
|
+
output_file.close
|
|
1286
|
+
end
|
|
1287
|
+
end
|
|
1288
|
+
end
|
|
1271
1289
|
return unless hiera_eyaml_key_path
|
|
1272
1290
|
tmp_hiera_key_dir = File.join(sandbox_path, 'hiera_keys')
|
|
1273
1291
|
debug("Copying hiera eyaml keys from #{hiera_eyaml_key_path} to #{tmp_hiera_key_dir}")
|
data/provisioner_options.md
CHANGED
|
@@ -51,6 +51,7 @@ hiera_eyaml_key_remote_path | "/etc/puppet/secure/keys" | directory of hiera-eya
|
|
|
51
51
|
hiera_eyaml_key_path | "hiera_keys" | directory of hiera-eyaml keys on workstation
|
|
52
52
|
hiera_package | 'hiera-puppet' | Only used if `install_hiera` is set
|
|
53
53
|
hiera_version | "latest"| desired version, affects apt installs.
|
|
54
|
+
hiera_writer_files | | Adds hiera YAML file generation
|
|
54
55
|
http_proxy | nil | use http proxy when installing puppet, packages and running puppet
|
|
55
56
|
https_proxy | nil | use https proxy when installing puppet, packages and running puppet
|
|
56
57
|
ignored_paths_from_root | ['spec'] | allow extra paths to be ignored when copying from puppet repository
|
|
@@ -62,17 +63,17 @@ manifest | 'site.pp' | manifest for puppet apply to run
|
|
|
62
63
|
manifests_path | | puppet repo manifests directory
|
|
63
64
|
max_retries| 1 | maximum number of retry attempts of converge command
|
|
64
65
|
modules_path | | puppet repo manifests directory. Can be multiple directories separated by colons and then they will be merged
|
|
65
|
-
no_proxy | nil | list of URLs or IPs that should be excluded from proxying
|
|
66
|
+
no_proxy | nil | list of URLs or IPs that should be excluded from proxying
|
|
66
67
|
platform | platform_name kitchen.yml parameter | OS platform of server
|
|
67
68
|
puppet_apply_command | nil | Overwrite the puppet apply command. Needs "sudo -E puppet apply" as a prefix.
|
|
68
69
|
puppet_apt_repo | "http://apt.puppetlabs.com/puppetlabs-release-precise.deb"| apt repo Ubuntu12 see https://apt.puppetlabs.com for others
|
|
69
|
-
_for Ubuntu14 change to_ |
|
|
70
|
+
_for Ubuntu14 change to_ | "http://apt.puppetlabs.com/puppetlabs-release-trusty.deb" |
|
|
70
71
|
_for Ubuntu15 change to_ | "http://apt.puppetlabs.com/puppetlabs-release-jessie.deb" |
|
|
71
|
-
_for Ubuntu16.04 change to_ |
|
|
72
|
+
_for Ubuntu16.04 change to_ | "http://apt.puppetlabs.com/puppetlabs-release-xenial.deb" |
|
|
72
73
|
puppet_apt_collections_repo | "http://apt.puppetlabs.com/puppetlabs-release-pc1-wheezy.deb" | apt collections repo
|
|
73
|
-
_for Ubuntu14 change to_ |
|
|
74
|
+
_for Ubuntu14 change to_ | "http://apt.puppetlabs.com/puppetlabs-release-pc1-trusty.deb" |
|
|
74
75
|
_for Ubuntu15 change to_ | "http://apt.puppetlabs.com/puppetlabs-release-pc1-jessie.deb" |
|
|
75
|
-
_for Ubuntu16.04 change to_ |
|
|
76
|
+
_for Ubuntu16.04 change to_ | "http://apt.puppetlabs.com/puppetlabs-release-pc1-xenial.deb" |
|
|
76
77
|
puppet_coll_remote_path | "/opt/puppetlabs" | Server Installation location of a puppet collections install.
|
|
77
78
|
puppet_config_path | | path of custom puppet.conf file
|
|
78
79
|
puppet_debug| false| Enable full debugging logging on puppet run
|
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.48.0
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Neill Turner
|
|
8
8
|
autorequire:
|
|
9
9
|
bindir: bin
|
|
10
10
|
cert_chain: []
|
|
11
|
-
date: 2017-03-
|
|
11
|
+
date: 2017-03-24 00:00:00.000000000 Z
|
|
12
12
|
dependencies:
|
|
13
13
|
- !ruby/object:Gem::Dependency
|
|
14
14
|
name: test-kitchen
|