Cast the resulting intersect set into a list

When using Ansible with python3, the result of
the intersect filter is a set, not a list. This
causes a failure when trying to access item 0
in the list.

In this patch we cast the set to a list before
accessing item 0. This will work for both
python2 and python3.

Change-Id: I03a4efe3be5e56b3373b1e5897ff86931edc7587
This commit is contained in:
Jesse Pretorius 2017-07-06 18:10:54 +01:00
parent b2cc046ee4
commit ce9a25baa8

View File

@ -64,7 +64,7 @@
static: no
when:
- "'nova_conductor' in group_names"
- "inventory_hostname == (groups['nova_conductor'] | intersect(ansible_play_hosts))[0]"
- "inventory_hostname == ((groups['nova_conductor'] | intersect(ansible_play_hosts)) | list)[0]"
tags:
- nova-config
@ -76,7 +76,7 @@
static: no
when:
- "'nova_conductor' in group_names"
- "inventory_hostname == (groups['nova_conductor'] | intersect(ansible_play_hosts))[0]"
- "inventory_hostname == ((groups['nova_conductor'] | intersect(ansible_play_hosts)) | list)[0]"
tags:
- nova-config