openstack-ansible-os_neutron/vars/source_install.yml
James Denton 9b7cab9cf1 Adds DPDK support for Open vSwitch
This commit provides baseline changes to the os_neutron role
to support DPDK-accelerated Open vSwitch.

Change-Id: I08aba431d1546160e7c0311ad929762a018e0dca
Implements: dpdk support for openvswitch
Closes-Bug: #1784660
2019-11-26 04:42:21 +00:00

61 lines
2.7 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 %}
{% if (ovs_nsh_support and ansible_pkg_mgr in ['apt', 'zypper']) %}
{% set _ = packages.extend(neutron_ovs_nsh_required_packages) %}
{% elif (ovs_dpdk_support and ansible_pkg_mgr in ['apt', 'zypper']) %}
{% 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-vpnaas-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"