system_container.yml 3.2 KB

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