ちゃんるいすのブログ

オタクエンジニアの雑記

Ansible AWX Exception: project_update xx (failed) encountered an error (rc=2), please see task stdout for details の対処法を見つける方法


Exception: project_update 71 (failed) encountered an error (rc=2), please see task stdout for details

f:id:rarirureluis:20190128180512p:plain
ジョブがエラーになる

ジョブを実行した結果、プロジェクトのアップデートの段階でエラーが出たからエラーログを見て というエラー。
しかし、
http://awx.host/#/jobs/playbook/70?job_search=page_size:20;order_by:-finished;not__launch_type:sync
の部分を 71に変更しても 404 で見れません。
ジョブと、プロジェクトアップデートは別物です。


プロジェクトアップデートのログを見る

今回のプロジェクトアップデートID は 71 なので
http://awx.host/api/v2/project_updates/71/stdout/ にアクセスをすると、見慣れた Ansible のログが見れるのでエラーを確認する。

...
PLAY [all] *********************************************************************

TASK [delete project directory before update] **********************************
<span class="ansi36">skipping: [localhost]</span>

TASK [check repo using git] ****************************************************
<span class="ansi32">ok: [localhost]</span>

PLAY [all] *********************************************************************

TASK [detect requirements.yml] *************************************************
<span class="ansi32">ok: [localhost]</span>

TASK [fetch galaxy roles from requirements.yml] ********************************
<span class="ansi31">fatal: [localhost]: FAILED! =&gt; {"changed": false, "cmd": ["ansible-galaxy", "install", "-r", "requirements.yml", "-p", "/var/lib/awx/projects/_6__example/roles/"], "delta": "0:00:01.846109", "end": "2019-01-28 08:40:52.582744", "msg": "non-zero return code", "rc": 1, "start": "2019-01-28 08:40:50.736635", "stderr": "\\u001b[0;31mERROR! Unable to open requirements.yml: [Errno 40] Too many levels of symbolic links: u'requirements.yml'\\u001b[0m", "stderr_lines": ["\\u001b[0;31mERROR! Unable to open requirements.yml: [Errno 40] Too many levels of symbolic links: u'requirements.yml'\\u001b[0m"], "stdout": "", "stdout_lines": []}</span>

PLAY RECAP *********************************************************************
<span class="ansi31">localhost</span>                  : <span class="ansi32">ok=2   </span> changed=0    unreachable=0    <span class="ansi31">failed=1   </span>
...