freighthop 0.3.3 → 0.4.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +7 -0
- data/Puppetfile +1 -1
- data/Puppetfile.lock +4 -5
- data/README.md +18 -7
- data/Vagrantfile +4 -0
- data/lib/freighthop/cli/help.rb +1 -0
- data/lib/freighthop/cli/init.rb +10 -10
- data/lib/freighthop/cli/version.rb +17 -0
- data/lib/freighthop/cli.rb +3 -1
- data/lib/freighthop/version.rb +1 -1
- data/lib/freighthop.rb +4 -0
- data/modules/apt/CHANGELOG +2 -36
- data/modules/apt/Gemfile +5 -6
- data/modules/apt/Gemfile.lock +7 -40
- data/modules/apt/Modulefile +1 -1
- data/modules/apt/README.md +1 -2
- data/modules/apt/Rakefile +0 -1
- data/modules/apt/manifests/init.pp +2 -5
- data/modules/apt/manifests/params.pp +1 -4
- data/modules/apt/manifests/pin.pp +1 -1
- data/modules/apt/manifests/ppa.pp +10 -24
- data/modules/apt/manifests/update.pp +0 -1
- data/modules/apt/metadata.json +19 -32
- data/modules/apt/spec/defines/ppa_spec.rb +2 -53
- data/modules/apt/spec/defines/source_spec.rb +2 -2
- data/modules/apt/templates/source.list.erb +2 -2
- data/modules/apt/tests/key.pp +3 -3
- data/modules/concat/CHANGELOG +73 -0
- data/modules/concat/Gemfile +20 -0
- data/modules/concat/Gemfile.lock +104 -0
- data/modules/concat/Modulefile +7 -6
- data/modules/concat/README.md +440 -0
- data/modules/concat/Rakefile +5 -1
- data/modules/concat/files/concatfragments.rb +137 -0
- data/modules/concat/files/concatfragments.sh +15 -4
- data/modules/concat/lib/facter/concat_basedir.rb +9 -3
- data/modules/concat/manifests/fragment.pp +108 -48
- data/modules/concat/manifests/init.pp +191 -210
- data/modules/concat/manifests/setup.pp +31 -31
- data/modules/concat/metadata.json +40 -21
- data/modules/{apt → concat}/spec/spec_helper_system.rb +11 -6
- data/modules/{firewall → concat}/spec/system/basic_spec.rb +1 -1
- data/modules/concat/spec/system/concat_spec.rb +154 -0
- data/modules/concat/spec/system/deprecation_warnings_spec.rb +247 -0
- data/modules/concat/spec/system/empty_spec.rb +27 -0
- data/modules/concat/spec/system/fragment_source_spec.rb +142 -0
- data/modules/concat/spec/system/replace_spec.rb +257 -0
- data/modules/concat/spec/system/symbolic_name_spec.rb +35 -0
- data/modules/concat/spec/system/warn_spec.rb +106 -0
- data/modules/concat/spec/unit/classes/concat_setup_spec.rb +42 -0
- data/modules/concat/spec/unit/defines/concat_fragment_spec.rb +267 -0
- data/modules/concat/spec/unit/defines/concat_spec.rb +380 -0
- data/modules/concat/spec/unit/facts/concat_basedir_spec.rb +18 -0
- data/modules/concat/tests/fragment.pp +19 -0
- data/modules/concat/tests/init.pp +7 -0
- data/modules/firewall/Changelog +38 -0
- data/modules/firewall/Gemfile +5 -2
- data/modules/firewall/Gemfile.lock +76 -26
- data/modules/firewall/Modulefile +1 -1
- data/modules/firewall/README.markdown +47 -15
- data/modules/firewall/Rakefile +0 -7
- data/modules/firewall/lib/puppet/provider/firewall/ip6tables.rb +50 -7
- data/modules/firewall/lib/puppet/provider/firewall/iptables.rb +147 -31
- data/modules/firewall/lib/puppet/provider/firewallchain/iptables_chain.rb +19 -8
- data/modules/firewall/lib/puppet/type/firewall.rb +207 -3
- data/modules/firewall/lib/puppet/type/firewallchain.rb +73 -2
- data/modules/firewall/lib/puppet/util/firewall.rb +14 -0
- data/modules/firewall/metadata.json +181 -76
- data/modules/firewall/spec/acceptance/basic_spec.rb +8 -0
- data/modules/firewall/spec/acceptance/change_source_spec.rb +77 -0
- data/modules/firewall/spec/acceptance/class_spec.rb +27 -0
- data/modules/firewall/spec/acceptance/firewall_spec.rb +1608 -0
- data/modules/firewall/spec/acceptance/firewallchain_spec.rb +125 -0
- data/modules/firewall/spec/acceptance/ip6_fragment_spec.rb +94 -0
- data/modules/firewall/spec/acceptance/isfragment_spec.rb +92 -0
- data/modules/firewall/spec/acceptance/nodesets/centos-59-x64.yml +10 -0
- data/modules/firewall/spec/acceptance/nodesets/centos-64-x64-fusion.yml +10 -0
- data/modules/firewall/spec/acceptance/nodesets/centos-64-x64-pe.yml +12 -0
- data/modules/firewall/spec/acceptance/nodesets/centos-64-x64.yml +10 -0
- data/modules/firewall/spec/acceptance/nodesets/debian-607-x64.yml +10 -0
- data/modules/firewall/spec/acceptance/nodesets/debian-70rc1-x64.yml +10 -0
- data/modules/firewall/spec/acceptance/nodesets/default.yml +10 -0
- data/modules/firewall/spec/acceptance/nodesets/fedora-18-x64.yml +10 -0
- data/modules/firewall/spec/acceptance/nodesets/sles-11sp1-x64.yml +10 -0
- data/modules/firewall/spec/acceptance/nodesets/ubuntu-server-10044-x64.yml +10 -0
- data/modules/firewall/spec/acceptance/nodesets/ubuntu-server-12042-x64.yml +10 -0
- data/modules/firewall/spec/{system → acceptance}/params_spec.rb +44 -52
- data/modules/firewall/spec/acceptance/purge_spec.rb +124 -0
- data/modules/firewall/spec/acceptance/resource_cmd_spec.rb +93 -0
- data/modules/firewall/spec/acceptance/rules_spec.rb +248 -0
- data/modules/firewall/spec/acceptance/socket_spec.rb +96 -0
- data/modules/firewall/spec/{system → acceptance}/standard_usage_spec.rb +6 -10
- data/modules/firewall/spec/fixtures/ip6tables/conversion_hash.rb +107 -0
- data/modules/firewall/spec/fixtures/iptables/conversion_hash.rb +56 -2
- data/modules/firewall/spec/spec_helper_acceptance.rb +38 -0
- data/modules/firewall/spec/unit/classes/firewall_spec.rb +2 -2
- data/modules/firewall/spec/unit/facter/iptables_persistent_version_spec.rb +8 -5
- data/modules/firewall/spec/unit/facter/iptables_spec.rb +6 -4
- data/modules/firewall/spec/unit/puppet/provider/iptables_chain_spec.rb +14 -4
- data/modules/firewall/spec/unit/puppet/provider/iptables_spec.rb +246 -5
- data/modules/firewall/spec/unit/puppet/type/firewall_spec.rb +99 -8
- data/modules/firewall/spec/unit/puppet/type/firewallchain_spec.rb +50 -6
- data/modules/firewall/spec/unit/puppet/util/firewall_spec.rb +21 -0
- data/modules/mysql/CHANGELOG +0 -30
- data/modules/mysql/Gemfile +0 -1
- data/modules/mysql/Gemfile.lock +30 -31
- data/modules/mysql/Modulefile +1 -1
- data/modules/mysql/README.md +2 -49
- data/modules/mysql/files/mysqltuner.pl +1 -1
- data/modules/mysql/lib/puppet/provider/database/mysql.rb +1 -1
- data/modules/mysql/lib/puppet/provider/database_grant/mysql.rb +1 -1
- data/modules/mysql/lib/puppet/provider/database_user/mysql.rb +1 -1
- data/modules/mysql/lib/puppet/provider/mysql.rb +1 -2
- data/modules/mysql/lib/puppet/provider/mysql_database/mysql.rb +13 -2
- data/modules/mysql/lib/puppet/provider/mysql_user/mysql.rb +12 -0
- data/modules/mysql/lib/puppet/type/database_user.rb +1 -1
- data/modules/mysql/lib/puppet/type/mysql_grant.rb +3 -5
- data/modules/mysql/manifests/client.pp +0 -7
- data/modules/mysql/manifests/server/root_password.pp +0 -2
- data/modules/mysql/manifests/server.pp +0 -6
- data/modules/mysql/metadata.json +79 -81
- data/modules/mysql/spec/classes/mysql_server_spec.rb +0 -74
- data/modules/mysql/spec/system/mysql_server_root_password_spec.rb +1 -7
- data/modules/mysql/spec/system/mysql_server_spec.rb +3 -6
- data/modules/mysql/spec/system/types/mysql_grant_spec.rb +0 -27
- data/modules/mysql/spec/unit/puppet/functions/mysql_deepmerge_spec.rb +1 -1
- data/modules/mysql/spec/unit/puppet/provider/database/mysql_spec.rb +4 -4
- data/modules/mysql/spec/unit/puppet/provider/database_grant/mysql_spec.rb +15 -15
- data/modules/mysql/spec/unit/puppet/provider/database_user/mysql_spec.rb +4 -4
- data/modules/mysql/spec/unit/puppet/provider/mysql_database/mysql_spec.rb +3 -3
- data/modules/mysql/spec/unit/puppet/provider/mysql_user/mysql_spec.rb +3 -3
- data/modules/mysql/templates/my.cnf.erb +2 -4
- data/modules/mysql/tests/mysql_grant.pp +1 -1
- data/modules/postgresql/Changelog +31 -0
- data/modules/postgresql/Gemfile +4 -2
- data/modules/postgresql/Modulefile +1 -1
- data/modules/postgresql/README.md +10 -4
- data/modules/postgresql/Rakefile +0 -1
- data/modules/postgresql/lib/puppet/provider/postgresql_psql/ruby.rb +25 -3
- data/modules/postgresql/manifests/globals.pp +2 -0
- data/modules/postgresql/manifests/params.pp +21 -0
- data/modules/postgresql/manifests/server/config.pp +0 -5
- data/modules/postgresql/manifests/server/config_entry.pp +1 -1
- data/modules/postgresql/manifests/server/database.pp +2 -1
- data/modules/postgresql/manifests/server/db.pp +2 -0
- data/modules/postgresql/manifests/server/grant.pp +20 -16
- data/modules/postgresql/manifests/server/initdb.pp +27 -3
- data/modules/postgresql/manifests/server/pg_hba_rule.pp +2 -4
- data/modules/postgresql/manifests/server/role.pp +8 -2
- data/modules/postgresql/manifests/server/service.pp +5 -0
- data/modules/postgresql/manifests/server.pp +2 -0
- data/modules/postgresql/metadata.json +88 -65
- data/modules/postgresql/spec/acceptance/client_spec.rb +18 -0
- data/modules/postgresql/spec/{system → acceptance}/common_patterns_spec.rb +8 -14
- data/modules/postgresql/spec/{system → acceptance}/contrib_spec.rb +4 -9
- data/modules/postgresql/spec/acceptance/lib/devel_spec.rb +17 -0
- data/modules/postgresql/spec/acceptance/lib/java_spec.rb +20 -0
- data/modules/postgresql/spec/acceptance/lib/python_spec.rb +19 -0
- data/modules/postgresql/spec/acceptance/nodesets/centos-510-x64.yml +10 -0
- data/modules/postgresql/spec/acceptance/nodesets/centos-59-x64.yml +10 -0
- data/modules/postgresql/spec/acceptance/nodesets/centos-64-x64-pe.yml +12 -0
- data/modules/postgresql/spec/acceptance/nodesets/centos-64-x64.yml +10 -0
- data/modules/postgresql/spec/acceptance/nodesets/debian-607-x64.yml +10 -0
- data/modules/postgresql/spec/acceptance/nodesets/debian-73-x64.yml +10 -0
- data/modules/postgresql/spec/acceptance/nodesets/default.yml +10 -0
- data/modules/postgresql/spec/acceptance/nodesets/ubuntu-server-10044-x64.yml +10 -0
- data/modules/postgresql/spec/acceptance/nodesets/ubuntu-server-12042-x64.yml +10 -0
- data/modules/postgresql/spec/{system → acceptance}/postgresql_psql_spec.rb +6 -14
- data/modules/postgresql/spec/{system → acceptance}/server/config_entry_spec.rb +6 -12
- data/modules/postgresql/spec/{system → acceptance}/server/database_grant_spec.rb +6 -12
- data/modules/postgresql/spec/{system → acceptance}/server/database_spec.rb +6 -12
- data/modules/postgresql/spec/{system → acceptance}/server/db_spec.rb +47 -42
- data/modules/postgresql/spec/{system → acceptance}/server/grant_spec.rb +6 -12
- data/modules/postgresql/spec/{system → acceptance}/server/pg_hba_rule_spec.rb +10 -23
- data/modules/postgresql/spec/{system → acceptance}/server/plperl_spec.rb +6 -10
- data/modules/postgresql/spec/{system → acceptance}/server/role_spec.rb +13 -28
- data/modules/postgresql/spec/acceptance/server/table_grant_spec.rb +124 -0
- data/modules/postgresql/spec/{system → acceptance}/server/tablespace_spec.rb +8 -22
- data/modules/postgresql/spec/{system → acceptance}/server_spec.rb +38 -61
- data/modules/postgresql/spec/{system → acceptance}/validate_db_connection_spec.rb +8 -20
- data/modules/postgresql/spec/spec_helper_acceptance.rb +70 -0
- data/modules/postgresql/spec/unit/classes/globals_spec.rb +2 -2
- data/modules/postgresql/spec/unit/classes/lib/devel_spec.rb +1 -1
- data/modules/postgresql/spec/unit/classes/params_spec.rb +1 -1
- data/modules/postgresql/spec/unit/classes/repo_spec.rb +1 -1
- data/modules/postgresql/spec/unit/classes/server/initdb_spec.rb +2 -1
- data/modules/postgresql/spec/unit/classes/server/plperl_spec.rb +2 -2
- data/modules/postgresql/spec/unit/classes/server_spec.rb +9 -2
- data/modules/postgresql/spec/unit/puppet/provider/postgresql_psql/ruby_spec.rb +15 -17
- data/modules/rbenv/bin/autospec +0 -0
- data/modules/rbenv/bin/facter +0 -0
- data/modules/rbenv/bin/filebucket +0 -0
- data/modules/rbenv/bin/hiera +0 -0
- data/modules/rbenv/bin/htmldiff +0 -0
- data/modules/rbenv/bin/ldiff +0 -0
- data/modules/rbenv/bin/pi +0 -0
- data/modules/rbenv/bin/puppet +0 -0
- data/modules/rbenv/bin/puppet-lint +0 -0
- data/modules/rbenv/bin/puppet-module +0 -0
- data/modules/rbenv/bin/puppetca +0 -0
- data/modules/rbenv/bin/puppetd +0 -0
- data/modules/rbenv/bin/puppetdoc +0 -0
- data/modules/rbenv/bin/puppetmasterd +0 -0
- data/modules/rbenv/bin/puppetqd +0 -0
- data/modules/rbenv/bin/puppetrun +0 -0
- data/modules/rbenv/bin/rake +0 -0
- data/modules/rbenv/bin/ralsh +0 -0
- data/modules/rbenv/bin/rspec +0 -0
- data/modules/rbenv/bin/rspec-puppet-init +0 -0
- data/modules/stdlib/spec/monkey_patches/alias_should_to_must.rb +0 -0
- data/modules/stdlib/spec/monkey_patches/publicize_methods.rb +0 -0
- data/modules/stdlib/spec/unit/puppet/parser/functions/abs_spec.rb +0 -0
- data/modules/stdlib/spec/unit/puppet/parser/functions/bool2num_spec.rb +0 -0
- data/modules/stdlib/spec/unit/puppet/parser/functions/capitalize_spec.rb +0 -0
- data/modules/stdlib/spec/unit/puppet/parser/functions/chomp_spec.rb +0 -0
- data/modules/stdlib/spec/unit/puppet/parser/functions/chop_spec.rb +0 -0
- data/modules/stdlib/spec/unit/puppet/parser/functions/delete_at_spec.rb +0 -0
- data/modules/stdlib/spec/unit/puppet/parser/functions/delete_spec.rb +0 -0
- data/modules/stdlib/spec/unit/puppet/parser/functions/dirname_spec.rb +0 -0
- data/modules/stdlib/spec/unit/puppet/parser/functions/downcase_spec.rb +0 -0
- data/modules/stdlib/spec/unit/puppet/parser/functions/empty_spec.rb +0 -0
- data/modules/stdlib/spec/unit/puppet/parser/functions/flatten_spec.rb +0 -0
- data/modules/stdlib/spec/unit/puppet/parser/functions/grep_spec.rb +0 -0
- data/modules/stdlib/spec/unit/puppet/parser/functions/has_interface_with_spec.rb +0 -0
- data/modules/stdlib/spec/unit/puppet/parser/functions/has_ip_address_spec.rb +0 -0
- data/modules/stdlib/spec/unit/puppet/parser/functions/has_ip_network_spec.rb +0 -0
- data/modules/stdlib/spec/unit/puppet/parser/functions/max_spec.rb +0 -0
- data/modules/stdlib/spec/unit/puppet/parser/functions/min_spec.rb +0 -0
- data/modules/stdlib/spec/unit/puppet/parser/functions/reject_spec.rb +0 -0
- data/modules/stdlib/spec/unit/puppet/parser/functions/to_bytes_spec.rb +0 -0
- data/modules/stdlib/spec/unit/puppet/parser/functions/validate_slength_spec.rb +0 -0
- metadata +92 -77
- data/modules/apt/manifests/unattended_upgrades.pp +0 -68
- data/modules/apt/spec/classes/unattended_upgrades_spec.rb +0 -204
- data/modules/apt/spec/system/apt_builddep_spec.rb +0 -38
- data/modules/apt/spec/system/apt_key_spec.rb +0 -53
- data/modules/apt/spec/system/apt_ppa_spec.rb +0 -59
- data/modules/apt/spec/system/apt_source_spec.rb +0 -51
- data/modules/apt/spec/system/basic_spec.rb +0 -10
- data/modules/apt/spec/system/class_spec.rb +0 -20
- data/modules/apt/templates/10periodic.erb +0 -12
- data/modules/apt/templates/50unattended-upgrades.erb +0 -53
- data/modules/apt/tests/unattended-upgrades.pp +0 -1
- data/modules/concat/README.markdown +0 -150
- data/modules/concat/spec/defines/init_spec.rb +0 -115
- data/modules/concat/spec/fixtures/manifests/site.pp +0 -0
- data/modules/firewall/spec/spec_helper_system.rb +0 -49
- data/modules/firewall/spec/system/class_spec.rb +0 -39
- data/modules/firewall/spec/system/purge_spec.rb +0 -29
- data/modules/firewall/spec/system/resource_cmd_spec.rb +0 -53
- data/modules/mysql/manifests/server/providers.pp +0 -8
- data/modules/mysql/tests/bindings.pp +0 -3
- data/modules/postgresql/Gemfile.lock +0 -74
- data/modules/postgresql/spec/spec_helper_system.rb +0 -66
- data/modules/postgresql/spec/system/client_spec.rb +0 -22
- data/modules/postgresql/spec/system/lib/devel_spec.rb +0 -22
- data/modules/postgresql/spec/system/lib/java_spec.rb +0 -25
- data/modules/postgresql/spec/system/lib/python_spec.rb +0 -24
- data/modules/postgresql/spec/system/server/table_grant_spec.rb +0 -72
@@ -6,7 +6,7 @@ describe provider_class do
|
|
6
6
|
subject { provider_class }
|
7
7
|
|
8
8
|
let(:root_home) { '/root' }
|
9
|
-
let(:defaults_file) { '--defaults-
|
9
|
+
let(:defaults_file) { '--defaults-file=/root/.my.cnf' }
|
10
10
|
let(:newhash) { '*6C8989366EAF75BB670AD8EA7A7FC1176A95CEF5' }
|
11
11
|
|
12
12
|
let(:raw_users) do
|
@@ -35,7 +35,7 @@ usvn_user@localhost
|
|
35
35
|
Facter.stubs(:value).with(:root_home).returns(root_home)
|
36
36
|
Puppet::Util.stubs(:which).with('mysql').returns('/usr/bin/mysql')
|
37
37
|
subject.stubs(:which).with('mysql').returns('/usr/bin/mysql')
|
38
|
-
subject.stubs(:defaults_file).returns('--defaults-
|
38
|
+
subject.stubs(:defaults_file).returns('--defaults-file=/root/.my.cnf')
|
39
39
|
end
|
40
40
|
|
41
41
|
describe 'self.instances' do
|
@@ -110,9 +110,9 @@ usvn_user@localhost
|
|
110
110
|
end
|
111
111
|
|
112
112
|
describe 'self.defaults_file' do
|
113
|
-
it 'sets --defaults-
|
113
|
+
it 'sets --defaults-file' do
|
114
114
|
File.stubs(:file?).with('#{root_home}/.my.cnf').returns(true)
|
115
|
-
@provider.defaults_file.should == '--defaults-
|
115
|
+
@provider.defaults_file.should == '--defaults-file=/root/.my.cnf'
|
116
116
|
end
|
117
117
|
end
|
118
118
|
|
@@ -2,7 +2,7 @@ require 'spec_helper'
|
|
2
2
|
|
3
3
|
describe Puppet::Type.type(:mysql_database).provider(:mysql) do
|
4
4
|
|
5
|
-
let(:defaults_file) { '--defaults-
|
5
|
+
let(:defaults_file) { '--defaults-file=/root/.my.cnf' }
|
6
6
|
|
7
7
|
let(:raw_databases) do
|
8
8
|
<<-SQL_OUTPUT
|
@@ -77,9 +77,9 @@ test
|
|
77
77
|
end
|
78
78
|
|
79
79
|
describe 'self.defaults_file' do
|
80
|
-
it 'sets --defaults-
|
80
|
+
it 'sets --defaults-file' do
|
81
81
|
File.stubs(:file?).with('/root/.my.cnf').returns(true)
|
82
|
-
provider.defaults_file.should eq '--defaults-
|
82
|
+
provider.defaults_file.should eq '--defaults-file=/root/.my.cnf'
|
83
83
|
end
|
84
84
|
it 'fails if file missing' do
|
85
85
|
File.stubs(:file?).with('/root/.my.cnf').returns(false)
|
@@ -1,7 +1,7 @@
|
|
1
1
|
require 'spec_helper'
|
2
2
|
|
3
3
|
describe Puppet::Type.type(:mysql_user).provider(:mysql) do
|
4
|
-
let(:defaults_file) { '--defaults-
|
4
|
+
let(:defaults_file) { '--defaults-file=/root/.my.cnf' }
|
5
5
|
let(:newhash) { '*6C8989366EAF75BB670AD8EA7A7FC1176A95CEF5' }
|
6
6
|
|
7
7
|
let(:raw_users) do
|
@@ -84,9 +84,9 @@ usvn_user@localhost
|
|
84
84
|
end
|
85
85
|
|
86
86
|
describe 'self.defaults_file' do
|
87
|
-
it 'sets --defaults-
|
87
|
+
it 'sets --defaults-file' do
|
88
88
|
File.stubs(:file?).with('/root/.my.cnf').returns(true)
|
89
|
-
provider.defaults_file.should eq '--defaults-
|
89
|
+
provider.defaults_file.should eq '--defaults-file=/root/.my.cnf'
|
90
90
|
end
|
91
91
|
it 'fails if file missing' do
|
92
92
|
File.expects(:file?).with('/root/.my.cnf').returns(false)
|
@@ -2,11 +2,9 @@
|
|
2
2
|
<% if v.is_a?(Hash) -%>
|
3
3
|
[<%= k %>]
|
4
4
|
<% @options[k].sort.map do |ki, vi| -%>
|
5
|
-
<% if vi
|
6
|
-
<%= ki %>
|
7
|
-
<% elsif vi and vi != '' -%>
|
5
|
+
<% if vi and vi != '' -%>
|
8
6
|
<%= ki %> = <%= vi %>
|
9
|
-
<%
|
7
|
+
<% else -%>
|
10
8
|
<%= ki %>
|
11
9
|
<% end -%>
|
12
10
|
<% end -%>
|
@@ -1,3 +1,34 @@
|
|
1
|
+
2014-01-28 - Version 3.3.0
|
2
|
+
|
3
|
+
Summary:
|
4
|
+
|
5
|
+
This release rolls up a bunch of bugfixes our users have found and fixed for
|
6
|
+
us over the last few months. This improves things for 9.1 users, and makes
|
7
|
+
this module usable on FreeBSD.
|
8
|
+
|
9
|
+
This release is dedicated to 'bma', who's suffering with Puppet 3.4.1 issues
|
10
|
+
thanks to Puppet::Util::SUIDManager.run_and_capture.
|
11
|
+
|
12
|
+
Features:
|
13
|
+
- Add lc_ config entry settings
|
14
|
+
- Can pass template at database creation.
|
15
|
+
- Add FreeBSD support.
|
16
|
+
- Add support for customer `xlogdir` parameter.
|
17
|
+
- Switch tests from rspec-system to beaker. (This isn't really a feature)
|
18
|
+
|
19
|
+
Bugfixes:
|
20
|
+
- Properly fix the deprecated Puppet::Util::SUIDManager.run_and_capture errors.
|
21
|
+
- Fix NOREPLICATION option for Postgres 9.1
|
22
|
+
- Wrong parameter name: manage_pg_conf -> manage_pg_hba_conf
|
23
|
+
- Add $postgresql::server::client_package_name, referred to by install.pp
|
24
|
+
- Add missing service_provider/service_name descriptions in ::globals.
|
25
|
+
- Fix several smaller typos/issues throughout.
|
26
|
+
- Exec['postgresql_initdb'] needs to be done after $datadir exists
|
27
|
+
- Prevent defined resources from floating in the catalog.
|
28
|
+
- Fix granting all privileges on a table.
|
29
|
+
- Add some missing privileges.
|
30
|
+
- Remove deprecated and unused concat::fragment parameters.
|
31
|
+
|
1
32
|
2013-11-05 - Version 3.2.0
|
2
33
|
|
3
34
|
Summary:
|
data/modules/postgresql/Gemfile
CHANGED
@@ -3,9 +3,11 @@ source 'https://rubygems.org'
|
|
3
3
|
group :development, :test do
|
4
4
|
gem 'rake'
|
5
5
|
gem 'puppetlabs_spec_helper', :require => false
|
6
|
-
gem 'rspec-
|
7
|
-
gem 'rspec-system-serverspec', '~>1.0'
|
6
|
+
gem 'rspec-puppet', '< 1.0'
|
8
7
|
gem 'puppet-lint', '~> 0.3.2'
|
8
|
+
gem 'beaker', :require => false
|
9
|
+
gem 'beaker-rspec', :require => false
|
10
|
+
gem 'serverspec', :require => false
|
9
11
|
end
|
10
12
|
|
11
13
|
if puppetversion = ENV['PUPPET_GEM_VERSION']
|
@@ -284,10 +284,13 @@ This setting can be used to override the default postgresql PL/perl package name
|
|
284
284
|
This setting can be used to override the default postgresql Python package name. If not specified, the module will use whatever package name is the default for your OS distro.
|
285
285
|
|
286
286
|
####`service_name`
|
287
|
-
This setting can be used to override the default postgresql service
|
287
|
+
This setting can be used to override the default postgresql service name. If not specified, the module will use whatever service name is the default for your OS distro.
|
288
|
+
|
289
|
+
####`service_provider`
|
290
|
+
This setting can be used to override the default postgresql service provider. If not specified, the module will use whatever service provider is the default for your OS distro.
|
288
291
|
|
289
292
|
####`service_status`
|
290
|
-
This setting can be used to override the default status check command for your PostgreSQL service. If not specified, the module will use whatever service
|
293
|
+
This setting can be used to override the default status check command for your PostgreSQL service. If not specified, the module will use whatever service status is the default for your OS distro.
|
291
294
|
|
292
295
|
####`default_database`
|
293
296
|
This setting is used to specify the name of the default database to connect with. On most systems this will be "postgres".
|
@@ -319,6 +322,9 @@ This setting can be used to override the default postgresql configuration direct
|
|
319
322
|
####`bindir`
|
320
323
|
This setting can be used to override the default postgresql binaries directory for the target platform. If not specified, the module will use whatever directory is the default for your OS distro.
|
321
324
|
|
325
|
+
####`xlogdir`
|
326
|
+
This setting can be used to override the default postgresql xlog directory. If not specified the module will use initdb's default path.
|
327
|
+
|
322
328
|
####`user`
|
323
329
|
This setting can be used to override the default postgresql super user and owner of postgresql related files in the file system. If not specified, the module will use the user name 'postgres'.
|
324
330
|
|
@@ -393,7 +399,7 @@ List of strings for access control for connection method, users, databases, IPv4
|
|
393
399
|
####`ipv6acls`
|
394
400
|
List of strings for access control for connection method, users, databases, IPv6 addresses; see [postgresql documentation](http://www.postgresql.org/docs/9.2/static/auth-pg-hba-conf.html) about `pg_hba.conf` for information (please note that the link will take you to documentation for the most recent version of Postgres, however links for earlier versions can be found on that page).
|
395
401
|
|
396
|
-
####`
|
402
|
+
####`initdb_path`
|
397
403
|
Path to the `initdb` command.
|
398
404
|
|
399
405
|
####`createdb_path`
|
@@ -451,7 +457,7 @@ The ensure parameter passed on to postgresql client package resource.
|
|
451
457
|
Installs the postgresql contrib package.
|
452
458
|
|
453
459
|
####`package_name`
|
454
|
-
The name of the postgresql
|
460
|
+
The name of the postgresql contrib package.
|
455
461
|
|
456
462
|
####`package_ensure`
|
457
463
|
The ensure parameter passed on to postgresql contrib package resource.
|
data/modules/postgresql/Rakefile
CHANGED
@@ -16,9 +16,15 @@ Puppet::Type.type(:postgresql_psql).provide(:ruby) do
|
|
16
16
|
return nil
|
17
17
|
end
|
18
18
|
|
19
|
-
|
19
|
+
if Puppet::PUPPETVERSION.to_f < 4
|
20
|
+
output, status = run_unless_sql_command(resource[:unless])
|
21
|
+
else
|
22
|
+
output = run_unless_sql_command(resource[:unless])
|
23
|
+
status = output.exitcode
|
24
|
+
end
|
20
25
|
|
21
26
|
if status != 0
|
27
|
+
puts status
|
22
28
|
self.fail("Error evaluating 'unless' clause: '#{output}'")
|
23
29
|
end
|
24
30
|
result_count = output.strip.to_i
|
@@ -61,10 +67,26 @@ Puppet::Type.type(:postgresql_psql).provide(:ruby) do
|
|
61
67
|
|
62
68
|
if resource[:cwd]
|
63
69
|
Dir.chdir resource[:cwd] do
|
64
|
-
|
70
|
+
run_command(command, resource[:psql_user], resource[:psql_group])
|
65
71
|
end
|
66
72
|
else
|
67
|
-
|
73
|
+
run_command(command, resource[:psql_user], resource[:psql_group])
|
74
|
+
end
|
75
|
+
end
|
76
|
+
|
77
|
+
def run_command(command, user, group)
|
78
|
+
if Puppet::PUPPETVERSION.to_f < 3.4
|
79
|
+
Puppet::Util::SUIDManager.run_and_capture(command, user, group)
|
80
|
+
else
|
81
|
+
output = Puppet::Util::Execution.execute(command, {
|
82
|
+
:uid => user,
|
83
|
+
:gid => group,
|
84
|
+
:failonfail => false,
|
85
|
+
:combine => true,
|
86
|
+
:override_locale => true,
|
87
|
+
:custom_environment => {}
|
88
|
+
})
|
89
|
+
[output, $CHILD_STATUS.dup]
|
68
90
|
end
|
69
91
|
end
|
70
92
|
|
@@ -27,6 +27,7 @@ class postgresql::globals (
|
|
27
27
|
$datadir = undef,
|
28
28
|
$confdir = undef,
|
29
29
|
$bindir = undef,
|
30
|
+
$xlogdir = undef,
|
30
31
|
|
31
32
|
$user = undef,
|
32
33
|
$group = undef,
|
@@ -78,6 +79,7 @@ class postgresql::globals (
|
|
78
79
|
/Archlinux/ => '9.2',
|
79
80
|
default => '9.2',
|
80
81
|
},
|
82
|
+
'FreeBSD' => '93',
|
81
83
|
default => undef,
|
82
84
|
}
|
83
85
|
$globals_version = pick($version, $default_version, 'unknown')
|
@@ -120,6 +120,27 @@ class postgresql::params inherits postgresql::globals {
|
|
120
120
|
$firewall_supported = pick($firewall_supported, true)
|
121
121
|
}
|
122
122
|
|
123
|
+
'FreeBSD': {
|
124
|
+
|
125
|
+
$client_package_name = pick($client_package_name, "databases/postgresql${version}-client")
|
126
|
+
$server_package_name = pick($server_package_name, "databases/postgresql${version}-server")
|
127
|
+
$contrib_package_name = pick($contrib_package_name, "databases/postgresql${version}-contrib")
|
128
|
+
$devel_package_name = pick($devel_package_name, 'databases/postgresql-libpqxx3')
|
129
|
+
$java_package_name = pick($java_package_name, 'databases/postgresql-jdbc')
|
130
|
+
$plperl_package_name = pick($plperl_package_name, "databases/postgresql${version}-plperl")
|
131
|
+
$python_package_name = pick($python_package_name, 'databases/py-psycopg2')
|
132
|
+
|
133
|
+
$service_name = pick($service_name, 'postgresql')
|
134
|
+
$bindir = pick($bindir, '/usr/local/bin')
|
135
|
+
$datadir = pick($datadir, '/usr/local/pgsql/data')
|
136
|
+
$confdir = pick($confdir, '/usr/local/share/postgresql')
|
137
|
+
$service_status = pick($service_status, "/usr/local/etc/rc.d/${service_name} status")
|
138
|
+
$psql_path = pick($psql_path, "${bindir}/psql")
|
139
|
+
|
140
|
+
$firewall_supported = pick($firewall_supported, false)
|
141
|
+
$needs_initdb = pick($needs_initdb, true)
|
142
|
+
}
|
143
|
+
|
123
144
|
default: {
|
124
145
|
# Based on the existing version of the firewall module, this is normally
|
125
146
|
# false for other OS, but this allows an escape hatch to override it.
|
@@ -14,11 +14,6 @@ class postgresql::server::config {
|
|
14
14
|
$version = $postgresql::server::version
|
15
15
|
$manage_pg_hba_conf = $postgresql::server::manage_pg_hba_conf
|
16
16
|
|
17
|
-
File {
|
18
|
-
owner => $user,
|
19
|
-
group => $group,
|
20
|
-
}
|
21
|
-
|
22
17
|
if ($ensure == 'present' or $ensure == true) {
|
23
18
|
|
24
19
|
if ($manage_pg_hba_conf == true) {
|
@@ -12,7 +12,7 @@ define postgresql::server::config_entry (
|
|
12
12
|
}
|
13
13
|
|
14
14
|
case $name {
|
15
|
-
/data_directory|hba_file|ident_file|include|listen_addresses|port|max_connections|superuser_reserved_connections|unix_socket_directory|unix_socket_group|unix_socket_permissions|bonjour|bonjour_name|ssl|ssl_ciphers|shared_buffers|max_prepared_transactions|max_files_per_process|shared_preload_libraries|wal_level|wal_buffers|archive_mode|max_wal_senders|hot_standby|logging_collector|silent_mode|track_activity_query_size|autovacuum_max_workers|autovacuum_freeze_max_age|max_locks_per_transaction|max_pred_locks_per_transaction|restart_after_crash/: {
|
15
|
+
/data_directory|hba_file|ident_file|include|listen_addresses|port|max_connections|superuser_reserved_connections|unix_socket_directory|unix_socket_group|unix_socket_permissions|bonjour|bonjour_name|ssl|ssl_ciphers|shared_buffers|max_prepared_transactions|max_files_per_process|shared_preload_libraries|wal_level|wal_buffers|archive_mode|max_wal_senders|hot_standby|logging_collector|silent_mode|track_activity_query_size|autovacuum_max_workers|autovacuum_freeze_max_age|max_locks_per_transaction|max_pred_locks_per_transaction|restart_after_crash|lc_messages|lc_monetary|lc_numeric|lc_time/: {
|
16
16
|
Postgresql_conf {
|
17
17
|
notify => Class['postgresql::server::service'],
|
18
18
|
before => Class['postgresql::server::reload'],
|
@@ -3,6 +3,7 @@ define postgresql::server::database(
|
|
3
3
|
$dbname = $title,
|
4
4
|
$owner = $postgresql::server::user,
|
5
5
|
$tablespace = undef,
|
6
|
+
$template = 'template0',
|
6
7
|
$encoding = $postgresql::server::encoding,
|
7
8
|
$locale = $postgresql::server::locale,
|
8
9
|
$istemplate = false
|
@@ -43,7 +44,7 @@ define postgresql::server::database(
|
|
43
44
|
default => "--tablespace='${tablespace}' ",
|
44
45
|
}
|
45
46
|
|
46
|
-
$createdb_command = "${createdb_path} --owner='${owner}' --template
|
47
|
+
$createdb_command = "${createdb_path} --owner='${owner}' --template=${template} ${encoding_option}${locale_option}${tablespace_option} '${dbname}'"
|
47
48
|
|
48
49
|
postgresql_psql { "Check for existence of db '${dbname}'":
|
49
50
|
command => 'SELECT 1',
|
@@ -7,12 +7,14 @@ define postgresql::server::db (
|
|
7
7
|
$locale = $postgresql::server::locale,
|
8
8
|
$grant = 'ALL',
|
9
9
|
$tablespace = undef,
|
10
|
+
$template = 'template0',
|
10
11
|
$istemplate = false,
|
11
12
|
$owner = undef
|
12
13
|
) {
|
13
14
|
postgresql::server::database { $name:
|
14
15
|
encoding => $encoding,
|
15
16
|
tablespace => $tablespace,
|
17
|
+
template => $template,
|
16
18
|
locale => $locale,
|
17
19
|
istemplate => $istemplate,
|
18
20
|
owner => $owner,
|
@@ -31,16 +31,32 @@ define postgresql::server::grant (
|
|
31
31
|
)
|
32
32
|
|
33
33
|
## Validate that the object type's privilege is acceptable
|
34
|
+
# TODO: this is a terrible hack; if they pass "ALL" as the desired privilege,
|
35
|
+
# we need a way to test for it--and has_database_privilege does not
|
36
|
+
# recognize 'ALL' as a valid privilege name. So we probably need to
|
37
|
+
# hard-code a mapping between 'ALL' and the list of actual privileges that
|
38
|
+
# it entails, and loop over them to check them. That sort of thing will
|
39
|
+
# probably need to wait until we port this over to ruby, so, for now, we're
|
40
|
+
# just going to assume that if they have "CREATE" privileges on a database,
|
41
|
+
# then they have "ALL". (I told you that it was terrible!)
|
34
42
|
case $_object_type {
|
35
43
|
'DATABASE': {
|
36
|
-
|
37
|
-
'ALL
|
44
|
+
$unless_privilege = $_privilege ? {
|
45
|
+
'ALL' => 'CREATE',
|
46
|
+
default => $_privilege,
|
47
|
+
}
|
48
|
+
validate_string($unless_privilege,'CREATE','CONNECT','TEMPORARY','TEMP',
|
49
|
+
'ALL','ALL PRIVILEGES')
|
38
50
|
$unless_function = 'has_database_privilege'
|
39
51
|
$on_db = $psql_db
|
40
52
|
}
|
41
53
|
'TABLE': {
|
42
|
-
|
43
|
-
'ALL'
|
54
|
+
$unless_privilege = $_privilege ? {
|
55
|
+
'ALL' => 'INSERT',
|
56
|
+
default => $_privilege,
|
57
|
+
}
|
58
|
+
validate_string($unless_privilege,'SELECT','INSERT','UPDATE','DELETE',
|
59
|
+
'TRUNCATE','REFERENCES','TRIGGER','ALL','ALL PRIVILEGES')
|
44
60
|
$unless_function = 'has_table_privilege'
|
45
61
|
$on_db = $db
|
46
62
|
}
|
@@ -49,18 +65,6 @@ define postgresql::server::grant (
|
|
49
65
|
}
|
50
66
|
}
|
51
67
|
|
52
|
-
# TODO: this is a terrible hack; if they pass "ALL" as the desired privilege,
|
53
|
-
# we need a way to test for it--and has_database_privilege does not
|
54
|
-
# recognize 'ALL' as a valid privilege name. So we probably need to
|
55
|
-
# hard-code a mapping between 'ALL' and the list of actual privileges that
|
56
|
-
# it entails, and loop over them to check them. That sort of thing will
|
57
|
-
# probably need to wait until we port this over to ruby, so, for now, we're
|
58
|
-
# just going to assume that if they have "CREATE" privileges on a database,
|
59
|
-
# then they have "ALL". (I told you that it was terrible!)
|
60
|
-
$unless_privilege = $_privilege ? {
|
61
|
-
'ALL' => 'CREATE',
|
62
|
-
default => $_privilege,
|
63
|
-
}
|
64
68
|
$grant_cmd = "GRANT ${_privilege} ON ${_object_type} \"${object_name}\" TO \"${role}\""
|
65
69
|
postgresql_psql { $grant_cmd:
|
66
70
|
db => $on_db,
|
@@ -4,6 +4,7 @@ class postgresql::server::initdb {
|
|
4
4
|
$needs_initdb = $postgresql::server::needs_initdb
|
5
5
|
$initdb_path = $postgresql::server::initdb_path
|
6
6
|
$datadir = $postgresql::server::datadir
|
7
|
+
$xlogdir = $postgresql::server::xlogdir
|
7
8
|
$encoding = $postgresql::server::encoding
|
8
9
|
$locale = $postgresql::server::locale
|
9
10
|
$group = $postgresql::server::group
|
@@ -18,6 +19,16 @@ class postgresql::server::initdb {
|
|
18
19
|
mode => '0700',
|
19
20
|
}
|
20
21
|
|
22
|
+
if($xlogdir) {
|
23
|
+
# Make sure the xlog directory exists, and has the correct permissions.
|
24
|
+
file { $xlogdir:
|
25
|
+
ensure => directory,
|
26
|
+
owner => $user,
|
27
|
+
group => $group,
|
28
|
+
mode => '0700',
|
29
|
+
}
|
30
|
+
}
|
31
|
+
|
21
32
|
if($needs_initdb) {
|
22
33
|
# Build up the initdb command.
|
23
34
|
#
|
@@ -25,9 +36,13 @@ class postgresql::server::initdb {
|
|
25
36
|
# initdb command don't accept this switch. So if the user didn't pass the
|
26
37
|
# parameter, lets not pass the switch at all.
|
27
38
|
$ic_base = "${initdb_path} --encoding '${encoding}' --pgdata '${datadir}'"
|
28
|
-
$
|
39
|
+
$ic_xlog = $xlogdir ? {
|
29
40
|
undef => $ic_base,
|
30
|
-
default => "${ic_base} --
|
41
|
+
default => "${ic_base} --xlogdir '${xlogdir}'"
|
42
|
+
}
|
43
|
+
$initdb_command = $locale ? {
|
44
|
+
undef => $ic_xlog,
|
45
|
+
default => "${ic_xlog} --locale '${locale}'"
|
31
46
|
}
|
32
47
|
|
33
48
|
# This runs the initdb command, we use the existance of the PG_VERSION
|
@@ -38,7 +53,7 @@ class postgresql::server::initdb {
|
|
38
53
|
user => $user,
|
39
54
|
group => $group,
|
40
55
|
logoutput => on_failure,
|
41
|
-
|
56
|
+
require => File[$datadir],
|
42
57
|
}
|
43
58
|
}
|
44
59
|
} else {
|
@@ -48,5 +63,14 @@ class postgresql::server::initdb {
|
|
48
63
|
recurse => true,
|
49
64
|
force => true,
|
50
65
|
}
|
66
|
+
|
67
|
+
if($xlogdir) {
|
68
|
+
# Make sure the xlog directory exists, and has the correct permissions.
|
69
|
+
file { $xlogdir:
|
70
|
+
ensure => absent,
|
71
|
+
recurse => true,
|
72
|
+
force => true,
|
73
|
+
}
|
74
|
+
}
|
51
75
|
}
|
52
76
|
}
|
@@ -15,8 +15,8 @@ define postgresql::server::pg_hba_rule(
|
|
15
15
|
$target = $postgresql::server::pg_hba_conf_path
|
16
16
|
) {
|
17
17
|
|
18
|
-
if $postgresql::server::
|
19
|
-
fail('postgresql::server::
|
18
|
+
if $postgresql::server::manage_pg_hba_conf == false {
|
19
|
+
fail('postgresql::server::manage_pg_hba_conf has been disabled, so this resource is now unused and redundant, either enable that option or remove this resource from your manifests')
|
20
20
|
} else {
|
21
21
|
validate_re($type, '^(local|host|hostssl|hostnossl)$',
|
22
22
|
"The type you specified [${type}] must be one of: local, host, hostssl, hostnosssl")
|
@@ -47,8 +47,6 @@ define postgresql::server::pg_hba_rule(
|
|
47
47
|
target => $target,
|
48
48
|
content => template('postgresql/pg_hba_rule.conf'),
|
49
49
|
order => $order,
|
50
|
-
owner => $::id,
|
51
|
-
mode => '0600',
|
52
50
|
}
|
53
51
|
}
|
54
52
|
}
|
@@ -56,8 +56,14 @@ define postgresql::server::role(
|
|
56
56
|
}
|
57
57
|
|
58
58
|
if(versioncmp($version, '9.1') >= 0) {
|
59
|
-
|
60
|
-
|
59
|
+
if $replication_sql == '' {
|
60
|
+
postgresql_psql {"ALTER ROLE \"${username}\" NOREPLICATION":
|
61
|
+
unless => "SELECT rolname FROM pg_roles WHERE rolname='${username}' and rolreplication=${replication}",
|
62
|
+
}
|
63
|
+
} else {
|
64
|
+
postgresql_psql {"ALTER ROLE \"${username}\" ${replication_sql}":
|
65
|
+
unless => "SELECT rolname FROM pg_roles WHERE rolname='${username}' and rolreplication=${replication}",
|
66
|
+
}
|
61
67
|
}
|
62
68
|
}
|
63
69
|
|
@@ -13,6 +13,8 @@ class postgresql::server::service {
|
|
13
13
|
default => $ensure
|
14
14
|
}
|
15
15
|
|
16
|
+
anchor { 'postgresql::server::service::begin': }
|
17
|
+
|
16
18
|
service { 'postgresqld':
|
17
19
|
ensure => $service_ensure,
|
18
20
|
name => $service_name,
|
@@ -35,6 +37,9 @@ class postgresql::server::service {
|
|
35
37
|
tries => 60,
|
36
38
|
create_db_first => false,
|
37
39
|
require => Service['postgresqld'],
|
40
|
+
before => Anchor['postgresql::server::service::end']
|
38
41
|
}
|
39
42
|
}
|
43
|
+
|
44
|
+
anchor { 'postgresql::server::service::end': }
|
40
45
|
}
|
@@ -7,6 +7,7 @@ class postgresql::server (
|
|
7
7
|
$postgres_password = undef,
|
8
8
|
|
9
9
|
$package_name = $postgresql::params::server_package_name,
|
10
|
+
$client_package_name = $postgresql::params::client_package_name,
|
10
11
|
$package_ensure = $ensure,
|
11
12
|
|
12
13
|
$plperl_package_name = $postgresql::params::plperl_package_name,
|
@@ -29,6 +30,7 @@ class postgresql::server (
|
|
29
30
|
$postgresql_conf_path = $postgresql::params::postgresql_conf_path,
|
30
31
|
|
31
32
|
$datadir = $postgresql::params::datadir,
|
33
|
+
$xlogdir = $postgresql::params::xlogdir,
|
32
34
|
|
33
35
|
$pg_hba_conf_defaults = $postgresql::params::pg_hba_conf_defaults,
|
34
36
|
|