--- # 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 %} {% 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) %} {% 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) %} {% 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') or (neutron_services['neutron-ovn-controller']['group'] in group_names and neutron_plugin_type == 'ml2.ovn') %} {% set _ = packages.extend(neutron_ovn_distro_packages) %} {% endif %} {% if (neutron_services['neutron-ovn-northd']['group'] in group_names and neutron_plugin_type == 'ml2.ovn') %} {% 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') %} {% set _ = packages.extend(neutron_ovn_controller_distro_packages) %} {% endif %} {% if neutron_oslomsg_amqp1_enabled | bool %} {% set _ = packages.extend(neutron_oslomsg_amqp1_distro_packages) %} {% endif %} {{ packages }} neutron_bin: "/openstack/venvs/neutron-{{ neutron_venv_tag }}/bin"