$master_unique_id = "2010060201"
class database {
include virtual-users
include virtual-groups
require basevars
realize(User["mysql"])
realize(Group["mysql"])
package { "mysql":
ensure => "5.1.47-1.el5.remi";
}
package { "mysql-server":
ensure => "5.1.47-1.el5.remi";
}
package { "mysql-bench":
ensure => "5.1.47-1.el5.remi";
}
file { [ "/var/lib/mysql/data", "/var/lib/mysql/mysql" ]:
ensure => directory,
owner => 'mysql',
group => 'mysql',
recurse => true,
}
file { "/var/lib/mysql":
ensure => directory,
owner => 'mysql',
group => 'mysql',
recurse => true,
}
service { "mysqld":
name => $operatingsystem ? {
CentOS => "mysqld",
},
enable => true,
ensure => running,
alias => "MySQL Database",
hasstatus => true,
hasrestart => true,
subscribe => File[ "/etc/my.cnf" ],
require => [
User["mysql"],
Group["mysql"],
Package["mysql-server"]
]
}
if tagged('database-slave') {
file { "/mysql_tmp":
ensure => directory,
mode => '0777',
owner => 'mysql',
group => 'mysql',
before => Mount["/mysql_tmp"],
}
mount { "/mysql_tmp":
device => "tmpfs",
fstype => "tmpfs",
ensure => "mounted",
atboot => "true",
options => "size=2G,nr_inodes=20k,mode=0777",
}
file { "/etc/my.cnf":
ensure => present,
content => template("database/etc/slave-my.cnf")
}
} else {
file { "/etc/my.cnf":
ensure => present,
content => template("database/etc/master-my.cnf")
}
}
}