/
scipion.yml
125 lines (111 loc) · 3.08 KB
/
scipion.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
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
- name: Deploy on OpenStack
hosts: localhost
gather_facts: false
vars:
os: "centos"
vars_files:
- vars/common.yml
- vars/{{ os }}.yml
tasks:
- debug: var=user_name
- name: Create a volume
os_volume:
state: present
size: "{{ volume_size }}"
display_name: "{{ volume_name }}"
- name: Deploy a master
os_server:
state: present
name: "{{ master_name }}"
image: "{{ os_image }}"
key_name: "{{ key_name }}"
wait: yes
flavor: "{{ flavor_name }}"
auto_floating_ip: yes
network: "{{ network_name }}"
security_groups: default,ssh_sg
meta:
hostname: "{{ master_name }}.localdomain"
volumes:
- "{{ volume_name }}"
register: master
- set_fact: master_ip="{{master.server.public_v4}}"
- name: Wait for SSH on the Instance
command: >
ssh -oBatchMode=yes -oStrictHostKeyChecking=no
{{os}}@{{master.server.public_v4}} true
register: result
until: result|success
retries: 5
delay: 10
# - debug:
# msg: "{{master_ip}}"
- name: Add master to inventory
add_host: name=master groups=master_servers
ansible_ssh_host={{ master.server.public_v4 }}
- name: Deploy worker nodes
os_server:
state: present
name: "{{ worker_name }}{{ item }}"
flavor: "{{ flavor_name }}"
auto_floating_ip: yes
image: "{{ os_image }}"
key_name: "{{ key_name }}"
network: "{{ network_name }}"
security_groups: default,ssh_sg
meta:
hostname: "{{ master_name }}{{ item }}.localdomain"
# register: workerng{{ item }}
register: newnodes
with_sequence:
count={{ count }}
- name: Add worker nodes to inventory
add_host: name={{ item.server.public_v4 }}
groups=worker_servers
instance_name={{ item.server.name }}
with_items: "{{ newnodes.results }}"
- hosts: master_servers
remote_user: "{{ user_name }}"
# remote_user: centos
sudo: yes
gather_facts: false
vars:
os: "centos"
vars_files:
- vars/common.yml
- vars/{{ os }}.yml
pre_tasks:
- name: install python
raw: test -e /usr/bin/python || (sudo apt -y update && sudo apt install -y python-minimal)
when: os == 'ubuntu'
roles:
- update-system
- ipv6-disable
- ssh
- nfs-server
- master-config
- scipion-prerequisities
- scipion
- hosts: worker_servers
remote_user: "{{ user_name }}"
sudo: yes
gather_facts: false
vars:
os: "centos"
vars_files:
- vars/common.yml
- vars/{{ os }}.yml
pre_tasks:
- name: install python
raw: test -e /usr/bin/python || (sudo apt -y update && sudo apt install -y python)
when: os == 'ubuntu'
- name: "Wait for SSH banners"
local_action: wait_for port=22 host="{{ inventory_hostname }}" search_regex=OpenSSH delay=5
become: False
roles:
- update-system
- ssh
- ipv6-disable
- nfs-client
- worker-config
- scipion-prerequisities