-
Notifications
You must be signed in to change notification settings - Fork 187
/
setup_aiida.yml
91 lines (79 loc) · 2.65 KB
/
setup_aiida.yml
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: Set up AiiDa Environment
hosts: all
gather_facts: false
# run as aiida user
become: true
become_method: "{{ become_method }}"
become_user: "{{ aiida_user | default('aiida') }}"
environment:
AIIDA_PATH: "{{ aiida_path }}"
tasks:
- name: Create a new database with name "{{ aiida_backend }}"
postgresql_db:
name: "{{ aiida_backend }}"
login_host: localhost
login_user: aiida
login_password: ''
encoding: UTF8
lc_collate: en_US.UTF-8
lc_ctype: en_US.UTF-8
template: template0
- name: Add pg_stat_statements extension to the database
when: aiida_query_stats | default(false) | bool
postgresql_ext:
name: pg_stat_statements
login_host: localhost
login_user: aiida
login_password: ''
db: "{{ aiida_backend }}"
- name: verdi setup for "{{ aiida_backend }}"
command: >
{{ venv_bin }}/verdi setup
--non-interactive
--profile "{{ aiida_backend }}"
--email "aiida@localhost"
--first-name "ringo"
--last-name "starr"
--institution "the beatles"
--db-backend "{{ aiida_backend }}"
--db-host=localhost
--db-name="{{ aiida_backend }}"
--db-username=aiida
--db-password=''
args:
creates: "{{ aiida_path }}/.aiida/config.json"
- name: "Check if computer is already present"
command: "{{ venv_bin }}/verdi -p {{ aiida_backend }} computer show localhost"
ignore_errors: true
changed_when: false
no_log: true
register: aiida_check_computer
- name: verdi computer setup localhost
when: aiida_check_computer.rc != 0
command: >
{{ venv_bin }}/verdi -p {{ aiida_backend }} computer setup
--non-interactive
--label "localhost"
--description "this computer"
--hostname "localhost"
--transport core.local
--scheduler core.direct
--work-dir {{ aiida_path }}/local_work_dir/
--mpirun-command "mpirun -np {tot_num_mpiprocs}"
--mpiprocs-per-machine 1
- name: verdi computer configure localhost
when: aiida_check_computer.rc != 0
command: >
{{ venv_bin }}/verdi -p {{ aiida_backend }} computer configure core.local "localhost"
--non-interactive
--safe-interval 0.0
# we restart the daemon in run_tests.yml, so no need to start here
# - name: verdi start daemon with {{ aiida_workers }} workers
# command: "{{ venv_bin }}/verdi -p {{ aiida_backend }} daemon start {{ aiida_workers }}"
- name: get verdi status
command: "{{ venv_bin }}/verdi -p {{ aiida_backend }} status"
register: verdi_status
changed_when: false
- name: print verdi status
debug:
var: verdi_status.stdout