반응형
Inventory
- "remote_server", "test_win" 2개의 호스트가 "plo" 란 그룹으로 묶이고 각각의 호스트 변수와 그룹변수를 가지고 있다.
> cat host.ini
[plo]
remote_server spec_disk=140 spec_cpu=8 spec_memory=8 backup_drive=c:,e:
test_win spec_disk=100 spec_cpu=8 spec_memory=8 backup_drive=c:
[plo:vars]
ansible_connection=winrm
ansible_winrm_server_cert_validation=ignore
Playbook
- "remote_server"을 대상으로 playbook을 실행 할 때 "test_win" 호스트 변수를 참조하게 한다.
- 테스트를 위하여 playbook은 debug 모듈을 사용하고 변수를 msg로 표출한다.
- 형식 : {{ hostvars['host']['vars'] }}
cat test.yml
---
- hosts: remote_server
gather_facts: no
ignore_unreachable: yes
tasks:
- name: other host vars
debug:
msg: "{{ hostvars['test_win']['backup_drive'] }}"
- "remote_server" 의 "backup_drive" 는 "c:, e:" 이고 "test_win"의 "backup_drive" 는 "c:" 이므로 playbook 실행 시 "test_win"의 "c:" 값이 출력 된다.
> ansible-playbook -i host.ini test.yml
{
"custom_stats": {},
"global_custom_stats": {},
"plays": [
{
...
"tasks": [
{
"hosts": {
"remote_server": {
"_ansible_no_log": false,
"_ansible_verbose_always": true,
"action": "debug",
"changed": false,
"msg": "c:"
}
},
...
],
"stats": {
"remote_server": {
"changed": 0,
"failures": 0,
"ignored": 0,
"ok": 1,
"rescued": 0,
"skipped": 0,
"unreachable": 0
}
}
}
참조
- host에서 사용 가능한 변수 목록을 아래와 같이 출력 할 수 있다.
- var: "hostvars"
> cat test.yml
---
- hosts: all
gather_facts: no
ignore_unreachable: yes
tasks:
- name: hostvars
debug:
var: "hostvars"
반응형
'Automation Tools > Ansible' 카테고리의 다른 글
ansible | [playbook] AWX에 windows data backup 스케줄 등록하기(win_copy+win_find+win_file) (0) | 2022.07.06 |
---|---|
ansible | [AWX] Local Script 실행 및 결과값 slack webhook 전송하기 (0) | 2022.07.04 |
ansible | AWX Playbook Task 실패(or 성공) 시 알림 설정 (0) | 2022.06.22 |
ansible | [AWX] JOB Template 의 Schedule과 Notification (0) | 2022.06.20 |
ansible | [AWX] logstash(elasticsearch) 를 이용한 로그 수집 (0) | 2022.06.17 |