ansible.cfg
[student@workstation dev-tags]$ cat ansible.cfg [defaults] inventory = inventory remote_user = devops [privilege_escalation] become = true
inventory
[student@workstation dev-tags]$ cat ansible.cfg [defaults] inventory = inventory remote_user = devops [privilege_escalation] become = true
configure_mail.yml
[student@workstation dev-tags]$ cat configure_mail.yml
---
- name: Install postfix
yum:
name: postfix
state: latest
tags:
- server
notify:
- start_postfix
- name: Install dovecot
yum:
name: dovecot
state: latest
tags:
- client
notify:
- start_dovecot
- name: Download main.cf configuration
get_url:
url: "http://materials.example.com/task_control/main.cf"
dest: /etc/postfix/main.cf
tags:
- server
notify:
- restart_postfix
playbook.yml
[student@workstation dev-tags]$ cat playbook.yml
---
- hosts: all
tasks:
- name: Include configure_mail.yml
include: configure_mail.yml
when: inventory_hostname in groups['mailservers']
handlers:
- name: start_postfix
service:
name: postfix
state: started
- name: start_dovecot
service:
name: dovecot
state: started
- name: restart_postfix
service:
name: postfix
start: restarted