Add ovs hardware Offload support to ovs mechansim driver

Depends-On: I3c0d24a31f0a1cac2cb8c5da8125051d4348eed6
Depends-On  I578f956f2a8c6ee29a9d1ff38ee51765bcab05c1
Implements: blueprint tripleo-ovs-hw-offload

Change-Id: I7e20ab2111e7d71380da844a15835b5fac1125d9
This commit is contained in:
Moshe Levi 2017-09-26 11:04:10 +03:00 committed by waleed mousa
parent 0ffd379393
commit f3f1437cb2
3 changed files with 37 additions and 0 deletions

View File

@ -0,0 +1,24 @@
# A Heat environment file that enables OVS Hardware Offload in the overcloud.
# This works by configuring SR-IOV NIC with switchdev and OVS Hardware Offload on
# compute nodes. The feature supported in OVS 2.8.0
resource_registry:
OS::TripleO::Services::NeutronSriovHostConfig: ../puppet/services/neutron-sriov-host-config.yaml
parameter_defaults:
NovaSchedulerDefaultFilters: ['RetryFilter','AvailabilityZoneFilter','RamFilter','ComputeFilter','ComputeCapabilitiesFilter','ImagePropertiesFilter','ServerGroupAntiAffinityFilter','ServerGroupAffinityFilter','PciPassthroughFilter']
NovaSchedulerAvailableFilters: ["nova.scheduler.filters.all_filters","nova.scheduler.filters.pci_passthrough_filter.PciPassthroughFilter"]
# Kernel arguments for ComputeSriov node
ComputeSriovParameters:
KernelArgs: "intel_iommu=on iommu=pt"
OvsHwOffload: True
# Number of VFs that needs to be configured for a physical interface
#NeutronSriovNumVFs: ["ens3f0:4:switchdev"]
# Mapping of SR-IOV PF interface to neutron physical_network.
# In case of Vxlan/GRE physical_network should be null.
# In case of flat/vlan the physical_network should as configured in neutron.
#NovaPCIPassthrough:
# - devname: "ens3f0"
# physical_network: null

View File

@ -78,6 +78,11 @@ parameters:
default: default:
tag: openstack.neutron.agent.openvswitch tag: openstack.neutron.agent.openvswitch
path: /var/log/neutron/openvswitch-agent.log path: /var/log/neutron/openvswitch-agent.log
OvsHwOffload:
default: false
description: |
Enable OVS Hardware Offload. This feature supported from OVS 2.8.0
type: boolean
conditions: conditions:
no_firewall_driver: {equals : [{get_param: NeutronOVSFirewallDriver}, '']} no_firewall_driver: {equals : [{get_param: NeutronOVSFirewallDriver}, '']}
@ -111,9 +116,11 @@ resources:
map_replace: map_replace:
- map_replace: - map_replace:
- neutron::agents::ml2::ovs::bridge_mappings: NeutronBridgeMappings - neutron::agents::ml2::ovs::bridge_mappings: NeutronBridgeMappings
vswitch::ovs::enable_hw_offload: OvsHwOffload
- values: {get_param: [RoleParameters]} - values: {get_param: [RoleParameters]}
- values: - values:
NeutronBridgeMappings: {get_param: NeutronBridgeMappings} NeutronBridgeMappings: {get_param: NeutronBridgeMappings}
OvsHwOffload: {get_param: OvsHwOffload}
outputs: outputs:
role_data: role_data:

View File

@ -0,0 +1,6 @@
---
features:
- Add support for OVS Hardware Offload.
This feature requires Linux Kernel >= 4.13
Open vSwitch >= 2.8 iproute >= 4.12.