Skip to content

Commit 5959715

Browse files
author
Ashley Penney
committed
Rework the mysql initdb functionality.
This reworks a previously unmerged PR to clean up the code a little and adds a test for it.
1 parent 6f54888 commit 5959715

File tree

3 files changed

+23
-5
lines changed

3 files changed

+23
-5
lines changed

manifests/server/install.pp

+6-5
Original file line numberDiff line numberDiff line change
@@ -6,16 +6,17 @@
66
name => $mysql::server::package_name,
77
}
88

9-
# run mysql_install_db if datadir is set and datadir doesn't contain the
10-
# mysql database (directory)
9+
# Build the initial databases.
1110
if $mysql::server::override_options['mysqld'] and $mysql::server::override_options['mysqld']['datadir'] {
1211
$mysqluser = $mysql::server::options['mysqld']['user']
1312
$datadir = $mysql::server::override_options['mysqld']['datadir']
1413

15-
exec { "mysql_install_db":
16-
command => "mysql_install_db --datadir=$datadir --user=$mysqluser",
17-
creates => "$datadir/mysql",
14+
exec { 'mysql_install_db':
15+
command => "mysql_install_db --datadir=${datadir} --user=${mysqluser}",
16+
creates => "${datadir}/mysql",
1817
logoutput => on_failure,
18+
path => '/bin:/sbin:/usr/bin:/usr/sbin',
19+
require => Package['mysql-server'],
1920
}
2021
}
2122

spec/acceptance/mysql_server_spec.rb

+16
Original file line numberDiff line numberDiff line change
@@ -285,4 +285,20 @@ class { 'mysql::server':
285285
end
286286
end
287287

288+
describe 'creates the appropriate databases when datadir is set' do
289+
tmpdir = default.tmpdir('mysql')
290+
it 'sets up mysql' do
291+
pp = <<-EOS
292+
class { 'mysql::server':
293+
override_options => { 'mysqld' => { 'datadir' => '#{tmpdir}/mysql' }},
294+
}
295+
EOS
296+
shell("mkdir -p #{tmpdir}; chown -R mysql:mysql #{tmpdir}")
297+
apply_manifest(pp, :catch_failures => true)
298+
end
299+
300+
describe file("#{tmpdir}/mysql/mysql") do
301+
it { should be_directory }
302+
end
303+
end
288304
end

spec/acceptance/nodesets/default.yml

+1
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@ HOSTS:
22
centos-64-x64:
33
roles:
44
- master
5+
- default
56
platform: el-6-x86_64
67
box : centos-64-x64-vbox4210-nocm
78
box_url : http://puppet-vagrant-boxes.puppetlabs.com/centos-64-x64-vbox4210-nocm.box

0 commit comments

Comments
 (0)