Implement Vagrant support for ido-pgsql.

Fixes #5001
This commit is contained in:
Gunnar Beutner 2013-11-05 11:19:21 +01:00
parent 54111b6293
commit eafdb48ffe
5 changed files with 44 additions and 42 deletions

View File

@ -1,12 +1,17 @@
class icinga-web { class icinga-web {
include icinga-rpm-snapshot include icinga-rpm-snapshot
include icinga2-ido-mysql include icinga2-ido-mysql
include icinga2-ido-pgsql
include mysql include mysql
php::extension { ['php-mysql']: php::extension { ['php-mysql']:
require => [ Class['mysql'] ] require => [ Class['mysql'] ]
} }
php::extension { ['php-pgsql']:
require => [ Class['pgsql'] ]
}
package { 'icinga-web': package { 'icinga-web':
ensure => installed, ensure => installed,
require => Class['icinga-rpm-snapshot'], require => Class['icinga-rpm-snapshot'],

View File

@ -28,6 +28,7 @@ class icinga2 {
class icinga2-ido-mysql { class icinga2-ido-mysql {
include icinga-rpm-snapshot include icinga-rpm-snapshot
include mysql
package { 'icinga2-ido-mysql': package { 'icinga2-ido-mysql':
ensure => installed, ensure => installed,
@ -35,7 +36,6 @@ class icinga2-ido-mysql {
alias => 'icinga2-ido-mysql' alias => 'icinga2-ido-mysql'
} }
# icinga 2 IDO config
file { '/etc/icinga2/features-available/ido-mysql.conf': file { '/etc/icinga2/features-available/ido-mysql.conf':
source => 'puppet:////vagrant/.vagrant-puppet/files/etc/icinga2/features-available/ido-mysql.conf', source => 'puppet:////vagrant/.vagrant-puppet/files/etc/icinga2/features-available/ido-mysql.conf',
require => Package['icinga2'], require => Package['icinga2'],
@ -49,7 +49,6 @@ class icinga2-ido-mysql {
require => Service['mysqld'] require => Service['mysqld']
} }
# populate icinga2-ido-mysql db
exec { 'populate-icinga2-ido-mysql-db': exec { 'populate-icinga2-ido-mysql-db':
path => '/bin:/usr/bin:/sbin:/usr/sbin', path => '/bin:/usr/bin:/sbin:/usr/sbin',
unless => 'mysql -uicinga -picinga icinga -e "SELECT * FROM icinga_dbversion;" &> /dev/null', unless => 'mysql -uicinga -picinga icinga -e "SELECT * FROM icinga_dbversion;" &> /dev/null',
@ -58,37 +57,40 @@ class icinga2-ido-mysql {
} }
icinga2::feature { 'ido-mysql': icinga2::feature { 'ido-mysql':
require => Exec['create-mysql-icinga2-ido-db'] require => Exec['populate-icinga2-ido-mysql-db']
} }
} }
#class icinga2-ido-pgsql { class icinga2-ido-pgsql {
# include icinga-rpm-snapshot include icinga-rpm-snapshot
# include pgsql
# package { 'icinga2-ido-pgsql':
# ensure => installed, package { 'icinga2-ido-pgsql':
# require => Class['icinga-rpm-snapshot'], ensure => installed,
# alias = 'icinga2-ido-pgsql' require => Class['icinga-rpm-snapshot'],
# } alias => 'icinga2-ido-pgsql'
# }
# exec { 'create-pgsql-icinga2-ido-db':
# unless => 'sudo -u postgres psql -tAc "SELECT 1 FROM pg_roles WHERE rolname=\'icinga\'" | grep -q 1', exec { 'create-pgsql-icinga2-ido-db':
# command => 'sudo -u postgres psql -c "CREATE ROLE icinga WITH LOGIN PASSWORD \'icinga\';" && \ path => '/bin:/usr/bin:/sbin:/usr/sbin',
# sudo -u postgres createdb -O icinga -E UTF8 icinga && \ unless => 'sudo -u postgres psql -tAc "SELECT 1 FROM pg_roles WHERE rolname=\'icinga\'" | grep -q 1',
# sudo -u postgres createlang plpgsql icinga', command => 'sudo -u postgres psql -c "CREATE ROLE icinga WITH LOGIN PASSWORD \'icinga\';" && \
# require => Service['postgresql'] sudo -u postgres createdb -O icinga -E UTF8 icinga && \
# } sudo -u postgres createlang plpgsql icinga',
# require => Service['postgresql']
# exec { 'populate-icinga2-ido-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/share/doc/icinga2-ido-pgsql-$(rpm -q icinga2-ido-mysql | cut -d\'-\' -f4)/schema/pgsql.sql', exec { 'populate-icinga2-ido-pgsql-db':
# require => [ Package['icinga2-ido-pgsql'], Exec['create-pgsql-icinga2-ido-db'] ] path => '/bin:/usr/bin:/sbin:/usr/sbin',
# } unless => 'psql -U icinga -d icinga -c "SELECT * FROM icinga_dbversion;" &> /dev/null',
# command => 'sudo -u postgres psql -U icinga -d icinga < /usr/share/doc/icinga2-ido-pgsql-$(rpm -q icinga2-ido-pgsql | cut -d\'-\' -f4)/schema/pgsql.sql',
# php::extension { ['php-pgsql']: require => [ Package['icinga2-ido-pgsql'], Exec['create-pgsql-icinga2-ido-db'] ]
# require => [ Class['pgsql'] ] }
# }
#} icinga2::feature { 'ido-pgsql':
require => Exec['populate-icinga2-ido-pgsql-db']
}
}
define icinga2::feature ($feature = $title) { define icinga2::feature ($feature = $title) {
exec { "icinga2-feature-${feature}": exec { "icinga2-feature-${feature}":

View File

@ -71,15 +71,10 @@ local icinga icinga trust
host icinga icinga 127.0.0.1/32 trust host icinga icinga 127.0.0.1/32 trust
host icinga icinga ::1/128 trust host icinga icinga ::1/128 trust
# icinga_unittest # icinga
local icinga_unittest icinga_unittest trust local icinga icinga trust
host icinga_unittest icinga_unittest 127.0.0.1/32 trust host icinga icinga 127.0.0.1/32 trust
host icinga_unittest icinga_unittest ::1/128 trust host icinga icinga ::1/128 trust
# icingaweb
local icingaweb icingaweb trust
host icingaweb icingaweb 127.0.0.1/32 trust
host icingaweb icingaweb ::1/128 trust
# "local" is for Unix domain socket connections only # "local" is for Unix domain socket connections only
local all all ident local all all ident

View File

@ -1,5 +1,5 @@
/** /**
* The ido_mysql library implements IDO functionality * The db_ido_mysql library implements IDO functionality
* for MySQL. * for MySQL.
*/ */

View File

@ -1,11 +1,11 @@
/** /**
* The ido_pgsql library implements IDO functionality * The db_ido_pgsql library implements IDO functionality
* for PostgreSQL. * for PostgreSQL.
*/ */
library "db_ido_pgsql" library "db_ido_pgsql"
object IdoMysqlConnection "ido-pgsql" { object IdoPgsqlConnection "ido-pgsql" {
//user = "icinga", //user = "icinga",
//password = "icinga", //password = "icinga",
//host = "localhost", //host = "localhost",