0
재고 파일어떻게 여러 그룹에서 하나의 호스트
[dev:vars]
dev6
dev7
[dev6]
targethost1.xyz.com
[dev7]
targethost1.xyz.com
host_variables.yml
dev6:
deploy_domain: "Dev6Domain"
WL_Admin: "DEV6WLAdmin"
WL_Managed: "DEV6Managed"
dev7:
deploy_domain: "Dev7Domain"
WL_Admin: "Dev7WLAdmin"
WL_Managed: "Dev7Managed"
의 set_fact 변수를 극복 할 수 내가하여 플레이 북에서 myenv.deploy_domain를 추출하려고 명령 using
tasks:
- include_vars: host_variables.yml
- set_fact:
my_env: "{{ hostvars[inventory_hostname][group_names[1]] }}"
dev6과 dev7은 같은 호스트이지만 다른 도메인과 differe를 사용합니다. host_variables.yml에 정의 된 다른 변수. 따라서 dev7 용 게임 플레이 북을 실행하면 my_env.deploy_domain이 dev6 값을 표시합니다. 이 코드를 실행중인 현재 환경의 변수 만 가져 와서 인벤토리의 특정 호스트 이름과 일치 시키려면 어떻게해야합니까? 이제, 동일한 호스트와 다른 환경에서 공유되는
targethost1.xyz.com는 도메인의 완전한 호스트 이름이 아닙니다. deploy_domain은 각 시스템에 배포하기위한 변수 (매개 변수)입니다. – Jninja
Anonymous는 회원수에 상관없이 동일한 호스트에 대해 동일한 게임 정보를 두 번 실행하지 않습니다. 사용자는 다른 호스트 이름을 사용해야하고'/ etc/hosts' 또는 DNS의 동일한 IP 주소를 가리켜 야합니다. – techraf
그렇지 않으면 충돌하는 이름이있는 변수 대신 목록을 사용하도록 게임을 다시 작성해야합니다. – techraf