ansible Playbook から opendistro/elasticsearch セキュリティ セットアップ スクリプトを実行しようとしていますが、リターン コード 126 で失敗し続けます。
- name: Initialize elasticsearch security
command: /usr/share/elasticsearch/plugins/opendistro_security/tools/securityadmin.sh [...]
environment:
JAVA_HOME: /usr/share/elasticsearch/jdk/bin/java
fatal: [sys-centos8a]: FAILED! => {"changed": true, "cmd": ["/usr/share/elasticsearch/plugins/opendistro_security/tools/securityadmin.sh"], "delta": "0:00:00.013054", "end": "2021-02-19 09:41:50.267357", "msg": "non-zero return code", "rc": 126, "start": "2021-02-19 09:41:50.254303", "stderr": "", "stderr_lines": [], "stdout": "", "stdout_lines": []}
root に設定されたパーミッション エラーではないはずですが、パーミッションを変更せずに 777 に設定したことを確認してください。
envの設定とsudoに問題があったのでDefaults env_keep += "JAVA_HOME"
、sudoersファイルに追記しました。しかし、126 エラーを返す ansible にまだ変更はありません。
Elasticsearch ユーザーや明示的な sudo を使用するなど、いくつかのバリエーションを試しましたが、何も機能しません。手動で (ルートまたは Elasticsearch ユーザーとして) ターゲットに ssh すると完全に機能しますが、ansible で何かを見逃しているようです。
何か案は?