openstack-ansible/playbooks/vars/configs/keepalived_haproxy.yml
Jean-Philippe Evrard 3b1647c708 Set default keepalived cidr if none is provided
Even if this file is completely ignored because the role using it
is skipped, ansible parses the whole file. Any undefined variables
will cause a failure. Undefined variable was previously a way to
force failure if it was undefined, but now we have to do differently.

In the meantime, this is a quick fix to make sure we don't have
issues with undefined variables for non-multinode haproxy installs.

Change-Id: Ifd00f4eb0a0a3559d7d3bd3c5a4331798a3c96aa
Closes-Bug: 1631920
2016-10-12 10:09:56 +00:00

68 lines
3.2 KiB
YAML

---
# Copyright 2015, Jean-Philippe Evrard <jean-philippe@evrard.me>
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
keepalived_ping_address: "193.0.14.129"
keepalived_ping_count: 1
keepalived_ping_interval: 10
keepalived_sync_groups:
haproxy:
instances:
- external
- internal
notify_script: /etc/keepalived/haproxy_notify.sh
##if a src_*_script is defined, it will be uploaded from src_*_script
##on the deploy host to the *_script location. Make sure *_script is
##a location in that case.
src_notify_script: vars/configs/keepalived_haproxy_notifications.sh
keepalived_scripts:
haproxy_check_script:
check_script: "killall -0 haproxy"
pingable_check_script:
check_script: "ping -c {{ keepalived_ping_count }} {{ keepalived_ping_address }} 1>&2"
interval: "{{ keepalived_ping_interval }}"
fall: 2
rise: 4
# If you have more than 5 keepalived nodes, you should build your own script
# (handling master and backups servers), and replace in keepalived_instances:
# priority: "{{ ((play_hosts|length-play_hosts.index(inventory_hostname))*100)-((play_hosts|length-play_hosts.index(inventory_hostname))*50) }}"
# by
# priority: "{{ (play_hosts.index(inventory_hostname) == 0) | ternary('100','50') }}"
keepalived_instances:
external:
interface: "{{ haproxy_keepalived_external_interface | default(management_bridge) }}"
state: "{{ (play_hosts.index(inventory_hostname) == 0) | ternary('MASTER', 'BACKUP') }}"
virtual_router_id: "{{ haproxy_keepalived_external_virtual_router_id | default ('10') }}"
priority: "{{ ((play_hosts|length-play_hosts.index(inventory_hostname))*100)-((play_hosts|length-play_hosts.index(inventory_hostname))*50) }}"
authentication_password: "{{ haproxy_keepalived_authentication_password }}"
vips:
- "{{ haproxy_keepalived_external_vip_cidr | default('169.254.1.1/24') }} dev {{ haproxy_keepalived_external_interface | default(management_bridge) }}"
track_scripts:
- haproxy_check_script
- pingable_check_script
internal:
interface: "{{ haproxy_keepalived_internal_interface | default(management_bridge) }}"
state: "{{ (play_hosts.index(inventory_hostname) == 0) | ternary('MASTER', 'BACKUP') }}"
virtual_router_id: "{{ haproxy_keepalived_internal_virtual_router_id | default ('11') }}"
priority: "{{ ((play_hosts|length-play_hosts.index(inventory_hostname))*100)-((play_hosts|length-play_hosts.index(inventory_hostname))*50) }}"
authentication_password: "{{ haproxy_keepalived_authentication_password }}"
track_scripts:
- haproxy_check_script
- pingable_check_script
vips:
- "{{ haproxy_keepalived_internal_vip_cidr | default('169.254.2.1/24') }} dev {{ haproxy_keepalived_internal_interface | default(management_bridge) }}"