Help us understand the problem. What is going on with this article?

Check! Amazon Linux 2015.09 で yum update してから Ansible を使う時は python2.6 に切り替える

More than 3 years have passed since last update.

こんにちは、cloudpack@dz_ こと大平かづみです。

Prologue - はじめに

ちょっと Ansible に慣れようと Amazon Linux でトライしてみたところ、以下でハマりました。備忘録にメモを残します。


ansible 実行で ansible.runner がみつからないエラー

# Ansible のテストで自身に ping を打ってみるも… (hosts 設定済み)
ansible localhost -m ping
Traceback (most recent call last):
  File "/usr/bin/ansible", line 36, in <module>
    from ansible.runner import Runner
ImportError: No module named ansible.runner

python のバージョンが 2.7 であることが原因なので、 2.6 に変更することで Ansible が動くようになります。(Amazon Linux 2015.09 で yum update をした後などは python2.7 に更新されるそうです。)

# python を 2.6 に切り替える
sudo alternatives --config python

2 プログラムがあり 'python' を提供します。

  選択       コマンド
*+ 1           /usr/bin/python2.7
   2           /usr/bin/python2.6

Enter を押して現在の選択 [+] を保持するか、選択番号を入力します:2

playbook の yum モジュールが使えないエラー

ansible-playbookyum: モジュールを使おうとすると以下のようにエラーになってしまいました。

TASK: [Install Git] *********************************************************** 
failed: [localhost] => {"failed": true, "parsed": false}
Traceback (most recent call last):
  File "/home/user/.ansible/tmp/ansible-tmp-XXX/yum", line 27, in <module>
    import yum
ImportError: No module named yum

どうやら yum-python26 がないとのことで、インストールしましょう。

# yum-python26 をインストールする
sudo yum install yum-python26

Epilogue - おわりに


Nice to meet you! :)
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away