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 

関連する記事はこちら
  • Ansible、コマンド実行結果をokにする(冪等性を保つ方法) (2015/02/02)
  • Ansible、コマンドでワイルドカードを使うときの注意 (2014/11/18)
  • Ansible、ソースインストールする際のPalybookの書き方 (2014/11/16)
  • 【VPS1台でインフラ勉強】多段SSH設定(おまけ) (2014/11/09)
  • Kubernetes上のリソースをAnsibleで管理する (2019/08/21)
  • comments powered by Disqus
    このエントリーをはてなブックマークに追加