Outsource Icinga (2) database population into mysql::database

This commit is contained in:
Alexander Klimov 2014-08-05 13:09:33 +02:00
parent 8f23f61e00
commit 82fa6e690f
2 changed files with 11 additions and 13 deletions

View File

@ -11,11 +11,15 @@ $icinga2Version = '2.0.0'
mysql::database { 'icinga':
username => 'icinga',
password => 'icinga',
schemafile => "/usr/local/src/icinga-mysql/icinga-${icingaVersion}/module/idoutils/db/mysql/mysql.sql",
requirement => Cmmi['icinga-mysql'],
}
mysql::database { 'icinga2':
username => 'icinga2',
password => 'icinga2',
schemafile => "/usr/share/doc/icinga2-ido-mysql-${icinga2Version}/schema/mysql.sql",
requirement => Package['icinga2-ido-mysql'],
}
exec{ 'create-pgsql-icinga-db':
@ -111,12 +115,6 @@ file { '/etc/init.d/ido2db-pgsql':
require => Cmmi['icinga-pgsql']
}
exec { 'populate-icinga-mysql-db':
unless => 'mysql -uicinga -picinga icinga -e "SELECT * FROM icinga_dbversion;" &> /dev/null',
command => "mysql -uroot icinga < /usr/local/src/icinga-mysql/icinga-${icingaVersion}/module/idoutils/db/mysql/mysql.sql",
require => [ Cmmi['icinga-mysql'], Exec['create-mysql-icinga-db'] ]
}
exec { 'populate-icinga-pgsql-db':
unless => 'psql -U icinga -d icinga -c "SELECT * FROM icinga_dbversion;" &> /dev/null',
command => "sudo -u postgres psql -U icinga -d icinga < /usr/local/src/icinga-pgsql/icinga-${icingaVersion}/module/idoutils/db/pgsql/pgsql.sql",
@ -415,12 +413,6 @@ package { 'icinga2-ido-mysql':
alias => 'icinga2-ido-mysql'
}
exec { 'populate-icinga2-mysql-db':
unless => 'mysql -uicinga2 -picinga2 icinga2 -e "SELECT * FROM icinga_dbversion;" &> /dev/null',
command => "mysql -uroot icinga2 < /usr/share/doc/icinga2-ido-mysql-$icinga2Version/schema/mysql.sql",
require => [ Exec['create-mysql-icinga2-db'], Package['icinga2-ido-mysql'] ]
}
file { '/etc/icinga2/features-available/ido-mysql.conf':
source => 'puppet:////vagrant/.vagrant-puppet/files/etc/icinga2/features-available/ido-mysql.conf',

View File

@ -1,4 +1,4 @@
define mysql::database ($username, $password) {
define mysql::database ($username, $password, $schemafile, $requirement) {
include mysql
exec { "create-mysql-${name}-db":
@ -8,4 +8,10 @@ GRANT SELECT,INSERT,UPDATE,DELETE ON ${name}.* TO ${username}@localhost \
IDENTIFIED BY '${password}';\"",
require => Service['mysqld']
}
exec { "populate-${name}-mysql-db":
unless => "mysql -u${username} -p${password} ${name} -e \"SELECT * FROM icinga_dbversion;\" &> /dev/null",
command => "mysql -uroot ${name} < ${schemafile}",
require => [ $requirement, Exec["create-mysql-${name}-db"] ]
}
}