CentOS6をホストとしていて、かつ.ssh/configに頼ったAnsibleは動かない

「そろそろ本気出す」と言わんばかりに、Ansible、Serverspec、Capistranoを合わせて案件ベースで使い始めました。

ちなみに運用方法は、自分でもいろいろ試行錯誤した結果、まさにd:id:dragon3さんの通りになりました。

http://q.hatena.ne.jp/1380766923

いやー先人の知恵って重要ですねー。いや、ちゃんといろいろ考えましたよ?

で、まず3つとも一通り設定をして、開発メンバーでssh.configとして.ssh/configの設定を共有したわけです。そしたら

Ansibleが.ssh/configを認識しない

んな馬鹿な、と自分の開発環境で実行してもうまくいく。

自分の開発環境はUbuntu。メンバーの環境はVagrant上のCentOS。多分、VagrantかCentOSが原因だろうと調べてみたら、原因はCentOSでした。

以下詳しい参考エントリー。

http://yteraoka.github.io/ansible-tutorial/ansible-in-detail.html#ssh-config

原因追求にかなり時間がかかったのですが、それはAnsibleが「ホスト名がみつからない」と言っていたのをそのまま鵜呑みにしたためです。。。今思えば思いこみですね。

良く考えたら、そのホスト名はまだサーバに割り当てられていない.ssh/config上の名前なのに、「Vagrantのネットワーク設定?」とか「CentOSのhosts?」とか。。。

というわけで、なんとか解決して運用開始です。