mirror of
https://github.com/geerlingguy/ansible-role-docker.git
synced 2025-10-15 11:15:35 +02:00
fix: only remove legacy docker.list if it doesn't reference official Docker repo (idempotence)
This commit is contained in:
parent
9a97e68df9
commit
b40ecc1a3e
@ -16,9 +16,30 @@
|
|||||||
state: absent
|
state: absent
|
||||||
|
|
||||||
- name: Ensure legacy repo file is not present.
|
- name: Ensure legacy repo file is not present.
|
||||||
ansible.builtin.file:
|
block:
|
||||||
path: "/etc/apt/sources.list.d/docker.list"
|
- name: Check for legacy docker.list
|
||||||
state: absent
|
ansible.builtin.stat:
|
||||||
|
path: "/etc/apt/sources.list.d/docker.list"
|
||||||
|
register: legacy_docker_list
|
||||||
|
|
||||||
|
- name: Remove legacy docker.list if it does not reference the official Docker repo
|
||||||
|
ansible.builtin.shell: |
|
||||||
|
legacy_path="/etc/apt/sources.list.d/docker.list"
|
||||||
|
if [ -f "$legacy_path" ]; then
|
||||||
|
if grep -q "{{ docker_repo_url }}" "$legacy_path"; then
|
||||||
|
# file points to official repo; leave it
|
||||||
|
exit 0
|
||||||
|
else
|
||||||
|
rm -f "$legacy_path"
|
||||||
|
exit 0
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
when: legacy_docker_list.stat.exists
|
||||||
|
changed_when: "'removed' in ansible_facts.get('cmd', {}) or (legacy_docker_list.stat.exists and (lookup('file', '/etc/apt/sources.list.d/docker.list') | default('') | search(docker_repo_url) == False))"
|
||||||
|
args:
|
||||||
|
warn: false
|
||||||
|
register: remove_legacy_result
|
||||||
|
failed_when: false
|
||||||
|
|
||||||
- name: Ensure dependencies are installed.
|
- name: Ensure dependencies are installed.
|
||||||
ansible.builtin.apt:
|
ansible.builtin.apt:
|
||||||
|
Loading…
Reference in New Issue
Block a user