36 lines
1.2 KiB
YAML+Jinja
36 lines
1.2 KiB
YAML+Jinja
{% set pmg_services = salt['pillar.get']('pmg:pmg_services', []) %}
|
|
{% set pmg_cluster_only_services = salt['pillar.get']('pmg:pmg_cluster_only_services', ['pmgmirror', 'pmgtunnel']) %}
|
|
{% set manage_hosts_file = salt['pillar.get']('pmg:manage_hosts_file', False) %}
|
|
{% set hosts_file_entries = salt['pillar.get']('pmg:hosts_file_entries', []) %}
|
|
|
|
{% for svc in pmg_services %}
|
|
pmg-service-{{ svc }}:
|
|
service.running:
|
|
- name: {{ svc }}
|
|
- enable: true
|
|
{% if svc in pmg_cluster_only_services %}
|
|
- onlyif: "pmgcm status 2>/dev/null | awk 'BEGIN { ok=1 } /no cluster defined/ { ok=0 } END { exit(ok ? 0 : 1) }'"
|
|
{% endif %}
|
|
{% endfor %}
|
|
|
|
pmg-cluster-status:
|
|
cmd.run:
|
|
- name: pmgcm status
|
|
|
|
{% if manage_hosts_file %}
|
|
pmg-managed-hosts:
|
|
file.blockreplace:
|
|
- name: /etc/hosts
|
|
- marker_start: "#-- SALT PMG HOSTS START --"
|
|
- marker_end: "#-- SALT PMG HOSTS END --"
|
|
- append_if_not_found: true
|
|
- content: |
|
|
{% for host in hosts_file_entries %}
|
|
{% if host.get('aliases', []) %}
|
|
{{ host['ip'] }} {{ host['hostname'] }} {{ ' '.join(host['aliases']) }}
|
|
{% else %}
|
|
{{ host['ip'] }} {{ host['hostname'] }}
|
|
{% endif %}
|
|
{% endfor %}
|
|
{% endif %}
|