Fix service removal condition

In order to remove service currently we need to satisfy one of
conditions:

- haproxy_backend_nodes and haproxy_backup_nodes are empty and defined
but must be defined
- haproxy_service_enabled is False
- state is absent

There's big issue with logic regarding haproxy_backend_nodes and
haproxy_backup_nodes since they both should be defined and empy,
but in case haproxy_backup_nodes is not defined but haproxy_backend_nodes
is empty we should consider this as condition for removal as well.
But this will make it too complicated.

This change suggest consider rely only on haproxy_service_enabled and
state keys of haproxy_service_configs, as it's sufficient to
drop service based on these 2 options.

Change-Id: Ib37445ad852bcbd8d44d9eda9293565a4e52262b
This commit is contained in:
Dmitriy Rabotyagov 2021-07-22 19:59:02 +03:00 committed by Dmitriy Rabotyagov
parent 1dc4fa621c
commit 691f81a6d9
1 changed files with 1 additions and 5 deletions

View File

@ -37,11 +37,7 @@
notify: Regenerate haproxy configuration
with_items: "{{ haproxy_service_configs }}"
when:
- ((item.service.haproxy_backend_nodes is defined and
item.service.haproxy_backend_nodes | length == 0) and
(item.service.haproxy_backup_nodes is defined and
item.service.haproxy_backup_nodes | length == 0)) or
(not ((item.service.haproxy_service_enabled | default('True')) | bool)) or
- ((item.service.haproxy_service_enabled | default('True')) | bool) is falsy or
(item.service.state is defined and item.service.state == 'absent')
tags:
- haproxy-service-config