0

vagrant を使用して icinga2 のボックスを表示しようとしています。https: //github.com/Icinga/puppet-icinga2/tree/v0.6.2 の puppet-icinga2 を使用しています。

だから私は以下に示すような役割を持っています

class role::icinga2_server {

class { 'postgresql::server':
      ip_mask_deny_postgres_user => '0.0.0.0/32',
      ip_mask_allow_all_users    => '0.0.0.0/0',
      listen_addresses           => 'localhost',
      postgres_password          => 'password',}

postgresql::server::db {
        'icinga2_data':
        user => 'icinga2',
        password => 'password'
}



class { 'icinga2::server':
      server_db_type => 'pgsql',
      db_host => 'localhost',
      db_port => '5432',
      db_name => 'icinga2_data',
      db_user => 'icinga2',
      db_password => 'password',
 }
}

したがって、ボックスをプロビジョニングすると、puppet を介して (puppet-postgres モジュールを使用して) postgres intall が正常に取得され、puppet がエラーをスローします。

==> centos7: Notice: /Stage[main]/Vagrant/Group[vagrant]/gid: gid changed '1000' to '500'
==> centos7: Debug: /Stage[main]/Vagrant/Group[vagrant]: The container Class[Vagrant] will propagate my refresh event
==> centos7: Debug: Exec[postgres_schema_load](provider=posix): Executing 'su - postgres -c 'export PGPASSWORD='\''password'\'' && psql -U icinga2 -h localhost -d icinga2_data < /usr/share/icinga2-ido-pgsql/schema/pgsql.sql' && export PGPASSWORD='' && touch /etc/icinga2/postgres_schema_loaded.txt'
==> centos7: Debug: Executing 'su - postgres -c 'export PGPASSWORD='\''password'\'' && psql -U icinga2 -h localhost -d icinga2_data < /usr/share/icinga2-ido-pgsql/schema/pgsql.sql' && export PGPASSWORD='' && touch /etc/icinga2/postgres_schema_loaded.txt'
==> centos7: Notice: /Stage[main]/Icinga2::Server::Install::Execs/Exec[postgres_schema_load]/returns: psql: could not connect to server: Connection refused
==> centos7: Notice: /Stage[main]/Icinga2::Server::Install::Execs/Exec[postgres_schema_load]/returns:   Is the server running on host "localhost" (::1) and accepting
==> centos7: Notice: /Stage[main]/Icinga2::Server::Install::Execs/Exec[postgres_schema_load]/returns:   TCP/IP connections on port 5432?
==> centos7: Notice: /Stage[main]/Icinga2::Server::Install::Execs/Exec[postgres_schema_load]/returns: could not connect to server: Connection refused
==> centos7: Notice: /Stage[main]/Icinga2::Server::Install::Execs/Exec[postgres_schema_load]/returns:   Is the server running on host "localhost" (192.168.10.131) and accepting
==> centos7: Notice: /Stage[main]/Icinga2::Server::Install::Execs/Exec[postgres_schema_load]/returns:   TCP/IP connections on port 5432?
==> centos7: Error: su - postgres -c 'export PGPASSWORD='\''password'\'' && psql -U icinga2 -h localhost -d icinga2_data < /usr/share/icinga2-ido-pgsql/schema/pgsql.sql' && export PGPASSWORD='' && touch /etc/icinga2/postgres_schema_loaded.txt returned 2 instead of one of [0]

psql が接続できないというエラーが表示されますが、vagrant ボックスを起動すると、ssh で、インストールされた postgres が実行され、正常にリッスンされていることがわかります。psql を使用して接続することもできますが、デバッグ出力に見られるように、puppet は postgres でのスキーマの作成に失敗します。

また、ログインを行い、postgres スキーマのロードに対して同じコマンドを実行しましたが、正常に動作しました。

システムで失敗したコマンドを実行しようとし、ログインして実行しました

su - postgres -c 'export PGPASSWORD='\''password'\'' && psql -U icinga2 -h localhost -d icinga2_data < /usr/share/icinga2-ido-pgsql/schema/pgsql.sql' && export PGPASSWORD ='' && touch /etc/icinga2/postgres_schema_loaded.txt

そして、それは期待どおりに機能しました。

パペットがスキーマのロードに失敗するのはなぜですか?

4

0 に答える 0