feat: enhance Redis service management by adding container stop/start logic and readiness check
Some checks failed
Nix Format Check / check-format (push) Waiting to run
Ansible Lint Check / check-ansible (push) Failing after 17s
Python Lint Check / check-python (push) Failing after 56s

This commit is contained in:
Menno van Leeuwen 2025-03-14 17:44:05 +01:00
parent 09093392cd
commit ef1143bc6d
Signed by: vleeuwenmenno
SSH Key Fingerprint: SHA256:OJFmjANpakwD3F2Rsws4GLtbdz1TJ5tkQF0RZmF0TRE

View File

@ -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