From cb8eb31f8568c56d700aedc8129099eb3a078f3a Mon Sep 17 00:00:00 2001 From: Jesse Pretorius Date: Thu, 6 Jul 2017 18:27:19 +0100 Subject: [PATCH] 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: I9b2a01882bfd5f02e0e0b85e1d57fab0fa88d0e9 --- handlers/main.yml | 2 +- tasks/main.yml | 2 +- tasks/neutron_db_setup.yml | 4 ++-- 3 files changed, 4 insertions(+), 4 deletions(-) diff --git a/handlers/main.yml b/handlers/main.yml index 94b30969..b722746c 100644 --- a/handlers/main.yml +++ b/handlers/main.yml @@ -71,7 +71,7 @@ when: - "ansible_local['openstack_ansible']['neutron']['need_db_contract'] | bool" - "neutron_services['neutron-server']['group'] in group_names" - - "inventory_hostname == (groups[neutron_services['neutron-server']['group']] | intersect(ansible_play_hosts))[0]" + - "inventory_hostname == ((groups[neutron_services['neutron-server']['group']] | intersect(ansible_play_hosts)) | list)[0]" listen: "Restart neutron services" - name: Start services diff --git a/tasks/main.yml b/tasks/main.yml index b9bb93fb..aea234f0 100644 --- a/tasks/main.yml +++ b/tasks/main.yml @@ -96,7 +96,7 @@ static: no when: - "neutron_services['neutron-server']['group'] in group_names" - - "inventory_hostname == (groups[neutron_services['neutron-server']['group']] | intersect(ansible_play_hosts))[0]" + - "inventory_hostname == ((groups[neutron_services['neutron-server']['group']] | intersect(ansible_play_hosts)) | list)[0]" tags: - neutron-config diff --git a/tasks/neutron_db_setup.yml b/tasks/neutron_db_setup.yml index 746b8bc0..c9ba81b2 100644 --- a/tasks/neutron_db_setup.yml +++ b/tasks/neutron_db_setup.yml @@ -19,7 +19,7 @@ become_user: "{{ neutron_system_user_name }}" when: - "ansible_local['openstack_ansible']['neutron']['need_db_expand'] | bool" - - "inventory_hostname == (groups[neutron_services['neutron-server']['group']] | intersect(ansible_play_hosts))[0]" + - "inventory_hostname == ((groups[neutron_services['neutron-server']['group']] | intersect(ansible_play_hosts)) | list)[0]" - name: Disable the db expand fact ini_file: @@ -33,7 +33,7 @@ become: yes become_user: "{{ neutron_system_user_name }}" when: - - "inventory_hostname == (groups[neutron_services['neutron-server']['group']] | intersect(ansible_play_hosts))[0]" + - "inventory_hostname == ((groups[neutron_services['neutron-server']['group']] | intersect(ansible_play_hosts)) | list)[0]" changed_when: false register: _offline_migrations_check failed_when: