system_container.yml 2.4 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061
  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 for previous etcd data store
  17. stat:
  18. path: "{{ etcd_data_dir }}/member/"
  19. register: src_datastore
  20. - name: Check for etcd system container data store
  21. stat:
  22. path: "{{ r_etcd_common_system_container_host_dir }}/etcd.etcd/member"
  23. register: dest_datastore
  24. - name: Ensure that etcd system container data dirs exist
  25. file: path="{{ item }}" state=directory
  26. with_items:
  27. - "{{ r_etcd_common_system_container_host_dir }}/etc"
  28. - "{{ r_etcd_common_system_container_host_dir }}/etcd.etcd"
  29. - name: Copy etcd data store
  30. command: >
  31. cp -a {{ etcd_data_dir }}/member
  32. {{ r_etcd_common_system_container_host_dir }}/etcd.etcd/member
  33. when:
  34. - src_datastore.stat.exists
  35. - not dest_datastore.stat.exists
  36. - name: Install or Update Etcd system container package
  37. oc_atomic_container:
  38. name: etcd
  39. image: "{{ openshift.etcd.etcd_image }}"
  40. state: latest
  41. values:
  42. - ETCD_LISTEN_PEER_URLS={{ etcd_listen_peer_urls }}
  43. - ETCD_NAME={{ etcd_hostname }}
  44. - ETCD_INITIAL_CLUSTER={{ etcd_initial_cluster }}
  45. - ETCD_LISTEN_CLIENT_URLS={{ etcd_listen_client_urls }}
  46. - ETCD_INITIAL_ADVERTISE_PEER_URLS={{ etcd_initial_advertise_peer_urls }}
  47. - ETCD_INITIAL_CLUSTER_STATE={{ etcd_initial_cluster_state }}
  48. - ETCD_INITIAL_CLUSTER_TOKEN={{ etcd_initial_cluster_token }}
  49. - ETCD_ADVERTISE_CLIENT_URLS={{ etcd_advertise_client_urls }}
  50. - ETCD_CA_FILE={{ etcd_system_container_conf_dir }}/ca.crt
  51. - ETCD_CERT_FILE={{ etcd_system_container_conf_dir }}/server.crt
  52. - ETCD_KEY_FILE={{ etcd_system_container_conf_dir }}/server.key
  53. - ETCD_PEER_CA_FILE={{ etcd_system_container_conf_dir }}/ca.crt
  54. - ETCD_PEER_CERT_FILE={{ etcd_system_container_conf_dir }}/peer.crt
  55. - ETCD_PEER_KEY_FILE={{ etcd_system_container_conf_dir }}/peer.key