system_container.yml 3.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263
  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: Check etcd system container package
  7. command: >
  8. atomic containers list --no-trunc -a -f container=etcd
  9. register: result
  10. - name: Set initial Etcd cluster
  11. set_fact:
  12. etcd_initial_cluster: >
  13. {% for host in etcd_peers | default([]) -%}
  14. {% if loop.last -%}
  15. {{ hostvars[host].etcd_hostname }}={{ etcd_peer_url_scheme }}://{{ hostvars[host].etcd_ip }}:{{ etcd_peer_port }}
  16. {%- else -%}
  17. {{ hostvars[host].etcd_hostname }}={{ etcd_peer_url_scheme }}://{{ hostvars[host].etcd_ip }}:{{ etcd_peer_port }},
  18. {%- endif -%}
  19. {% endfor -%}
  20. - name: Update Etcd system container package
  21. command: >
  22. atomic containers update
  23. --set ETCD_LISTEN_PEER_URLS={{ etcd_listen_peer_urls }}
  24. --set ETCD_NAME={{ etcd_hostname }}
  25. --set ETCD_INITIAL_CLUSTER={{ etcd_initial_cluster | replace('\n', '') }}
  26. --set ETCD_LISTEN_CLIENT_URLS={{ etcd_listen_client_urls }}
  27. --set ETCD_INITIAL_ADVERTISE_PEER_URLS={{ etcd_initial_advertise_peer_urls }}
  28. --set ETCD_INITIAL_CLUSTER_STATE={{ etcd_initial_cluster_state }}
  29. --set ETCD_INITIAL_CLUSTER_TOKEN={{ etcd_initial_cluster_token }}
  30. --set ETCD_ADVERTISE_CLIENT_URLS={{ etcd_advertise_client_urls }}
  31. --set ETCD_CA_FILE={{ etcd_system_container_conf_dir }}/ca.crt
  32. --set ETCD_CERT_FILE={{ etcd_system_container_conf_dir }}/server.crt
  33. --set ETCD_KEY_FILE={{ etcd_system_container_conf_dir }}/server.key
  34. --set ETCD_PEER_CA_FILE={{ etcd_system_container_conf_dir }}/ca.crt
  35. --set ETCD_PEER_CERT_FILE={{ etcd_system_container_conf_dir }}/peer.crt
  36. --set ETCD_PEER_KEY_FILE={{ etcd_system_container_conf_dir }}/peer.key
  37. etcd
  38. when:
  39. - ("etcd" in result.stdout)
  40. - name: Install Etcd system container package
  41. command: >
  42. atomic install --system --name=etcd
  43. --set ETCD_LISTEN_PEER_URLS={{ etcd_listen_peer_urls }}
  44. --set ETCD_NAME={{ etcd_hostname }}
  45. --set ETCD_INITIAL_CLUSTER={{ etcd_initial_cluster | replace('\n', '') }}
  46. --set ETCD_LISTEN_CLIENT_URLS={{ etcd_listen_client_urls }}
  47. --set ETCD_INITIAL_ADVERTISE_PEER_URLS={{ etcd_initial_advertise_peer_urls }}
  48. --set ETCD_INITIAL_CLUSTER_STATE={{ etcd_initial_cluster_state }}
  49. --set ETCD_INITIAL_CLUSTER_TOKEN={{ etcd_initial_cluster_token }}
  50. --set ETCD_ADVERTISE_CLIENT_URLS={{ etcd_advertise_client_urls }}
  51. --set ETCD_CA_FILE={{ etcd_system_container_conf_dir }}/ca.crt
  52. --set ETCD_CERT_FILE={{ etcd_system_container_conf_dir }}/server.crt
  53. --set ETCD_KEY_FILE={{ etcd_system_container_conf_dir }}/server.key
  54. --set ETCD_PEER_CA_FILE={{ etcd_system_container_conf_dir }}/ca.crt
  55. --set ETCD_PEER_CERT_FILE={{ etcd_system_container_conf_dir }}/peer.crt
  56. --set ETCD_PEER_KEY_FILE={{ etcd_system_container_conf_dir }}/peer.key
  57. {{ openshift.etcd.etcd_image }}
  58. when:
  59. - ("etcd" not in result.stdout)