blob: 6e9a4cb78925777a166b7c7e9df24521e2636917 [file] [log] [blame]
Vasyl Saienko3f25ec62017-12-08 14:55:01 +02001{% from "nova/map.jinja" import controller with context %}
Filip Pytloun4a72d792015-10-06 16:28:32 +02002
Kirill Bespalovd9d59542017-06-30 00:10:33 +03003{%- if controller.get('enabled') %}
Filip Pytloun4a72d792015-10-06 16:28:32 +02004
Vasyl Saienkoc392a392018-08-06 16:00:41 +00005include:
Vasyl Saienkoe661e8c2018-08-21 20:07:03 +00006 {%- if controller.version not in ["juno", "kilo", "liberty", "mitaka", "newton"] %}
Oleksandr Shyshko55eeac72018-08-03 18:23:28 +03007 - apache
8 {%- endif %}
9 - nova.db.offline_sync
10 # TODO(vsaienko) we need to run online dbsync only once after upgrade
11 # Move to appropriate upgrade phase
12 - nova.db.online_sync
Oleksandr Shyshko55eeac72018-08-03 18:23:28 +030013 - nova._ssl.mysql
Oleksandr Bryndzii1d5fa542018-09-13 14:18:08 +000014 - nova._ssl.rabbitmq
Filip Pytloun44051762016-04-21 15:07:21 +020015{%- if grains.os_family == 'Debian' %}
Petr Michalec5f41e6e2017-04-10 10:18:12 +020016debconf-set-prerequisite:
17 pkg.installed:
18 - name: debconf-utils
19 - require_in:
20 - debconf: nova_consoleproxy_debconf
21
Filip Pytloun44051762016-04-21 15:07:21 +020022nova_consoleproxy_debconf:
23 debconf.set:
24 - name: nova-consoleproxy
25 - data:
26 'nova-consoleproxy/daemon_type':
27 type: 'string'
28 value: 'novnc'
29 - require_in:
30 - pkg: nova_controller_packages
31{%- endif %}
32
Filip Pytloun4a72d792015-10-06 16:28:32 +020033nova_controller_packages:
34 pkg.installed:
35 - names: {{ controller.pkgs }}
36
37{%- if not salt['user.info']('nova') %}
38user_nova:
39 user.present:
40 - name: nova
41 - home: /var/lib/nova
42 - shell: /bin/false
Dmitry Stremkovskiyf5960662017-07-05 20:12:56 +030043 {# note: nova uid/gid values would not be evaluated after user is created. #}
44 - uid: {{ controller.get('nova_uid', 303) }}
45 - gid: {{ controller.get('nova_gid', 303) }}
Filip Pytloun4a72d792015-10-06 16:28:32 +020046 - system: True
47 - require_in:
48 - pkg: nova_controller_packages
Oleksandr Shyshkocbe87352018-09-07 13:42:57 +030049 - sls: nova._ssl.mysql
Oleksandr Bryndzii1d5fa542018-09-13 14:18:08 +000050 - sls: nova._ssl.rabbitmq
Mykyta Karpinc4d05112018-04-04 12:52:06 +030051{%- if controller.version not in ["juno", "kilo", "liberty", "mitaka", "newton"] %}
52 - pkg: nova_placement_package
53{%- endif %}
Filip Pytloun4a72d792015-10-06 16:28:32 +020054
55group_nova:
56 group.present:
57 - name: nova
Dmitry Stremkovskiyf5960662017-07-05 20:12:56 +030058 {# note: nova gid value would not be evaluated after user is created. #}
59 - gid: {{ controller.get('nova_gid', 303) }}
Filip Pytloun4a72d792015-10-06 16:28:32 +020060 - system: True
61 - require_in:
62 - user: user_nova
63{%- endif %}
64
Oleksandr Shyshkod8337cf2018-07-11 17:55:58 +030065# Only for Queens. Communication between noVNC proxy service and QEMU
66{%- if controller.version not in ['mitaka', 'newton', 'ocata', 'pike'] %}
67{%- if controller.novncproxy.vencrypt.tls.get('enabled', False) %}
Oleksandr Shyshkoe6f983e2018-06-18 13:53:40 +030068
Oleksandr Shyshkod8337cf2018-07-11 17:55:58 +030069{%- set ca_file=controller.novncproxy.vencrypt.tls.get('ca_file') %}
70{%- set key_file=controller.novncproxy.vencrypt.tls.get('key_file') %}
71{%- set cert_file=controller.novncproxy.vencrypt.tls.get('cert_file') %}
Oleksandr Shyshkoe6f983e2018-06-18 13:53:40 +030072
Oleksandr Shyshkod8337cf2018-07-11 17:55:58 +030073novncproxy_vencrypt_ca:
74{%- if controller.novncproxy.vencrypt.tls.cacert is defined %}
Oleksandr Shyshkoe6f983e2018-06-18 13:53:40 +030075 file.managed:
76 - name: {{ ca_file }}
Oleksandr Shyshkod8337cf2018-07-11 17:55:58 +030077 - contents_pillar: nova:controller:novncproxy:vencrypt:tls:cacert
Vasyl Saienko55f3b712018-10-03 14:31:17 +000078 - mode: 644
Oleksandr Shyshkoe6f983e2018-06-18 13:53:40 +030079 - makedirs: true
Vasyl Saienko55f3b712018-10-03 14:31:17 +000080 - user: root
81 - group: nova
Oleksandr Shyshkoe6f983e2018-06-18 13:53:40 +030082 - watch_in:
83 - service: nova_controller_services
84{%- else %}
85 file.exists:
86 - name: {{ ca_file }}
87{%- endif %}
88
Oleksandr Shyshkod8337cf2018-07-11 17:55:58 +030089novncproxy_vencrypt_public_cert:
90{%- if controller.novncproxy.vencrypt.tls.cert is defined %}
Oleksandr Shyshkoe6f983e2018-06-18 13:53:40 +030091 file.managed:
92 - name: {{ cert_file }}
Oleksandr Shyshkod8337cf2018-07-11 17:55:58 +030093 - contents_pillar: nova:controller:novncproxy:vencrypt:tls:cert
Vasyl Saienko55f3b712018-10-03 14:31:17 +000094 - mode: 640
95 - user: root
96 - group: nova
Oleksandr Shyshkoe6f983e2018-06-18 13:53:40 +030097 - makedirs: true
98{%- else %}
99 file.exists:
100 - name: {{ cert_file }}
101{%- endif %}
102
Oleksandr Shyshkod8337cf2018-07-11 17:55:58 +0300103novncproxy_vencrypt_private_key:
104{%- if controller.novncproxy.vencrypt.tls.key is defined %}
Oleksandr Shyshkoe6f983e2018-06-18 13:53:40 +0300105 file.managed:
106 - name: {{ key_file }}
Oleksandr Shyshkod8337cf2018-07-11 17:55:58 +0300107 - contents_pillar: nova:controller:novncproxy:vencrypt:tls:key
Vasyl Saienko55f3b712018-10-03 14:31:17 +0000108 - mode: 640
109 - user: root
110 - group: nova
Oleksandr Shyshkoe6f983e2018-06-18 13:53:40 +0300111 - makedirs: true
112{%- else %}
113 file.exists:
114 - name: {{ key_file }}
115{%- endif %}
Vasyl Saienko55f3b712018-10-03 14:31:17 +0000116
117novncproxy_vencrypt_set_user_and_group:
118 file.managed:
119 - names:
120 - {{ ca_file }}
121 - {{ cert_file }}
122 - {{ key_file }}
123 - user: root
124 - group: nova
125
Oleksandr Shyshkod8337cf2018-07-11 17:55:58 +0300126{%- endif %}
127{%- endif %}
Oleksandr Shyshkoe6f983e2018-06-18 13:53:40 +0300128
Oleksandr Shyshkod8337cf2018-07-11 17:55:58 +0300129{%- if controller.novncproxy.tls.get('enabled', False) %}
130{%- set key_file=controller.novncproxy.tls.server.get('key_file') %}
131{%- set cert_file=controller.novncproxy.tls.server.get('cert_file') %}
132
133novncproxy_server_public_cert:
134{%- if controller.novncproxy.tls.server.cert is defined %}
Oleksandr Shyshkoe6f983e2018-06-18 13:53:40 +0300135 file.managed:
Oleksandr Shyshkod8337cf2018-07-11 17:55:58 +0300136 - name: {{ cert_file }}
137 - contents_pillar: nova:controller:novncproxy:tls:server:cert
Vasyl Saienko55f3b712018-10-03 14:31:17 +0000138 - mode: 644
Oleksandr Shyshkoe6f983e2018-06-18 13:53:40 +0300139 - makedirs: true
Vasyl Saienko55f3b712018-10-03 14:31:17 +0000140 - user: root
141 - group: nova
Oleksandr Shyshkod8337cf2018-07-11 17:55:58 +0300142 - watch_in:
143 - service: nova_controller_services
144{%- else %}
145 file.exists:
146 - name: {{ cert_file }}
147{%- endif %}
148
149novncproxy_server_private_key:
150{%- if controller.novncproxy.tls.server.key is defined %}
151 file.managed:
152 - name: {{ key_file }}
153 - contents_pillar: nova:controller:novncproxy:tls:server:key
Vasyl Saienko55f3b712018-10-03 14:31:17 +0000154 - mode: 640
155 - user: root
156 - group: nova
Oleksandr Shyshkod8337cf2018-07-11 17:55:58 +0300157 - makedirs: true
Oleksandr Shyshkoe6f983e2018-06-18 13:53:40 +0300158{%- else %}
159 file.exists:
Oleksandr Shyshkod8337cf2018-07-11 17:55:58 +0300160 - name: {{ key_file }}
Oleksandr Shyshkoe6f983e2018-06-18 13:53:40 +0300161{%- endif %}
Vasyl Saienko55f3b712018-10-03 14:31:17 +0000162
163novncproxy_server_set_user_and_group:
164 file.managed:
165 - names:
166 - {{ cert_file }}
167 - {{ key_file }}
168 - user: root
169 - group: nova
170
Oleksandr Shyshkoe6f983e2018-06-18 13:53:40 +0300171{%- endif %}
172
Jakub Pavlike0f72b42016-02-16 23:16:05 +0100173{%- if controller.get('networking', 'default') == "contrail" and controller.version == "juno" %}
Filip Pytloun4a72d792015-10-06 16:28:32 +0200174
175contrail_nova_packages:
176 pkg.installed:
177 - names:
178 - contrail-nova-driver
179 - contrail-nova-networkapi
180
Filip Pytloun4a72d792015-10-06 16:28:32 +0200181{%- endif %}
182
Jakub Pavlike0f72b42016-02-16 23:16:05 +0100183/etc/nova/nova.conf:
184 file.managed:
185 - source: salt://nova/files/{{ controller.version }}/nova-controller.conf.{{ grains.os_family }}
186 - template: jinja
187 - require:
188 - pkg: nova_controller_packages
Oleksandr Shyshko76f92442018-09-03 11:35:50 +0300189 - sls: nova._ssl.mysql
Oleksandr Bryndzii1d5fa542018-09-13 14:18:08 +0000190 - sls: nova._ssl.rabbitmq
Vasyl Saienkoc392a392018-08-06 16:00:41 +0000191 - require_in:
192 - sls: nova.db.offline_sync
193 - sls: nova.db.online_sync
Jakub Pavlike0f72b42016-02-16 23:16:05 +0100194
Filip Pytloun4a72d792015-10-06 16:28:32 +0200195/etc/nova/api-paste.ini:
196 file.managed:
197 - source: salt://nova/files/{{ controller.version }}/api-paste.ini.{{ grains.os_family }}
198 - template: jinja
199 - require:
200 - pkg: nova_controller_packages
201
Dmitry Kalashnike58fe082017-12-01 16:31:14 +0400202{% for service_name in controller.services %}
203{{ service_name }}_default:
204 file.managed:
205 - name: /etc/default/{{ service_name }}
206 - source: salt://nova/files/default
207 - template: jinja
208 - require:
209 - pkg: nova_controller_packages
210 - defaults:
211 service_name: {{ service_name }}
212 values: {{ controller }}
213 - require:
214 - pkg: nova_controller_packages
215 - watch_in:
216 - service: nova_controller_services
217{% endfor %}
218
219{% if controller.logging.log_appender %}
220
221{%- if controller.logging.log_handlers.get('fluentd').get('enabled', False) %}
222nova_controller_fluentd_logger_package:
223 pkg.installed:
224 - name: python-fluent-logger
225{%- endif %}
226
227nova_general_logging_conf:
228 file.managed:
229 - name: /etc/nova/logging.conf
sgarbuz1a153a72018-07-13 14:55:08 +0300230 - source: salt://oslo_templates/files/logging/_logging.conf
Dmitry Kalashnike58fe082017-12-01 16:31:14 +0400231 - template: jinja
232 - user: nova
233 - group: nova
sgarbuz14961602018-09-03 10:24:25 +0300234 - require_in:
235 - sls: nova.db.offline_sync
Dmitry Kalashnike58fe082017-12-01 16:31:14 +0400236 - require:
237 - pkg: nova_controller_packages
238{%- if controller.logging.log_handlers.get('fluentd').get('enabled', False) %}
239 - pkg: nova_controller_fluentd_logger_package
240{%- endif %}
241 - defaults:
242 service_name: nova
sgarbuz1a153a72018-07-13 14:55:08 +0300243 _data: {{ controller.logging }}
Dmitry Kalashnike58fe082017-12-01 16:31:14 +0400244 - watch_in:
245 - service: nova_controller_services
246
247/var/log/nova/nova.log:
248 file.managed:
249 - user: nova
250 - group: nova
251 - watch_in:
252 - service: nova_controller_services
253{%- if controller.version not in ["juno", "kilo", "liberty", "mitaka", "newton"] %}
254 - service: nova_apache_restart
255{%- endif %}
256
257{% for service_name in controller.services %}
258
259{{ service_name }}_logging_conf:
260 file.managed:
261 - name: /etc/nova/logging/logging-{{ service_name }}.conf
sgarbuz1a153a72018-07-13 14:55:08 +0300262 - source: salt://oslo_templates/files/logging/_logging.conf
Dmitry Kalashnike58fe082017-12-01 16:31:14 +0400263 - template: jinja
264 - user: nova
265 - group: nova
266 - require:
267 - pkg: nova_controller_packages
268{%- if controller.logging.log_handlers.get('fluentd').get('enabled', False) %}
269 - pkg: nova_controller_fluentd_logger_package
270{%- endif %}
271 - makedirs: True
272 - defaults:
273 service_name: {{ service_name }}
sgarbuz1a153a72018-07-13 14:55:08 +0300274 _data: {{ controller.logging }}
Dmitry Kalashnike58fe082017-12-01 16:31:14 +0400275 - watch_in:
276 - service: nova_controller_services
277{%- if controller.version not in ["juno", "kilo", "liberty", "mitaka", "newton"] %}
278 - service: nova_apache_restart
279{%- endif %}
280
281{% endfor %}
282{% endif %}
283
Kirill Bespalovd9d59542017-06-30 00:10:33 +0300284{% if controller.get('policy', {}) and controller.version not in ['liberty', 'mitaka', 'newton'] %}
285{# nova no longer ships with a default policy.json #}
286
287/etc/nova/policy.json:
288 file.managed:
289 - contents: '{}'
290 - replace: False
291 - user: nova
292 - group: nova
293 - require:
294 - pkg: nova_controller_packages
295
296{% endif %}
297
Dmitry Ukov3562a082017-05-04 00:00:48 +0400298{%- for name, rule in controller.get('policy', {}).iteritems() %}
299
300{%- if rule != None %}
Martin Polreich62bbaa72018-06-20 14:24:41 +0200301nova_keystone_rule_{{ name }}_present:
Dmitry Ukov3562a082017-05-04 00:00:48 +0400302 keystone_policy.rule_present:
303 - path: /etc/nova/policy.json
304 - name: {{ name }}
305 - rule: {{ rule }}
306 - require:
307 - pkg: nova_controller_packages
Kirill Bespalovd9d59542017-06-30 00:10:33 +0300308 {% if controller.version not in ['liberty', 'mitaka', 'newton'] %}
309 - file: /etc/nova/policy.json
310 {% endif%}
Dmitry Ukov3562a082017-05-04 00:00:48 +0400311
312{%- else %}
313
Martin Polreich62bbaa72018-06-20 14:24:41 +0200314nova_keystone_rule_{{ name }}_absent:
Dmitry Ukov3562a082017-05-04 00:00:48 +0400315 keystone_policy.rule_absent:
316 - path: /etc/nova/policy.json
317 - name: {{ name }}
318 - require:
319 - pkg: nova_controller_packages
Kirill Bespalovd9d59542017-06-30 00:10:33 +0300320 {% if controller.version not in ['liberty', 'mitaka', 'newton'] %}
321 - file: /etc/nova/policy.json
322 {% endif%}
Dmitry Ukov3562a082017-05-04 00:00:48 +0400323
324{%- endif %}
325
326{%- endfor %}
327
Oleh Hryhorovfecb47b2017-10-30 18:50:53 +0200328{%- if controller.version not in ["juno", "kilo", "liberty", "mitaka", "newton"] %}
Jiri Broulik789179a2018-02-13 16:16:46 +0100329{%- if controller.get('update_cells') %}
330
331nova_update_cell0:
332 novang.update_cell:
333 - name: "cell0"
334 - db_name: {{ controller.database.name }}_cell0
335 - db_engine: {{ controller.database.engine }}
336 - db_password: {{ controller.database.password }}
337 - db_user: {{ controller.database.user }}
338 - db_address: {{ controller.database.host }}
339 {%- if grains.get('noservices') %}
340 - onlyif: /bin/false
341 {%- endif %}
342
343{%- set rabbit_port = controller.message_queue.get('port', 5671 if controller.message_queue.get('ssl',{}).get('enabled', False) else 5672) %}
344
345nova_update_cell1:
346 novang.update_cell:
347 - name: "cell1"
348 - db_name: {{ controller.database.name }}
349{%- if controller.message_queue.members is defined %}
ayaurov4c27ae32018-11-23 17:54:30 +0200350 - transport_url: rabbit://{% for member in controller.message_queue.members -%}
Jiri Broulik789179a2018-02-13 16:16:46 +0100351 {{ controller.message_queue.user }}:{{ controller.message_queue.password }}@{{ member.host }}:{{ member.get('port', rabbit_port) }}
352 {%- if not loop.last -%},{%- endif -%}
353 {%- endfor -%}
354 /{{ controller.message_queue.virtual_host }}
355{%- else %}
356 - transport_url: rabbit://{{ controller.message_queue.user }}:{{ controller.message_queue.password }}@{{ controller.message_queue.host }}:{{ rabbit_port}}/{{ controller.message_queue.virtual_host }}
357{%- endif %}
358 - db_engine: {{ controller.database.engine }}
359 - db_password: {{ controller.database.password }}
360 - db_user: {{ controller.database.user }}
361 - db_address: {{ controller.database.host }}
362 {%- if grains.get('noservices') %}
363 - onlyif: /bin/false
364 {%- endif %}
365
366{%- endif %}
367
Andrey Shestakov339fc1d2017-05-17 19:36:38 +0300368nova_placement_service_mask:
369 file.symlink:
370 - name: /etc/systemd/system/nova-placement-api.service
371 - target: /dev/null
372
Jakub Pavlik02a01c72017-04-11 16:04:51 +0200373nova_placement_package:
374 pkg.installed:
375 - name: nova-placement-api
Andrey Shestakov339fc1d2017-05-17 19:36:38 +0300376 - require:
377 - file: nova_placement_service_mask
Jakub Pavlik02a01c72017-04-11 16:04:51 +0200378
Vasyl Saienko29656ce2018-03-03 05:27:59 +0200379{#- Creation of sites using templates is deprecated, sites should be generated by apache pillar, and enabled by barbican formula #}
380{%- if pillar.get('apache', {}).get('server', {}).get('site', {}).nova_placement is not defined %}
381
382nova_placement_apache_conf_file:
Jakub Pavlik02a01c72017-04-11 16:04:51 +0200383 file.managed:
Vasyl Saienko29656ce2018-03-03 05:27:59 +0200384 - name: /etc/apache2/sites-available/nova-placement-api.conf
Jakub Pavlik02a01c72017-04-11 16:04:51 +0200385 - source: salt://nova/files/{{ controller.version }}/nova-placement-api.conf
386 - template: jinja
387 - require:
388 - pkg: nova_controller_packages
389 - pkg: nova_placement_package
390
Tatyana Leontovich18418df2017-04-28 15:52:55 +0300391placement_config:
Vasyl Saienko29656ce2018-03-03 05:27:59 +0200392 apache_site.enabled:
393 - name: nova-placement-api
394 - require:
395 - nova_placement_apache_conf_file
396
397{%- else %}
398
Vasyl Saienko29656ce2018-03-03 05:27:59 +0200399nova_cleanup_configs:
400 file.absent:
401 - names:
402 - '/etc/apache2/sites-available/nova-placement-api.conf'
403 - '/etc/apache2/sites-enabled/nova-placement-api.conf'
404
405nova_placement_apache_conf_file:
406 file.exists:
407 - name: /etc/apache2/sites-available/wsgi_nova_placement.conf
408 - require:
409 - pkg: nova_placement_package
410 - nova_cleanup_configs
411
412placement_config:
413 apache_site.enabled:
414 - name: wsgi_nova_placement
415 - require:
416 - nova_placement_apache_conf_file
417
418{%- endif %}
Tatyana Leontovich18418df2017-04-28 15:52:55 +0300419
Jiri Broulik5589c012017-06-20 11:28:52 +0200420nova_controller_discover_hosts:
421 cmd.run:
Vladyslav Drokf6d2c6c2018-05-25 18:06:02 +0300422 - name: nova-manage cell_v2 discover_hosts --verbose
Kirill Bespalovd9d59542017-06-30 00:10:33 +0300423 {%- if grains.get('noservices') %}
424 - onlyif: /bin/false
425 {%- endif %}
Mykyta Karpin600ff542018-12-20 13:57:03 +0200426 - runas: 'nova'
Jiri Broulik5589c012017-06-20 11:28:52 +0200427 - require:
Vasyl Saienko92b34192018-08-23 09:45:59 +0300428 - sls: nova.db.offline_sync
Jiri Broulik5589c012017-06-20 11:28:52 +0200429
430nova_controller_map_instances:
sgarbuz37664d82019-02-01 13:11:12 +0200431 novav21.instances_mapped_to_cell:
Jiri Broulik5589c012017-06-20 11:28:52 +0200432 - name: 'cell1'
sgarbuz37664d82019-02-01 13:11:12 +0200433 - timeout: {{ controller.get('mapped_instances_interval', 60) }}
Kirill Bespalovd9d59542017-06-30 00:10:33 +0300434 {%- if grains.get('noservices') %}
435 - onlyif: /bin/false
436 {%- endif %}
Jiri Broulik5589c012017-06-20 11:28:52 +0200437 - require:
438 - cmd: nova_controller_discover_hosts
439 - pkg: nova_controller_packages
440
441{%- endif %}
442
Oleh Hryhorovfecb47b2017-10-30 18:50:53 +0200443{%- if controller.version not in ["juno", "kilo", "liberty", "mitaka", "newton"] %}
Jiri Broulik5589c012017-06-20 11:28:52 +0200444
Jakub Pavlik02a01c72017-04-11 16:04:51 +0200445nova_apache_restart:
446 service.running:
447 - enable: true
448 - name: apache2
Kirill Bespalovd9d59542017-06-30 00:10:33 +0300449 {%- if grains.get('noservices') %}
450 - onlyif: /bin/false
451 {%- endif %}
Jakub Pavlik02a01c72017-04-11 16:04:51 +0200452 - require:
Vasyl Saienkoc392a392018-08-06 16:00:41 +0000453 - sls: nova.db.offline_sync
Oleksandr Shyshko55eeac72018-08-03 18:23:28 +0300454 - sls: nova._ssl.mysql
Jakub Pavlik02a01c72017-04-11 16:04:51 +0200455 - watch:
456 - file: /etc/nova/nova.conf
457 - file: /etc/nova/api-paste.ini
Vasyl Saienko29656ce2018-03-03 05:27:59 +0200458 - nova_placement_apache_conf_file
Vasyl Saienkoe661e8c2018-08-21 20:07:03 +0000459 - placement_config
Jakub Pavlik02a01c72017-04-11 16:04:51 +0200460
461{%- endif %}
Filip Pytloun4a72d792015-10-06 16:28:32 +0200462nova_controller_services:
463 service.running:
464 - enable: true
465 - names: {{ controller.services }}
Kirill Bespalovd9d59542017-06-30 00:10:33 +0300466 {%- if grains.get('noservices') %}
467 - onlyif: /bin/false
468 {%- endif %}
Filip Pytloun4a72d792015-10-06 16:28:32 +0200469 - require:
Vasyl Saienkoc392a392018-08-06 16:00:41 +0000470 - sls: nova.db.offline_sync
Oleksandr Shyshko55eeac72018-08-03 18:23:28 +0300471 - sls: nova._ssl.mysql
Oleksandr Bryndzii1d5fa542018-09-13 14:18:08 +0000472 - sls: nova._ssl.rabbitmq
Oleksandr Shyshko798d1c42018-09-03 11:35:50 +0300473 - require_in:
474 - sls: nova.db.online_sync
Filip Pytloun4a72d792015-10-06 16:28:32 +0200475 - watch:
476 - file: /etc/nova/nova.conf
Filip Pytloun4a72d792015-10-06 16:28:32 +0200477 - file: /etc/nova/api-paste.ini
Filip Pytloun4a72d792015-10-06 16:28:32 +0200478
Jakub Pavlik340acf42016-05-26 22:20:30 +0200479{%- if grains.get('virtual_subtype', None) == "Docker" %}
480
481nova_entrypoint:
482 file.managed:
483 - name: /entrypoint.sh
484 - template: jinja
485 - source: salt://nova/files/entrypoint.sh
486 - mode: 755
487
488{%- endif %}
489
sgarbuz37664d82019-02-01 13:11:12 +0200490{%- endif %}