ansible
20210802 (월) ansible 작업제어 #1
gusalstm
2021. 8. 2. 16:52
반응형
작업 제어
ignore_errors : true인 경우 작업이 실패한 경우에도 플레이를 진행할 수 있음
ignore_unreachable : true인 경우 통신이 안되는 Host를 무시하고 작업 진행
force_handlers : true인 경우 이전 task에서 실패하여 플레이가 중단되더라도 통지(notify)된 핸들러가 실행됨
failed_when: CONDITION : task가 실패하는 조건을 다르게 지정할 필요가 있는 경우 사용
changed_when: CONDITION : changed 조건을 다르게 지정할 필요가 있는 경우에 사용
반응형
과제 2
다음 작업을 수행하는 플레이북을 작성 하시오
- Apach HTTPD 서버 설치
handler 실행 Start web service
- vsftpd 서버 설치
handler 실행 Start ftp service
- Handler "Start web service" : 웹 서비스 시작
- Handler "Start ftp service" : ftp 서비스 시작
조건:
- 플레이북을 다시 실행하여도 Start web service Handler가 실행되어야 함
- "bind9" 패키지 설치 작업이 실패하여도 Handler는 정상 실행되게 함.
다른 작업 실패시에는 Handler가 실행되지 않음
--- - name: examination hosts: all become: true tasks: - name: Install Apache Web Service → register의 값으로 출력되는 값들 중에 result_httpd.rc / result_httpd.failed 등의 값으로 changed_when 처리해 줄 수 있음 yum: name: httpd state: latest register: result_httpd changed_when: result_httpd.failed == false notify: Start web service - name: Display result install apache httpd debug: msg: "{{ result_httpd }}" - name: Install FTP yum: name: vsftpd state: latest notify: Start ftp service - name: Install BIND block: - yum: name: bind9 state: latest ignore_errors: true handlers: - name: Start web service service: name: httpd state: started enabled: true - name: Start ftp service service: name: vsftpd state: started enabled: true |
728x90