feat: enhance Redis service management by adding container stop/start logic and readiness check
This commit is contained in:
parent
09093392cd
commit
ef1143bc6d
@ -35,17 +35,33 @@
|
|||||||
enabled: false
|
enabled: false
|
||||||
register: juicefs_stop
|
register: juicefs_stop
|
||||||
changed_when: juicefs_stop.changed
|
changed_when: juicefs_stop.changed
|
||||||
|
when: redis_compose.changed
|
||||||
|
|
||||||
- name: Stop Redis service
|
- name: List containers that are running
|
||||||
ansible.builtin.command: docker compose -f "{{ redis_service_dir }}/docker-compose.yml" down --remove-orphans
|
ansible.builtin.command: docker ps -q
|
||||||
register: redis_stop
|
register: docker_ps
|
||||||
changed_when: redis_stop.rc == 0
|
changed_when: docker_ps.rc == 0
|
||||||
|
when: redis_compose.changed
|
||||||
|
|
||||||
|
- name: Stop all docker containers
|
||||||
|
ansible.builtin.command: docker stop {{ item }}
|
||||||
|
loop: "{{ docker_ps.stdout_lines }}"
|
||||||
|
register: docker_stop
|
||||||
|
changed_when: docker_stop.rc == 0
|
||||||
|
when: redis_compose.changed
|
||||||
|
ignore_errors: true
|
||||||
|
|
||||||
- name: Start Redis service
|
- name: Start Redis service
|
||||||
ansible.builtin.command: docker compose -f "{{ redis_service_dir }}/docker-compose.yml" up -d
|
ansible.builtin.command: docker compose -f "{{ redis_service_dir }}/docker-compose.yml" up -d
|
||||||
register: redis_start
|
register: redis_start
|
||||||
changed_when: redis_start.rc == 0
|
changed_when: redis_start.rc == 0
|
||||||
|
|
||||||
|
- name: Wait for Redis to be ready
|
||||||
|
ansible.builtin.wait_for:
|
||||||
|
host: localhost
|
||||||
|
port: 6379
|
||||||
|
timeout: 30
|
||||||
|
|
||||||
- name: Start juicefs.service to mount JuiceFS
|
- name: Start juicefs.service to mount JuiceFS
|
||||||
ansible.builtin.systemd:
|
ansible.builtin.systemd:
|
||||||
name: juicefs.service
|
name: juicefs.service
|
||||||
@ -54,8 +70,9 @@
|
|||||||
register: juicefs_start
|
register: juicefs_start
|
||||||
changed_when: juicefs_start.changed
|
changed_when: juicefs_start.changed
|
||||||
|
|
||||||
- name: Wait for Redis to be ready
|
- name: Restart containers that were stopped
|
||||||
ansible.builtin.wait_for:
|
ansible.builtin.command: docker start {{ item }}
|
||||||
host: localhost
|
loop: "{{ docker_stop.results | map(attribute='item') | list }}"
|
||||||
port: 6379
|
register: docker_restart
|
||||||
timeout: 30
|
changed_when: docker_restart.rc == 0
|
||||||
|
when: redis_compose.changed
|
||||||
|
Loading…
x
Reference in New Issue
Block a user