Skip to content

Commit 692dd6d

Browse files
authored
Debian dirs
1 parent 4adfd93 commit 692dd6d

File tree

4 files changed

+51
-3
lines changed

4 files changed

+51
-3
lines changed

manifests/params.pp

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -98,6 +98,7 @@
9898
$ssl_cert = '/etc/mysql/server-cert.pem'
9999
$ssl_key = '/etc/mysql/server-key.pem'
100100
$tmpdir = '/tmp'
101+
$managed_dirs = undef
101102
# mysql::bindings
102103
$java_package_name = 'mysql-connector-java'
103104
$perl_package_name = 'perl-DBD-MySQL'
@@ -166,6 +167,7 @@
166167
$ssl_cert = '/etc/mysql/server-cert.pem'
167168
$ssl_key = '/etc/mysql/server-key.pem'
168169
$tmpdir = '/tmp'
170+
$managed_dirs = undef
169171
# mysql::bindings
170172
$java_package_name = 'mysql-connector-java'
171173
$perl_package_name = 'perl-DBD-mysql'
@@ -213,6 +215,8 @@
213215
$ssl_cert = '/etc/mysql/server-cert.pem'
214216
$ssl_key = '/etc/mysql/server-key.pem'
215217
$tmpdir = '/tmp'
218+
$managed_dirs = ['tmpdir','basedir','datadir','innodb_data_home_dir','innodb_log_group_home_dir','innodb_undo_directory','innodb_tmpdir']
219+
216220
# mysql::bindings
217221
$java_package_name = 'libmysql-java'
218222
$perl_package_name = 'libdbd-mysql-perl'
@@ -252,6 +256,7 @@
252256
$ssl_cert = '/etc/mysql/server-cert.pem'
253257
$ssl_key = '/etc/mysql/server-key.pem'
254258
$tmpdir = '/tmp'
259+
$managed_dirs = undef
255260
# mysql::bindings
256261
$java_package_name = 'mysql-connector-java'
257262
$perl_package_name = 'perl-dbd-mysql'
@@ -277,6 +282,7 @@
277282
$ssl_cert = '/etc/mysql/server-cert.pem'
278283
$ssl_key = '/etc/mysql/server-key.pem'
279284
$tmpdir = '/tmp'
285+
$managed_dirs = undef
280286
# mysql::bindings
281287
$java_package_name = 'dev-java/jdbc-mysql'
282288
$perl_package_name = 'dev-perl/DBD-mysql'
@@ -302,6 +308,7 @@
302308
$ssl_cert = undef
303309
$ssl_key = undef
304310
$tmpdir = '/tmp'
311+
$managed_dirs = undef
305312
# mysql::bindings
306313
$java_package_name = 'databases/mysql-connector-java'
307314
$perl_package_name = 'p5-DBD-mysql'
@@ -330,6 +337,7 @@
330337
$ssl_cert = undef
331338
$ssl_key = undef
332339
$tmpdir = '/tmp'
340+
$managed_dirs = undef
333341
# mysql::bindings
334342
$java_package_name = undef
335343
$perl_package_name = 'p5-DBD-mysql'
@@ -356,6 +364,7 @@
356364
$ssl_cert = undef
357365
$ssl_key = undef
358366
$tmpdir = '/tmp'
367+
$managed_dirs = undef
359368
# mysql::bindings
360369
$java_package_name = undef
361370
$perl_package_name = undef
@@ -385,6 +394,7 @@
385394
$ssl_cert = '/etc/mysql/server-cert.pem'
386395
$ssl_key = '/etc/mysql/server-key.pem'
387396
$tmpdir = '/tmp'
397+
$managed_dirs = undef
388398
$java_package_name = undef
389399
$perl_package_name = 'perl-dbd-mysql'
390400
$php_package_name = 'php7-mysqlnd'
@@ -410,6 +420,7 @@
410420
$ssl_cert = '/etc/mysql/server-cert.pem'
411421
$ssl_key = '/etc/mysql/server-key.pem'
412422
$tmpdir = '/tmp'
423+
$managed_dirs = undef
413424
# mysql::bindings
414425
$java_package_name = 'mysql-connector-java'
415426
$perl_package_name = 'perl-DBD-MySQL'

manifests/server.pp

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -122,7 +122,7 @@
122122

123123
include '::mysql::server::config'
124124
include '::mysql::server::install'
125-
include '::mysql::server::binarylog'
125+
include '::mysql::server::managed_dirs'
126126
include '::mysql::server::installdb'
127127
include '::mysql::server::service'
128128
include '::mysql::server::root_password'
@@ -145,7 +145,7 @@
145145
Anchor['mysql::server::start']
146146
-> Class['mysql::server::config']
147147
-> Class['mysql::server::install']
148-
-> Class['mysql::server::binarylog']
148+
-> Class['mysql::server::managed_dirs']
149149
-> Class['mysql::server::installdb']
150150
-> Class['mysql::server::service']
151151
-> Class['mysql::server::root_password']

manifests/server/config.pp

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,8 @@
77

88
$options = $mysql::server::options
99
$includedir = $mysql::server::includedir
10+
$managed_dirs = $mysql::server::managed_dirs
11+
1012

1113
File {
1214
owner => 'root',
@@ -33,6 +35,24 @@
3335
}
3436
}
3537

38+
#Debian: Creating world readable directories before installing.
39+
if $managed_dirs {
40+
$managed_dirs.each | $entry | {
41+
$dir = $options['mysqld']["${entry}"]
42+
if ( $dir and $dir != '/usr' and $dir != '/tmp' ) {
43+
exec {"${entry}-managed_dir-mkdir":
44+
command => "/bin/mkdir -p ${dir}",
45+
creates => $dir,
46+
notify => Exec["${entry}-managed_dir-chmod"],
47+
}
48+
exec {"${entry}-managed_dir-chmod":
49+
command => "/bin/chmod 777 ${dir}",
50+
refreshonly => true,
51+
}
52+
}
53+
}
54+
}
55+
3656
if $mysql::server::manage_config_file {
3757
file { 'mysql-config-file':
3858
path => $mysql::server::config_file,

manifests/server/binarylog.pp renamed to manifests/server/managed_dirs.pp

Lines changed: 18 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,10 +3,27 @@
33
#
44
# @api private
55
#
6-
class mysql::server::binarylog {
6+
class mysql::server::managed_dirs {
77

88
$options = $mysql::server::options
99
$includedir = $mysql::server::includedir
10+
$managed_dirs = $mysql::server::managed_dirs
11+
12+
#Debian: Fix permission on directories
13+
if $managed_dirs {
14+
$managed_dirs.each | $entry | {
15+
$dir = $options['mysqld']["${entry}"]
16+
if ( $dir and $dir != '/usr' and $dir != '/tmp' ) {
17+
file {"${entry}-managed_dir":
18+
ensure => directory,
19+
path => $dir,
20+
mode => '0755',
21+
owner => $options['mysqld']['user'],
22+
group => $options['mysqld']['user'],
23+
}
24+
}
25+
}
26+
}
1027

1128
$logbin = pick($options['mysqld']['log-bin'], $options['mysqld']['log_bin'], false)
1229

0 commit comments

Comments
 (0)