diff options
author | Scott Dodson <sdodson@redhat.com> | 2017-08-02 15:05:25 -0400 |
---|---|---|
committer | GitHub <noreply@github.com> | 2017-08-02 15:05:25 -0400 |
commit | 1765ce2bb6ab28a14c60dd5c268ec97ed788a1c1 (patch) | |
tree | fe9a859bed719346866f8b60d7557493bef1b83a /playbooks/common | |
parent | e8b99e303e94ae38a9dfce59a36413c88bcfc57c (diff) | |
parent | cd269f075b557e19ce5c0da33d1e2494e3bed9b7 (diff) | |
download | openshift-1765ce2bb6ab28a14c60dd5c268ec97ed788a1c1.tar.gz openshift-1765ce2bb6ab28a14c60dd5c268ec97ed788a1c1.tar.bz2 openshift-1765ce2bb6ab28a14c60dd5c268ec97ed788a1c1.tar.xz openshift-1765ce2bb6ab28a14c60dd5c268ec97ed788a1c1.zip |
Merge pull request #3043 from jkhelil/scaleup_etcd
Add etcd scaleup playbook
Diffstat (limited to 'playbooks/common')
-rw-r--r-- | playbooks/common/openshift-cluster/evaluate_groups.yml | 15 | ||||
-rw-r--r-- | playbooks/common/openshift-etcd/scaleup.yml | 30 |
2 files changed, 42 insertions, 3 deletions
diff --git a/playbooks/common/openshift-cluster/evaluate_groups.yml b/playbooks/common/openshift-cluster/evaluate_groups.yml index baca72c58..8accda8c7 100644 --- a/playbooks/common/openshift-cluster/evaluate_groups.yml +++ b/playbooks/common/openshift-cluster/evaluate_groups.yml @@ -5,10 +5,10 @@ become: no gather_facts: no tasks: - - name: Evaluate groups - g_etcd_hosts required + - name: Evaluate groups - g_etcd_hosts or g_new_etcd_hosts required fail: - msg: This playbook requires g_etcd_hosts to be set - when: g_etcd_hosts is not defined + msg: This playbook requires g_etcd_hosts or g_new_etcd_hosts to be set + when: "{{ g_etcd_hosts is not defined and g_new_etcd_hosts is not defined}}" - name: Evaluate groups - g_master_hosts or g_new_master_hosts required fail: @@ -67,6 +67,15 @@ when: g_master_hosts|length > 0 changed_when: no + - name: Evaluate oo_new_etcd_to_config + add_host: + name: "{{ item }}" + groups: oo_new_etcd_to_config + ansible_ssh_user: "{{ g_ssh_user | default(omit) }}" + ansible_become: "{{ g_sudo | default(omit) }}" + with_items: "{{ g_new_etcd_hosts | default([]) }}" + changed_when: no + - name: Evaluate oo_masters_to_config add_host: name: "{{ item }}" diff --git a/playbooks/common/openshift-etcd/scaleup.yml b/playbooks/common/openshift-etcd/scaleup.yml new file mode 100644 index 000000000..47fa8cdf5 --- /dev/null +++ b/playbooks/common/openshift-etcd/scaleup.yml @@ -0,0 +1,30 @@ +--- +- name: Configure etcd + hosts: oo_new_etcd_to_config + serial: 1 + any_errors_fatal: true + vars: + etcd_ca_host: "{{ groups.oo_etcd_to_config.0 }}" + pre_tasks: + - name: Add new etcd members to cluster + command: > + /usr/bin/etcdctl --cert-file {{ etcd_peer_cert_file }} + --key-file {{ etcd_peer_key_file }} + --ca-file {{ etcd_peer_ca_file }} + -C {{ etcd_peer_url_scheme }}://{{ etcd_ca_host }}:{{ etcd_client_port }} + member add {{ inventory_hostname }} {{ etcd_peer_url_scheme }}://{{ hostvars[inventory_hostname]['ansible_default_ipv4']['address'] }}:{{ etcd_peer_port }} + delegate_to: "{{ etcd_ca_host }}" + register: etcd_add_check + roles: + - role: openshift_etcd + when: etcd_add_check.rc == 0 + etcd_peers: "{{ groups.oo_etcd_to_config | union(groups.oo_new_etcd_to_config)| default([], true) }}" + etcd_ca_host: "{{ groups.oo_etcd_to_config.0 }}" + etcd_certificates_etcd_hosts: "{{ groups.oo_etcd_to_config | default([], true) }}" + etcd_initial_cluster_state: "existing" + initial_etcd_cluster: "{{ etcd_add_check.stdout_lines[3] | regex_replace('ETCD_INITIAL_CLUSTER=','') }}" + etcd_hostname: "{{ inventory_hostname }}" + etcd_ca_setup: False + r_etcd_common_etcd_runtime: "{{ openshift.common.etcd_runtime }}" + - role: nickhammond.logrotate + when: etcd_add_check.rc == 0 |