loadbalancer: Add option to not define track script
We've seen issues in CI when keepalived haproxy check script returns an error and keepalived is switching to backup and then again to primary on a single node environment. Closes-Bug: #2025219 Change-Id: Iba62e76b3cf83f3ade6df81288d2d77129ffc725
This commit is contained in:
parent
1e9f19aa6b
commit
a0e614ee10
@ -146,3 +146,7 @@ haproxy_host_ipv4_tcp_retries2: "KOLLA_UNSET"
|
|||||||
haproxy_socket_level_admin: "no"
|
haproxy_socket_level_admin: "no"
|
||||||
|
|
||||||
kolla_externally_managed_cert: False
|
kolla_externally_managed_cert: False
|
||||||
|
|
||||||
|
# Allow to disable keepalived tracking script (e.g. for single node environments
|
||||||
|
# where this proves problematic in some cases)
|
||||||
|
keepalived_track_script_enabled: True
|
||||||
|
@ -98,6 +98,7 @@
|
|||||||
become: true
|
become: true
|
||||||
with_dict: "{{ loadbalancer_services }}"
|
with_dict: "{{ loadbalancer_services }}"
|
||||||
when:
|
when:
|
||||||
|
- keepalived_track_script_enabled | bool
|
||||||
- inventory_hostname in groups[service.group]
|
- inventory_hostname in groups[service.group]
|
||||||
- inventory_hostname in groups[item.value.group]
|
- inventory_hostname in groups[item.value.group]
|
||||||
- item.key != 'keepalived'
|
- item.key != 'keepalived'
|
||||||
|
@ -1,9 +1,11 @@
|
|||||||
|
{% if keepalived_track_script_enabled | bool %}
|
||||||
vrrp_script check_alive {
|
vrrp_script check_alive {
|
||||||
script "/check_alive.sh"
|
script "/check_alive.sh"
|
||||||
interval 2
|
interval 2
|
||||||
fall 2
|
fall 2
|
||||||
rise 10
|
rise 10
|
||||||
}
|
}
|
||||||
|
{% endif %}
|
||||||
|
|
||||||
vrrp_instance kolla_internal_vip_{{ keepalived_virtual_router_id }} {
|
vrrp_instance kolla_internal_vip_{{ keepalived_virtual_router_id }} {
|
||||||
state BACKUP
|
state BACKUP
|
||||||
@ -40,7 +42,9 @@ vrrp_instance kolla_internal_vip_{{ keepalived_virtual_router_id }} {
|
|||||||
auth_type PASS
|
auth_type PASS
|
||||||
auth_pass {{ keepalived_password }}
|
auth_pass {{ keepalived_password }}
|
||||||
}
|
}
|
||||||
|
{% if keepalived_track_script_enabled | bool %}
|
||||||
track_script {
|
track_script {
|
||||||
check_alive
|
check_alive
|
||||||
}
|
}
|
||||||
|
{% endif %}
|
||||||
}
|
}
|
||||||
|
@ -0,0 +1,9 @@
|
|||||||
|
---
|
||||||
|
fixes:
|
||||||
|
- |
|
||||||
|
Fixes an issue where keepalived track script fails on single controller
|
||||||
|
environment and keepalived VIP goes into BACKUP state.
|
||||||
|
``keepalived_track_script_enabled`` variable has been introduced (default:
|
||||||
|
true), which can be used to disable track scripts in keepalived
|
||||||
|
configuration.
|
||||||
|
`LP#2025219 <https://launchpad.net/bugs/2025219>`__
|
@ -202,3 +202,7 @@ enable_opensearch: "yes"
|
|||||||
enable_keystone: "yes"
|
enable_keystone: "yes"
|
||||||
enable_venus: "yes"
|
enable_venus: "yes"
|
||||||
{% endif %}
|
{% endif %}
|
||||||
|
|
||||||
|
{% if groups['all'] | length == 1 %}
|
||||||
|
keepalived_track_script_enabled: "no"
|
||||||
|
{% endif %}
|
||||||
|
Loading…
Reference in New Issue
Block a user