puppet-nodepool/manifests/mysql.pp

51 lines
1.4 KiB
Puppet

# == Class: nodepool::mysql
#
class nodepool::mysql (
$mysql_password,
$mysql_root_password,
$mysql_bind_address = '127.0.0.1',
$mysql_default_engine = 'InnoDB',
$mysql_db_name = 'nodepool',
$mysql_max_connections = 8192,
$mysql_user_host = 'localhost',
$mysql_user_name = 'nodepool',
) {
$mysql_data = load_module_metadata('mysql', true)
if ($mysql_data == {}) {
class { '::mysql::server' :
config_hash => {
'bind_address' => $mysql_bind_address,
'default_engine' => $mysql_default_engine,
'max_connections' => $mysql_max_connections,
'root_password' => $mysql_root_password,
}
}
} else { # If it has metadata.json, assume it's new enough to use this interface
class { '::mysql::server' :
override_options => {
'mysqld' => {
'default-storage-engine' => $mysql_default_engine,
'max_connections' => $mysql_max_connections,
}
},
root_password => $mysql_root_password,
}
}
include ::mysql::server::account_security
mysql::db { $mysql_db_name :
user => $mysql_user_name,
password => $mysql_password,
host => $mysql_user_host,
grant => ['all'],
charset => 'utf8',
require => [
Class['mysql::server'],
Class['mysql::server::account_security'],
],
}
}