123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899 |
- ---
- - set_fact:
- l_etcd_src_data_dir: "{{ '/var/lib/origin/openshift.local.etcd' if r_etcd_common_embedded_etcd | bool else '/var/lib/etcd/' }}"
- - name: Pull etcd system container
- command: atomic pull --storage=ostree {{ openshift.etcd.etcd_image }}
- register: pull_result
- changed_when: "'Pulling layer' in pull_result.stdout"
- - name: Set initial Etcd cluster
- set_fact:
- etcd_initial_cluster: >-
- {% for host in etcd_peers | default([]) -%}
- {% if loop.last -%}
- {{ hostvars[host].etcd_hostname }}={{ etcd_peer_url_scheme }}://{{ hostvars[host].etcd_ip }}:{{ etcd_peer_port }}
- {%- else -%}
- {{ hostvars[host].etcd_hostname }}={{ etcd_peer_url_scheme }}://{{ hostvars[host].etcd_ip }}:{{ etcd_peer_port }},
- {%- endif -%}
- {% endfor -%}
- - name: Check etcd system container package
- command: >
- atomic containers list --no-trunc -a -f container=etcd -f backend=ostree
- register: etcd_result
- - name: Unmask etcd service
- systemd:
- name: etcd
- state: stopped
- enabled: no
- masked: no
- daemon_reload: yes
- register: task_result
- failed_when: task_result|failed and 'could not' not in task_result.msg|lower
- when: "'etcd' not in etcd_result.stdout"
- - name: Disable etcd_container
- systemd:
- name: etcd_container
- state: stopped
- enabled: no
- daemon_reload: yes
- register: task_result
- failed_when: task_result|failed and 'could not' not in task_result.msg|lower
- - name: Remove etcd_container.service
- file:
- path: /etc/systemd/system/etcd_container.service
- state: absent
- - name: Systemd reload configuration
- systemd: name=etcd_container daemon_reload=yes
- - name: Check for previous etcd data store
- stat:
- path: "{{ l_etcd_src_data_dir }}/member/"
- register: src_datastore
- - name: Check for etcd system container data store
- stat:
- path: "{{ r_etcd_common_system_container_host_dir }}/etcd.etcd/member"
- register: dest_datastore
- - name: Ensure that etcd system container data dirs exist
- file: path="{{ item }}" state=directory
- with_items:
- - "{{ r_etcd_common_system_container_host_dir }}/etc"
- - "{{ r_etcd_common_system_container_host_dir }}/etcd.etcd"
- - name: Copy etcd data store
- command: >
- cp -a {{ l_etcd_src_data_dir }}/member
- {{ r_etcd_common_system_container_host_dir }}/etcd.etcd/member
- when:
- - src_datastore.stat.exists
- - not dest_datastore.stat.exists
- - name: Install or Update Etcd system container package
- oc_atomic_container:
- name: etcd
- image: "{{ openshift.etcd.etcd_image }}"
- state: latest
- values:
- - ETCD_LISTEN_PEER_URLS={{ etcd_listen_peer_urls }}
- - ETCD_NAME={{ etcd_hostname }}
- - ETCD_INITIAL_CLUSTER={{ etcd_initial_cluster }}
- - ETCD_LISTEN_CLIENT_URLS={{ etcd_listen_client_urls }}
- - ETCD_INITIAL_ADVERTISE_PEER_URLS={{ etcd_initial_advertise_peer_urls }}
- - ETCD_INITIAL_CLUSTER_STATE={{ etcd_initial_cluster_state }}
- - ETCD_INITIAL_CLUSTER_TOKEN={{ etcd_initial_cluster_token }}
- - ETCD_ADVERTISE_CLIENT_URLS={{ etcd_advertise_client_urls }}
- - ETCD_CA_FILE={{ etcd_system_container_conf_dir }}/ca.crt
- - ETCD_CERT_FILE={{ etcd_system_container_conf_dir }}/server.crt
- - ETCD_KEY_FILE={{ etcd_system_container_conf_dir }}/server.key
- - ETCD_PEER_CA_FILE={{ etcd_system_container_conf_dir }}/ca.crt
- - ETCD_PEER_CERT_FILE={{ etcd_system_container_conf_dir }}/peer.crt
- - ETCD_PEER_KEY_FILE={{ etcd_system_container_conf_dir }}/peer.key
- - ETCD_TRUSTED_CA_FILE={{ etcd_system_container_conf_dir }}/ca.crt
- - ETCD_PEER_TRUSTED_CA_FILE={{ etcd_system_container_conf_dir }}/ca.crt
|