Skip to content

Commit e787bb2

Browse files
committed
cloudflare: purge venv folder when setup fails and print apt message
1 parent 7734827 commit e787bb2

File tree

1 file changed

+65
-51
lines changed
  • resources/roles/dns/tasks/cloudflare/subtasks

1 file changed

+65
-51
lines changed

resources/roles/dns/tasks/cloudflare/subtasks/setup.yml

Lines changed: 65 additions & 51 deletions
Original file line numberDiff line numberDiff line change
@@ -7,61 +7,75 @@
77
# GNU General Public License v3.0 #
88
#########################################################################
99
---
10-
- name: Cloudflare | Setup | Install 'tld' Python package (Ansible venv)
11-
ansible.builtin.pip:
12-
name:
13-
- "tld"
14-
state: "latest"
10+
- name: Cloudflare | Setup | Setup venv block
11+
block:
12+
- name: Cloudflare | Setup | Install 'tld' Python package (Ansible venv)
13+
ansible.builtin.pip:
14+
name:
15+
- "tld"
16+
state: "latest"
1517

16-
- name: Cloudflare | Setup | Create directory
17-
ansible.builtin.file:
18-
path: "{{ cloudflare_path }}"
19-
state: directory
20-
owner: "{{ user.name }}"
21-
group: "{{ user.name }}"
22-
mode: "0775"
23-
recurse: true
18+
- name: Cloudflare | Setup | Create directory
19+
ansible.builtin.file:
20+
path: "{{ cloudflare_path }}"
21+
state: directory
22+
owner: "{{ user.name }}"
23+
group: "{{ user.name }}"
24+
mode: "0775"
25+
recurse: true
2426

25-
- name: Cloudflare | Setup | Import Cloudflare files
26-
ansible.builtin.copy:
27-
src: "{{ item }}"
28-
force: true
29-
dest: "{{ cloudflare_path }}/{{ item }}"
30-
owner: "{{ user.name }}"
31-
group: "{{ user.name }}"
32-
mode: "0775"
33-
with_items:
34-
- "cloudflare.py"
35-
- "requirements.txt"
27+
- name: Cloudflare | Setup | Import Cloudflare files
28+
ansible.builtin.copy:
29+
src: "{{ item }}"
30+
force: true
31+
dest: "{{ cloudflare_path }}/{{ item }}"
32+
owner: "{{ user.name }}"
33+
group: "{{ user.name }}"
34+
mode: "0775"
35+
with_items:
36+
- "cloudflare.py"
37+
- "requirements.txt"
3638

37-
- name: Cloudflare | Setup | Set Python version
38-
ansible.builtin.set_fact:
39-
cloudflare_python: "{{ 'python3'
40-
if ansible_distribution_version is version('20.04', '==')
41-
else 'python3.8' }}"
39+
- name: Cloudflare | Setup | Set Python version
40+
ansible.builtin.set_fact:
41+
cloudflare_python: "{{ 'python3'
42+
if ansible_distribution_version is version('20.04', '==')
43+
else 'python3.8' }}"
4244

43-
- name: Cloudflare | Setup | Execute Python role
44-
ansible.builtin.include_role:
45-
name: "python"
46-
vars:
47-
python_version: "3.8"
48-
when: ansible_distribution_version is version('22.04', '==')
45+
- name: Cloudflare | Setup | Execute Python role
46+
ansible.builtin.include_role:
47+
name: "python"
48+
vars:
49+
python_version: "3.8"
50+
when: ansible_distribution_version is version('22.04', '==')
4951

50-
- name: Cloudflare | Setup | Check if venv folder exists
51-
ansible.builtin.stat:
52-
path: "{{ cloudflare_venv_path }}"
53-
register: cloudflare_venv_folder
52+
- name: Cloudflare | Setup | Check if venv folder exists
53+
ansible.builtin.stat:
54+
path: "{{ cloudflare_venv_path }}"
55+
register: cloudflare_venv_folder
5456

55-
- name: Cloudflare | Setup | Delete venv folder
56-
ansible.builtin.file:
57-
path: "{{ cloudflare_venv_path }}"
58-
state: absent
59-
when: cloudflare_venv_folder.stat.exists
57+
- name: Cloudflare | Setup | Delete venv folder
58+
ansible.builtin.file:
59+
path: "{{ cloudflare_venv_path }}"
60+
state: absent
61+
when: cloudflare_venv_folder.stat.exists
6062

61-
- name: Cloudflare | Setup | Install pip requirements
62-
ansible.builtin.pip:
63-
requirements: "{{ cloudflare_requirements_path }}"
64-
virtualenv_python: "{{ cloudflare_python }}"
65-
virtualenv: "{{ cloudflare_venv_path }}"
66-
become: true
67-
become_user: "{{ user.name }}"
63+
- name: Cloudflare | Setup | Install pip requirements
64+
ansible.builtin.pip:
65+
requirements: "{{ cloudflare_requirements_path }}"
66+
virtualenv_python: "{{ cloudflare_python }}"
67+
virtualenv: "{{ cloudflare_venv_path }}"
68+
become: true
69+
become_user: "{{ user.name }}"
70+
71+
rescue:
72+
- name: Cloudflare | Setup | Delete venv folder
73+
ansible.builtin.file:
74+
path: "{{ cloudflare_venv_path }}"
75+
state: absent
76+
77+
- name: Cloudflare | Setup | Print Failure
78+
ansible.builtin.fail:
79+
msg:
80+
- "Setting up the Cloudflare venv failed for some reason."
81+
- "This usually means issues with apt. Make sure 'sudo apt update' and 'sudo apt upgrade' works before retrying."

0 commit comments

Comments
 (0)