ignore_errors - タスクのエラーを無視する

2019/05/19

Ansible

 Ansible Documentation

Ignoring Failed Commands

 機能

 タスクで発生したエラーを無視する

 コマンド

パラメータ選択肢/
Default
説明
ignore_errors・no
yes
yes を指定するとタスク内で発生したエラーを無視する

 例

■ play
---
- hosts: all
  gather_facts: no

  tasks:
    - name: 意図的にエラーを発生させる
      shell: /usr/false
      ignore_errors: yes
      register: result
    - name: 実行結果を表示する
      debug:
        var: result
■ 実行結果
 /usr/false コマンドは存在しないので shell モジュールを使用したタスクでエラーが発生します。しかし ignore_errors: yes が指定されているため処理を中断せず、次のタスクに進みます。
ansibleman@ubuntu-pc:~/ansible/error handling$ ansible-playbook -i hosts.yml site.yml

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

TASK [意図的にエラーを発生させる] ***********************************************************
fatal: [node-c0706]: FAILED! => {"ansible_facts": {"discovered_interpreter_python": "/usr/bin/python"}, "changed": true, "cmd": "/usr/false", "delta": "0:00:00.003798", "end": "2019-05-19 22:37:43.015711", "msg": "non-zero return code", "rc": 127, "start": "2019-05-19 22:37:43.011913", "stderr": "/bin/sh: /usr/false: そのようなファイルやディレクトリはありません", "stderr_lines": ["/bin/sh: /usr/false: そのようなファイルやディレクトリはありません"], "stdout": "", "stdout_lines": []}
...ignoring

TASK [実行結果を表示する] ***************************************************************
ok: [node-c0706] => {
    "result": {
        "ansible_facts": {
            "discovered_interpreter_python": "/usr/bin/python"
        },
        "changed": true,
        "cmd": "/usr/false",
        "delta": "0:00:00.003798",
        "end": "2019-05-19 22:37:43.015711",
        "failed": true,
        "msg": "non-zero return code",
        "rc": 127,
        "start": "2019-05-19 22:37:43.011913",
        "stderr": "/bin/sh: /usr/false: そのようなファイルやディレクトリはありません",
        "stderr_lines": [
            "/bin/sh: /usr/false: そのようなファイルやディレクトリはありません"
        ],
        "stdout": "",
        "stdout_lines": []
    }
}

PLAY RECAP *********************************************************************
node-c0706                 : ok=2    changed=1    unreachable=0    failed=0    skipped=0    rescued=0    ignored=1   

ansibleman@ubuntu-pc:~/ansible/error handling$ 

カテゴリー

目次

QooQ