diff --git a/.vagrant-puppet/manifests/default.pp b/.vagrant-puppet/manifests/default.pp index 94c868a89..cc50a9355 100644 --- a/.vagrant-puppet/manifests/default.pp +++ b/.vagrant-puppet/manifests/default.pp @@ -26,7 +26,7 @@ mysql::database { 'icinga2': requirement => Package['icinga2-ido-mysql'], } -pgsql::database { 'icinga': +pgsql::database::populate { 'icinga': username => 'icinga', password => 'icingaweb', schemafile => "/usr/local/src/icinga-pgsql/icinga-${icingaVersion}/module/idoutils/db/pgsql/pgsql.sql", diff --git a/.vagrant-puppet/modules/pgsql/manifests/database.pp b/.vagrant-puppet/modules/pgsql/manifests/database.pp index 54703f83a..9d182e6d2 100644 --- a/.vagrant-puppet/modules/pgsql/manifests/database.pp +++ b/.vagrant-puppet/modules/pgsql/manifests/database.pp @@ -1,4 +1,4 @@ -define pgsql::database ($username, $password, $schemafile, $requirement) { +define pgsql::database::create ($username, $password) { include pgsql exec { "create-pgsql-${name}-db": @@ -8,6 +8,15 @@ sudo -u postgres createdb -O ${username} -E UTF8 -T template0 ${name} && \ sudo -u postgres createlang plpgsql ${name}", require => Service['postgresql'] } +} + +define pgsql::database::populate ($username, $password, $schemafile, $requirement) { + include pgsql + + pgsql::database::create { "create-pgsql-${name}-db": + username => $username, + password => $password, + } exec { "populate-${name}-pgsql-db": unless => "psql -U ${username} -d ${name} -c \"SELECT * FROM icinga_dbversion;\" &> /dev/null",