blob: 78bb31972d8b019f5f94fb6ae75ca8e3f1c9d1d6 [file] [log] [blame]
Artem Panchenko0594cd72017-06-12 13:25:26 +03001{% from 'virtual-mcp11-k8s-contrail/underlay.yaml' import HOSTNAME_CFG01 with context %}
2
Sergii Golovatiukf648ad42017-06-23 13:39:11 +02003- description: Sync time on nodes
Victor Ryzhenkin43c0d0e2017-07-07 19:53:25 +04004 cmd: salt '*' cmd.run "service ntp stop; ntpd -gq ;
5 service ntp start; ntp-wait || exit 1"
Sergii Golovatiukf648ad42017-06-23 13:39:11 +02006 node_name: {{ HOSTNAME_CFG01 }}
7 retry: {count: 2, delay: 1}
Tatyana Leontovich3b04e302017-07-11 19:01:35 +03008 skip_fail: true
Sergii Golovatiukf648ad42017-06-23 13:39:11 +02009
vrovachev8a882d82017-06-21 12:56:19 +040010- description: Set k8s deploy parameters
11 cmd: |
12 {% for k8s_opt, value in config.k8s_deploy.items() %}
13 {% if value|string() %}
14 salt-call reclass.cluster_meta_set {{ k8s_opt }} {{ value }};
15 {% endif %}
16 {% endfor %}
17 node_name: {{ HOSTNAME_CFG01 }}
18 retry: {count: 1, delay: 1}
19 skip_fail: false
20
Sergii Golovatiuk7a7cef52017-08-11 16:45:12 +020021- description: Replace kube-api VIP with IP of one controller
Sergii Golovatiukce0763d2017-08-11 18:45:54 +020022 cmd: find /srv/salt/reclass/ -type f -exec sed -i 's/ipf_addresses:\ \${_param:kubernetes_control_address}/ipf_addresses:\ \${_param:kubernetes_control_node01_address}/g' {} +
Sergii Golovatiuk7a7cef52017-08-11 16:45:12 +020023 node_name: {{ HOSTNAME_CFG01 }}
24 retry: {count: 1, delay: 1}
25 skip_fail: false
26
Artem Panchenko0594cd72017-06-12 13:25:26 +030027- description: Install keepalived on primary controller
28 cmd: salt --hard-crash --state-output=mixed --state-verbose=False
29 -C 'I@keepalived:cluster and *01*' state.sls keepalived
30 node_name: {{ HOSTNAME_CFG01 }}
31 retry: {count: 1, delay: 10}
32 skip_fail: true
33
34- description: Install keepalived on all controllers
35 cmd: salt --hard-crash --state-output=mixed --state-verbose=False
36 -C 'I@keepalived:cluster' state.sls keepalived
37 node_name: {{ HOSTNAME_CFG01 }}
38 retry: {count: 1, delay: 10}
39 skip_fail: true
40
41- description: Install nginx
42 cmd: salt --hard-crash --state-output=mixed --state-verbose=False
43 -C 'I@nginx:server' state.sls nginx
44 node_name: {{ HOSTNAME_CFG01 }}
45 retry: {count: 1, delay: 5}
46 skip_fail: false
47
Sergii Golovatiukf648ad42017-06-23 13:39:11 +020048# Opencontrail Control Plane
Artem Panchenko0594cd72017-06-12 13:25:26 +030049- description: Install RabbitMQ
50 cmd: salt --hard-crash --state-output=mixed --state-verbose=False
51 -C 'I@rabbitmq:server' state.sls rabbitmq
52 node_name: {{ HOSTNAME_CFG01 }}
53 retry: {count: 2, delay: 10}
54 skip_fail: false
55
56- description: Check RabbitMQ
57 cmd: salt --hard-crash --state-output=mixed --state-verbose=False
58 -C 'I@rabbitmq:server' cmd.run "rabbitmqctl cluster_status"
59 node_name: {{ HOSTNAME_CFG01 }}
60 retry: {count: 1, delay: 10}
61 skip_fail: false
62
63- description: Install Opencontrail db on ctl01
64 cmd: salt --hard-crash --state-output=mixed --state-verbose=False
65 -C 'I@opencontrail:database and *01*' state.sls opencontrail.database
66 node_name: {{ HOSTNAME_CFG01 }}
67 retry: {count: 2, delay: 20}
68 skip_fail: false
69
70- description: Install Opencontrail db on all nodes
71 cmd: salt --hard-crash --state-output=mixed --state-verbose=False
72 -C 'I@opencontrail:database' state.sls opencontrail.database
73 node_name: {{ HOSTNAME_CFG01 }}
74 retry: {count: 2, delay: 20}
75 skip_fail: false
76
77- description: Install Opencontrail control on ctl01
78 cmd: salt --hard-crash --state-output=mixed --state-verbose=False
79 -C 'I@opencontrail:control and *01*' state.sls opencontrail exclude=opencontrail.client
80 node_name: {{ HOSTNAME_CFG01 }}
81 retry: {count: 1, delay: 5}
82 skip_fail: false
83
84- description: Install Opencontrail control on all nodes
85 cmd: salt --hard-crash --state-output=mixed --state-verbose=False
86 -C 'I@opencontrail:control' state.sls opencontrail exclude=opencontrail.client
87 node_name: {{ HOSTNAME_CFG01 }}
88 retry: {count: 1, delay: 5}
89 skip_fail: false
90
91- description: Install Opencontrail on collector
92 cmd: salt --hard-crash --state-output=mixed --state-verbose=False
93 -C 'I@opencontrail:collector' state.sls opencontrail exclude=opencontrail.client
94 node_name: {{ HOSTNAME_CFG01 }}
95 retry: {count: 1, delay: 5}
96 skip_fail: false
97
Victor Ryzhenkin43c0d0e2017-07-07 19:53:25 +040098- description: Workaround for https://mirantis.jira.com/browse/PROD-12798
99 cmd: salt --hard-crash --state-output=mixed --state-verbose=False
100 -C 'I@opencontrail:control' service.restart 'keepalived'
101 node_name: {{ HOSTNAME_CFG01 }}
102 retry: {count: 1, delay: 5}
103 skip_fail: false
104
Sergii Golovatiukf648ad42017-06-23 13:39:11 +0200105# OpenContrail vrouters
Artem Panchenko0594cd72017-06-12 13:25:26 +0300106- description: Install Opencontrail client
107 cmd: salt --hard-crash --state-output=mixed --state-verbose=False
108 -C 'I@opencontrail:database:id:1' state.sls 'opencontrail.client'
109 node_name: {{ HOSTNAME_CFG01 }}
110 retry: {count: 1, delay: 5}
111 skip_fail: false
112
113- description: Install Opencontrail client on computes
114 cmd: salt --hard-crash --state-output=mixed --state-verbose=False
115 -C 'I@opencontrail:compute' state.sls 'opencontrail.client'
116 node_name: {{ HOSTNAME_CFG01 }}
Victor Ryzhenkin43c0d0e2017-07-07 19:53:25 +0400117 retry: {count: 2, delay: 5}
Artem Panchenko0594cd72017-06-12 13:25:26 +0300118 skip_fail: false
119
120- description: Install Opencontrail on computes
121 cmd: salt --hard-crash --state-output=mixed --state-verbose=False
122 -C 'I@opencontrail:compute' state.sls 'opencontrail'
123 node_name: {{ HOSTNAME_CFG01 }}
Victor Ryzhenkin43c0d0e2017-07-07 19:53:25 +0400124 retry: {count: 2, delay: 5}
Artem Panchenko0594cd72017-06-12 13:25:26 +0300125 skip_fail: false
126
Sergii Golovatiukf648ad42017-06-23 13:39:11 +0200127- description: Test Opencontrail
128 cmd: salt --hard-crash --state-output=mixed --state-verbose=False
129 -C 'I@opencontrail:control' cmd.run 'contrail-status'
130 node_name: {{ HOSTNAME_CFG01 }}
131 retry: {count: 1, delay: 5}
132 skip_fail: false
133
134# Kubernetes
135- description: Install docker
136 cmd: salt --hard-crash --state-output=mixed --state-verbose=False
137 -C 'I@docker:host' state.sls docker.host
138 node_name: {{ HOSTNAME_CFG01 }}
139 retry: {count: 1, delay: 5}
140 skip_fail: false
141
142- description: Check docker
143 cmd: salt --hard-crash --state-output=mixed --state-verbose=False
144 -C 'I@docker:host' cmd.run 'docker ps'
145 node_name: {{ HOSTNAME_CFG01 }}
146 retry: {count: 1, delay: 5}
147 skip_fail: false
148
149- description: Install etcd
150 cmd: salt --hard-crash --state-output=mixed --state-verbose=False
151 -C 'I@etcd:server' state.sls etcd.server.service
152 node_name: {{ HOSTNAME_CFG01 }}
153 retry: {count: 1, delay: 5}
154 skip_fail: false
155
156- description: Check the etcd health
157 cmd: salt --hard-crash --state-output=mixed --state-verbose=False
158 -C 'I@etcd:server' cmd.run '. /var/lib/etcd/configenv && etcdctl cluster-health'
159 node_name: {{ HOSTNAME_CFG01 }}
160 retry: {count: 1, delay: 5}
161 skip_fail: false
162
163- description: Install Kubernetes Addons
164 cmd: salt --hard-crash --state-output=mixed --state-verbose=False
165 -C 'I@kubernetes:master' state.sls kubernetes.master.kube-addons
166 node_name: {{ HOSTNAME_CFG01 }}
167 retry: {count: 1, delay: 5}
168 skip_fail: true
169
170- description: Install Kubernetes components
171 cmd: salt --hard-crash --state-output=mixed --state-verbose=False
172 -C 'I@kubernetes:pool' state.sls kubernetes.pool
173 node_name: {{ HOSTNAME_CFG01 }}
174 retry: {count: 3, delay: 5}
175 skip_fail: false
176
177- description: Setup etcd server on primary controller
178 cmd: salt --hard-crash --state-output=mixed --state-verbose=False
179 -C 'I@kubernetes:master and *01*' state.sls etcd.server.setup
180 node_name: {{ HOSTNAME_CFG01 }}
181 retry: {count: 1, delay: 5}
182 skip_fail: false
183
Victor Ryzhenkin43c0d0e2017-07-07 19:53:25 +0400184- description: Workaround for https://mirantis.jira.com/browse/PROD-12798
185 cmd: salt --hard-crash --state-output=mixed --state-verbose=False
186 -C 'I@kubernetes:master' service.restart 'keepalived'
187 node_name: {{ HOSTNAME_CFG01 }}
188 retry: {count: 1, delay: 5}
189 skip_fail: false
190
Sergii Golovatiukf648ad42017-06-23 13:39:11 +0200191- description: Run Kubernetes master without setup
192 cmd: salt --hard-crash --state-output=mixed --state-verbose=False
193 -C 'I@kubernetes:master' state.sls kubernetes exclude=kubernetes.master.setup
194 node_name: {{ HOSTNAME_CFG01 }}
195 retry: {count: 1, delay: 5}
196 skip_fail: true
197
198- description: Run Kubernetes master setup
199 cmd: salt --hard-crash --state-output=mixed --state-verbose=False
200 -C 'I@kubernetes:master and *01*' state.sls kubernetes.master.setup
201 node_name: {{ HOSTNAME_CFG01 }}
202 retry: {count: 1, delay: 5}
203 skip_fail: true
204
205- description: Restart Kubelet
206 cmd: salt --hard-crash --state-output=mixed --state-verbose=False
207 -C 'I@kubernetes:pool' service.restart 'kubelet'
208 node_name: {{ HOSTNAME_CFG01 }}
209 retry: {count: 1, delay: 5}
210 skip_fail: true
211
Artem Panchenko0594cd72017-06-12 13:25:26 +0300212- description: Reboot Opencontrail compute nodes
213 cmd: salt --hard-crash --state-output=mixed --state-verbose=False
214 -C 'I@opencontrail:compute' system.reboot
215 node_name: {{ HOSTNAME_CFG01 }}
216 retry: {count: 1, delay: 5}
Sergii Golovatiukf648ad42017-06-23 13:39:11 +0200217 skip_fail: true