Skip to content

Commit 4e31042

Browse files
committed
Deduplicate & update params.pp
A lot of settings were shared so they're moved to the most common place. We also update some values to better match the current defaults.
1 parent fbd3469 commit 4e31042

2 files changed

Lines changed: 58 additions & 97 deletions

File tree

manifests/params.pp

Lines changed: 48 additions & 94 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,9 @@
11
# PRIVATE CLASS: do not use directly
22
class mongodb::params inherits mongodb::globals {
33
$ensure = true
4+
$dbpath = '/var/lib/mongodb'
45
$mongos_ensure = true
6+
$bind_ip = pick($mongodb::globals::bind_ip, ['127.0.0.1'])
57
$ipv6 = undef
68
$service_manage = pick($mongodb::globals::mongod_service_manage, true)
79
$service_enable = pick($mongodb::globals::service_enable, true)
@@ -35,130 +37,82 @@
3537

3638
$config_data = undef
3739

40+
if $version {
41+
$package_ensure = $version
42+
$package_ensure_client = $version
43+
$package_ensure_mongos = $version
44+
} else {
45+
$package_ensure = true
46+
$package_ensure_client = true
47+
$package_ensure_mongos = true
48+
}
49+
50+
if $mongodb::globals::use_enterprise_repo {
51+
$edition = 'enterprise'
52+
} else {
53+
$edition = 'org'
54+
}
55+
3856
# Amazon Linux's OS Family is 'Linux', operating system 'Amazon'.
3957
case $::osfamily {
4058
'RedHat', 'Linux', 'Suse': {
41-
4259
if $manage_package {
43-
$user = pick($mongodb::globals::user, 'mongod')
44-
$group = pick($mongodb::globals::group, 'mongod')
45-
if $version == undef {
46-
$server_package_name = pick($mongodb::globals::server_package_name, 'mongodb-org-server')
47-
$client_package_name = pick($mongodb::globals::client_package_name, 'mongodb-org-shell')
48-
$mongos_package_name = pick($mongodb::globals::mongos_package_name, 'mongodb-org-mongos')
49-
$package_ensure = true
50-
$package_ensure_client = true
51-
$package_ensure_mongos = true
52-
} else {
53-
$server_package_name = pick($mongodb::globals::server_package_name, 'mongodb-org-server')
54-
$client_package_name = pick($mongodb::globals::client_package_name, 'mongodb-org-shell')
55-
$mongos_package_name = pick($mongodb::globals::mongos_package_name, 'mongodb-org-mongos')
56-
$package_ensure = $version
57-
$package_ensure_client = $version
58-
$package_ensure_mongos = $version
59-
}
60-
$service_name = pick($mongodb::globals::service_name, 'mongod')
60+
$user = pick($mongodb::globals::user, 'mongod')
61+
$group = pick($mongodb::globals::group, 'mongod')
62+
$server_package_name = pick($mongodb::globals::server_package_name, "mongodb-${edition}-server")
63+
$client_package_name = pick($mongodb::globals::client_package_name, "mongodb-${edition}-shell")
64+
$mongos_package_name = pick($mongodb::globals::mongos_package_name, "mongodb-${edition}-mongos")
6165
$mongos_service_name = pick($mongodb::globals::mongos_service_name, 'mongos')
62-
$config = '/etc/mongod.conf'
6366
$mongos_config = '/etc/mongodb-shard.conf'
64-
$dbpath = '/var/lib/mongodb'
65-
$logpath = '/var/log/mongodb/mongod.log'
66-
$pidfilepath = '/var/run/mongodb/mongod.pid'
67-
$bind_ip = pick($mongodb::globals::bind_ip, ['127.0.0.1'])
6867
$mongos_pidfilepath = undef
6968
$mongos_unixsocketprefix = undef
7069
$mongos_logpath = undef
7170
$mongos_fork = undef
7271
} else {
7372
# RedHat/CentOS doesn't come with a prepacked mongodb
7473
# so we assume that you are using EPEL repository.
75-
if $version == undef {
76-
$package_ensure = true
77-
$package_ensure_client = true
78-
$package_ensure_mongos = true
79-
} else {
80-
$package_ensure = $version
81-
$package_ensure_client = $version
82-
$package_ensure_mongos = $version
83-
}
84-
$user = pick($mongodb::globals::user, 'mongodb')
85-
$group = pick($mongodb::globals::group, 'mongodb')
86-
$server_package_name = pick($mongodb::globals::server_package_name, 'mongodb-server')
87-
$client_package_name = pick($mongodb::globals::client_package_name, 'mongodb')
88-
$mongos_package_name = pick($mongodb::globals::mongos_package_name, 'mongodb-server')
89-
$service_name = pick($mongodb::globals::service_name, 'mongod')
90-
$dbpath = '/var/lib/mongodb'
91-
$logpath = '/var/log/mongodb/mongodb.log'
92-
$bind_ip = pick($mongodb::globals::bind_ip, ['127.0.0.1'])
93-
$config = '/etc/mongod.conf'
74+
$user = pick($mongodb::globals::user, 'mongodb')
75+
$group = pick($mongodb::globals::group, 'mongodb')
76+
$server_package_name = pick($mongodb::globals::server_package_name, 'mongodb-server')
77+
$client_package_name = pick($mongodb::globals::client_package_name, 'mongodb')
78+
$mongos_package_name = pick($mongodb::globals::mongos_package_name, 'mongodb-server')
79+
$mongos_service_name = pick($mongodb::globals::mongos_service_name, 'mongos')
9480
$mongos_config = '/etc/mongos.conf'
95-
$pidfilepath = '/var/run/mongodb/mongod.pid'
9681
$mongos_pidfilepath = '/var/run/mongodb/mongos.pid'
9782
$mongos_unixsocketprefix = '/var/run/mongodb'
98-
$mongos_logpath = '/var/log/mongodb/mongodb-shard.log'
83+
$mongos_logpath = '/var/log/mongodb/mongos.log'
9984
$mongos_fork = true
10085
}
101-
$fork = true
102-
$journal = true
86+
87+
$service_name = pick($mongodb::globals::service_name, 'mongod')
88+
$logpath = '/var/log/mongodb/mongod.log'
89+
$pidfilepath = '/var/run/mongodb/mongod.pid'
90+
$config = '/etc/mongod.conf'
91+
$fork = true
92+
$journal = true
10393
}
10494
'Debian': {
10595
if $manage_package {
106-
$user = pick($mongodb::globals::user, 'mongodb')
107-
$group = pick($mongodb::globals::group, 'mongodb')
108-
if $mongodb::globals::use_enterprise_repo {
109-
$edition = 'enterprise'
110-
} else {
111-
$edition = 'org'
112-
}
113-
if ($version == undef) {
114-
$server_package_name = pick($mongodb::globals::server_package_name, "mongodb-${edition}-server")
115-
$client_package_name = pick($mongodb::globals::client_package_name, "mongodb-${edition}-shell")
116-
$mongos_package_name = pick($mongodb::globals::mongos_package_name, "mongodb-${edition}-mongos")
117-
$package_ensure = true
118-
$package_ensure_client = true
119-
$package_ensure_mongos = true
120-
$service_name = pick($mongodb::globals::service_name, 'mongod')
121-
$config = '/etc/mongod.conf'
122-
} else {
123-
$server_package_name = pick($mongodb::globals::server_package_name, "mongodb-${edition}-server")
124-
$client_package_name = pick($mongodb::globals::client_package_name, "mongodb-${edition}-shell")
125-
$mongos_package_name = pick($mongodb::globals::mongos_package_name, "mongodb-${edition}-mongos")
126-
$package_ensure = $version
127-
$package_ensure_client = $version
128-
$package_ensure_mongos = $version
129-
$service_name = pick($mongodb::globals::service_name, 'mongod')
130-
$config = '/etc/mongod.conf'
131-
}
96+
$service_name = pick($mongodb::globals::service_name, 'mongod')
97+
$server_package_name = pick($mongodb::globals::server_package_name, "mongodb-${edition}-server")
98+
$client_package_name = pick($mongodb::globals::client_package_name, "mongodb-${edition}-shell")
99+
$mongos_package_name = pick($mongodb::globals::mongos_package_name, "mongodb-${edition}-mongos")
132100
$mongos_service_name = pick($mongodb::globals::mongos_service_name, 'mongos')
133-
$mongos_config = '/etc/mongodb-shard.conf'
134-
$dbpath = '/var/lib/mongodb'
135-
$logpath = '/var/log/mongodb/mongodb.log'
101+
$config = '/etc/mongod.conf'
136102
$pidfilepath = pick($mongodb::globals::pidfilepath, '/var/run/mongod.pid')
137-
$bind_ip = pick($mongodb::globals::bind_ip, ['127.0.0.1'])
138103
} else {
139-
if $version == undef {
140-
$package_ensure = true
141-
$package_ensure_client = true
142-
$package_ensure_mongos = true
143-
} else {
144-
$package_ensure = $version
145-
$package_ensure_client = $version
146-
$package_ensure_mongos = $version
147-
}
148-
$user = pick($mongodb::globals::user, 'mongodb')
149-
$group = pick($mongodb::globals::group, 'mongodb')
150104
$server_package_name = pick($mongodb::globals::server_package_name, 'mongodb-server')
151-
$client_package_name = $mongodb::globals::client_package_name
105+
$client_package_name = pick($mongodb::globals::client_package_name, 'mongodb-clients')
152106
$mongos_package_name = pick($mongodb::globals::mongos_package_name, 'mongodb-server')
153107
$service_name = pick($mongodb::globals::service_name, 'mongodb')
154108
$mongos_service_name = pick($mongodb::globals::mongos_service_name, 'mongos')
155109
$config = '/etc/mongodb.conf'
156-
$mongos_config = '/etc/mongodb-shard.conf'
157-
$dbpath = '/var/lib/mongodb'
158-
$logpath = '/var/log/mongodb/mongodb.log'
159-
$bind_ip = pick($mongodb::globals::bind_ip, ['127.0.0.1'])
160110
$pidfilepath = $mongodb::globals::pidfilepath
161111
}
112+
$user = pick($mongodb::globals::user, 'mongodb')
113+
$group = pick($mongodb::globals::group, 'mongodb')
114+
$logpath = '/var/log/mongodb/mongodb.log'
115+
$mongos_config = '/etc/mongodb-shard.conf'
162116
# avoid using fork because of the init scripts design
163117
$fork = undef
164118
$journal = undef
@@ -168,7 +122,7 @@
168122
$mongos_fork = undef
169123
}
170124
default: {
171-
fail("Osfamily ${::osfamily} and ${::operatingsystem} is not supported")
125+
fail("Osfamily ${::osfamily} is not supported")
172126
}
173127
}
174128
}

spec/classes/server_spec.rb

Lines changed: 10 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -19,14 +19,21 @@
1919
let(:facts) { facts }
2020

2121
let(:config_file) do
22-
case facts[:os]['family']
23-
when 'Debian'
22+
if facts[:os]['family'] == 'Debian'
2423
'/etc/mongodb.conf'
2524
else
2625
'/etc/mongod.conf'
2726
end
2827
end
2928

29+
let(:log_path) do
30+
if facts[:os]['family'] == 'Debian'
31+
'/var/log/mongodb/mongodb.log'
32+
else
33+
'/var/log/mongodb/mongod.log'
34+
end
35+
end
36+
3037
describe 'with defaults' do
3138
it_behaves_like 'server classes'
3239

@@ -40,7 +47,7 @@
4047
with_content(%r{^storage\.dbPath: /var/lib/mongodb$}).
4148
with_content(%r{^net\.bindIp: 127\.0\.0\.1$}).
4249
with_content(%r{^systemLog\.logAppend: true$}).
43-
with_content(%r{^systemLog\.path: /var/log/mongodb/mongodb.log$})
50+
with_content(%r{^systemLog\.path: #{log_path}$})
4451
end
4552

4653
if facts[:os]['family'] == 'Debian'

0 commit comments

Comments
 (0)