Memo/Ansible/Install

https://dexlab.net:443/pukiwiki/index.php?Memo/Ansible/Install
 

インストール

  • CentOS7.x:
sudo yum install -y epel-release
sudo yum install -y ansible sshpass
  • CentOS6.x: yum EPELリポジトリからの場合
sudo yum -y install ansible sshpass python-crypto2.6 --enablerepo=epel
  • CentOS6.x: pipからの場合
yum install python-setuptools
easy_install pip
pip install ansible
# バージョンを指定してインストール
pip install ansible==1.9.4 --upgrade
  • Raspberry Pi
sudo aptitude install ansible
  • CentOS 5.x
sudo yum install python26 python26-devel python26-distribute python26-boto python26-paramiko python26-crypto python26-markupsafe --enablerepo=epel
sudo easy_install-2.6 pip
sudo pip2.6 install ansible
  • Ubuntu 14.04.5 LTS の標準リポジトリのansibleは1.5と古いので削除してから、公式の方法で更新

古いバージョンに戻す

moduleに不具合がある等でバージョンを戻したい時がある

  • 2.5.0(2018-03-27 latest)
  • 2.4.3
  • 2.3.3
  • 2.2.3
  • 2.1.6
  • 2.0.2
  • 2.3.3へダウングレード
pip install ansible==2.3.3

SyntaxError?: future feature absolute_import is not defined

  • ansible 2.4からPython 2.4/2.5がサポート対象外になった。
  • CentOS5.xだと、python2.4と古い。
  • python2.6を「sudo yum install python26 --enablerepo=epel」でインストールして使う
  • 例:新しいpython2.6をinventoryファイルで指定
centos5-host ansible_python_interpreter=/usr/bin/python2.6

python2 bindings for rpm are needed for this module.

  • system標準とは別にインストールしたpythonでyumが扱えない
  • yumコマンドがpythonで出来ているのでバージョンを変えると動作しなくなる
python -c "import yum"
Traceback (most recent call last):
  File "<string>", line 1, in <module>
ImportError: No module named yum
  • virtualenvやpython26でインストールすると、site-packages/yum が無い
  • Amazon Linux AMIのリポジトリでは以下が使えるようだ
sudo yum install yum-python26

Error: ansible requires a json module, none found!

  • 接続先に python-simplejson が必要
sudo yum install -y python-simplejson
  • raw moduleを使ってインストール。
ansible -i hosts -m raw -a 'sudo yum -y install python-simplejson' all
  • CentOS 5.x, python 2.4.3 環境
  • yum だとEPELから python2.7向けのパッケージが入り、動作しない
  • easy_install simplejson==2.1.6 ではパッケージが見つからず
  • 手動でインストール
sudo easy_install https://pypi.python.org/packages/source/s/simplejson/simplejson-2.1.6.tar.gz

InsecurePlatformWarning?

python2.6で次の警告が出る。

/usr/lib/python2.6/site-packages/pip/_vendor/requests/packages/urllib3/util/ssl_.py:90: InsecurePlatformWarning: A true SSLContext object is not available. This prevents urllib3 from configuring SSL appropriately and may cause certain SSL connections to fail. For more information, see https://urllib3.readthedocs.org/en/latest/security.html#insecureplatformwarning.
  • requestsを警告が出ないバージョンまで下げる
sudo pip install requests==2.5.3
  • requests[security]をインストール
sudo pip install 'requests[security]'
  • A future version of cryptography will drop support for Python 2.6: ansibleの実行には不要なので削除する
sudo pip uninstall cryptography
  • ログイン時にvirtualenvwrapperで「AttributeError?: 'module' object has no attribute 'NullHandler?'」が出る場合
sudo pip install stevedore==0.10
  • または、python2.7か、python.3.3がcentos-sclo-rhリポジトリにあるため、そちらを使うようにする
sudo yum info python27 python27-python-setuptools
pip2.7 list

UserWarning?: Unknown distribution option: 'install_requires'

  • 解決:
sudo pip install --upgrade setuptools

AttributeError?: 'module' object has no attribute 'HAVE_DECL_MPZ_POWM_SEC'

  • pycryptoのバージョンによっては出るようだ。指定バージョンをいれたら直った
sudo pip uninstall pycrypto
sudo pip install PyCrypto==2.3

CentOS 6.x のansible2で「You should rebuild using libgmp >= 5」エラー

  • エラー内容
ansible --version                                                                                                          
/usr/lib64/python2.6/site-packages/pycrypto-2.6.1-py2.6-linux-x86_64.egg/Crypto/Util/number.py:57: PowmInsecureWarning: Not using mpz_powm_sec.  You should rebuild using libgmp >= 5 to avoid timing attack vulnerability.
  _warn("Not using mpz_powm_sec.  You should rebuild using libgmp >= 5 to avoid timing attack vulnerability.", PowmInsecureWarning)
ansible 2.0.2.0
  • 解決:
sudo yum update python-crypto2.6 --enablerepo=epel

トップ   編集 凍結 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2018-09-15 (土) 07:31:37 (5d)