Ansibleのserviceモジュール実行時にエラー「FAILED! => {“changed”: false, “msg”: “Unable to start service postgresql: Job for postgresql.service failed…」の対処法

[背景]

Ansibleでserviceモジュール実行時にエラー「FAILED! => {“changed”: false, “msg”: “Unable to start service postgresql: Job for postgresql.service failed because the control process exited with error code. See \”systemctl status postgresql.service\” and \”journalctl -xe\” for details.\n”}」が発生しました。Playbookの抜粋とエラーの詳細は以下の通りです。

<Playbookの抜粋>

- name: Start PostgreSQL
  service:
    name: postgresql
    state: started
    enabled: True

<エラーの詳細>

fatal: [ansible-dev-target2]: FAILED! => {"changed": false, "msg": "Unable to start service postgresql: Job for postgresql.service failed because the control process exited with error code. See \"systemctl status postgresql.service\" and \"journalctl -xe\" for details.\n"}

[原因]

PostgreSQLデータベースの初期化が行われていないためです。PostgreSQLのインストール先にデータベースクラスタを作成し、必要なデータベースや設定ファイルを生成後、PostgreSQLが起動できるようになります。

[対策]

PlaybookのPostgreSQLの起動タスク実行前に、以下のタスクを追加します。

- name: Initialize PostgreSQL database
  command: postgresql-setup initdb

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です