Skip to content
Snippets Groups Projects
Commit f9e86b69 authored by Gallenkamp, Fabian's avatar Gallenkamp, Fabian
Browse files

Added postgresql; Changed naming of subtasks; Created supervisor template;...

Added postgresql; Changed naming of subtasks; Created supervisor template; Added python 3.7 compatibility
parent ac504183
No related branches found
No related tags found
No related merge requests found
...@@ -4,3 +4,4 @@ group_vars/otree_servers.yml ...@@ -4,3 +4,4 @@ group_vars/otree_servers.yml
files/ files/
*.retry *.retry
*.swp *.swp
*.save
...@@ -3,7 +3,7 @@ ...@@ -3,7 +3,7 @@
become: true become: true
hosts: all hosts: all
tasks: tasks:
#- name: create directory or clone # create new project from given directory (in "files/$user") or clone project from given git-repository
- name: remove old projects - name: remove old projects
file: file:
state: absent state: absent
...@@ -50,14 +50,24 @@ ...@@ -50,14 +50,24 @@
with_dict: "{{ otree_users }}" with_dict: "{{ otree_users }}"
when: item.value.override and item.value.app_repo is not defined when: item.value.override and item.value.app_repo is not defined
# install python dependencies # clear old venv directory since python.X -m venv --clear is only executed once on creation
- name: remove old venv
file:
state: absent
path: "/home/{{ item.key }}/.venv_otree/"
become: yes
become_user: "{{ item.key }}"
with_dict: "{{ otree_users }}"
when: item.value.override
# install python dependencies, otree and
- name: install psycopg2 - name: install psycopg2
pip: pip:
name: psycopg2 name: psycopg2
state: forcereinstall state: present
#state: present
virtualenv: "/home/{{ item.key }}/.venv_otree" virtualenv: "/home/{{ item.key }}/.venv_otree"
virtualenv_command: "/usr/bin/python3 -m venv" virtualenv_command: "/usr/bin/python{{ '3.7' if item.value.pre_release else '3'}} -m venv"
become: yes become: yes
become_user: "{{ item.key }}" become_user: "{{ item.key }}"
with_dict: "{{ otree_users }}" with_dict: "{{ otree_users }}"
...@@ -66,11 +76,10 @@ ...@@ -66,11 +76,10 @@
- name: install otree - name: install otree
pip: pip:
name: otree name: otree
state: forcereinstall state: present
# state: present
extra_args: "{{ '--pre' if item.value.pre_release else '' }}" extra_args: "{{ '--pre' if item.value.pre_release else '' }}"
virtualenv: "/home/{{ item.key }}/.venv_otree" virtualenv: "/home/{{ item.key }}/.venv_otree"
virtualenv_command: "/usr/bin/python3 -m venv" virtualenv_command: "/usr/bin/python{{ '3.7' if item.value.pre_release else '3'}} -m venv"
become: yes become: yes
become_user: "{{ item.key }}" become_user: "{{ item.key }}"
with_dict: "{{ otree_users }}" with_dict: "{{ otree_users }}"
...@@ -81,7 +90,7 @@ ...@@ -81,7 +90,7 @@
state: present state: present
requirements: "/home/{{ item.key }}/otree/requirements.txt" requirements: "/home/{{ item.key }}/otree/requirements.txt"
virtualenv: "/home/{{ item.key }}/.venv_otree" virtualenv: "/home/{{ item.key }}/.venv_otree"
virtualenv_command: "/usr/bin/python3 -m venv" virtualenv_command: "/usr/bin/python{{ '3.7' if item.value.pre_release else '3'}} -m venv"
become: yes become: yes
become_user: "{{ item.key }}" become_user: "{{ item.key }}"
with_dict: "{{ otree_users }}" with_dict: "{{ otree_users }}"
...@@ -123,5 +132,3 @@ ...@@ -123,5 +132,3 @@
state: restarted state: restarted
with_dict: "{{ otree_users }}" with_dict: "{{ otree_users }}"
# TODO: set up otree (create venv, install pip packages, adapt .bashrc, run resetdb # TODO: set up otree (create venv, install pip packages, adapt .bashrc, run resetdb
...@@ -21,18 +21,18 @@ ...@@ -21,18 +21,18 @@
state: present state: present
with_dict: "{{ otree_users }}" with_dict: "{{ otree_users }}"
when: item.value.override when: item.value.override
become: yes
become_user: postgres
- name: ensure users have access to the databases - name: ensure users have access to the databases
postgresql_user: postgresql_user:
db: "instance_{{ item.key }}" db: "instance_{{ item.key }}"
name: "{{ item }}" name: "{{ item.key }}"
name: "{{ item }}" password: "{{ item.value.admin_pw }}"
priv: ALL priv: ALL
role_attr_flags: NOSUPERUSER,NOCREATEDB
state: present state: present
with_dict: "{{ otree_users }}" with_dict: "{{ otree_users }}"
when: item.value.override when: item.value.override
become: yes
- name: ensure users do not have unnecessary priviliges become_user: postgres
postgresql_user:
role_attr_flags: NOSUPERUSER,NOCREATEDB
when: item.value.override
FIXME: TODO
File moved
...@@ -10,6 +10,10 @@ ...@@ -10,6 +10,10 @@
- python3-pip - python3-pip
- python3-dev - python3-dev
- python3-venv - python3-venv
- python3.7
- python3.7-dev
- python3.7-venv
- python-psycopg2
- libpq-dev - libpq-dev
- redis-server - redis-server
- git - git
...@@ -53,7 +57,12 @@ ...@@ -53,7 +57,12 @@
name: "{{ item }}" name: "{{ item }}"
state: absent state: absent
with_items: "{{ removed_users }}" with_items: "{{ removed_users }}"
# TODO: remove supervisor configs # FIXME: remove supervisor configs for deleted users
# add python repos, FIXME should be avoided by using recent unbuntu version
#- name: add ppa repository with python versions
# apt_repository: "ppa:deadsnakes/ppa"
# state: present
# install all apt packages # install all apt packages
- name: update package information - name: update package information
...@@ -66,5 +75,5 @@ ...@@ -66,5 +75,5 @@
- import_playbook: "configure_nginx.yml" - import_playbook: "configure_nginx.yml"
- import_playbook: "configure_postgresql.yml" - import_playbook: "configure_postgresql.yml"
- import_playbook: "setup_otree.yml" - import_playbook: "configure_otree.yml"
- import_playbook: "setup_firewall.yml" - import_playbook: "configure_ufw.yml"
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment