Browse Source
Restart etcd if the etcd version changes (#8556)
Signed-off-by: Mac Chaffee <me@macchaffee.com>
pull/8621/head
Mac Chaffee
3 years ago
committed by
GitHub
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
3 changed files with
49 additions and
8 deletions
-
roles/etcd/tasks/install_docker.yml
-
roles/etcd/tasks/install_host.yml
-
roles/etcd/tasks/main.yml
|
|
@ -2,6 +2,30 @@ |
|
|
|
- import_tasks: install_etcdctl_docker.yml |
|
|
|
when: etcd_cluster_setup |
|
|
|
|
|
|
|
- name: Get currently-deployed etcd version |
|
|
|
shell: "{{ docker_bin_dir }}/docker ps --filter='name={{ etcd_member_name }}' --format='{{ '{{ .Image }}' }}'" |
|
|
|
register: etcd_current_docker_image |
|
|
|
when: etcd_cluster_setup |
|
|
|
|
|
|
|
- name: Get currently-deployed etcd-events version |
|
|
|
shell: "{{ docker_bin_dir }}/docker ps --filter='name={{ etcd_member_name }}-events' --format='{{ '{{ .Image }}' }}'" |
|
|
|
register: etcd_events_current_docker_image |
|
|
|
when: etcd_events_cluster_setup |
|
|
|
|
|
|
|
- name: Restart etcd if necessary |
|
|
|
command: /bin/true |
|
|
|
notify: restart etcd |
|
|
|
when: |
|
|
|
- etcd_cluster_setup |
|
|
|
- etcd_image_tag not in etcd_current_docker_image.stdout|default('') |
|
|
|
|
|
|
|
- name: Restart etcd-events if necessary |
|
|
|
command: /bin/true |
|
|
|
notify: restart etcd-events |
|
|
|
when: |
|
|
|
- etcd_events_cluster_setup |
|
|
|
- etcd_image_tag not in etcd_events_current_docker_image.stdout|default('') |
|
|
|
|
|
|
|
- name: Install etcd launch script |
|
|
|
template: |
|
|
|
src: etcd.j2 |
|
|
|
|
|
@ -1,4 +1,25 @@ |
|
|
|
--- |
|
|
|
- name: Get currently-deployed etcd version |
|
|
|
command: "{{ bin_dir }}/etcd --version" |
|
|
|
register: etcd_current_host_version |
|
|
|
# There's a chance this play could run before etcd is installed at all |
|
|
|
ignore_errors: true |
|
|
|
when: etcd_cluster_setup |
|
|
|
|
|
|
|
- name: Restart etcd if necessary |
|
|
|
command: /bin/true |
|
|
|
notify: restart etcd |
|
|
|
when: |
|
|
|
- etcd_cluster_setup |
|
|
|
- etcd_version.lstrip('v') not in etcd_current_host_version.stdout|default('') |
|
|
|
|
|
|
|
- name: Restart etcd-events if necessary |
|
|
|
command: /bin/true |
|
|
|
notify: restart etcd-events |
|
|
|
when: |
|
|
|
- etcd_events_cluster_setup |
|
|
|
- etcd_version.lstrip('v') not in etcd_current_host_version.stdout|default('') |
|
|
|
|
|
|
|
- name: install | Download etcd and etcdctl |
|
|
|
include_tasks: "../../download/tasks/download_file.yml" |
|
|
|
vars: |
|
|
|
|
|
@ -47,17 +47,13 @@ |
|
|
|
when: is_etcd_master |
|
|
|
|
|
|
|
- name: Restart etcd if certs changed |
|
|
|
service: |
|
|
|
name: etcd |
|
|
|
state: restarted |
|
|
|
enabled: yes |
|
|
|
command: /bin/true |
|
|
|
notify: restart etcd |
|
|
|
when: is_etcd_master and etcd_cluster_setup and etcd_secret_changed|default(false) |
|
|
|
|
|
|
|
- name: Restart etcd-events if certs changed |
|
|
|
service: |
|
|
|
name: etcd-events |
|
|
|
state: restarted |
|
|
|
enabled: yes |
|
|
|
command: /bin/true |
|
|
|
notify: restart etcd |
|
|
|
when: is_etcd_master and etcd_events_cluster_setup and etcd_secret_changed|default(false) |
|
|
|
|
|
|
|
# After etcd cluster is assembled, make sure that |
|
|
|