Browse Source

Merge pull request #5367 from abutcher/etcd-scaleup-master-client-urls

Bug 1490304: Etcd scale-up playbook should add new member to etcdClientInfo of master-config.yaml
Scott Dodson 7 years ago
parent
commit
4b728ee84b

+ 19 - 0
playbooks/common/openshift-etcd/scaleup.yml

@@ -23,6 +23,9 @@
                        -C {{ etcd_peer_url_scheme }}://{{ hostvars[etcd_ca_host].etcd_hostname }}:{{ etcd_client_port }}
                        member add {{ etcd_hostname }} {{ etcd_peer_url_scheme }}://{{ etcd_ip }}:{{ etcd_peer_port }}
     delegate_to: "{{ etcd_ca_host }}"
+    failed_when:
+    - etcd_add_check.rc == 1
+    - ("peerURL exists" not in etcd_add_check.stderr)
     register: etcd_add_check
     retries: 3
     delay: 10
@@ -53,3 +56,19 @@
     retries: 3
     delay: 30
     until: scaleup_health.rc == 0
+
+- name: Update master etcd client urls
+  hosts: oo_masters_to_config
+  serial: 1
+  tasks:
+  - include_role:
+      name: openshift_master
+      tasks_from: update_etcd_client_urls
+    vars:
+      etcd_ca_host: "{{ groups.oo_etcd_to_config.0 }}"
+      openshift_ca_host: "{{ groups.oo_first_master.0 }}"
+      openshift_master_etcd_hosts: "{{ hostvars
+                                       | oo_select_keys(groups['oo_etcd_to_config'] | union(groups['oo_new_etcd_to_config']))
+                                       | oo_collect('openshift.common.hostname')
+                                       | default(none, true) }}"
+      openshift_master_etcd_port: "{{ (etcd_client_port | default('2379')) if (groups.oo_etcd_to_config is defined and groups.oo_etcd_to_config) else none }}"

+ 8 - 0
roles/openshift_master/tasks/update_etcd_client_urls.yml

@@ -0,0 +1,8 @@
+---
+- yedit:
+    src: "{{ openshift.common.config_base }}/master/master-config.yaml"
+    key: 'etcdClientInfo.urls'
+    value: "{{ openshift.master.etcd_urls }}"
+  notify:
+  - restart master api
+  - restart master controllers