docker_compose(role): use community.docker.docker_compose_v2 module
Use the community.docker.docker_compose_v2 module as it supports proper changed handling out of the box, making the roles code more straightforward and work. Also just do a docker compose restart instead of having the custom docker compose reload script. https://docs.ansible.com/ansible/latest/collections/community/docker/docker_compose_v2_module.html
This commit is contained in:
parent
9f8d2d89cd
commit
ae60d6fea6
5 changed files with 21 additions and 48 deletions
|
|
@ -1,2 +1 @@
|
|||
docker_compose__configuration_files: [ ]
|
||||
docker_compose__restart_cmd: ""
|
||||
|
|
|
|||
|
|
@ -1,13 +1,11 @@
|
|||
- name: docker compose down
|
||||
ansible.builtin.command:
|
||||
cmd: /usr/bin/docker compose down
|
||||
chdir: /ansible_docker_compose
|
||||
community.docker.docker_compose_v2:
|
||||
project_src: /ansible_docker_compose
|
||||
state: absent
|
||||
become: true
|
||||
changed_when: true # This is always changed.
|
||||
- name: docker compose reload script
|
||||
ansible.builtin.command:
|
||||
cmd: /usr/bin/docker compose {{ docker_compose__restart_cmd }}
|
||||
chdir: /ansible_docker_compose
|
||||
|
||||
- name: docker compose restart
|
||||
community.docker.docker_compose_v2:
|
||||
project_src: /ansible_docker_compose
|
||||
state: restarted
|
||||
become: true
|
||||
changed_when: true # Mark this as always changed (for now?).
|
||||
when: docker_compose__restart_cmd != ""
|
||||
|
|
|
|||
|
|
@ -59,7 +59,7 @@
|
|||
state: absent
|
||||
become: true
|
||||
loop: "{{ docker_compose__config_files_to_remove.files }}"
|
||||
# notify: docker compose down
|
||||
notify: docker compose restart
|
||||
|
||||
- name: make sure all given configuration files are deployed
|
||||
ansible.builtin.copy:
|
||||
|
|
@ -70,45 +70,19 @@
|
|||
group: root
|
||||
become: true
|
||||
loop: "{{ docker_compose__configuration_files }}"
|
||||
# notify: docker compose down
|
||||
notify: docker compose reload script
|
||||
notify: docker compose restart
|
||||
|
||||
- name: Flush handlers to make "docker compose down" handler run now
|
||||
- name: Flush handlers to make "docker compose down" and "docker compose restart" handlers run now
|
||||
ansible.builtin.meta: flush_handlers
|
||||
|
||||
- name: docker compose ps --format json before docker compose up
|
||||
ansible.builtin.command:
|
||||
cmd: /usr/bin/docker compose ps --format json
|
||||
chdir: /ansible_docker_compose
|
||||
- name: docker compose up
|
||||
community.docker.docker_compose_v2:
|
||||
project_src: /ansible_docker_compose
|
||||
state: present
|
||||
build: always
|
||||
pull: always
|
||||
remove_orphans: true
|
||||
become: true
|
||||
changed_when: false
|
||||
register: docker_compose__ps_json_before_up
|
||||
|
||||
- name: docker compose up --detach --pull always --build
|
||||
ansible.builtin.command:
|
||||
cmd: /usr/bin/docker compose up --detach --pull always --build --remove-orphans
|
||||
chdir: /ansible_docker_compose
|
||||
become: true
|
||||
changed_when: false
|
||||
# The changed for this task is tried to be determined by the "potentially
|
||||
# report changed" task together with the "docker compose ps --format json
|
||||
# [...]" tasks.
|
||||
|
||||
- name: docker compose ps --format json after docker compose up
|
||||
ansible.builtin.command:
|
||||
cmd: /usr/bin/docker compose ps --format json
|
||||
chdir: /ansible_docker_compose
|
||||
become: true
|
||||
changed_when: false
|
||||
register: docker_compose__ps_json_after_up
|
||||
|
||||
# Doesn't work anymore. Dunno why.
|
||||
# TODO: Fix
|
||||
# - name: potentially report changed
|
||||
# ansible.builtin.debug:
|
||||
# msg: "If this reports changed, then the docker compose containers changed."
|
||||
# changed_when: (docker_compose__ps_json_before_up.stdout | from_json | community.general.json_query('[].ID') | sort)
|
||||
# != (docker_compose__ps_json_after_up.stdout | from_json | community.general.json_query('[].ID') | sort)
|
||||
|
||||
- name: Make sure anacron is installed
|
||||
become: true
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue