File tree 3 files changed +37
-0
lines changed 3 files changed +37
-0
lines changed Original file line number Diff line number Diff line change 6
6
name => $mysql::server::package_name ,
7
7
}
8
8
9
+ # Build the initial databases.
10
+ if $mysql::server::override_options [' mysqld' ] and $mysql::server::override_options [' mysqld' ][' datadir' ] {
11
+ $mysqluser = $mysql::server::options [' mysqld' ][' user' ]
12
+ $datadir = $mysql::server::override_options [' mysqld' ][' datadir' ]
13
+
14
+ exec { 'mysql_install_db' :
15
+ command => " mysql_install_db --datadir=${datadir} --user=${mysqluser} " ,
16
+ creates => " ${datadir} /mysql" ,
17
+ logoutput => on_failure,
18
+ path => ' /bin:/sbin:/usr/bin:/usr/sbin' ,
19
+ require => Package[' mysql-server' ],
20
+ }
21
+
22
+ if $mysql::server::restart {
23
+ Exec[' mysql_install_db' ] {
24
+ notify => Class[' mysql::service' ],
25
+ }
26
+ }
27
+ }
28
+
9
29
}
Original file line number Diff line number Diff line change @@ -285,4 +285,20 @@ class { 'mysql::server':
285
285
end
286
286
end
287
287
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
288
304
end
Original file line number Diff line number Diff line change 2
2
centos-64-x64 :
3
3
roles :
4
4
- master
5
+ - default
5
6
platform : el-6-x86_64
6
7
box : centos-64-x64-vbox4210-nocm
7
8
box_url : http://puppet-vagrant-boxes.puppetlabs.com/centos-64-x64-vbox4210-nocm.box
You can’t perform that action at this time.
0 commit comments