openstack-ansible-os_neutron/tasks/neutron_install_source.yml
Guilherme Steinmüller e61d4fd7c7 Add neutron_user_pip_packages variable
With this variable, users would be able to extend
the list of pip packages in case of needing an
extra pip package.

Currently if we need an extra pip package we need
to override the existing list.

Change-Id: If5c860b52af592629317def2c9c21f166a9c6ed1
2019-02-20 17:28:13 +00:00

64 lines
2.5 KiB
YAML

---
# Copyright 2018, SUSE Linux GmbH.
#
# 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.
# TODO(odyssey4me):
# This can be simplified once all the roles are using
# python_venv_build. We can then switch to using a
# set of constraints in pip.conf inside the venv,
# perhaps prepared by giving a giving a list of
# constraints to the role.
- name: Create developer mode constraint file
copy:
dest: "/opt/developer-pip-constraints.txt"
content: |
{% for item in neutron_developer_constraints %}
{{ item }}
{% endfor %}
when: neutron_developer_mode | bool
- name: Ensure remote wheel building is disabled in developer mode
set_fact:
venv_build_host: "{{ inventory_hostname }}"
when:
- neutron_developer_mode | bool
- name: Install the python venv
include_role:
name: "python_venv_build"
private: yes
vars:
venv_install_destination_path: "{{ neutron_bin | dirname }}"
venv_install_distro_package_list: "{{ neutron_package_list }}"
venv_pip_install_args: "{{ neutron_pip_install_args }}"
venv_pip_packages: >-
{{ neutron_pip_packages | union(neutron_user_pip_packages) +
(neutron_bgp | bool) | ternary(neutron_optional_bgp_pip_packages, []) +
(neutron_fwaas | bool) | ternary(neutron_optional_fwaas_pip_packages, []) +
(neutron_fwaas_v2 | bool) | ternary(neutron_optional_fwaas_pip_packages, []) +
(neutron_lbaasv2 | bool) | ternary(neutron_optional_lbaas_pip_packages, []) +
(neutron_vpnaas | bool) | ternary(neutron_optional_vpnaas_pip_packages, []) +
(neutron_sfc | bool) | ternary(neutron_optional_sfc_pip_packages, []) +
(neutron_oslomsg_amqp1_enabled | bool) | ternary(neutron_optional_oslomsg_amqp1_pip_packages, []) }}
venv_facts_when_changed:
- section: "neutron"
option: "need_db_expand"
value: "True"
- section: "neutron"
option: "need_db_contract"
value: "True"
- section: "neutron"
option: "venv_tag"
value: "{{ neutron_venv_tag }}"