blob: cfcb53628386b1a38fd10b635501a261265aa5c4 [file] [log] [blame]
Filip Pytloun4ab64a02015-10-06 16:28:32 +02001{% from "keepalived/map.jinja" import cluster with context %}
2
3{%- if cluster.enabled %}
4
5keepalived_packages:
6 pkg.installed:
7 - names: {{ cluster.pkgs }}
8
9keepalived_config:
10 file.managed:
11 - name: {{ cluster.config }}
12 - source: salt://keepalived/files/keepalived.conf
13 - template: jinja
14 - require:
15 - pkg: keepalived_packages
16
Jakub Pavlik2680d652016-08-26 17:35:40 +020017{% for instance_name, instance in cluster.instance.iteritems() %}
18
Jakub Pavlik7b75ce72016-08-26 18:04:58 +020019{%- if instance.notify_action is defined %}
Jakub Pavlik2680d652016-08-26 17:35:40 +020020
21keepalived_{{ instance_name }}_notify:
22 file.managed:
23 - name: /usr/local/bin/keepalivednotify_{{ instance_name }}.sh
24 - mode: 744
25 - source: salt://keepalived/files/keepalivednotify.sh
26 - template: jinja
Ales Komarekc0e7d032016-08-26 17:46:28 +020027 - defaults:
28 instance_name: {{ instance_name }}
Jakub Pavlik2680d652016-08-26 17:35:40 +020029 - require:
30 - pkg: keepalived_packages
31 - require_in:
32 - service: keepalived_service
33
34{%- endif %}
35
36{% endfor %}
37
Filip Pytloun4ab64a02015-10-06 16:28:32 +020038keepalived_service:
39 service.running:
40 - name: {{ cluster.service }}
41 - enable: true
42 - reload: true
43 - watch:
44 - file: keepalived_config
45
Jakub Pavlik7b75ce72016-08-26 18:04:58 +020046{%- endif %}