summaryrefslogtreecommitdiffstats
path: root/playbooks/openshift-master/private/scaleup.yml
diff options
context:
space:
mode:
Diffstat (limited to 'playbooks/openshift-master/private/scaleup.yml')
-rw-r--r--playbooks/openshift-master/private/scaleup.yml57
1 files changed, 57 insertions, 0 deletions
diff --git a/playbooks/openshift-master/private/scaleup.yml b/playbooks/openshift-master/private/scaleup.yml
new file mode 100644
index 000000000..021399965
--- /dev/null
+++ b/playbooks/openshift-master/private/scaleup.yml
@@ -0,0 +1,57 @@
+---
+- name: Update master count
+ hosts: oo_masters:!oo_masters_to_config
+ serial: 1
+ roles:
+ - openshift_facts
+ post_tasks:
+ - openshift_facts:
+ role: master
+ local_facts:
+ ha: "{{ openshift_master_ha | default(groups.oo_masters | length > 1) }}"
+ master_count: "{{ openshift_master_count | default(groups.oo_masters | length) }}"
+ - name: Update master count
+ modify_yaml:
+ dest: "{{ openshift.common.config_base}}/master/master-config.yaml"
+ yaml_key: 'kubernetesMasterConfig.masterCount'
+ yaml_value: "{{ openshift.master.master_count }}"
+ notify:
+ - restart master api
+ - restart master controllers
+ handlers:
+ - name: restart master api
+ service: name={{ openshift.common.service_type }}-master-controllers state=restarted
+ notify: verify api server
+ # We retry the controllers because the API may not be 100% initialized yet.
+ - name: restart master controllers
+ command: "systemctl restart {{ openshift.common.service_type }}-master-controllers"
+ retries: 3
+ delay: 5
+ register: result
+ until: result.rc == 0
+ - name: verify api server
+ command: >
+ curl --silent --tlsv1.2
+ --cacert {{ openshift.common.config_base }}/master/ca-bundle.crt
+ {{ openshift.master.api_url }}/healthz/ready
+ args:
+ # Disables the following warning:
+ # Consider using get_url or uri module rather than running curl
+ warn: no
+ register: api_available_output
+ until: api_available_output.stdout == 'ok'
+ retries: 120
+ delay: 1
+ changed_when: false
+
+- include: set_network_facts.yml
+
+- include: ../../openshift-etcd/private/certificates.yml
+
+- include: config.yml
+
+- include: ../../openshift-loadbalancer/private/config.yml
+
+- include: ../../openshift-node/private/certificates.yml
+
+- include: ../../openshift-node/private/config.yml