Hello!
I am trying like heck to get icinga2 and icinga2web going with puppet. I hit a strange snag with icinga2 and the feature idomysql
.
My Puppet code:
class profile::icinga2::icinga2 {
include mysql::server
mysql::db { 'icinga2':
user => 'icinga2',
password => '***',
host => 'localhost',
grant => ['ALL'],
require => Class['::mysql::server'],
}
mysql_user { 'icinga2@%':
ensure => 'present',
password_hash => mysql_password('***'),
require => Mysql::Db['icinga2'],
}
mysql_grant { 'icinga2@%/*.*':
ensure => 'present',
options => ['GRANT'],
privileges => ['ALL PRIVILEGES'],
table => '*.*',
user => 'icinga2@%',
require => Mysql_user['icinga2@%'],
}
class { '::icinga2':
manage_repo => true,
features => ['checker','mainlog', 'idomysql'],
}
# config for icinga idomysql
class { 'icinga2::feature::idomysql':
# user => "icinga2",
password => "***",
# database => "icinga2",
# import_schema => true,
require => [Mysql::Db['icinga2'],Class['::icinga2']],
}
}
The error returned is:
Error: Could not retrieve catalog from remote server: Error 500 on SERVER: Server Error: Could not find resource ‘Concat[/etc/icinga2/features-available/ido-mysql.conf]’ in parameter ‘require’ (file: /etc/puppetlabs/code/environments/production/modules/icinga2/manifests/feature.pp, line: 28) on node icinga2
it seems like the feature is trying to get configured before the acutual class ‘icinga2’ work is done. However I would suspect that my require would prevent that from happening?
Any puppet folks lurking around here that could assist?