evaluate_groups.yml 2.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081
  1. ---
  2. - name: Populate config host groups
  3. hosts: localhost
  4. gather_facts: no
  5. tasks:
  6. - fail:
  7. msg: This playbook requires g_etcd_group to be set
  8. when: g_etcd_group is not defined
  9. - fail:
  10. msg: This playbook requires g_masters_group to be set
  11. when: g_masters_group is not defined
  12. - fail:
  13. msg: This playbook requires g_nodes_group or g_new_nodes_group to be set
  14. when: g_nodes_group is not defined and g_new_nodes_group is not defined
  15. - fail:
  16. msg: This playbook requires g_lb_group to be set
  17. when: g_lb_group is not defined
  18. - name: Evaluate oo_etcd_to_config
  19. add_host:
  20. name: "{{ item }}"
  21. groups: oo_etcd_to_config
  22. ansible_ssh_user: "{{ g_ssh_user | default(omit) }}"
  23. ansible_sudo: "{{ g_sudo | default(omit) }}"
  24. with_items: groups[g_etcd_group] | default([])
  25. - name: Evaluate oo_masters_to_config
  26. add_host:
  27. name: "{{ item }}"
  28. groups: oo_masters_to_config
  29. ansible_ssh_user: "{{ g_ssh_user | default(omit) }}"
  30. ansible_sudo: "{{ g_sudo | default(omit) }}"
  31. with_items: groups[g_masters_group] | default([])
  32. # Use g_new_nodes_group if it exists otherwise g_nodes_group
  33. - set_fact:
  34. g_nodes_to_config: "{{ g_new_nodes_group | default(g_nodes_group | default([])) }}"
  35. - name: Evaluate oo_nodes_to_config
  36. add_host:
  37. name: "{{ item }}"
  38. groups: oo_nodes_to_config
  39. ansible_ssh_user: "{{ g_ssh_user | default(omit) }}"
  40. ansible_sudo: "{{ g_sudo | default(omit) }}"
  41. with_items: groups[g_nodes_to_config] | default([])
  42. # Skip adding the master to oo_nodes_to_config when g_new_nodes_group is
  43. - name: Evaluate oo_nodes_to_config
  44. add_host:
  45. name: "{{ item }}"
  46. groups: oo_nodes_to_config
  47. ansible_ssh_user: "{{ g_ssh_user | default(omit) }}"
  48. ansible_sudo: "{{ g_sudo | default(omit) }}"
  49. with_items: groups[g_masters_group] | default([])
  50. when: g_nodeonmaster | default(false) == true and g_new_nodes_group is not defined
  51. - name: Evaluate oo_first_etcd
  52. add_host:
  53. name: "{{ groups[g_etcd_group][0] }}"
  54. groups: oo_first_etcd
  55. ansible_ssh_user: "{{ g_ssh_user | default(omit) }}"
  56. when: g_etcd_group in groups and (groups[g_etcd_group] | length) > 0
  57. - name: Evaluate oo_first_master
  58. add_host:
  59. name: "{{ groups[g_masters_group][0] }}"
  60. groups: oo_first_master
  61. ansible_ssh_user: "{{ g_ssh_user | default(omit) }}"
  62. ansible_sudo: "{{ g_sudo | default(omit) }}"
  63. when: g_masters_group in groups and (groups[g_masters_group] | length) > 0
  64. - name: Evaluate oo_lb_to_config
  65. add_host:
  66. name: "{{ item }}"
  67. groups: oo_lb_to_config
  68. ansible_ssh_user: "{{ g_ssh_user | default(omit) }}"
  69. ansible_sudo: "{{ g_sudo | default(omit) }}"
  70. with_items: groups[g_lb_group] | default([])