2系が出たし、そろそろAnsibleを触ってみるかとチュートリアルをやっていたら、'NoneType' object has no attribute 'send_callback'という例外で止まったので、ちょっとだけ調べてみました。
ちなみに試しているチュートリアルはこちらです。
(http://yteraoka.github.io/ansible-tutorial/)
引っかかったのは、6.Best Practicesに沿った構成を真似るのタスク一覧の確認の部分。
$ ansible --version
ansible 2.0.0.2
config file = /home/vagrant/ansible/ansible.cfg
configured module search path = Default w/o overrides
$ ansible-playbook --list-tasks -i test_servers site.yml
Unexpected Exception: 'NoneType' object has no attribute 'send_callback'
to see the full traceback, use -vvv
# -vvvオプションで例外の詳細を出してみる
$ ansible-playbook --list-tasks -i test_servers site.yml -vvv
2 plays in site.yml
Unexpected Exception: 'NoneType' object has no attribute 'send_callback'
the full traceback was:
Traceback (most recent call last):
File "/home/vagrant/.pyenv/versions/ansible2/bin/ansible-playbook", line 85, in <module>
sys.exit(cli.run())
File "/home/vagrant/.pyenv/versions/2.7.10/envs/ansible2/lib/python2.7/site-packages/ansible/cli/playbook.py", line 150, in run
results = pbex.run()
File "/home/vagrant/.pyenv/versions/2.7.10/envs/ansible2/lib/python2.7/site-packages/ansible/executor/playbook_executor.py", line 115, in run
self._tqm.send_callback('v2_playbook_on_vars_prompt', vname, private, prompt, encrypt, confirm, salt_size, salt, default)
AttributeError: 'NoneType' object has no attribute 'send_callback'
playbook_executor.pyの115行目で落ちているらしいです。
ググるとすぐにissuesが見つかりました。
https://github.com/ansible/ansible/issues/12682
どうやら、checkか--list-系のオプションをつけると落ちるらしいです。
修正は、こちらを参考に行いました。
https://github.com/ansible/ansible/commit/76feba00c4724e930c8c6fc7eba7e4a29c86cc3c
修正後、実行するとタスク一覧が無事表示されました。
(でも、なんかチュートリアルのサイトの表示とは大きく違うような・・・。2系だからか、gitからファイル取ってこずに手書きしたから、間違ったか・・・)
$ ansible-playbook --list-tasks -i test_servers site.yml -vvv
Using /home/vagrant/ansible/ansible.cfg as config file
2 plays in site.yml
playbook: site.yml
play #1 (all): TAGS: []
tasks:
include TAGS: []
include TAGS: []
include TAGS: []
include TAGS: []
play #2 (wordpress): TAGS: []
tasks:
メジャーアップデート後は、こういった不具合も出るもんなんですね。
stable-2.0ブランチには取り込まれているので、すぐに修正版が出そうな気はしますが、投稿したことなかったんで、作業メモ的な感じで投稿してみました。