Merge branch 'conf_define'
This commit is contained in:
commit
102de3b0e7
4 changed files with 84 additions and 0 deletions
30
README
30
README
|
@ -46,6 +46,36 @@ grant tables.
|
||||||
The my.cnf file will installed from one of many possible places, see
|
The my.cnf file will installed from one of many possible places, see
|
||||||
manifests/server/base.pp for possible locations for managing this.
|
manifests/server/base.pp for possible locations for managing this.
|
||||||
|
|
||||||
|
Configuration snippets
|
||||||
|
----------------------
|
||||||
|
|
||||||
|
To make managing mysql configuration easier, you can use the define
|
||||||
|
mysql::conf. Note, though that there currently is only the Debian default
|
||||||
|
configuration file that includes files in /etc/mysql/conf.d/.
|
||||||
|
|
||||||
|
For example:
|
||||||
|
|
||||||
|
mysql::conf { 'test':
|
||||||
|
ensure => present,
|
||||||
|
section => 'mysqld',
|
||||||
|
config => {
|
||||||
|
table_cache => '15000',
|
||||||
|
skip_slave => '',
|
||||||
|
something => '""',
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
The above example shows two possibilities for empty values.
|
||||||
|
|
||||||
|
* If a value only has an empty value in the hash passed to the config
|
||||||
|
parameter, that will define a boolean option in mysql by simply mentioning
|
||||||
|
the option name with no equal sign. So in the above, you'd have a line that
|
||||||
|
contains only "skip_slave".
|
||||||
|
|
||||||
|
* If you need to declare a variable with an empty value (e.g. with the equal
|
||||||
|
sign), you can use two quotes as the option's value. In the above example,
|
||||||
|
you'd have a line that looks like "something=".
|
||||||
|
|
||||||
Backups
|
Backups
|
||||||
-------
|
-------
|
||||||
|
|
||||||
|
|
37
manifests/conf.pp
Normal file
37
manifests/conf.pp
Normal file
|
@ -0,0 +1,37 @@
|
||||||
|
# $config needs to be a hash of key => value pairs.
|
||||||
|
#
|
||||||
|
# values in config are output as key = value, except when the value is empty;
|
||||||
|
# then just key is output. if you need to output an empty value in the form
|
||||||
|
# key = value, then you can specify empty quotes as the value (see example).
|
||||||
|
#
|
||||||
|
# mysql::conf { 'test':
|
||||||
|
# ensure => present,
|
||||||
|
# section => 'mysqld',
|
||||||
|
# config => {
|
||||||
|
# table_cache => '15000',
|
||||||
|
# skip_slave => '',
|
||||||
|
# something => '""',
|
||||||
|
# }
|
||||||
|
# }
|
||||||
|
#
|
||||||
|
# This will generate the following contents:
|
||||||
|
# [mysqld]
|
||||||
|
# skip_slave
|
||||||
|
# something = ""
|
||||||
|
# table_cache = 15000
|
||||||
|
#
|
||||||
|
define mysql::conf (
|
||||||
|
$section,
|
||||||
|
$config,
|
||||||
|
$ensure = present
|
||||||
|
) {
|
||||||
|
|
||||||
|
include mysql::server::base
|
||||||
|
|
||||||
|
file { "/etc/mysql/conf.d/${name}.cnf":
|
||||||
|
ensure => $ensure,
|
||||||
|
content => template('mysql/conf.erb'),
|
||||||
|
notify => Service['mysql'],
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
|
@ -92,4 +92,12 @@ class mysql::server::base {
|
||||||
Mysql_user<<| tag == "mysql_${::fqdn}" |>>
|
Mysql_user<<| tag == "mysql_${::fqdn}" |>>
|
||||||
Mysql_grant<<| tag == "mysql_${::fqdn}" |>>
|
Mysql_grant<<| tag == "mysql_${::fqdn}" |>>
|
||||||
}
|
}
|
||||||
|
|
||||||
|
file { '/etc/mysql/conf.d':
|
||||||
|
ensure => directory,
|
||||||
|
owner => 'root',
|
||||||
|
group => 0,
|
||||||
|
mode => '0755',
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
9
templates/conf.erb
Normal file
9
templates/conf.erb
Normal file
|
@ -0,0 +1,9 @@
|
||||||
|
# THIS FILE IS MANAGED BY PUPPET
|
||||||
|
[<%= @section -%>]
|
||||||
|
<% @config.each do |key, value| -%>
|
||||||
|
<% if value != '' -%>
|
||||||
|
<%= key -%> = <%= value %>
|
||||||
|
<% else -%>
|
||||||
|
<%= key %>
|
||||||
|
<% end -%>
|
||||||
|
<% end %>
|
Loading…
Reference in a new issue