![Ansible 変数ソース](https://rvso.com/image/756798/Ansible%20%E5%A4%89%E6%95%B0%E3%82%BD%E3%83%BC%E3%82%B9.png)
次のようなプレイブックがあります:
- 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のようにグループを互いのサブセットにしないようにしました。
そして、問題は解決しました。