2017-02-17 3 views
0

Ich versuche, die Installation einer PostgreSQL-Datenbank mit Ansible zu automatisieren.Fehler bei der Ausführung von postgresql96-setup initdb mit Ansible

jedoch die folgende Aufgabe:

- name: Initialize Postgres 
    command: /usr/pgsql-9.6/bin/postgresql96-setup initdb 
    become: true 

Ergebnisse in diesem Fehler:

fatal: [nexus-staging.chop.edu]: FAILED! => { 
    "changed": true, 
    "cmd": "/usr/pgsql-9.6/bin/postgresql96-setup initdb", 
    "delta": "0:00:00.043311", 
    "end": "2017-02-16 23:39:12.512727", 
    "failed": true, 
    "invocation": { 
     "module_args": { 
      "_raw_params": "/usr/pgsql-9.6/bin/postgresql96-setup initdb", 
      "_uses_shell": true, 
      "chdir": null, 
      "creates": null, 
      "executable": null, 
      "removes": null, 
      "warn": true 
     }, 
     "module_name": "command" 
    }, 
    "rc": 1, 
    "start": "2017-02-16 23:39:12.469416", 
    "stderr": "", 
    "stdout": "Initializing database ... failed, see /var/lib/pgsql/9.6/initdb.log", 
    "stdout_lines": [ 
     "Initializing database ... failed, see /var/lib/pgsql/9.6/initdb.log" 
    ], 
    "warnings": [] 
} 

Der Fehler in /var/lib/pgsql/9.6/initdb.log ist:

/usr/pgsql-9.6/bin/postgresql96-setup: line 140: runuser: command not found 

Interessant ist, dass, wenn ich laufen sudo /usr/pgsql-9.6/bin/postgresql96-setup initdb auf dem Host wird es erfolgreich ausgeführt ...

Jede Hilfe wäre willkommen.

Antwort

1

Versuchen mit PATH Umgebungsvariable explizit in der Aufgabe definiert:

- name: Initialize Postgres 
    command: /usr/pgsql-9.6/bin/postgresql96-setup initdb 
    environment: 
    PATH: /usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin 
    become: true 

Höchstwahrscheinlich wird der Wert des Weges unterschiedlich für interaktive und nicht-interaktive Shell-Sitzungen festgelegt ist.


Oder suchen Sie die runuser ausführbare Datei und den Pfad hinzufügen, bevor das Skript ausgeführt wird:

command: PATH=/runuser/location:${PATH} /usr/pgsql-9.6/bin/postgresql96-setup initdb 
+0

Das funktionierte perfekt. Vielen Dank –

Verwandte Themen