Skip to content

Commit e0a3107

Browse files
committed
fix: safely remove legacy docker.list on Debian without unsupported args/filters
1 parent b40ecc1 commit e0a3107

File tree

1 file changed

+10
-17
lines changed

1 file changed

+10
-17
lines changed

tasks/setup-Debian.yml

Lines changed: 10 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -21,25 +21,18 @@
2121
ansible.builtin.stat:
2222
path: "/etc/apt/sources.list.d/docker.list"
2323
register: legacy_docker_list
24+
- name: Check whether legacy docker.list references the official Docker repo
25+
ansible.builtin.command:
26+
cmd: grep -q "{{ docker_repo_url }}" /etc/apt/sources.list.d/docker.list
27+
register: legacy_grep
28+
ignore_errors: true
29+
changed_when: false
2430

2531
- name: Remove legacy docker.list if it does not reference the official Docker repo
26-
ansible.builtin.shell: |
27-
legacy_path="/etc/apt/sources.list.d/docker.list"
28-
if [ -f "$legacy_path" ]; then
29-
if grep -q "{{ docker_repo_url }}" "$legacy_path"; then
30-
# file points to official repo; leave it
31-
exit 0
32-
else
33-
rm -f "$legacy_path"
34-
exit 0
35-
fi
36-
fi
37-
when: legacy_docker_list.stat.exists
38-
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))"
39-
args:
40-
warn: false
41-
register: remove_legacy_result
42-
failed_when: false
32+
ansible.builtin.file:
33+
path: "/etc/apt/sources.list.d/docker.list"
34+
state: absent
35+
when: legacy_docker_list.stat.exists and legacy_grep.rc != 0
4336

4437
- name: Ensure dependencies are installed.
4538
ansible.builtin.apt:

0 commit comments

Comments
 (0)