17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
|
# File 'manifests/tungstenmysql.pp', line 17
class tungsten::tungstenmysql (
$masterUser = $tungsten::tungstenmysql::params::masterUser,
$masterPassword = $tungsten::tungstenmysql::params::masterPassword,
$overrideOptionsMysqld = {},
$overrideOptionsClient = {},
$overrideOptionsMysqldSafe = {},
$installMysql = false,
$mySQLBuild = false,
$mySQLVersion = false,
$disableSELinux = true,
$clusterData = nil,
$mySQLSetAutoIncrement = false,
$installXtrabackup = true,
$xtraBackupPackage = 'auto'
) inherits tungsten::tungstenmysql::params {
if $installMysql == true {
if $mySQLSetAutoIncrement == true {
$autoInc=getMySQLAutoIncrementIncrement($clusterData)
$autoOffset=getMySQLAutoIncrementOffset($clusterData, $::fqdn)
$autoSettings={'auto_increment_increment'=>$autoInc,'auto_increment_offset'=>$autoOffset}
$tmpOverrideOptionsMysqld=merge($overrideOptionsMysqld,$autoSettings)
$fullOverrideOptionsMysqld=merge($tungsten::tungstenmysql::params::baseOverrideOptionsMysqld,$tmpOverrideOptionsMysqld)
}else {
$fullOverrideOptionsMysqld=merge($tungsten::tungstenmysql::params::baseOverrideOptionsMysqld,$overrideOptionsMysqld)
}
$fullOverrideOptionsClient=merge($tungsten::tungstenmysql::params::baseOverrideOptionsClient,$overrideOptionsClient)
$fullOverrideOptionsMysqldSafe=merge($tungsten::tungstenmysql::params::baseOverrideOptionsMysqldSafe,$overrideOptionsMysqldSafe)
class { 'tungsten::tungstenmysql::centos7dirs' : } ->
class { 'tungsten::tungstenmysql::tungstenrepo' :
mySQLBuild => $mySQLBuild,
mySQLVersion => $mySQLVersion
}->
class { 'mysql::server' :
package_name => getMySQLPackageName('server',$mySQLBuild,$mySQLVersion),
service_name => getMySQLServiceName($mySQLBuild,$mySQLVersion),
root_password => $tungsten::tungstenmysql::params::masterPassword,
config_file => $tungsten::tungstenmysql::params::configFileName,
override_options => {
'mysqld' => $fullOverrideOptionsMysqld,
'mysqld_safe' => $fullOverrideOptionsMysqldSafe,
'client' => $fullOverrideOptionsClient},
restart => true,
} ->
class { 'tungsten::tungstenmysql::xtrabackup' :
installXtrabackup => $installXtrabackup ,
mySQLBuild => $mySQLBuild,
xtraBackupPackage => $xtraBackupPackage }
User <| title == "tungsten::systemUser" |> { groups +> "mysql" }
}
}
|