diff options
| author | Jan Chaloupka <jchaloup@redhat.com> | 2017-10-05 16:17:35 +0200 | 
|---|---|---|
| committer | Jan Chaloupka <jchaloup@redhat.com> | 2017-10-06 16:45:23 +0200 | 
| commit | 43b7dcd79df91114d6b7cd9c9bf09a4254746f73 (patch) | |
| tree | f4dae4805b47dd4cc45e98ed9bce172cae7c9927 /roles/openshift_master | |
| parent | a25709a6f16913b59ef2edc3e07d8bc8a598f41e (diff) | |
migrate embedded etcd to external etcd
Diffstat (limited to 'roles/openshift_master')
| -rw-r--r-- | roles/openshift_master/tasks/check_master_api_is_ready.yml | 14 | ||||
| -rw-r--r-- | roles/openshift_master/tasks/configure_external_etcd.yml | 17 | ||||
| -rw-r--r-- | roles/openshift_master/tasks/main.yml | 18 | 
3 files changed, 32 insertions, 17 deletions
diff --git a/roles/openshift_master/tasks/check_master_api_is_ready.yml b/roles/openshift_master/tasks/check_master_api_is_ready.yml new file mode 100644 index 000000000..7e8a7a596 --- /dev/null +++ b/roles/openshift_master/tasks/check_master_api_is_ready.yml @@ -0,0 +1,14 @@ +--- +- name: Wait for API to become available +  # Using curl here since the uri module requires python-httplib2 and +  # wait_for port doesn't provide health information. +  command: > +    curl --silent --tlsv1.2 +    --cacert {{ openshift.common.config_base }}/master/ca-bundle.crt +    {{ openshift.master.api_url }}/healthz/ready +  register: l_api_available_output +  until: l_api_available_output.stdout == 'ok' +  retries: 120 +  delay: 1 +  run_once: true +  changed_when: false diff --git a/roles/openshift_master/tasks/configure_external_etcd.yml b/roles/openshift_master/tasks/configure_external_etcd.yml new file mode 100644 index 000000000..b0590ac84 --- /dev/null +++ b/roles/openshift_master/tasks/configure_external_etcd.yml @@ -0,0 +1,17 @@ +--- +- name: Remove etcdConfig section +  yedit: +    src: /etc/origin/master/master-config.yaml +    key: "etcdConfig" +    state: absent +- name: Set etcdClientInfo.ca to master.etcd-ca.crt +  yedit: +    src: /etc/origin/master/master-config.yaml +    key: etcdClientInfo.ca +    value: master.etcd-ca.crt +- name: Set etcdClientInfo.urls to the external etcd +  yedit: +    src: /etc/origin/master/master-config.yaml +    key: etcdClientInfo.urls +    value: +      - "{{ etcd_peer_url_scheme }}://{{ etcd_ip }}:{{ etcd_peer_port }}" diff --git a/roles/openshift_master/tasks/main.yml b/roles/openshift_master/tasks/main.yml index 82b4b420c..824a5886e 100644 --- a/roles/openshift_master/tasks/main.yml +++ b/roles/openshift_master/tasks/main.yml @@ -311,23 +311,7 @@  # A separate wait is required here for native HA since notifies will  # be resolved after all tasks in the role. -- name: Wait for API to become available -  # Using curl here since the uri module requires python-httplib2 and -  # wait_for port doesn't provide health information. -  command: > -    curl --silent --tlsv1.2 -    {% if openshift.common.version_gte_3_2_or_1_2 | bool %} -    --cacert {{ openshift.common.config_base }}/master/ca-bundle.crt -    {% else %} -    --cacert {{ openshift.common.config_base }}/master/ca.crt -    {% endif %} -    {{ openshift.master.api_url }}/healthz/ready -  register: l_api_available_output -  until: l_api_available_output.stdout == 'ok' -  retries: 120 -  delay: 1 -  run_once: true -  changed_when: false +- include: check_master_api_is_ready.yml    when:    - openshift.master.cluster_method == 'native'    - master_api_service_status_changed | bool  | 
