Ensure that first/last host detection is deterministic

With ansible-core 2.16 a breaking changes landed [1] to some filters
making their result returned in arbitrary order. With that, we were
relying on them to always return exactly same ordered lists.

With that we need to ensure that we still have determenistic behaviour
where this is important.

[1] https://github.com/ansible/ansible/issues/82554

Change-Id: I76fd03a9584b5999af6cb247f8a3f67d5343b055
This commit is contained in:
Dmitriy Rabotyagov 2024-07-19 11:01:26 +02:00
parent e8d0f0db5f
commit bfd4651fe5

View File

@ -38,12 +38,12 @@ uwsgi_keystone_services: |-
_keystone_is_first_play_host: >- _keystone_is_first_play_host: >-
{{ {{
(keystone_services['keystone-wsgi-public']['group'] in group_names and (keystone_services['keystone-wsgi-public']['group'] in group_names and
inventory_hostname == ((groups[keystone_services['keystone-wsgi-public']['group']] | intersect(ansible_play_hosts)) | list)[0]) | bool inventory_hostname == ((groups[keystone_services['keystone-wsgi-public']['group']] | select('in', ansible_play_hosts)) | list)[0]) | bool
}} }}
_keystone_is_last_play_host: >- _keystone_is_last_play_host: >-
{{ {{
(keystone_services['keystone-wsgi-public']['group'] in group_names and (keystone_services['keystone-wsgi-public']['group'] in group_names and
inventory_hostname == ((groups[keystone_services['keystone-wsgi-public']['group']] | intersect(ansible_play_hosts)) | list)[-1]) | bool inventory_hostname == ((groups[keystone_services['keystone-wsgi-public']['group']] | select('in', ansible_play_hosts)) | list)[-1]) | bool
}} }}
_keystone_oslomsg_rpc_vhost_conf: >- _keystone_oslomsg_rpc_vhost_conf: >-