Ansible チュートリアル by Vagrant の環境構築時のトラブルシュート
Ansible チュートリアル | Ansible Tutorial in Japanese を参考に Vagrant で Ansible する環境を構築していたときにハマったことのメモ。
いろいろ足りない、xbuild 動かず
結論から言うと xbuild は動かなかったので諦めました。 素の OpsCode の CentOS 6 の VM だといろいろ入ってないようで、下記を入れる必要がありました。
sudo yum install git sudo yum install gcc sudo yum install patch
readline, zlib は入っていたか、この過程のどっかで入ったのですが、ないと怒られるので xbuild は諦めました。
easy_setup, pip
次に、公式ドキュメントのインストールガイド(http://docs.ansible.com/intro_installation.html )を参考にしました。
まず easy_setup, pip がなかったので、入れました。
wget http://peak.telecommunity.com/dist/ez_setup.py sudo python ez_setup.py sudo easy_install pip
pip で必要な python パッケージをインストール
UnicodeDecodeError
いくつかのパッケージをインストールするとき、これが出て失敗しました。 対処法は [Trac]Trac0.11.2.1.ja1でUnicodeDecodeErrorへの対応方法 | Ryuzee.com を参考にしました。
以下の内容で /usr/lib/python2.6/site-packages/sitecustomize.py を作成しました。
import sys sys.setdefaultencoding("utf-8")
Python.h がない
いくつかのパッケージをインストールしている際に、pipでインストール中にエラー「Python.h: そのようなファイルやディレクトリはありません」 - 座敷牢日誌 に書いてあるのと全く同じエラーが出ました。
上の記事は Mint でしたが、ここでは CentOS なので下記で対処しました。
sudo yum install python-devel
パッケージが足りない
上述の公式ドキュメントに従って、下記をインストールしました。
sudo pip install paramiko PyYAML jinja2 httplib2
が、paramiko を動かすのに依存パッケージが不足していたようです。 下記を実行するとエラーが出ました。
python >>> import paramiko
ぐぐりながら、足りなかった以下をインストールしました。
sudo pip install pycrypto ecdsa
ansible インストール
これでようやく Ansible を動かす準備が整いました。 この後は公式ドキュメントに従って最新のソースコードで動かしてもいいし、下記で pip でインストールしても動きました。
sudo pip install ansible