main.yml 2.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263
  1. ---
  2. # tasks file for ansible-role-mariadb
  3. - name: Set db_main host variable
  4. set_fact:
  5. db_main: "{{ groups['db_servers'][0] }}"
  6. my_service: {"name": "mariadb.service", "source": "systemd", "state": "unknown", "status": "disabled"}
  7. - name: Include OS specific variables.
  8. include_vars: "{{ ansible_os_family }}.yml"
  9. - name: collect facts about system services
  10. service_facts:
  11. register: services_state
  12. - name: Set db_main host variable
  13. set_fact:
  14. my_service: "{{ ansible_facts.services['mariadb.service'] }}"
  15. when: "'mariadb.service' in ansible_facts.services.keys()"
  16. - name: Check Mariadb status
  17. debug:
  18. var: my_service
  19. #- name: Ending if Mariadb is already up and running
  20. # meta: end_play
  21. # when: my_service.state != "unknown" and my_service.status != "disabled"
  22. - name: Install Mariadb
  23. include_tasks: "setup/{{ ansible_os_family }}.yml"
  24. when: my_service.state == "unknown" and my_service.status == "disabled"
  25. - name: Ensure Mariadb configfile is present
  26. include_tasks: "config/template.yml"
  27. when: my_service.state == "unknown" and my_service.status == "disabled"
  28. - name: Ensure Mariadb is secure
  29. include_tasks: "config/secure-installation.yml"
  30. - name: Creating a SELinux Policy
  31. include_tasks: "selinux.yml"
  32. when: groups['db_servers'] | length > 1 and ( my_service.state == "unknown" and my_service.status == "disabled" )
  33. - name: Bring Up the First Node
  34. shell: galera_new_cluster
  35. delegate_to: "{{ groups['db_servers'][0] }}"
  36. run_once: true
  37. when: groups['db_servers'] | length > 1 and ( my_service.state == "unknown" and my_service.status == "disabled" )
  38. - name: Start the others Nodes
  39. service:
  40. name: "{{ mariadb_service }}"
  41. state: started
  42. when: inventory_hostname == item and ( my_service.state == "unknown" and my_service.status == "disabled" )
  43. with_items: "{{ groups['db_servers'] | reject('equalto', groups['db_servers'][0]) | list }}"
  44. loop_control:
  45. pause: 5
  46. #- name: Ensure Mariadb databases are present
  47. # include_tasks: "database/databases.yml"
  48. - name: Ensure Mariadb users are present
  49. include_tasks: "database/users.yml"