2017-01-12 16:07:02 -05:00
|
|
|
# A Heat environment that can be used to deploy DPDK with OVS
|
|
|
|
# Deploying DPDK requires enabling hugepages for the overcloud nodes
|
2016-08-26 16:22:53 +05:30
|
|
|
resource_registry:
|
|
|
|
OS::TripleO::Services::ComputeNeutronOvsAgent: ../puppet/services/neutron-ovs-dpdk-agent.yaml
|
|
|
|
|
|
|
|
parameter_defaults:
|
|
|
|
NeutronDatapathType: "netdev"
|
2017-05-03 10:19:57 -04:00
|
|
|
NeutronVhostuserSocketDir: "/var/lib/vhost_sockets"
|
2017-01-12 16:07:02 -05:00
|
|
|
NovaSchedulerDefaultFilters: "RamFilter,ComputeFilter,AvailabilityZoneFilter,ComputeCapabilitiesFilter,ImagePropertiesFilter,NUMATopologyFilter"
|
|
|
|
## Deploying DPDK requires enabling hugepages for the overcloud compute nodes.
|
|
|
|
## It also requires enabling IOMMU when using the VFIO (vfio-pci) OvsDpdkDriverType.
|
|
|
|
## This can be done using ComputeKernelArgs as shown below.
|
|
|
|
#ComputeParameters:
|
|
|
|
#ComputeKernelArgs: "intel_iommu=on default_hugepagesz=2MB hugepagesz=2MB hugepages=2048"
|
|
|
|
## Attempting to deploy DPDK without appropriate values for the below parameters may lead to unstable deployments
|
|
|
|
## due to CPU contention of DPDK PMD threads.
|
|
|
|
## It is highly recommended to to enable isolcpus (via ComputeKernelArgs) on compute overcloud nodes and set the following parameters:
|
|
|
|
#OvsDpdkSocketMemory: "" # Sets the amount of hugepage memory to assign per NUMA node.
|
|
|
|
# It is recommended to use the socket closest to the PCIe slot used for the
|
|
|
|
# desired DPDK NIC. Format should be comma separated per socket string such as:
|
|
|
|
# "<socket 0 mem MB>,<socket 1 mem MB>", for example: "1024,0".
|
|
|
|
#OvsDpdkDriverType: "vfio-pci" # Ensure the Overcloud NIC to be used for DPDK supports this UIO/PMD driver.
|
|
|
|
#OvsPmdCoreList: "" # List or range of CPU cores for PMD threads to be pinned to. Note, NIC
|
|
|
|
# location to cores on socket, number of hyper-threaded logical cores, and
|
|
|
|
# desired number of PMD threads can all play a role in configuring this setting.
|
|
|
|
# These cores should be on the same socket where OvsDpdkSocketMemory is assigned.
|
|
|
|
# If using hyperthreading then specify both logical cores that would equal the
|
|
|
|
# physical core. Also, specifying more than one core will trigger multiple PMD
|
|
|
|
# threads to be spawned, which may improve dataplane performance.
|
|
|
|
#NovaVcpuPinSet: "" # Cores to pin Nova instances to. For maximum performance, select cores
|
|
|
|
# on the same NUMA node(s) selected for previous settings.
|