読者です 読者をやめる 読者になる 読者になる

ログってなんぼ

日々のメモです

ansible : エラーを無視して先へ進むオプション

ansible infra

ansible助かってます^q^

本番環境での使いドコロがちょっと今すぐ思いつかないですが、エラーで止まってしまった場合、そこで処理を中断せずに無視して先の処理へ進むようにすることができるのを知りました。

Error Handling In Playbooks — Ansible Documentation

Generally playbooks will stop executing any more steps on a host that has a failure. Sometimes, though, you want to continue on. To do so, write a task that looks like this: - name: this will not be counted as a failure command: /bin/false ignore_errors: yes

  - name: fileサーバーをNFSマウントする
    become: True
    ignore_errors: yes
    mount: name={{ file_mountpoint }} src={{ file_server }}:{{ file_mountpoint }} fstype=nfs state=mounted

こうしておくと、このブロックがfailedとなってしまった場合にも、処理が中断せずに先へ進んでくれます。

TASK [app : fileサーバーをNFSマウントする] ************************************************
fatal: [app01]: FAILED! => {"changed": false, "failed": true, "msg": "Error mounting /path_to_nfsmount: mount.nfs: Connection timed out\n"}
...ignoring

TASK [app : デプロイ用SSHキーを配置する] ***************************************************
changed: [app01]

先の処理へ進みました。エラーとなった箇所には...ignoringのメッセージ付き。

初めてのAnsible

初めてのAnsible

便利ですが乱発するとエラーの意味がなくなってしまうので多用は避けましょう^p^