28 Nov 2014, 00:17

Ansible, sudoパスワード要求を忘れただけでめんどくなる

AnsibleをVagrant上でずっと使ってて、Playbookも完成したし本番サーバへ…
と思ったところである初歩的な罠にハマった。

本番環境へPalybook実行!!

$ ansible-playbook playbook.yml -i hosts 

あれ、GATHERING FACTSで10分以上も待たされた…
しかも、エラー出た…

GATHERING FACTS
failed to parse [ sudo via ansible, key= ..... ] 

sudoできていない…?

playbook内のsudo: yesを外して実行。

GATHERING FACTSは通過。
しかし、当たり前だがsudo で実行すべき部分で失敗…

とても単純なことに気づいた…
Vagrant環境ではsudoのパスワードを要求されない
・本番環境はsudoのパスワードを要求されること
・sudoのパスワードを入力するようにしていなかったこと

というわけで-Kをつけて実行

$ ansible-playbook playbook.yml -i hosts -K 

うまくいった…

完全なる私のミスなんだが、ただ-Kオプションを忘れるだけで、一回の実行に10分ほども待たされるのは…。
しかもGATHERING FACTSで止まっているときはCtl+Cで中断も聞かなかった。

要注意ですね。。。


ちなみに、こんな方法で解決もできる。
sudoのパスワードを聞かれなくして対応。

# visudo
user_name ALL=(ALL) NOPASSWD: ALL 

このエントリーをはてなブックマークに追加