diff options
author | Janki Chhatbar <jchhatba@redhat.com> | 2017-10-23 10:58:03 +0530 |
---|---|---|
committer | Janki Chhatbar <jchhatba@redhat.com> | 2017-11-09 08:00:14 +0000 |
commit | c95a8a5d1006571f1b6a1e43ac2400fa81237216 (patch) | |
tree | 58ed6c76d267c80737189715f7eef9cf5b7c9c43 | |
parent | 697ffad70d35ffeab939819a5b06d3ee0c1b1d67 (diff) |
Env files for ODL deployments
This patch adds env files for SRIOV, OVS-DPDK, L2GW, BGPVPN
and SFC deployments with ODL.
These files contain configs not present in basic ODL deployment
env file. While deploying, these need to be used along the basic
deployment env file like
openstack overcloud deploy \
-e environments/services-docker/neutron-opendaylight.yaml \
-e environments/services-docker/neutron-opendaylight-dpdk.yaml
and
openstack overcloud deploy \
-e environments/services-docker/neutron-opendaylight.yaml \
-e environments/services-docker/neutron-opendaylight-sriov.yaml
and so forth for all other deployments.
Closes-Bug: 1722881
Change-Id: I2b70d3f4518e0c014cf37f7fecd92f69989f0860
(cherry picked from commit e0c89d6593dadd9bf6ba9fa6f618e7c44ec7aa2e)
4 files changed, 60 insertions, 20 deletions
diff --git a/environments/neutron-opendaylight-dpdk.yaml b/environments/neutron-opendaylight-dpdk.yaml index 0d598980..749b2150 100644 --- a/environments/neutron-opendaylight-dpdk.yaml +++ b/environments/neutron-opendaylight-dpdk.yaml @@ -1,17 +1,7 @@ # A Heat environment that can be used to deploy OpenDaylight with L3 DVR and DPDK -resource_registry: - OS::TripleO::Services::NeutronOvsAgent: OS::Heat::None - OS::TripleO::Services::ComputeNeutronOvsAgent: OS::Heat::None - OS::TripleO::Services::ComputeNeutronCorePlugin: OS::Heat::None - OS::TripleO::Services::OpenDaylightApi: ../puppet/services/opendaylight-api.yaml - OS::TripleO::Services::OpenDaylightOvs: ../puppet/services/opendaylight-ovs.yaml - OS::TripleO::Services::NeutronL3Agent: OS::Heat::None +# This file is to be used with neutron-opendaylight.yaml parameter_defaults: - NeutronEnableForceMetadata: true - NeutronPluginExtensions: 'port_security' - NeutronMechanismDrivers: 'opendaylight_v2' - NeutronServicePlugins: 'odl-router_v2,trunk' NovaSchedulerDefaultFilters: "RamFilter,ComputeFilter,AvailabilityZoneFilter,ComputeCapabilitiesFilter,ImagePropertiesFilter,NUMATopologyFilter" OpenDaylightSNATMechanism: 'controller' diff --git a/environments/neutron-opendaylight-sriov.yaml b/environments/neutron-opendaylight-sriov.yaml index 3a212ed3..52924070 100644 --- a/environments/neutron-opendaylight-sriov.yaml +++ b/environments/neutron-opendaylight-sriov.yaml @@ -1,19 +1,10 @@ # A Heat environment that can be used to deploy OpenDaylight with SRIOV resource_registry: - OS::TripleO::Services::NeutronOvsAgent: OS::Heat::None - OS::TripleO::Services::ComputeNeutronOvsAgent: OS::Heat::None OS::TripleO::Services::ComputeNeutronCorePlugin: ../puppet/services/neutron-plugin-ml2.yaml - OS::TripleO::Services::NeutronCorePlugin: ../puppet/services/neutron-plugin-ml2-odl.yaml - OS::TripleO::Services::OpenDaylightApi: ../puppet/services/opendaylight-api.yaml - OS::TripleO::Services::OpenDaylightOvs: ../puppet/services/opendaylight-ovs.yaml OS::TripleO::Services::NeutronSriovAgent: ../puppet/services/neutron-sriov-agent.yaml - OS::TripleO::Services::NeutronL3Agent: OS::Heat::None parameter_defaults: - NeutronEnableForceMetadata: true - NeutronPluginExtensions: 'port_security' NeutronMechanismDrivers: ['sriovnicswitch','opendaylight_v2'] - NeutronServicePlugins: 'odl-router_v2,trunk' # Add PciPassthroughFilter to the scheduler default filters #NovaSchedulerDefaultFilters: ['RetryFilter','AvailabilityZoneFilter','RamFilter','ComputeFilter','ComputeCapabilitiesFilter','ImagePropertiesFilter','ServerGroupAntiAffinityFilter','ServerGroupAffinityFilter','PciPassthroughFilter'] diff --git a/environments/services-docker/neutron-opendaylight-dpdk.yaml b/environments/services-docker/neutron-opendaylight-dpdk.yaml new file mode 100644 index 00000000..dffafa97 --- /dev/null +++ b/environments/services-docker/neutron-opendaylight-dpdk.yaml @@ -0,0 +1,37 @@ +# A Heat environment that can be used to deploy OpenDaylight with L3 DVR and DPDK. +# This file is to be used with neutron-opendaylight.yaml + +parameter_defaults: + NovaSchedulerDefaultFilters: "RamFilter,ComputeFilter,AvailabilityZoneFilter,ComputeCapabilitiesFilter,ImagePropertiesFilter,NUMATopologyFilter" + OpenDaylightSNATMechanism: 'controller' + + ComputeOvsDpdkParameters: + OvsEnableDpdk: True + + ## Host configuration Parameters + #TunedProfileName: "cpu-partitioning" + #IsolCpusList: "" # Logical CPUs list to be isolated from the host process (applied via cpu-partitioning tuned). + # It is mandatory to provide isolated cpus for tuned to achive optimal performance. + # Example: "3-8,12-15,18" + #KernelArgs: "" # Space separated kernel args to configure hugepage and IOMMU. + # Deploying DPDK requires enabling hugepages for the overcloud compute nodes. + # It also requires enabling IOMMU when using the VFIO (vfio-pci) OvsDpdkDriverType. + # This should be done by configuring parameters via host-config-and-reboot.yaml environment file. + + ## 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 KernelArgs) 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.
\ No newline at end of file diff --git a/environments/services-docker/neutron-opendaylight-sriov.yaml b/environments/services-docker/neutron-opendaylight-sriov.yaml new file mode 100644 index 00000000..92bce16b --- /dev/null +++ b/environments/services-docker/neutron-opendaylight-sriov.yaml @@ -0,0 +1,22 @@ +# A Heat environment that can be used to deploy OpenDaylight with SRIOV +# This file is to be used with neutron-opendaylight.yaml + +resource_registry: + OS::TripleO::Services::ComputeNeutronCorePlugin: ../../docker/services/neutron-plugin-ml2.yaml + OS::TripleO::Services::NeutronSriovAgent: ../../docker/services/neutron-sriov-agent.yaml + +parameter_defaults: + NeutronMechanismDrivers: ['sriovnicswitch','opendaylight_v2'] + + # Add PciPassthroughFilter to the scheduler default filters + #NovaSchedulerDefaultFilters: ['RetryFilter','AvailabilityZoneFilter','RamFilter','ComputeFilter','ComputeCapabilitiesFilter','ImagePropertiesFilter','ServerGroupAntiAffinityFilter','ServerGroupAffinityFilter','PciPassthroughFilter'] + #NovaSchedulerAvailableFilters: ["nova.scheduler.filters.all_filters","nova.scheduler.filters.pci_passthrough_filter.PciPassthroughFilter"] + + #NeutronPhysicalDevMappings: "datacentre:ens20f2" + + # Number of VFs that needs to be configured for a physical interface + #NeutronSriovNumVFs: "ens20f2:5" + + #NovaPCIPassthrough: + # - devname: "ens20f2" + # physical_network: "datacentre"
\ No newline at end of file |