冷凍庫

個人用メモ

ansible の with_items がヘン

github.com

もう治ってる?いつのバージョンで入るんだろ

起きること

以下のようなタスクは失敗する。

- name: Install packages
  yum: name={{ansible_env.HOME}}/{{item}}
  with_items:
    - {{rpm_package1}}
    - {{rpm_package2}}

原因

おそらく、 yum モジュールを使うとき、 with_items をまとめようとして、 name に "{{rpm_package1}},{{rpm_package2}}" を渡している。この時、 {{ansible_env.HOME}} が無視され、パッケージが見つからないというエラーが出る。

対処

とりあえず以下のように書けば回避できる。

- name: Install packages
  yum: name={{item}}
  with_items:
    - {{ansible_env.HOME}}/{{rpm_package1}}
    - {{ansible_env.HOME}}/{{rpm_package2}}