Memo/Ansible/Error

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

Error/Warning


The Python 2 bindings for rpm/yum ...

  • 環境
    • CentOS 7.x
    • ansible 2.6.3をrbenvのpipで入れた場合に発生。
  • 解決: pip版ではなく、yum版を使う
    # pip版をアンインストール
    pip uninstall ansible
    
    # yum版をインストール
    sudo yum install ansible -y
    
    # pyenvを使っている場合
    pyenv global system
    exec $SHELL -l
    
    ansible --version
    ansible 2.6.3

WARNINGの抑制

  • shell/command moduleを使った時「[WARNING]: Consider using the yum, dnf or zypper module rather than running rpm ...」が出る時がある
  • 抑制したい場合:playbook.yml
  - shell: "rpm -q {{ rpm_name }}"
    args:
      warn: false

Encountered unknown tag

j2テンプレート中で「{% ... %}」を含む文字列を出力したい場合。

{% raw %} ... {% endraw %}

Syntax errors in policy.

  • JSONの構文的には正しいはずが、エラーが出る
  • 一時的な回避策1: 「| string」を足す。
"{{ lookup('template', '/path/to/template.json.j2') | string }}"
  • 一時的な回避策2: 「" {{ 〜 }} "」のように、スペースで挟む。しかし、これでも構文エラーが出るケースがあるので、回避策1が良い。

The security token included in the request is invalid

  • version
pip list
...
ansible (2.5.0) 
boto (2.48.0)
boto3 (1.6.17)
  • dynamodb_table, iam で発生
  • ansible 2.3.3 まで戻すと正常に動作する

group_by: ERROR! Unexpected Exception, this is probably a bug: 'localhost'

  • ansible 2.4.3.0, 2.5.0.0で発生
  • 以下のようにgroup_byを使う箇所で起きる
-- group_by: key="{{ inventory_group }}"
  • 一時的な修正
  tasks:    - name: add hosts to localhost group      add_host:        name: "127.0.0.1"        groups: "localhost"

when statements should not include jinja2 templating delimiters

  • ansible 2.4.3.0では「when:」句に「{{ }}」が含んでいると、WARNINGが出るようになった
[WARNING]: when statements should not include jinja2 templating delimiters such as {{ }} or {% %}. Found: ansible_devices.{{ item.src | basename}} is defined
  • 変更前:
  when: ansible_devices.{{ item.src | basename }} is defined
  • 変更後:
  when: ansible_devices[ item.src | basename ] is defined

could not locate file in lookup: ~/.ssh/id_rsa.pub

  • 環境:CentOS 6.x 64bit, ansible-1.8.4-1.el6.noarch
  • 現象:パスワード認証時(-c paramiko, -ask-pass)に発生した
  • 解決:~/.ssh/id_rsa.pub が存在すれば(サイズ0でも)動作した
  • 適当に公開鍵を作成する
ssh-keygen -N "" -t rsa

to use the 'ssh' connection type with passwords, you must install the sshpass program

  • 環境:CentOS 6.x 64bit, ansible-1.8.4-1.el6.noarch
  • 現象:パスワード認証時(--ask-pass)に発生した
  • 解決:-c paramikoを付けて実行する。公開鍵認証時には不要

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