0d59898051a17d36a870c2c43f877b9267e670c7
[apex-tripleo-heat-templates.git] / environments / neutron-opendaylight-dpdk.yaml
1 # A Heat environment that can be used to deploy OpenDaylight with L3 DVR and DPDK
2 resource_registry:
3   OS::TripleO::Services::NeutronOvsAgent: OS::Heat::None
4   OS::TripleO::Services::ComputeNeutronOvsAgent: OS::Heat::None
5   OS::TripleO::Services::ComputeNeutronCorePlugin: OS::Heat::None
6   OS::TripleO::Services::OpenDaylightApi: ../puppet/services/opendaylight-api.yaml
7   OS::TripleO::Services::OpenDaylightOvs: ../puppet/services/opendaylight-ovs.yaml
8   OS::TripleO::Services::NeutronL3Agent: OS::Heat::None
9
10 parameter_defaults:
11   NeutronEnableForceMetadata: true
12   NeutronPluginExtensions: 'port_security'
13   NeutronMechanismDrivers: 'opendaylight_v2'
14   NeutronServicePlugins: 'odl-router_v2,trunk'
15   NovaSchedulerDefaultFilters: "RamFilter,ComputeFilter,AvailabilityZoneFilter,ComputeCapabilitiesFilter,ImagePropertiesFilter,NUMATopologyFilter"
16   OpenDaylightSNATMechanism: 'controller'
17
18   ComputeOvsDpdkParameters:
19     OvsEnableDpdk: True
20
21     ## Host configuration Parameters
22     #TunedProfileName: "cpu-partitioning"
23     #IsolCpusList: ""               # Logical CPUs list to be isolated from the host process (applied via cpu-partitioning tuned).
24                                     # It is mandatory to provide isolated cpus for tuned to achive optimal performance.
25                                     # Example: "3-8,12-15,18"
26     #KernelArgs: ""                 # Space separated kernel args to configure hugepage and IOMMU.
27                                     # Deploying DPDK requires enabling hugepages for the overcloud compute nodes.
28                                     # It also requires enabling IOMMU when using the VFIO (vfio-pci) OvsDpdkDriverType.
29                                     # This should be done by configuring parameters via host-config-and-reboot.yaml environment file.
30
31     ## Attempting to deploy DPDK without appropriate values for the below parameters may lead to unstable deployments
32     ## due to CPU contention of DPDK PMD threads.
33     ## It is highly recommended to to enable isolcpus (via KernelArgs) on compute overcloud nodes and set the following parameters:
34     #OvsDpdkSocketMemory: ""       # Sets the amount of hugepage memory to assign per NUMA node.
35                                    # It is recommended to use the socket closest to the PCIe slot used for the
36                                    # desired DPDK NIC.  Format should be comma separated per socket string such as:
37                                    # "<socket 0 mem MB>,<socket 1 mem MB>", for example: "1024,0".
38     #OvsDpdkDriverType: "vfio-pci" # Ensure the Overcloud NIC to be used for DPDK supports this UIO/PMD driver.
39     #OvsPmdCoreList: ""            # List or range of CPU cores for PMD threads to be pinned to.  Note, NIC
40                                    # location to cores on socket, number of hyper-threaded logical cores, and
41                                    # desired number of PMD threads can all play a role in configuring this setting.
42                                    # These cores should be on the same socket where OvsDpdkSocketMemory is assigned.
43                                    # If using hyperthreading then specify both logical cores that would equal the
44                                    # physical core.  Also, specifying more than one core will trigger multiple PMD
45                                    # threads to be spawned, which may improve dataplane performance.
46     #NovaVcpuPinSet: ""            # Cores to pin Nova instances to.  For maximum performance, select cores
47                                    # on the same NUMA node(s) selected for previous settings.