kitchen-puppet 0.0.10 → 0.0.11
Sign up to get free protection for your applications and to get access to all the features.
- data/lib/kitchen-puppet/version.rb +5 -5
- data/lib/kitchen/provisioner/puppet/librarian.rb +83 -83
- data/lib/kitchen/provisioner/puppet_apply.rb +502 -473
- data/provisioner_options.md +70 -70
- metadata +2 -2
data/provisioner_options.md
CHANGED
@@ -1,70 +1,70 @@
|
|
1
|
-
|
2
|
-
# Provisioner Options
|
3
|
-
|
4
|
-
key | default value | Notes
|
5
|
-
----|---------------|--------
|
6
|
-
puppet_version | "latest"| desired version, affects apt installs
|
7
|
-
puppet_platform | naively tries to determine | OS platform of server
|
8
|
-
require_puppet_repo | true | Set if using a puppet install from yum or apt repo
|
9
|
-
puppet_apt_repo | "http://apt.puppetlabs.com/puppetlabs-release-precise.deb"| apt repo
|
10
|
-
puppet_yum_repo | "https://yum.puppetlabs.com/puppetlabs-release-el-6.noarch.rpm"| yum repo
|
11
|
-
require_puppet_omnibus | false | Set if using omnibus puppet install
|
12
|
-
puppet_omnibus_url | | omnibus puppet install location.
|
13
|
-
puppet_omnibus_remote_path | "/opt/puppet" | Server Installation location of an omnibus puppet install.
|
14
|
-
manifests_path | | puppet repo manifests directory
|
15
|
-
manifest | 'site.pp' | manifest for puppet apply to run
|
16
|
-
modules_path | | puppet repo manifests directory
|
17
|
-
files_path | | directory to place at /tmp/kitchen/files
|
18
|
-
fileserver_config_path | | file to place fileserver.conf
|
19
|
-
hiera_data_path | | puppet repo hiera data directory
|
20
|
-
hiera_data_remote_path | "/var/lib/hiera" | Hiera data directory on server
|
21
|
-
puppet_debug| false| Enable full debugging logging
|
22
|
-
puppet_verbose| false| Extra information logging
|
23
|
-
puppet_noop| false| puppet runs in a no-op or dry-run mode
|
24
|
-
update_package_repos| true| update OS repository metadata
|
25
|
-
custom_facts| Hash.new | Hash to set the puppet facts before running puppet apply
|
26
|
-
chef_bootstrap_url |"https://www.getchef.com/chef/install.sh"| the chef (needed for busser to run tests)
|
27
|
-
puppetfile_path | | Path to Puppetfile
|
28
|
-
|
29
|
-
## Configuring Provisioner Options
|
30
|
-
|
31
|
-
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:
|
32
|
-
|
33
|
-
---
|
34
|
-
driver:
|
35
|
-
name: vagrant
|
36
|
-
|
37
|
-
provisioner:
|
38
|
-
name: puppet_apply
|
39
|
-
manifests_path: /repository/puppet_repo/manifests
|
40
|
-
modules_path: /repository/puppet_repo/modules-mycompany
|
41
|
-
hiera_data_path: /repository/puppet_repo/hieradata
|
42
|
-
|
43
|
-
platforms:
|
44
|
-
- name: nocm_ubuntu-12.04
|
45
|
-
driver_plugin: vagrant
|
46
|
-
driver_config:
|
47
|
-
box: nocm_ubuntu-12.04
|
48
|
-
box_url: http://puppet-vagrant-boxes.puppetlabs.com/ubuntu-server-12042-x64-vbox4210-nocm.box
|
49
|
-
|
50
|
-
suites:
|
51
|
-
- name: default
|
52
|
-
|
53
|
-
|
54
|
-
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
|
55
|
-
|
56
|
-
To override a setting at the suite-level, specify the setting name under the suite:
|
57
|
-
|
58
|
-
suites:
|
59
|
-
- name: default
|
60
|
-
manifest: foobar.pp
|
61
|
-
|
62
|
-
### Per-suite Structure
|
63
|
-
|
64
|
-
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:
|
65
|
-
|
66
|
-
$kitchen_root/puppet/$suite_name/manifests
|
67
|
-
$kitchen_root/puppet/$suite_name/modules
|
68
|
-
$kitchen_root/puppet/$suite_name/hiera
|
69
|
-
$kitchen_root/puppet/$suite_name/hiera.yaml
|
70
|
-
$kitchen_root/puppet/$suite_name/Puppetfile
|
1
|
+
|
2
|
+
# Provisioner Options
|
3
|
+
|
4
|
+
key | default value | Notes
|
5
|
+
----|---------------|--------
|
6
|
+
puppet_version | "latest"| desired version, affects apt installs
|
7
|
+
puppet_platform | naively tries to determine | OS platform of server
|
8
|
+
require_puppet_repo | true | Set if using a puppet install from yum or apt repo
|
9
|
+
puppet_apt_repo | "http://apt.puppetlabs.com/puppetlabs-release-precise.deb"| apt repo
|
10
|
+
puppet_yum_repo | "https://yum.puppetlabs.com/puppetlabs-release-el-6.noarch.rpm"| yum repo
|
11
|
+
require_puppet_omnibus | false | Set if using omnibus puppet install
|
12
|
+
puppet_omnibus_url | | omnibus puppet install location.
|
13
|
+
puppet_omnibus_remote_path | "/opt/puppet" | Server Installation location of an omnibus puppet install.
|
14
|
+
manifests_path | | puppet repo manifests directory
|
15
|
+
manifest | 'site.pp' | manifest for puppet apply to run
|
16
|
+
modules_path | | puppet repo manifests directory
|
17
|
+
files_path | | directory to place at /tmp/kitchen/files
|
18
|
+
fileserver_config_path | | file to place fileserver.conf
|
19
|
+
hiera_data_path | | puppet repo hiera data directory
|
20
|
+
hiera_data_remote_path | "/var/lib/hiera" | Hiera data directory on server
|
21
|
+
puppet_debug| false| Enable full debugging logging
|
22
|
+
puppet_verbose| false| Extra information logging
|
23
|
+
puppet_noop| false| puppet runs in a no-op or dry-run mode
|
24
|
+
update_package_repos| true| update OS repository metadata
|
25
|
+
custom_facts| Hash.new | Hash to set the puppet facts before running puppet apply
|
26
|
+
chef_bootstrap_url |"https://www.getchef.com/chef/install.sh"| the chef (needed for busser to run tests)
|
27
|
+
puppetfile_path | | Path to Puppetfile
|
28
|
+
|
29
|
+
## Configuring Provisioner Options
|
30
|
+
|
31
|
+
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:
|
32
|
+
|
33
|
+
---
|
34
|
+
driver:
|
35
|
+
name: vagrant
|
36
|
+
|
37
|
+
provisioner:
|
38
|
+
name: puppet_apply
|
39
|
+
manifests_path: /repository/puppet_repo/manifests
|
40
|
+
modules_path: /repository/puppet_repo/modules-mycompany
|
41
|
+
hiera_data_path: /repository/puppet_repo/hieradata
|
42
|
+
|
43
|
+
platforms:
|
44
|
+
- name: nocm_ubuntu-12.04
|
45
|
+
driver_plugin: vagrant
|
46
|
+
driver_config:
|
47
|
+
box: nocm_ubuntu-12.04
|
48
|
+
box_url: http://puppet-vagrant-boxes.puppetlabs.com/ubuntu-server-12042-x64-vbox4210-nocm.box
|
49
|
+
|
50
|
+
suites:
|
51
|
+
- name: default
|
52
|
+
|
53
|
+
|
54
|
+
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
|
55
|
+
|
56
|
+
To override a setting at the suite-level, specify the setting name under the suite:
|
57
|
+
|
58
|
+
suites:
|
59
|
+
- name: default
|
60
|
+
manifest: foobar.pp
|
61
|
+
|
62
|
+
### Per-suite Structure
|
63
|
+
|
64
|
+
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:
|
65
|
+
|
66
|
+
$kitchen_root/puppet/$suite_name/manifests
|
67
|
+
$kitchen_root/puppet/$suite_name/modules
|
68
|
+
$kitchen_root/puppet/$suite_name/hiera
|
69
|
+
$kitchen_root/puppet/$suite_name/hiera.yaml
|
70
|
+
$kitchen_root/puppet/$suite_name/Puppetfile
|
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.
|
4
|
+
version: 0.0.11
|
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: 2014-05-
|
12
|
+
date: 2014-05-25 00:00:00.000000000 Z
|
13
13
|
dependencies: []
|
14
14
|
description: ! '== DESCRIPTION:
|
15
15
|
|