Ansible 변수 소스

Ansible 변수 소스

다음과 같은 플레이북이 있습니다.

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

group_var
GROUP1에는 php7 패키지가 있습니다.
GROUP2에는 php5 패키지가 있습니다.

Runbook을 실행하면 php5 및 php7 변수가 모두 ansible-playbook에 표시됩니다. -vvv에 두 패키지 목록이 모두 표시되지만 GROUP1 파일에는 php7 패키지만 나열되어 있으므로 php5 변수를 가져오는 방법을
알 수 없습니다.

Host_var 파일이 없습니다. Host_var 폴더도 없습니다.

-vvv 외에 변수가 어디에서 왔는지 또는 어떤 변수 파일이 포함되는지 확인하는 방법이 있습니까?

답변1

몇 가지 시도 후에 오류가 문제를 발견했습니다. 내 그룹은 실제로 다음과 같았습니다.
php5
php <-- php7 패키지에 이것을 사용하고 있었습니다.

PHP 처리가 php 및 php5 그룹을 모두 가져오고 있었습니다. 업그레이드된 Ansible로 인해 동작이 변경된 것 같지만 여전히 예상했던 것과는 다릅니다.

결국 나는 그룹을
php5
php7 처럼 서로의 하위 집합이 아닌 것으로 만들었습니다.

그리고 그것은 문제를 해결했습니다.

관련 정보