openstack-ansible-os_neutron/vars/distro_install.yml

67 lines
3.0 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.
###
### Packages
###
#
# Compile a list of the distro packages to install based on
# whether the host is in the host group and the service is
# enabled.
#
neutron_package_list: |-
{% set packages = neutron_distro_packages %}
{% if neutron_needs_openvswitch | bool %}
{% set _ = packages.extend(neutron_optional_ovs_distro_packages) %}
{% if (ovs_dpdk_support and ansible_facts['pkg_mgr'] == 'apt') %}
{% set _ = packages.extend(neutron_ovs_dpdk_required_packages) %}
{% else %}
{% set _ = packages.extend(neutron_ovs_distro_packages) %}
{% endif %}
{% endif %}
{% if neutron_services['neutron-linuxbridge-agent']['group'] in group_names and neutron_services['neutron-linuxbridge-agent'].service_en | bool %}
{% set _ = packages.extend(neutron_lxb_distro_packages) %}
{% set _ = packages.extend(neutron_optional_lxb_distro_packages) %}
{% endif %}
{% if neutron_services['neutron-l3-agent']['group'] in group_names and neutron_fwaas_v2 | bool %}
{% set _ = packages.extend(neutron_optional_fwaas_distro_packages) %}
{% endif %}
{% if (neutron_services['neutron-l3-agent']['group'] in group_names or
neutron_services['neutron-ovn-vpn-agent']['group'] in group_names) and neutron_vpnaas | bool %}
{% set _ = packages.extend(neutron_vpnaas_distro_packages) %}
{% set _ = packages.extend(neutron_optional_vpnaas_distro_packages) %}
{% endif %}
{% if neutron_services['neutron-metadata-agent']['group'] in group_names %}
{% set _ = packages.extend(neutron_metadata_agent_distro_packages) %}
{% endif %}
{% if (neutron_services['neutron-ovn-northd']['group'] in group_names and (neutron_plugin_type == 'ml2.ovn') | bool)
or (neutron_services['neutron-ovn-controller']['group'] in group_names and (neutron_plugin_type == 'ml2.ovn') | bool) %}
{% set _ = packages.extend(neutron_ovn_distro_packages) %}
{% endif %}
{% if (neutron_services['neutron-ovn-northd']['group'] in group_names and (neutron_plugin_type == 'ml2.ovn') | bool) %}
{% set _ = packages.extend(neutron_ovn_northd_distro_packages) %}
{% endif %}
{% if (neutron_services['neutron-ovn-controller']['group'] in group_names and (neutron_plugin_type == 'ml2.ovn') | bool) %}
{% set _ = packages.extend(neutron_ovn_controller_distro_packages) %}
{% endif %}
{% if neutron_oslomsg_amqp1_enabled | bool %}
{% set _ = packages.extend(neutron_oslomsg_amqp1_distro_packages) %}
{% endif %}
{% set _ = packages.extend(neutron_service_distro_packages) %}
{{ packages }}
neutron_bin: "/usr/bin"