From 413634280e3e409de891f23840ea9d0bb566979d Mon Sep 17 00:00:00 2001 From: Alexander Klimov Date: Wed, 10 Sep 2014 17:49:17 +0200 Subject: [PATCH] Exec: prefer "user => ..." rather than "command => 'sudo -u ..." refs #6842 --- .../modules/pgsql/manifests/database/create.pp | 9 +++++---- .../modules/pgsql/manifests/database/populate.pp | 3 ++- .../profiles/icingaweb2_dev/manifests/init.pp | 3 ++- 3 files changed, 9 insertions(+), 6 deletions(-) diff --git a/.vagrant-puppet/modules/pgsql/manifests/database/create.pp b/.vagrant-puppet/modules/pgsql/manifests/database/create.pp index 8e36fe7ea..97fcb163d 100644 --- a/.vagrant-puppet/modules/pgsql/manifests/database/create.pp +++ b/.vagrant-puppet/modules/pgsql/manifests/database/create.pp @@ -22,10 +22,11 @@ define pgsql::database::create ($username, $password) { include pgsql exec { "create-pgsql-${name}-db": - unless => "sudo -u postgres psql -tAc \"SELECT 1 FROM pg_roles WHERE rolname='${username}'\" | grep -q 1", - command => "sudo -u postgres psql -c \"CREATE ROLE ${username} WITH LOGIN PASSWORD '${password}';\" && \ -sudo -u postgres createdb -O ${username} -E UTF8 -T template0 ${name} && \ -sudo -u postgres createlang plpgsql ${name}", + unless => "psql -tAc \"SELECT 1 FROM pg_roles WHERE rolname='${username}'\" | grep -q 1", + command => "psql -c \"CREATE ROLE ${username} WITH LOGIN PASSWORD '${password}';\" && \ +createdb -O ${username} -E UTF8 -T template0 ${name} && \ +createlang plpgsql ${name}", + user => 'postgres', require => Class['pgsql'] } } diff --git a/.vagrant-puppet/modules/pgsql/manifests/database/populate.pp b/.vagrant-puppet/modules/pgsql/manifests/database/populate.pp index d37301c85..03950f281 100644 --- a/.vagrant-puppet/modules/pgsql/manifests/database/populate.pp +++ b/.vagrant-puppet/modules/pgsql/manifests/database/populate.pp @@ -33,7 +33,8 @@ define pgsql::database::populate ($username, $password, $schemafile) { exec { "populate-${name}-pgsql-db": onlyif => "psql -U ${username} -d ${name} -c \"SELECT COUNT(*) FROM information_schema.tables WHERE table_schema = '${name}';\" 2>/dev/null |grep -qEe '^ *0 *$'", - command => "sudo -u postgres psql -U ${username} -d ${name} < ${schemafile}", + command => "psql -U ${username} -d ${name} < ${schemafile}", + user => 'postgres', require => [ Pgsql::Database::Create[$name], Class['grep'] diff --git a/.vagrant-puppet/profiles/icingaweb2_dev/manifests/init.pp b/.vagrant-puppet/profiles/icingaweb2_dev/manifests/init.pp index d2d25c688..caa6eefc7 100644 --- a/.vagrant-puppet/profiles/icingaweb2_dev/manifests/init.pp +++ b/.vagrant-puppet/profiles/icingaweb2_dev/manifests/init.pp @@ -24,7 +24,8 @@ class icingaweb2_dev { exec { 'populate-icingweb-pgsql-db-preferences': unless => 'psql -U icingaweb -d icingaweb -c "SELECT * FROM preference;" &> /dev/null', - command => 'sudo -u postgres psql -U icingaweb -d icingaweb -f /vagrant/etc/schema/preferences.pgsql.sql', + command => 'psql -U icingaweb -d icingaweb -f /vagrant/etc/schema/preferences.pgsql.sql', + user => 'postgres', require => Pgsql::Database::Populate['icingaweb'], }