前のエントリーとよく似た内容ですが・・・
Ansibleで以下のようなエラーに遭遇しました。
TASK: [test | put log4j.properties] *****************************
fatal: [staging100.bacchi.me] => {'msg': "AnsibleUndefinedVariable: One or more undefined variables: 'log4j' is undefined", 'failed': True}
fatal: [staging100.bacchi.me] => {'msg': "AnsibleUndefinedVariable: One or more undefined variables: 'log4j' is undefined", 'failed': True}
FATAL: all hosts have already failed -- aborting
PLAY RECAP ********************************************************************
to retry, use: --limit @/home/ansible/site.retry
staging100.bacchi.me : ok=37 changed=0 unreachable=1 failed=0
実行した task はtemplateモジュールを使って、templates/ のファイルをコピーするtaskでした。
エラーの原因は host_vars/host_name に書かれている『.』ドットでした。
変数に『.』使うとだめだったんですね、これも知りませんでした。
変数の『.』を『_』に変更して、再度playbook流せばOKでした。
変数に『.』や『-』を使ってはいけない(戒め)