blob: 70d60a4e92e3b07bf5cab3e28ed963036c60f0c0 [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
22 cmd: find /srv/salt/reclass/ -type f -exec sed -i
23 's/ipf_addresses: \${_param:kubernetes_control_address}/ipf_addresses: \${_param:kubernetes_control_node01_address}/g' {} +
24 node_name: {{ HOSTNAME_CFG01 }}
25 retry: {count: 1, delay: 1}
26 skip_fail: false
27
Artem Panchenko0594cd72017-06-12 13:25:26 +030028- description: Install keepalived on primary controller
29 cmd: salt --hard-crash --state-output=mixed --state-verbose=False
30 -C 'I@keepalived:cluster and *01*' state.sls keepalived
31 node_name: {{ HOSTNAME_CFG01 }}
32 retry: {count: 1, delay: 10}
33 skip_fail: true
34
35- description: Install keepalived on all controllers
36 cmd: salt --hard-crash --state-output=mixed --state-verbose=False
37 -C 'I@keepalived:cluster' state.sls keepalived
38 node_name: {{ HOSTNAME_CFG01 }}
39 retry: {count: 1, delay: 10}
40 skip_fail: true
41
42- description: Install nginx
43 cmd: salt --hard-crash --state-output=mixed --state-verbose=False
44 -C 'I@nginx:server' state.sls nginx
45 node_name: {{ HOSTNAME_CFG01 }}
46 retry: {count: 1, delay: 5}
47 skip_fail: false
48
Sergii Golovatiukf648ad42017-06-23 13:39:11 +020049# Opencontrail Control Plane
Artem Panchenko0594cd72017-06-12 13:25:26 +030050- description: Install RabbitMQ
51 cmd: salt --hard-crash --state-output=mixed --state-verbose=False
52 -C 'I@rabbitmq:server' state.sls rabbitmq
53 node_name: {{ HOSTNAME_CFG01 }}
54 retry: {count: 2, delay: 10}
55 skip_fail: false
56
57- description: Check RabbitMQ
58 cmd: salt --hard-crash --state-output=mixed --state-verbose=False
59 -C 'I@rabbitmq:server' cmd.run "rabbitmqctl cluster_status"
60 node_name: {{ HOSTNAME_CFG01 }}
61 retry: {count: 1, delay: 10}
62 skip_fail: false
63
64- description: Install Opencontrail db on ctl01
65 cmd: salt --hard-crash --state-output=mixed --state-verbose=False
66 -C 'I@opencontrail:database and *01*' state.sls opencontrail.database
67 node_name: {{ HOSTNAME_CFG01 }}
68 retry: {count: 2, delay: 20}
69 skip_fail: false
70
71- description: Install Opencontrail db on all nodes
72 cmd: salt --hard-crash --state-output=mixed --state-verbose=False
73 -C 'I@opencontrail:database' state.sls opencontrail.database
74 node_name: {{ HOSTNAME_CFG01 }}
75 retry: {count: 2, delay: 20}
76 skip_fail: false
77
78- description: Install Opencontrail control on ctl01
79 cmd: salt --hard-crash --state-output=mixed --state-verbose=False
80 -C 'I@opencontrail:control and *01*' state.sls opencontrail exclude=opencontrail.client
81 node_name: {{ HOSTNAME_CFG01 }}
82 retry: {count: 1, delay: 5}
83 skip_fail: false
84
85- description: Install Opencontrail control on all nodes
86 cmd: salt --hard-crash --state-output=mixed --state-verbose=False
87 -C 'I@opencontrail:control' state.sls opencontrail exclude=opencontrail.client
88 node_name: {{ HOSTNAME_CFG01 }}
89 retry: {count: 1, delay: 5}
90 skip_fail: false
91
92- description: Install Opencontrail on collector
93 cmd: salt --hard-crash --state-output=mixed --state-verbose=False
94 -C 'I@opencontrail:collector' state.sls opencontrail exclude=opencontrail.client
95 node_name: {{ HOSTNAME_CFG01 }}
96 retry: {count: 1, delay: 5}
97 skip_fail: false
98
Victor Ryzhenkin43c0d0e2017-07-07 19:53:25 +040099- description: Workaround for https://mirantis.jira.com/browse/PROD-12798
100 cmd: salt --hard-crash --state-output=mixed --state-verbose=False
101 -C 'I@opencontrail:control' service.restart 'keepalived'
102 node_name: {{ HOSTNAME_CFG01 }}
103 retry: {count: 1, delay: 5}
104 skip_fail: false
105
Sergii Golovatiukf648ad42017-06-23 13:39:11 +0200106# OpenContrail vrouters
Artem Panchenko0594cd72017-06-12 13:25:26 +0300107- description: Install Opencontrail client
108 cmd: salt --hard-crash --state-output=mixed --state-verbose=False
109 -C 'I@opencontrail:database:id:1' state.sls 'opencontrail.client'
110 node_name: {{ HOSTNAME_CFG01 }}
111 retry: {count: 1, delay: 5}
112 skip_fail: false
113
114- description: Install Opencontrail client on computes
115 cmd: salt --hard-crash --state-output=mixed --state-verbose=False
116 -C 'I@opencontrail:compute' state.sls 'opencontrail.client'
117 node_name: {{ HOSTNAME_CFG01 }}
Victor Ryzhenkin43c0d0e2017-07-07 19:53:25 +0400118 retry: {count: 2, delay: 5}
Artem Panchenko0594cd72017-06-12 13:25:26 +0300119 skip_fail: false
120
121- description: Install Opencontrail on computes
122 cmd: salt --hard-crash --state-output=mixed --state-verbose=False
123 -C 'I@opencontrail:compute' state.sls 'opencontrail'
124 node_name: {{ HOSTNAME_CFG01 }}
Victor Ryzhenkin43c0d0e2017-07-07 19:53:25 +0400125 retry: {count: 2, delay: 5}
Artem Panchenko0594cd72017-06-12 13:25:26 +0300126 skip_fail: false
127
Sergii Golovatiukf648ad42017-06-23 13:39:11 +0200128- description: Test Opencontrail
129 cmd: salt --hard-crash --state-output=mixed --state-verbose=False
130 -C 'I@opencontrail:control' cmd.run 'contrail-status'
131 node_name: {{ HOSTNAME_CFG01 }}
132 retry: {count: 1, delay: 5}
133 skip_fail: false
134
135# Kubernetes
136- description: Install docker
137 cmd: salt --hard-crash --state-output=mixed --state-verbose=False
138 -C 'I@docker:host' state.sls docker.host
139 node_name: {{ HOSTNAME_CFG01 }}
140 retry: {count: 1, delay: 5}
141 skip_fail: false
142
143- description: Check docker
144 cmd: salt --hard-crash --state-output=mixed --state-verbose=False
145 -C 'I@docker:host' cmd.run 'docker ps'
146 node_name: {{ HOSTNAME_CFG01 }}
147 retry: {count: 1, delay: 5}
148 skip_fail: false
149
150- description: Install etcd
151 cmd: salt --hard-crash --state-output=mixed --state-verbose=False
152 -C 'I@etcd:server' state.sls etcd.server.service
153 node_name: {{ HOSTNAME_CFG01 }}
154 retry: {count: 1, delay: 5}
155 skip_fail: false
156
157- description: Check the etcd health
158 cmd: salt --hard-crash --state-output=mixed --state-verbose=False
159 -C 'I@etcd:server' cmd.run '. /var/lib/etcd/configenv && etcdctl cluster-health'
160 node_name: {{ HOSTNAME_CFG01 }}
161 retry: {count: 1, delay: 5}
162 skip_fail: false
163
164- description: Install Kubernetes Addons
165 cmd: salt --hard-crash --state-output=mixed --state-verbose=False
166 -C 'I@kubernetes:master' state.sls kubernetes.master.kube-addons
167 node_name: {{ HOSTNAME_CFG01 }}
168 retry: {count: 1, delay: 5}
169 skip_fail: true
170
171- description: Install Kubernetes components
172 cmd: salt --hard-crash --state-output=mixed --state-verbose=False
173 -C 'I@kubernetes:pool' state.sls kubernetes.pool
174 node_name: {{ HOSTNAME_CFG01 }}
175 retry: {count: 3, delay: 5}
176 skip_fail: false
177
178- description: Setup etcd server on primary controller
179 cmd: salt --hard-crash --state-output=mixed --state-verbose=False
180 -C 'I@kubernetes:master and *01*' state.sls etcd.server.setup
181 node_name: {{ HOSTNAME_CFG01 }}
182 retry: {count: 1, delay: 5}
183 skip_fail: false
184
Victor Ryzhenkin43c0d0e2017-07-07 19:53:25 +0400185- description: Workaround for https://mirantis.jira.com/browse/PROD-12798
186 cmd: salt --hard-crash --state-output=mixed --state-verbose=False
187 -C 'I@kubernetes:master' service.restart 'keepalived'
188 node_name: {{ HOSTNAME_CFG01 }}
189 retry: {count: 1, delay: 5}
190 skip_fail: false
191
Sergii Golovatiukf648ad42017-06-23 13:39:11 +0200192- description: Run Kubernetes master without setup
193 cmd: salt --hard-crash --state-output=mixed --state-verbose=False
194 -C 'I@kubernetes:master' state.sls kubernetes exclude=kubernetes.master.setup
195 node_name: {{ HOSTNAME_CFG01 }}
196 retry: {count: 1, delay: 5}
197 skip_fail: true
198
199- description: Run Kubernetes master setup
200 cmd: salt --hard-crash --state-output=mixed --state-verbose=False
201 -C 'I@kubernetes:master and *01*' state.sls kubernetes.master.setup
202 node_name: {{ HOSTNAME_CFG01 }}
203 retry: {count: 1, delay: 5}
204 skip_fail: true
205
206- description: Restart Kubelet
207 cmd: salt --hard-crash --state-output=mixed --state-verbose=False
208 -C 'I@kubernetes:pool' service.restart 'kubelet'
209 node_name: {{ HOSTNAME_CFG01 }}
210 retry: {count: 1, delay: 5}
211 skip_fail: true
212
Artem Panchenko0594cd72017-06-12 13:25:26 +0300213- description: Reboot Opencontrail compute nodes
214 cmd: salt --hard-crash --state-output=mixed --state-verbose=False
215 -C 'I@opencontrail:compute' system.reboot
216 node_name: {{ HOSTNAME_CFG01 }}
217 retry: {count: 1, delay: 5}
Sergii Golovatiukf648ad42017-06-23 13:39:11 +0200218 skip_fail: true