diff options
| author | OpenShift Merge Robot <openshift-merge-robot@users.noreply.github.com> | 2017-10-11 09:40:00 -0700 | 
|---|---|---|
| committer | GitHub <noreply@github.com> | 2017-10-11 09:40:00 -0700 | 
| commit | 94656ef680c235f8777d48528c314357673d255c (patch) | |
| tree | 158897c6f1372ec4a7f00d9771d8bb3569217c5c /roles/openshift_master/tasks | |
| parent | 7b5cc97271ae834b9f2e64ec2b17f4ea3208017f (diff) | |
| parent | 49436b4222a10a53a90686a3b051b99b24f799f8 (diff) | |
| download | openshift-94656ef680c235f8777d48528c314357673d255c.tar.gz openshift-94656ef680c235f8777d48528c314357673d255c.tar.bz2 openshift-94656ef680c235f8777d48528c314357673d255c.tar.xz openshift-94656ef680c235f8777d48528c314357673d255c.zip | |
Merge pull request #5672 from ingvagabund/migrate-embedded-etcd
Automatic merge from submit-queue.
Migrate embedded etcd to external etcd
Trello card: https://trello.com/c/9fnBfkT5/528-migrate-embedded-etcd-hosts-to-external-process?menu=filter&filter=label:committed-3.7
Tested on:
- [x] embedded etcd -> external rpm etcd
- [x] embedded etcd -> external docker etcd
One needs to set the `openshift_image_tag` before running the migration to containerized docker etcd.
Diffstat (limited to 'roles/openshift_master/tasks')
| -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 | 
