Adding support for ovs hw offloading in containers

During deployment, deploy with

-e environments/services-docker/neutron-ovs-hw-offload.yaml

along with other env files.

Change-Id: I9cd27a86e29381a220dd9c90d4ec1cec81f582e1
This commit is contained in:
waleed mousa 2018-01-15 07:58:47 -05:00
parent 5147c8fda2
commit 75a062b498
2 changed files with 33 additions and 1 deletions

View File

@ -76,6 +76,14 @@ outputs:
step_config:
get_attr: [NeutronOvsAgentBase, role_data, step_config]
config_image: {get_param: DockerNeutronConfigImage}
# We need to mount /run for puppet_config step. This is because
# puppet-vswitch runs the commands "ovs-vsctl list open_vswitch ."
# when running vswitch::ovs::enable_hw_offload: true
# ovs-vsctl talks to the ovsdb-server (hosting conf.db)
# on the unix domain socket - /run/openvswitch/db.sock
volumes:
- /lib/modules:/lib/modules:ro
- /run/openvswitch:/run/openvswitch
kolla_config:
/var/lib/kolla/config_files/neutron_ovs_agent.json:
command: /usr/bin/neutron-openvswitch-agent --config-file /usr/share/neutron/neutron-dist.conf --config-file /etc/neutron/neutron.conf --config-file /etc/neutron/plugins/ml2/openvswitch_agent.ini --config-file /etc/neutron/plugins/ml2/ml2_conf.ini --config-dir /etc/neutron/conf.d/common
@ -103,7 +111,7 @@ outputs:
- --modulepath
- /etc/puppet/modules:/usr/share/openstack-puppet/modules
- --tags
- file,file_line,concat,augeas,neutron::plugins::ovs::bridge
- file,file_line,concat,augeas,neutron::plugins::ovs::bridge,vs_config
- -v
- -e
- include neutron::agents::ml2::ovs

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