Force Ansible to use dynamic includes

Ansible 2.1.1 introduces a regression in the way conditional
includes are handled which results in every task in the
included file being evaluated even if the condition for the
include is not met. This extends the run time significantly
for a deployment.

This patch forces all conditional includes to be dynamic.

Change-Id: Ide463fde793aa044c5288ae50e87a6be771a8e4d
Related-Bug: https://github.com/ansible/ansible/issues/17687
This commit is contained in:
Jesse Pretorius 2016-09-22 15:38:53 +01:00
parent d08df5d06d
commit a7955a9afe
4 changed files with 12 additions and 6 deletions

View File

@ -50,14 +50,14 @@
- sahara-install - sahara-install
- include: sahara_db_setup.yml - include: sahara_db_setup.yml
when: > static: no
inventory_hostname == groups['sahara_all'][0] when: inventory_hostname == groups['sahara_all'][0]
tags: tags:
- sahara-install - sahara-install
- include: sahara_service_setup.yml - include: sahara_service_setup.yml
when: > static: no
inventory_hostname == groups['sahara_all'][0] when: inventory_hostname == groups['sahara_all'][0]
tags: tags:
- sahara-install - sahara-install

View File

@ -12,9 +12,11 @@
# limitations under the License. # limitations under the License.
- include: sahara_init_upstart.yml - include: sahara_init_upstart.yml
static: no
when: pid1_name == "init" when: pid1_name == "init"
- include: sahara_init_systemd.yml - include: sahara_init_systemd.yml
static: no
when: pid1_name == "systemd" when: pid1_name == "systemd"
- name: Load service - name: Load service

View File

@ -12,8 +12,8 @@
# limitations under the License. # limitations under the License.
- include: sahara_install_apt.yml - include: sahara_install_apt.yml
when: static: no
- ansible_pkg_mgr == 'apt' when: ansible_pkg_mgr == 'apt'
- name: Create developer mode constraint file - name: Create developer mode constraint file
copy: copy:

View File

@ -10,6 +10,10 @@
src: https://git.openstack.org/openstack/openstack-ansible-memcached_server src: https://git.openstack.org/openstack/openstack-ansible-memcached_server
scm: git scm: git
version: master version: master
- name: openstack_hosts
src: https://git.openstack.org/openstack/openstack-ansible-openstack_hosts
scm: git
version: master
- name: lxc_hosts - name: lxc_hosts
src: https://git.openstack.org/openstack/openstack-ansible-lxc_hosts src: https://git.openstack.org/openstack/openstack-ansible-lxc_hosts
scm: git scm: git