-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathplaybook_install_errors.yml
More file actions
91 lines (81 loc) · 2.57 KB
/
playbook_install_errors.yml
File metadata and controls
91 lines (81 loc) · 2.57 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
---
- name: Install and configure Python, Flask, on Ubuntu
hosts: all
become: true
tasks:
- name: Update apt package list
apt:
update_cache: yes
register: apt_update
failed_when: apt_update.rc != 0
changed_when: apt_update.cache_updated
retries: 2
delay: 1
until: apt_update is succeeded
- name: Upgrade apt packages
apt:
upgrade: dist
register: apt_upgrade
failed_when: apt_upgrade.rc != 0
retries: 2
delay: 1
until: apt_upgrade is succeeded
- name: Install Python3 and pip
apt:
name: python3-pip
state: present
register: python3_pip_install
failed_when: python3_pip_install.rc != 0
- name: Ensure python3.12-venv is installed
apt:
name: python3.12-venv
state: present
register: python3_venv_install
failed_when: python3_venv_install.rc != 0
- name: Install additional dependencies
apt:
name:
- python3-dev
- libmysqlclient-dev
- build-essential
- pkg-config
- gunicorn
state: present
register: dependency_install
failed_when: dependency_install.rc != 0
- name: Create a Python virtual environment
command: python3 -m venv /home/ubuntu/todolist-flask/venv
args:
creates: /home/ubuntu/todolist-flask/venv/bin/activate
register: venv_creation
failed_when: "'No module named venv' in venv_creation.stderr"
- name: Validate virtual environment exists
stat:
path: /home/ubuntu/todolist-flask/venv/bin/activate
register: venv_check
failed_when: not venv_check.stat.exists
- name: Install Flask using pip
pip:
name: flask
executable: /home/ubuntu/todolist-flask/venv/bin/pip
register: flask_install
failed_when: flask_install.failed
- name: Install Python dependencies from requirements.txt
pip:
requirements: /home/ubuntu/todolist-flask/requirements.txt
executable: /home/ubuntu/todolist-flask/venv/bin/pip
register: requirements_install
failed_when: "'ERROR' in requirements_install.stderr"
- name: Install python-dotenv in the virtual environment
pip:
name: python-dotenv
executable: /home/ubuntu/todolist-flask/venv/bin/pip
register: dotenv_install
failed_when: dotenv_install.failed
- name: Install MySQL Server
apt:
name: mysql-server
state: present
update_cache: yes
register: mysql_install
failed_when: mysql_install.rc != 0