-
Notifications
You must be signed in to change notification settings - Fork 0
/
setup_nodes.yml
38 lines (38 loc) · 1.04 KB
/
setup_nodes.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
---
- name: Reserve node
shell: "module load prun && preserve -np {{node_count}} 900"
register: results
- set_fact:
reservation_number: "{{ results.stdout | regex_search(regexp, '\\1') | first }}"
vars:
regexp: "Reservation number (.+):"
- debug:
var: reservation_number
- name: Wait until nodes are ready
shell: |
module load prun
preserve -llist | grep -E "^{{ reservation_number }}" | cut -d$'\t' -f 7
register: output
until: output.stdout == "R"
retries: 120
delay: 5
- name: Get node hostnames
shell: |
module load prun
preserve -llist | grep -E "^{{ reservation_number }}" | cut -d$'\t' -f 9
register: output
- debug:
var: output
- name: Add server hostnames to playbook
add_host:
name: "{{ output.stdout.split()[0] }}"
groups:
- worker
- server
- name: Add client hostnames to playbook
add_host:
name: "{{ item }}"
groups:
- worker
- clients
loop: "{{ output.stdout.split()[1:] }}"