Optimise pip install tasks

Unlike the Ansible apt module, the Ansible pip module does not
recognise a with_items list and process all the items at once.

To optimise the pip install tasks, this patch replaces the use
of with_items with a join filter so that the pip install task
does an install with all the packages in a list, ensuring that
the execution is one action instead of many.

Change-Id: I1bd9d6f8e9ccd338e7417fa583d5a218ea499181
This commit is contained in:
Jesse Pretorius 2016-07-18 16:09:31 +01:00
parent 515bed2293
commit 3a6717a782

View File

@ -70,14 +70,13 @@
- name: Install requires pip packages - name: Install requires pip packages
pip: pip:
name: "{{ item }}" name: "{{ ironic_requires_pip_packages | join(' ') }}"
state: latest state: latest
extra_args: "{{ pip_install_options_fact }}" extra_args: "{{ pip_install_options_fact }}"
register: install_packages register: install_packages
until: install_packages|success until: install_packages|success
retries: 5 retries: 5
delay: 2 delay: 2
with_items: "{{ ironic_requires_pip_packages }}"
tags: tags:
- ironic-install - ironic-install
- ironic-pip-packages - ironic-pip-packages
@ -165,7 +164,7 @@
- name: Install pip packages - name: Install pip packages
pip: pip:
name: "{{ item }}" name: "{{ ironic_pip_packages | join(' ') }}"
state: latest state: latest
virtualenv: "{{ ironic_bin | dirname }}" virtualenv: "{{ ironic_bin | dirname }}"
virtualenv_site_packages: "no" virtualenv_site_packages: "no"
@ -174,7 +173,6 @@
until: install_packages|success until: install_packages|success
retries: 5 retries: 5
delay: 2 delay: 2
with_items: "{{ ironic_pip_packages }}"
when: when:
- ironic_get_venv | failed or ironic_developer_mode | bool - ironic_get_venv | failed or ironic_developer_mode | bool
notify: Restart ironic services notify: Restart ironic services