Skip to content

Commit 72da2c5

Browse files
committed
Fix mysql service on Ubuntu.
On Ubuntu, mysql should use upstart provider instead of init.d. This change overrides the init provider until the issue with init provider can be addressed.
1 parent 9627d01 commit 72da2c5

File tree

4 files changed

+40
-13
lines changed

4 files changed

+40
-13
lines changed

manifests/config.pp

-1
Original file line numberDiff line numberDiff line change
@@ -80,7 +80,6 @@
8080
}
8181
}
8282

83-
8483
file { '/etc/mysql':
8584
ensure => directory,
8685
mode => '0755',

manifests/params.pp

+9
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,15 @@
1717
$server_package_name = 'mysql-server'
1818
$etc_root_password = false
1919

20+
case $::operatingsystem {
21+
"Ubuntu": {
22+
$service_provider = upstart
23+
}
24+
default: {
25+
$service_provider = undef
26+
}
27+
}
28+
2029
case $::osfamily {
2130
'RedHat': {
2231
$service_name = 'mysqld'

manifests/server.pp

+10-8
Original file line numberDiff line numberDiff line change
@@ -15,10 +15,11 @@
1515
# Sample Usage:
1616
#
1717
class mysql::server (
18-
$package_name = $mysql::params::server_package_name,
19-
$package_ensure = 'present',
20-
$service_name = $mysql::params::service_name,
21-
$config_hash = {}
18+
$package_name = $mysql::params::server_package_name,
19+
$package_ensure = 'present',
20+
$service_name = $mysql::params::service_name,
21+
$service_provider = $mysql::params::service_provider,
22+
$config_hash = {}
2223
) inherits mysql::params {
2324

2425
Class['mysql::server'] -> Class['mysql::config']
@@ -31,10 +32,11 @@
3132
}
3233

3334
service { 'mysqld':
34-
name => $service_name,
35-
ensure => running,
36-
enable => true,
37-
require => Package['mysql-server'],
35+
name => $service_name,
36+
ensure => running,
37+
enable => true,
38+
require => Package['mysql-server'],
39+
provider => $service_provider,
3840
}
3941

4042
}

spec/classes/mysql_server_spec.rb

+21-4
Original file line numberDiff line numberDiff line change
@@ -8,20 +8,36 @@
88
}
99
end
1010

11+
describe 'when ubuntu use upstart' do
12+
let :facts do
13+
{ :osfamily => 'Debian',
14+
:operatingsystem => 'Ubuntu',
15+
}
16+
end
17+
18+
it { should contain_service('mysqld').with(
19+
:name => 'mysql',
20+
:ensure => 'running',
21+
:enable => 'true',
22+
:provider => 'upstart',
23+
:require => 'Package[mysql-server]'
24+
)}
25+
end
26+
1127
describe 'with osfamily specific defaults' do
1228
{
1329
'Debian' => {
14-
:service_name => 'mysql'
30+
:service_name => 'mysql'
1531
},
1632
'Redhat' => {
17-
:service_name => 'mysqld'
33+
:service_name => 'mysqld'
1834
}
1935
}.each do |osfamily, osparams|
2036

2137
describe "when osfamily is #{osfamily}" do
2238

2339
let :facts do
24-
{:osfamily => osfamily}
40+
{ :osfamily => osfamily }
2541
end
2642

2743
[
@@ -40,7 +56,6 @@
4056
constant_parameter_defaults.merge(osparams)
4157
end
4258

43-
4459
let :params do
4560
passed_params
4661
end
@@ -60,6 +75,8 @@
6075
:enable => 'true',
6176
:require => 'Package[mysql-server]'
6277
)}
78+
79+
it { should contain_service('mysqld').without_provider }
6380
end
6481
end
6582
end

0 commit comments

Comments
 (0)