Setting up the new macro.

This commit is contained in:
Jeff Baskin 2016-10-23 18:56:24 -04:00
parent e5a4176f48
commit 8db634e01a

View File

@ -5,229 +5,16 @@
# This file is managed by Salt. # This file is managed by Salt.
# Any changes will be overwritten. # Any changes will be overwritten.
{%- import_yaml 'keepalived/defaults.yaml' as keepalived_defaults %}
{%- set keepalived_final_values = salt.pillar.get(
'keepalived',
default=keepalived_defaults,
merge=True) %}
#--------------------------------------------------------------------- {%- macro config_entries(data) -%}
# Global settings {%- if data is mapping -%}
#--------------------------------------------------------------------- {%- for entry_type in data|dictsort -%}
global_defs { {{ entry_type }}
notification_email { {%- endfor -%}
{%- if 'notification_emails' in salt['pillar.get']('keepalived:global_defs') %} {%- endif -%}
{%- for email in salt['pillar.get']('keepalived:global_defs:notification_emails', []) %} {%- endmacro -%}
{{ email }}
{%- endfor %}
{%- endif %}
}
notification_email_from {{ salt['pillar.get']('keepalived:global_defs:notification_email_from', 'keepalived@'~salt['grains.get']('fqdn') ) }}
smtp_server {{ salt['pillar.get']('keepalived:global_defs:smtp_server', 'localhost') }}
{%- if 'smtp_connect_timeout' in salt['pillar.get']('keepalived:global_defs') %}
smtp_connect_timeout {{ salt['pillar.get']('keepalived:global_defs:smtp_connect_timeout') }}
{%- endif %}
}
#---------------------------------------------------------------------
# static network configuration
#---------------------------------------------------------------------
# static ipaddresses
{%- if 'static_ipaddresses' in salt['pillar.get']('keepalived') %}
static_ipaddress {
{%- for address in salt['pillar.get']('keepalived:static_ipaddresses', {}).iteritems() %}
{{ address }}
{%- endfor %}
}
{%- endif %}
# static routes
{%- if 'static_routes' in salt['pillar.get']('keepalived') %}
static_routes {
{%- for route in salt['pillar.get']('keepalived:static_routes', {}).iteritems() %}
{{ route}}
{%- endfor %}
}
{%- endif %}
#---------------------------------------------------------------------
# vrrp configuration
#---------------------------------------------------------------------
# vrrp scripts
{%- for script in salt['pillar.get']('keepalived:vrrp_scripts', {}).iteritems() %}
vrrp_script {{ script[1].get('name', script[0]) }} {
script "{{ script[1].get('script') }}"
interval {{ script[1].get('interval', '1') }}
weight {{ script[1].get('weight', '2') }}
{%- if 'fall' in script[1] %}
fall {{ script[1].get('fall') }}
{%- endif %}
{%- if 'rise' in script[1] %}
rise {{ script[1].get('rise') }}
{%- endif %}
}
{%- endfor %}
# vrrp sync groups
{%- if 'vrrp_sync_groups' in salt['pillar.get']('keepalived') %}
{%- for syncgroup in salt['pillar.get']('keepalived:vrrp_sync_groups', {}).iteritems() %}
vrrp_sync_group {{ syncgroup[1].get('name', syncgroup[0]) }} {
group {
{%- for member in syncgroup[1].members %}
{{ member }}
{%- endfor%}
}
{%- if 'notify_master' in syncgroup[1] %}
notify_master {{ syncgroup[1].get('notify_master') }}
{%- endif %}
{%- if 'notify_backup' in syncgroup[1] %}
notify_backup {{ syncgroup[1].get('notify_backup') }}
{%- endif %}
{%- if 'notify_fault' in syncgroup[1] %}
notify_master {{ syncgroup[1].get('notify_fault') }}
{%- endif %}
{%- if 'notify' in syncgroup[1] %}
notify {{ syncgroup[1].get('notify') }}
{%- endif %}
{%- if 'smtp_alert' in syncgroup[1] %}
{%- if True == syncgroup[1].get('smtp_alert') %}
smtp_alert
{%- endif %}
{%- endif %}
}
{%- endfor %}
{%- endif %}
# vrrp instance
{%- for instance in salt['pillar.get']('keepalived:vrrp_instances', {}).iteritems() %}
vrrp_instance {{ instance[1].get('name', instance[0]) }} {
{%- if 'use_vmac' in instance[1] %}
{%- if True == instance[1].get('use_vmac') %}
use_vmac
{%- endif %}
{%- endif %}
{%- if 'vmac_xmit_base' in instance[1] %}
{%- if True == instance[1].get('vmac_xmit_base') %}
vmac_xmit_base
{%- endif %}
{%- endif %}
{%- if 'native_ipv6' in instance[1] %}
{%- if True == instance[1].get('native_ipv6') %}
native_ipv6
{%- endif %}
{%- endif %}
state {{ instance[1].get('state', 'BACKUP') }}
{%- if 'interface' in instance[1] %}
interface {{ instance[1].get('interface') }}
{%- endif %}
{%- if 'track_interfaces' in instance[1] %}
track_interface {
{%- for track_interface in instance[1].track_interfaces %}
{{ track_interface }}
{%- endfor%}
}
{%- endif %}
{%- if 'track_scripts' in instance[1] %}
track_script {
{%- for track_script in instance[1].track_scripts %}
{{ track_script }}
{%- endfor%}
}
{%- endif %}
{%- if 'dont_track_primary' in instance[1] and instance[1].get('dont_track_primary') %}
dont_track_primary
{%- endif %}
{%- if 'mcast_src_ip' in instance[1] %}
mcast_src_ip {{ instance[1].get('mcast_src_ip') }}
{%- endif %}
{%- if 'unicast_src_ip' in instance[1] %}
unicast_src_ip {{ instance[1].get('unicast_src_ip') }}
{%- endif %}
{%- if 'unicast_peers' in instance[1] %}
unicast_peer {
{%- for unicast_peer in instance[1].unicast_peers %}
{{ unicast_peer }}
{%- endfor%}
}
{%- endif %}
{%- if 'lvs_sync_daemon_interface' in instance[1] %}
lvs_sync_daemon_interface {{ instance[1].get('lvs_sync_daemon_interface') }}
{%- endif %}
{%- if 'garp_master_delay' in instance[1] %}
garp_master_delay {{ instance[1].get('garp_master_delay') }}
{%- endif %}
{%- if 'garp_master_repeat' in instance[1] %}
garp_master_repeat {{ instance[1].get('garp_master_repeat') }}
{%- endif %}
{%- if 'garp_master_refresh' in instance[1] %}
garp_master_refresh {{ instance[1].get('garp_master_refresh') }}
{%- endif %}
{%- if 'garp_master_refresh_repeat' in instance[1] %}
garp_master_refresh_repeat {{ instance[1].get('garp_master_refresh_repeat') }}
{%- endif %}
{%- if 'virtual_router_id' in instance[1] %}
virtual_router_id {{ instance[1].get('virtual_router_id') }}
{%- endif %}
{%- if 'priority' in instance[1] %}
priority {{ instance[1].get('priority') }}
{%- endif %}
{%- if 'advert_int' in instance[1] %}
advert_int {{ instance[1].get('advert_int') }}
{%- endif %}
authentication {
auth_type {{ instance[1].get('authentication').get('auth_type') }}
auth_pass {{ instance[1].get('authentication').get('auth_pass') }}
}
{%- if 'virtual_ipaddresses' in instance[1] %}
virtual_ipaddress {
{%- for virtual_ipaddress in instance[1].virtual_ipaddresses %}
{{ virtual_ipaddress }}
{%- endfor%}
}
{%- endif %}
{%- if 'virtual_ipaddresses_excluded' in instance[1] %}
virtual_ipaddress_excluded {
{%- for virtual_ipaddress_excluded in instance[1].virtual_ipaddresses_excluded %}
{{ virtual_ipaddress_excluded }}
{%- endfor%}
}
{%- endif %}
{%- if 'virtual_routes' in instance[1] %}
virtual_routes {
{%- for virtual_route in instance[1].virtual_routes %}
{{ virtual_route }}
{%- endfor%}
{%- if 'blackhole_addresses' in instance[1] %}
{%- for blackhole_address in instance[1].blackhole_addresses %}
blackhole {{ blackhole_address }}
{%- endfor%}
{%- endif %}
}
{%- endif %}
{%- if 'nopreempt' in instance[1] and instance[1].get('nopreempt') %}
nopreempt
{%- endif %}
{%- if 'notify_master' in instance[1] %}
notify_master {{ instance[1].get('notify_master') }}
{%- endif %}
{%- if 'notify_backup' in instance[1] %}
notify_backup {{ instance[1].get('notify_backup') }}
{%- endif %}
{%- if 'notify_fault' in instance[1] %}
notify_fault {{ instance[1].get('notify_fault') }}
{%- endif %}
{%- if 'notify_stop' in instance[1] %}
notify_stop {{ instance[1].get('notify_stop') }}
{%- endif %}
{%- if 'notify' in instance[1] %}
notify {{ instance[1].get('notify') }}
{%- endif %}
{%- if 'smtp_alert' in instance[1] %}
{%- if True == instance[1].get('smtp_alert') %}
smtp_alert
{%- endif %}
{%- endif %}
}
{%- endfor %}
#---------------------------------------------------------------------
# lvs configuration
#---------------------------------------------------------------------
#this section has not been completed