openstack-ansible-os_neutron/tasks/plumgrid_config.yml
Jesse Pretorius ec9d44a53c 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: Ib2e9ee2c1f668366905f3c4191bc3a27e84b73ae
2016-07-18 16:14:47 +01:00

60 lines
1.9 KiB
YAML

---
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
- name: Setup PLUMlib Neutron Config
config_template:
src: plugins/plumgrid/plumlib.ini
dest: /etc/neutron/plugins/plumgrid/plumlib.ini
owner: "{{ neutron_system_user_name }}"
group: "{{ neutron_system_group_name }}"
config_overrides: "{{ neutron_plumlib_ini_overrides }}"
config_type: "ini"
- name: Place pgrc file
template:
src: plugins/plumgrid/pgrc
dest: /etc/neutron/plugins/plumgrid/pgrc
owner: "{{ neutron_system_user_name }}"
group: "{{ neutron_system_group_name }}"
- name: Install plumgrid pip packages
pip:
name: "{{ neutron_optional_plumgrid_pip_packages | join(' ') }}"
state: latest
virtualenv: "{{ neutron_bin | dirname }}"
virtualenv_site_packages: "no"
extra_args: "{{ pip_install_options|default('') }}"
register: install_packages
until: install_packages|success
ignore_errors: True
retries: 5
delay: 2
when:
- neutron_services['neutron-server']['group'] in group_names
- name: Install plumgrid pip packages fall back
pip:
name: "{{ neutron_optional_plumgrid_pip_packages | join(' ') }}"
state: latest
virtualenv: "{{ neutron_bin | dirname }}"
virtualenv_site_packages: "no"
extra_args: "--isolated"
register: install_packages_fall_back
until: install_packages_fall_back|success
retries: 5
delay: 2
when:
- install_packages | failed
- neutron_services['neutron-server']['group'] in group_names