blob: fb81e8907e11cea463efb969941e7888f8d7f23b [file] [log] [blame]
Dennis Dmitrieveac3aab2017-07-12 16:36:41 +03001{% from 'virtual-mcp-ocata-cicd/underlay.yaml' import HOSTNAME_CFG01 with context %}
2{% from 'virtual-mcp-ocata-cicd/underlay.yaml' import HOSTNAME_CTL01 with context %}
3{% from 'virtual-mcp-ocata-cicd/underlay.yaml' import HOSTNAME_CTL02 with context %}
4{% from 'virtual-mcp-ocata-cicd/underlay.yaml' import HOSTNAME_CTL03 with context %}
5{% from 'virtual-mcp-ocata-cicd/salt.yaml' import IPV4_NET_EXTERNAL_PREFIX with context %}
6{% from 'virtual-mcp-ocata-cicd/salt.yaml' import IPV4_NET_TENANT_PREFIX with context %}
7
8# Install OpenStack control services
9
10- description: Install glance on all controllers
11 cmd: salt --hard-crash --state-output=mixed --state-verbose=False
12 -C 'I@glance:server' state.sls glance -b 1
13 node_name: {{ HOSTNAME_CFG01 }}
14 retry: {count: 1, delay: 5}
15 skip_fail: false
16
17- description: Install keystone service (note that different fernet keys are created on different nodes)
18 cmd: salt --hard-crash --state-output=mixed --state-verbose=False
19 -C 'I@keystone:server' state.sls keystone.server -b 1
20 node_name: {{ HOSTNAME_CFG01 }}
21 retry: {count: 2, delay: 15}
22 skip_fail: false
23
24- description: Restart apache due to PROD-10477
25 cmd: salt --hard-crash --state-output=mixed --state-verbose=False 'ctl*' cmd.run "systemctl restart apache2"
26 node_name: {{ HOSTNAME_CFG01 }}
27 retry: {count: 1, delay: 15}
28 skip_fail: false
29
30- description: Check apache status to PROD-10477
31 cmd: salt --hard-crash --state-output=mixed --state-verbose=False 'ctl*' cmd.run "systemctl status apache2"
32 node_name: {{ HOSTNAME_CFG01 }}
33 retry: {count: 1, delay: 15}
34 skip_fail: false
35
36- description: Mount glusterfs.client volumes (resuires created 'keystone' and 'glusterfs' system users)
37 cmd: salt --hard-crash --state-output=mixed --state-verbose=False
38 -C 'I@glance:server' state.sls glusterfs.client
39 node_name: {{ HOSTNAME_CFG01 }}
40 retry: {count: 1, delay: 5}
41 skip_fail: false
42
43- description: Update fernet keys for keystone server on the mounted glusterfs volume
44 cmd: salt --hard-crash --state-output=mixed --state-verbose=False
45 -C 'I@keystone:server' state.sls keystone.server -b 1
46 node_name: {{ HOSTNAME_CFG01 }}
47 retry: {count: 1, delay: 5}
48 skip_fail: false
49
50- description: Populate keystone services/tenants/admins
51 cmd: salt --hard-crash --state-output=mixed --state-verbose=False
52 -C 'I@keystone:client' state.sls keystone.client
53 node_name: {{ HOSTNAME_CFG01 }}
54 retry: {count: 1, delay: 5}
55 skip_fail: false
56
57- description: Check keystone service-list
58 cmd: salt --hard-crash --state-output=mixed --state-verbose=False
59 -C 'I@keystone:server' cmd.run '. /root/keystonerc; openstack service list'
60 node_name: {{ HOSTNAME_CFG01 }}
61 retry: {count: 1, delay: 5}
62 skip_fail: false
63
64- description: Check glance image-list
65 cmd: salt --hard-crash --state-output=mixed --state-verbose=False
66 -C 'I@keystone:server' cmd.run '. /root/keystonerc; glance image-list'
67 node_name: {{ HOSTNAME_CFG01 }}
68 retry: {count: 1, delay: 5}
69 skip_fail: false
70
71
72- description: Install nova on all controllers
73 cmd: salt --hard-crash --state-output=mixed --state-verbose=False
74 -C 'I@nova:controller' state.sls nova -b 1
75 node_name: {{ HOSTNAME_CFG01 }}
76 retry: {count: 2, delay: 5}
77 skip_fail: false
78
79- description: Check nova service-list
80 cmd: salt --hard-crash --state-output=mixed --state-verbose=False
81 -C 'I@keystone:server' cmd.run '. /root/keystonerc; nova service-list'
82 node_name: {{ HOSTNAME_CFG01 }}
83 retry: {count: 1, delay: 5}
84 skip_fail: false
85
86
87- description: Install cinder
88 cmd: salt --hard-crash --state-output=mixed --state-verbose=False
89 -C 'I@cinder:controller' state.sls cinder -b 1
90 node_name: {{ HOSTNAME_CFG01 }}
91 retry: {count: 1, delay: 5}
92 skip_fail: false
93
94- description: Check cinder list
95 cmd: salt --hard-crash --state-output=mixed --state-verbose=False
96 -C 'I@keystone:server' cmd.run '. /root/keystonerc; cinder list'
97 node_name: {{ HOSTNAME_CFG01 }}
98 retry: {count: 1, delay: 5}
99 skip_fail: false
100
101
102- description: Install neutron service
103 cmd: salt --hard-crash --state-output=mixed --state-verbose=False
104 -C 'I@neutron:server' state.sls neutron -b 1
105 node_name: {{ HOSTNAME_CFG01 }}
106 retry: {count: 1, delay: 5}
107 skip_fail: false
108
109- description: Install neutron on gtw node
110 cmd: salt --hard-crash --state-output=mixed --state-verbose=False
111 -C 'I@neutron:gateway' state.sls neutron
112 node_name: {{ HOSTNAME_CFG01 }}
113 retry: {count: 1, delay: 5}
114 skip_fail: false
115
116# isntall designate
117- description: Install bind
118 cmd: salt --hard-crash --state-output=mixed --state-verbose=False
119 -C 'I@bind:server' state.sls bind
120 node_name: {{ HOSTNAME_CFG01 }}
121 retry: {count: 1, delay: 5}
122 skip_fail: false
123
124- description: Install designate
125 cmd: salt --hard-crash --state-output=mixed --state-verbose=False
126 -C 'I@designate:server' state.sls designate -b 1
127 node_name: {{ HOSTNAME_CFG01 }}
128 retry: {count: 5, delay: 10}
129 skip_fail: false
130
131- description: Check neutron agent-list
132 cmd: salt --hard-crash --state-output=mixed --state-verbose=False
133 -C 'I@keystone:server' cmd.run '. /root/keystonerc; neutron agent-list'
134 node_name: {{ HOSTNAME_CFG01 }}
135 retry: {count: 1, delay: 5}
136 skip_fail: false
137
138
139- description: Install heat service
140 cmd: salt --hard-crash --state-output=mixed --state-verbose=False
141 -C 'I@heat:server' state.sls heat -b 1
142 node_name: {{ HOSTNAME_CFG01 }}
143 retry: {count: 1, delay: 5}
144 skip_fail: false
145
146- description: Check heat service
147 cmd: salt --hard-crash --state-output=mixed --state-verbose=False
148 -C 'I@keystone:server' cmd.run '. /root/keystonerc; openstack orchestration resource type list'
149 node_name: {{ HOSTNAME_CFG01 }}
150 retry: {count: 5, delay: 10}
151 skip_fail: false
152
153
154- description: Deploy horizon dashboard
155 cmd: salt --hard-crash --state-output=mixed --state-verbose=False
156 -C 'I@horizon:server' state.sls horizon
157 node_name: {{ HOSTNAME_CFG01 }}
158 retry: {count: 1, delay: 5}
159 skip_fail: true
160
161- description: Deploy nginx proxy
162 cmd: salt --hard-crash --state-output=mixed --state-verbose=False
163 -C 'I@nginx:server' state.sls nginx
164 node_name: {{ HOSTNAME_CFG01 }}
165 retry: {count: 1, delay: 5}
166 skip_fail: true
167
168
169# Install compute node
170
171- description: Apply formulas for compute node
172 cmd: salt --hard-crash --state-output=mixed --state-verbose=False 'cmp*' state.apply
173 node_name: {{ HOSTNAME_CFG01 }}
174 retry: {count: 1, delay: 5}
175 skip_fail: true
176
177- description: Re-apply(as in doc) formulas for compute node
178 cmd: salt --hard-crash --state-output=mixed --state-verbose=False 'cmp*' state.apply
179 node_name: {{ HOSTNAME_CFG01 }}
180 retry: {count: 1, delay: 5}
181 skip_fail: true
182
183- description: Check IP on computes
184 cmd: salt --hard-crash --state-output=mixed --state-verbose=False 'cmp*' cmd.run
185 'ip a'
186 node_name: {{ HOSTNAME_CFG01 }}
187 retry: {count: 10, delay: 30}
188 skip_fail: false
189
190
191 # Upload cirros image
192
193- description: Upload cirros image on ctl01
194 cmd: salt --hard-crash --state-output=mixed --state-verbose=False 'ctl01*' cmd.run
195 'wget http://download.cirros-cloud.net/0.3.4/cirros-0.3.4-i386-disk.img'
196 node_name: {{ HOSTNAME_CFG01 }}
197 retry: {count: 2, delay: 30}
198 skip_fail: false
199
200- description: Register image in glance
201 cmd: salt --hard-crash --state-output=mixed --state-verbose=False 'ctl01*' cmd.run
202 '. /root/keystonercv3; glance image-create --name cirros --visibility public --disk-format qcow2 --container-format bare --progress < /root/cirros-0.3.4-i386-disk.img'
203 node_name: {{ HOSTNAME_CFG01 }}
204 retry: {count: 1, delay: 30}
205 skip_fail: false
206
207- description: Create net04_external
208 cmd: salt --hard-crash --state-output=mixed --state-verbose=False 'ctl01*' cmd.run
209 '. /root/keystonercv3; neutron net-create net04_ext --shared --router:external True --provider:physical_network physnet1 --provider:network_type flat'
210 node_name: {{ HOSTNAME_CFG01 }}
211 retry: {count: 1, delay: 30}
212 skip_fail: false
213
214- description: Create subnet_external
215 cmd: salt --hard-crash --state-output=mixed --state-verbose=False 'ctl01*' cmd.run
216 '. /root/keystonercv3; neutron subnet-create net04_ext {{ IPV4_NET_EXTERNAL_PREFIX }}.0/24 --name net04_ext__subnet --disable-dhcp --allocation-pool start={{ IPV4_NET_EXTERNAL_PREFIX }}.150,end={{ IPV4_NET_EXTERNAL_PREFIX }}.180 --gateway {{ IPV4_NET_EXTERNAL_PREFIX }}.1'
217 node_name: {{ HOSTNAME_CFG01 }}
218 retry: {count: 1, delay: 30}
219 skip_fail: false
220
221- description: Create net04
222 cmd: salt --hard-crash --state-output=mixed --state-verbose=False 'ctl01*' cmd.run
223 '. /root/keystonercv3; neutron net-create net04'
224 node_name: {{ HOSTNAME_CFG01 }}
225 retry: {count: 1, delay: 30}
226 skip_fail: false
227
228- description: Create subnet_net04
229 cmd: salt --hard-crash --state-output=mixed --state-verbose=False 'ctl01*' cmd.run
230 '. /root/keystonercv3; neutron subnet-create net04 {{ IPV4_NET_TENANT_PREFIX }}.0/24 --name net04__subnet --allocation-pool start={{ IPV4_NET_TENANT_PREFIX }}.120,end={{ IPV4_NET_TENANT_PREFIX }}.240'
231 node_name: {{ HOSTNAME_CFG01 }}
232 retry: {count: 1, delay: 30}
233 skip_fail: false
234
235- description: Create router
236 cmd: salt --hard-crash --state-output=mixed --state-verbose=False 'ctl01*' cmd.run
237 '. /root/keystonercv3; neutron router-create net04_router01'
238 node_name: {{ HOSTNAME_CFG01 }}
239 retry: {count: 1, delay: 30}
240 skip_fail: false
241
242- description: Set geteway
243 cmd: salt --hard-crash --state-output=mixed --state-verbose=False 'ctl01*' cmd.run
244 '. /root/keystonercv3; neutron router-gateway-set net04_router01 net04_ext'
245 node_name: {{ HOSTNAME_CFG01 }}
246 retry: {count: 1, delay: 30}
247 skip_fail: false
248
249- description: Add interface
250 cmd: salt --hard-crash --state-output=mixed --state-verbose=False 'ctl01*' cmd.run
251 '. /root/keystonercv3; neutron router-interface-add net04_router01 net04__subnet'
252 node_name: {{ HOSTNAME_CFG01 }}
253 retry: {count: 1, delay: 30}
254 skip_fail: false
255
256- description: Allow all tcp
257 cmd: salt --hard-crash --state-output=mixed --state-verbose=False 'ctl01*' cmd.run
258 '. /root/keystonercv3; nova secgroup-add-rule default tcp 1 65535 0.0.0.0/0'
259 node_name: {{ HOSTNAME_CFG01 }}
260 retry: {count: 1, delay: 30}
261 skip_fail: false
262
263- description: Allow all icmp
264 cmd: salt --hard-crash --state-output=mixed --state-verbose=False 'ctl01*' cmd.run
265 '. /root/keystonercv3; nova secgroup-add-rule default icmp -1 -1 0.0.0.0/0'
266 node_name: {{ HOSTNAME_CFG01 }}
267 retry: {count: 1, delay: 30}
268 skip_fail: false
269
270# Configure cinder-volume salt-call
271- description: Set disks 01
272 cmd: salt-call cmd.run 'echo -e "nn\np\n\n\n\nw" | fdisk /dev/vdb'
273 node_name: {{ HOSTNAME_CTL01 }}
274 retry: {count: 1, delay: 30}
275 skip_fail: false
276
277- description: Set disks 02
278 cmd: salt-call cmd.run 'echo -e "nn\np\n\n\n\nw" | fdisk /dev/vdb'
279 node_name: {{ HOSTNAME_CTL02 }}
280 retry: {count: 1, delay: 30}
281 skip_fail: false
282
283- description: Set disks 03
284 cmd: salt-call cmd.run 'echo -e "nn\np\n\n\n\nw" | fdisk /dev/vdb'
285 node_name: {{ HOSTNAME_CTL03 }}
286 retry: {count: 1, delay: 30}
287 skip_fail: false
288
289- description: Create partitions 01
290 cmd: salt-call cmd.run 'pvcreate /dev/vdb1'
291 node_name: {{ HOSTNAME_CTL01 }}
292 retry: {count: 1, delay: 30}
293 skip_fail: false
294
295- description: Create partitions 02
296 cmd: salt-call cmd.run 'pvcreate /dev/vdb1'
297 node_name: {{ HOSTNAME_CTL01 }}
298 retry: {count: 1, delay: 30}
299 skip_fail: false
300
301- description: Create partitions 03
302 cmd: salt-call cmd.run 'pvcreate /dev/vdb1'
303 node_name: {{ HOSTNAME_CTL01 }}
304 retry: {count: 1, delay: 30}
305 skip_fail: false