From e676ed72108b35268e20b2cc2b2a791a2e6ed8d6 Mon Sep 17 00:00:00 2001 From: Blerim Sheqa Date: Mon, 10 Apr 2017 08:46:44 +0200 Subject: [PATCH] Set schema directory depending on kernel fixes #277 --- manifests/feature/idomysql.pp | 19 ++++----- manifests/feature/idopgsql.pp | 11 ++--- manifests/params.pp | 76 +++++++++++++++++++---------------- 3 files changed, 57 insertions(+), 49 deletions(-) diff --git a/manifests/feature/idomysql.pp b/manifests/feature/idomysql.pp index 952da8f4c..76e8444e4 100644 --- a/manifests/feature/idomysql.pp +++ b/manifests/feature/idomysql.pp @@ -152,14 +152,15 @@ require ::icinga2::config require ::icinga2::params - $owner = $::icinga2::params::user - $group = $::icinga2::params::group - $node_name = $::icinga2::_constants['NodeName'] - $conf_dir = $::icinga2::params::conf_dir - $ssl_dir = "${::icinga2::params::pki_dir}/ido-mysql" - $ido_mysql_package = $::icinga2::params::ido_mysql_package - $manage_package = $::icinga2::manage_package - $_ssl_key_mode = $::osfamily ? { + $owner = $::icinga2::params::user + $group = $::icinga2::params::group + $node_name = $::icinga2::_constants['NodeName'] + $conf_dir = $::icinga2::params::conf_dir + $ssl_dir = "${::icinga2::params::pki_dir}/ido-mysql" + $ido_mysql_package = $::icinga2::params::ido_mysql_package + $ido_mysql_schema_dir = $::icinga2::params::ido_mysql_schema_dir + $manage_package = $::icinga2::manage_package + $_ssl_key_mode = $::osfamily ? { 'windows' => undef, default => '0600', } @@ -328,7 +329,7 @@ exec { 'idomysql-import-schema': user => 'root', path => $::path, - command => "mysql -h '${host}' -u '${user}' -p'${password}' '${database}' < '/usr/share/icinga2-ido-mysql/schema/mysql.sql'", + command => "mysql -h '${host}' -u '${user}' -p'${password}' '${database}' < '${ido_mysql_schema_dir}/mysql.sql'", unless => "mysql -h '${host}' -u '${user}' -p'${password}' '${database}' -Ns -e 'select version from icinga_dbversion'", } } diff --git a/manifests/feature/idopgsql.pp b/manifests/feature/idopgsql.pp index e7c246d5a..f9de01915 100644 --- a/manifests/feature/idopgsql.pp +++ b/manifests/feature/idopgsql.pp @@ -90,10 +90,11 @@ require ::icinga2::config require ::icinga2::params - $conf_dir = $::icinga2::params::conf_dir - $ido_pgsql_package = $::icinga2::params::ido_pgsql_package - $manage_package = $::icinga2::manage_package - $_notify = $ensure ? { + $conf_dir = $::icinga2::params::conf_dir + $ido_pgsql_package = $::icinga2::params::ido_pgsql_package + $ido_pgsql_schema_dir = $::icinga2::params::ido_pgsql_schema_dir + $manage_package = $::icinga2::manage_package + $_notify = $ensure ? { 'present' => Class['::icinga2::service'], default => undef, } @@ -146,7 +147,7 @@ user => 'root', path => $::path, environment => ["PGPASSWORD=${password}"], - command => "psql -h '${host}' -U '${user}' -d '${database}' -w -f /usr/share/icinga2-ido-pgsql/schema/pgsql.sql", + command => "psql -h '${host}' -U '${user}' -d '${database}' -w -f ${ido_pgsql_schema_dir}/pgsql.sql", unless => "psql -h '${host}' -U '${user}' -d '${database}' -w -c 'select version from icinga_dbversion'", } } diff --git a/manifests/params.pp b/manifests/params.pp index 289ef460d..4dbd18ca5 100644 --- a/manifests/params.pp +++ b/manifests/params.pp @@ -83,16 +83,18 @@ case $::kernel { 'linux': { - $conf_dir = '/etc/icinga2' - $log_dir = '/var/log/icinga2' - $run_dir = '/var/run/icinga2' - $spool_dir = '/var/spool/icinga2' - $cache_dir = '/var/cache/icinga2' - $pki_dir = "${conf_dir}/pki" - $ca_dir = '/var/lib/icinga2/ca' - $ido_pgsql_package = 'icinga2-ido-pgsql' - $ido_mysql_package = 'icinga2-ido-mysql' - $service_reload = "service ${service} reload" + $conf_dir = '/etc/icinga2' + $log_dir = '/var/log/icinga2' + $run_dir = '/var/run/icinga2' + $spool_dir = '/var/spool/icinga2' + $cache_dir = '/var/cache/icinga2' + $pki_dir = "${conf_dir}/pki" + $ca_dir = '/var/lib/icinga2/ca' + $ido_pgsql_package = 'icinga2-ido-pgsql' + $ido_pgsql_schema_dir = '/usr/share/icinga2-ido-pgsql/schema' + $ido_mysql_package = 'icinga2-ido-mysql' + $ido_mysql_schema_dir = '/usr/share/icinga2-ido-mysql/schema' + $service_reload = "service ${service} reload" case $::osfamily { 'redhat': { @@ -135,18 +137,20 @@ } # Linux 'windows': { - $user = 'SYSTEM' - $group = undef - $conf_dir = 'C:/ProgramData/icinga2/etc/icinga2' - $log_dir = 'C:/ProgramData/icinga2/var/log/icinga2' - $run_dir = 'C:/ProgramData/icinga2/var/run/icinga2' - $spool_dir = 'C:/ProgramData/icinga2/var/spool/icinga2' - $cache_dir = 'C:/ProgramData/icinga2/var/cache/icinga2' - $pki_dir = "${conf_dir}/pki" - $ca_dir = 'C:/ProgramData/icinga2/var/lib/icinga2/ca' - $ido_pgsql_package = undef - $ido_mysql_package = undef - $service_reload = undef + $user = 'SYSTEM' + $group = undef + $conf_dir = 'C:/ProgramData/icinga2/etc/icinga2' + $log_dir = 'C:/ProgramData/icinga2/var/log/icinga2' + $run_dir = 'C:/ProgramData/icinga2/var/run/icinga2' + $spool_dir = 'C:/ProgramData/icinga2/var/spool/icinga2' + $cache_dir = 'C:/ProgramData/icinga2/var/cache/icinga2' + $pki_dir = "${conf_dir}/pki" + $ca_dir = 'C:/ProgramData/icinga2/var/lib/icinga2/ca' + $ido_pgsql_package = undef + $ido_pgsql_schema_dir = undef + $ido_mysql_package = undef + $ido_mysql_schema_dir = undef + $service_reload = undef $constants = { 'PluginDir' => 'C:/Program Files/ICINGA2/sbin', @@ -159,19 +163,21 @@ } # Windows 'FreeBSD': { - $conf_dir = '/usr/local/etc/icinga2' - $log_dir = '/var/log/icinga2' - $run_dir = '/var/run/icinga2' - $spool_dir = '/var/spool/icinga2' - $cache_dir = '/var/cache/icinga2' - $pki_dir = "${conf_dir}/pki" - $ca_dir = '/var/lib/icinga2/ca' - $user = 'icinga' - $group = 'icinga' - $lib_dir = '/usr/local/lib/icinga2' - $ido_pgsql_package = undef - $ido_mysql_package = undef - $service_reload = "service ${service} reload" + $conf_dir = '/usr/local/etc/icinga2' + $log_dir = '/var/log/icinga2' + $run_dir = '/var/run/icinga2' + $spool_dir = '/var/spool/icinga2' + $cache_dir = '/var/cache/icinga2' + $pki_dir = "${conf_dir}/pki" + $ca_dir = '/var/lib/icinga2/ca' + $user = 'icinga' + $group = 'icinga' + $lib_dir = '/usr/local/lib/icinga2' + $ido_pgsql_package = undef + $ido_pgsql_schema_dir = '/usr/local/share/icinga2-ido-pgsql/schema' + $ido_mysql_package = undef + $ido_mysql_schema_dir = '/usr/local/share/icinga2-ido-mysql/schema' + $service_reload = "service ${service} reload" $constants = { 'PluginDir' => '/usr/local/libexec/nagios',