main.yml 2.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687
  1. ---
  2. - name: Set hostname and ip facts
  3. set_fact:
  4. # Store etcd_hostname and etcd_ip such that they will be available
  5. # in hostvars. Defaults for these variables are set in etcd_common.
  6. etcd_hostname: "{{ etcd_hostname }}"
  7. etcd_ip: "{{ etcd_ip }}"
  8. - name: Install etcd
  9. package: name=etcd state=present
  10. when: not etcd_is_containerized | bool
  11. - name: Pull etcd container
  12. command: docker pull {{ openshift.etcd.etcd_image }}
  13. register: pull_result
  14. changed_when: "'Downloaded newer image' in pull_result.stdout"
  15. when:
  16. - etcd_is_containerized | bool
  17. - not openshift.common.is_etcd_system_container | bool
  18. - name: Install etcd container service file
  19. template:
  20. dest: "/etc/systemd/system/etcd_container.service"
  21. src: etcd.docker.service
  22. when:
  23. - etcd_is_containerized | bool
  24. - not openshift.common.is_etcd_system_container | bool
  25. - name: Ensure etcd datadir exists when containerized
  26. file:
  27. path: "{{ etcd_data_dir }}"
  28. state: directory
  29. mode: 0700
  30. when: etcd_is_containerized | bool
  31. - name: Disable system etcd when containerized
  32. systemd:
  33. name: etcd
  34. state: stopped
  35. enabled: no
  36. masked: yes
  37. daemon_reload: yes
  38. when:
  39. - etcd_is_containerized | bool
  40. - not openshift.common.is_etcd_system_container | bool
  41. register: task_result
  42. failed_when: "task_result|failed and 'could not' not in task_result.msg|lower"
  43. - name: Install etcd container service file
  44. template:
  45. dest: "/etc/systemd/system/etcd_container.service"
  46. src: etcd.docker.service
  47. when: etcd_is_containerized | bool and not openshift.common.is_etcd_system_container | bool
  48. - name: Install Etcd system container
  49. include: system_container.yml
  50. when: etcd_is_containerized | bool and openshift.common.is_etcd_system_container | bool
  51. - name: Validate permissions on the config dir
  52. file:
  53. path: "{{ etcd_conf_dir }}"
  54. state: directory
  55. owner: "{{ 'etcd' if not etcd_is_containerized | bool else omit }}"
  56. group: "{{ 'etcd' if not etcd_is_containerized | bool else omit }}"
  57. mode: 0700
  58. - name: Write etcd global config file
  59. template:
  60. src: etcd.conf.j2
  61. dest: /etc/etcd/etcd.conf
  62. backup: true
  63. notify:
  64. - restart etcd
  65. - name: Enable etcd
  66. systemd:
  67. name: "{{ etcd_service }}"
  68. state: started
  69. enabled: yes
  70. register: start_result
  71. - include: etcdctl.yml
  72. when: openshift_etcd_etcdctl_profile | default(true) | bool
  73. - name: Set fact etcd_service_status_changed
  74. set_fact:
  75. etcd_service_status_changed: "{{ start_result | changed }}"