てくなべ (tekunabe)

ansible / network / automation

[Ansbile] set_fact した変数の値は -v で確認できる

はじめに

Playbook 内で新たに変数を定義する set_fact というモジュールがあります。

固定で簡単な値だったらよいのですが、動的に値を設定する場合は中身を確認したくなります。

そんなとき、debug モジュールで新たにタスクを作らなくても ansible-playbook コマンドに -v を指定して実行すると確認できます。

  • 動作確認環境
    • Ansible 2.9.9

サンプル

以下のような Playbook を利用します。

---
- hosts: rt01
  gather_facts: false

  tasks:
    - name: set_fact test
      set_fact:
        testvar: "{{ now() }}"    # 動的な値 (now は Ansible 2.8 以上)

ansible-playbook コマンドに -v を指定して実行します。

$ ansible-playbook -i nventory.ini set_fact.yml -v

PLAY [rt01] *************************************************************************************************************

TASK [set_fact test] ****************************************************************************************************
ok: [rt01] => {"ansible_facts": {"testvar": "2020-09-03 20:41:51.140976"}, "changed": false}

PLAY RECAP **************************************************************************************************************
rt01                       : ok=1    changed=0    unreachable=0    failed=0    skipped=0    rescued=0    ignored=0   

"ansible_facts": {"testvar": "2020-09-03 20:41:51.140976"} のように、testvar の値が確認できます。

地味に便利です。