playbook.yml 1.3 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152
  1. ---
  2. - name: Playbook Control Lab
  3. hosts: webservers
  4. vars_files: vars.yml
  5. tasks:
  6. - name: check system reqs
  7. fail:
  8. msg: "Memoria insuficiente o SO erroneo"
  9. when: >
  10. (ansible_memtotal_mb < min_ram_mb) or
  11. (ansible_distribution != "RedHat")
  12. - name: install {{ packages }} pkgs
  13. yum:
  14. name: "{{ packages }}"
  15. state: latest
  16. - name: start {{ services }} services
  17. service:
  18. name: "{{ item }}"
  19. enabled: yes
  20. state: started
  21. loop: "{{ services }}"
  22. - name: configuration block
  23. block:
  24. - name: SSL certs directory
  25. file:
  26. name: "{{ ssl_cert_dir }}"
  27. state: directory
  28. - name: copy files
  29. copy:
  30. src: "{{ item.src }}"
  31. dest: "{{ item.dest }}"
  32. loop: "{{ web_config_files }}"
  33. notify: restart web service
  34. rescue:
  35. - name: config not success
  36. debug:
  37. msg: "One or more of the configuration changes failed, but the web service is still active."
  38. - name: config firewall
  39. firewalld:
  40. service: "{{ item }}"
  41. state: enabled
  42. permanent: yes
  43. immediate: yes
  44. loop:
  45. - http
  46. - https
  47. handlers:
  48. - name: restart web service
  49. service:
  50. name: httpd
  51. state: restarted