Ansible 変数ソース

Ansible 変数ソース

次のようなプレイブックがあります:

- hosts: GROUP1
  remote_user: ubuntu
  become: true
  gather_facts: False
  roles:
  - role: role1
  - role: role2

group_var
GROUP1 には php7 パッケージがあり、
GROUP2 には php5 パッケージがあります

ランブックを実行すると、php5 と php7 の両方の変数が取り込まれ、 ansible-playbook -vvv は両方のパッケージのリストを表示しますが、 GROUP1 ファイルには php7 パッケージのみがリストされているため、php5 変数がどのように取り込まれるのか
わかりません。

host_varファイルがありません。host_varフォルダすらありません

-vvv 以外に、変数がどこから来ているのか、またはどの変数ファイルがインクルードされているのかを確認する方法はありますか?

答え1

何度か試してみたところ、エラーが見つかりました。私のグループは実際は
php5
phpのようでした。<-- php7パッケージではこれを使用していました。

php の処理では、php グループと php5 グループの両方がプルされていました。ansible をアップグレードすると動作が変わったようですが、それでも期待どおりではありませんでした。

結局、
php5
php7のようにグループを互いのサブセットにしないようにしました。

そして、問題は解決しました。

関連情報