system_container.yml 3.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899
  1. ---
  2. - set_fact:
  3. l_etcd_src_data_dir: "{{ '/var/lib/origin/openshift.local.etcd' if r_etcd_common_embedded_etcd | bool else '/var/lib/etcd/' }}"
  4. - name: Pull etcd system container
  5. command: atomic pull --storage=ostree {{ openshift.etcd.etcd_image }}
  6. register: pull_result
  7. changed_when: "'Pulling layer' in pull_result.stdout"
  8. - name: Set initial Etcd cluster
  9. set_fact:
  10. etcd_initial_cluster: >-
  11. {% for host in etcd_peers | default([]) -%}
  12. {% if loop.last -%}
  13. {{ hostvars[host].etcd_hostname }}={{ etcd_peer_url_scheme }}://{{ hostvars[host].etcd_ip }}:{{ etcd_peer_port }}
  14. {%- else -%}
  15. {{ hostvars[host].etcd_hostname }}={{ etcd_peer_url_scheme }}://{{ hostvars[host].etcd_ip }}:{{ etcd_peer_port }},
  16. {%- endif -%}
  17. {% endfor -%}
  18. - name: Check etcd system container package
  19. command: >
  20. atomic containers list --no-trunc -a -f container=etcd -f backend=ostree
  21. register: etcd_result
  22. - name: Unmask etcd service
  23. systemd:
  24. name: etcd
  25. state: stopped
  26. enabled: no
  27. masked: no
  28. daemon_reload: yes
  29. register: task_result
  30. failed_when: task_result|failed and 'could not' not in task_result.msg|lower
  31. when: "'etcd' not in etcd_result.stdout"
  32. - name: Disable etcd_container
  33. systemd:
  34. name: etcd_container
  35. state: stopped
  36. enabled: no
  37. daemon_reload: yes
  38. register: task_result
  39. failed_when: task_result|failed and 'could not' not in task_result.msg|lower
  40. - name: Remove etcd_container.service
  41. file:
  42. path: /etc/systemd/system/etcd_container.service
  43. state: absent
  44. - name: Systemd reload configuration
  45. systemd: name=etcd_container daemon_reload=yes
  46. - name: Check for previous etcd data store
  47. stat:
  48. path: "{{ l_etcd_src_data_dir }}/member/"
  49. register: src_datastore
  50. - name: Check for etcd system container data store
  51. stat:
  52. path: "{{ r_etcd_common_system_container_host_dir }}/etcd.etcd/member"
  53. register: dest_datastore
  54. - name: Ensure that etcd system container data dirs exist
  55. file: path="{{ item }}" state=directory
  56. with_items:
  57. - "{{ r_etcd_common_system_container_host_dir }}/etc"
  58. - "{{ r_etcd_common_system_container_host_dir }}/etcd.etcd"
  59. - name: Copy etcd data store
  60. command: >
  61. cp -a {{ l_etcd_src_data_dir }}/member
  62. {{ r_etcd_common_system_container_host_dir }}/etcd.etcd/member
  63. when:
  64. - src_datastore.stat.exists
  65. - not dest_datastore.stat.exists
  66. - name: Install or Update Etcd system container package
  67. oc_atomic_container:
  68. name: etcd
  69. image: "{{ openshift.etcd.etcd_image }}"
  70. state: latest
  71. values:
  72. - ETCD_LISTEN_PEER_URLS={{ etcd_listen_peer_urls }}
  73. - ETCD_NAME={{ etcd_hostname }}
  74. - ETCD_INITIAL_CLUSTER={{ etcd_initial_cluster }}
  75. - ETCD_LISTEN_CLIENT_URLS={{ etcd_listen_client_urls }}
  76. - ETCD_INITIAL_ADVERTISE_PEER_URLS={{ etcd_initial_advertise_peer_urls }}
  77. - ETCD_INITIAL_CLUSTER_STATE={{ etcd_initial_cluster_state }}
  78. - ETCD_INITIAL_CLUSTER_TOKEN={{ etcd_initial_cluster_token }}
  79. - ETCD_ADVERTISE_CLIENT_URLS={{ etcd_advertise_client_urls }}
  80. - ETCD_CA_FILE={{ etcd_system_container_conf_dir }}/ca.crt
  81. - ETCD_CERT_FILE={{ etcd_system_container_conf_dir }}/server.crt
  82. - ETCD_KEY_FILE={{ etcd_system_container_conf_dir }}/server.key
  83. - ETCD_PEER_CA_FILE={{ etcd_system_container_conf_dir }}/ca.crt
  84. - ETCD_PEER_CERT_FILE={{ etcd_system_container_conf_dir }}/peer.crt
  85. - ETCD_PEER_KEY_FILE={{ etcd_system_container_conf_dir }}/peer.key
  86. - ETCD_TRUSTED_CA_FILE={{ etcd_system_container_conf_dir }}/ca.crt
  87. - ETCD_PEER_TRUSTED_CA_FILE={{ etcd_system_container_conf_dir }}/ca.crt