Adds docker SFC and cleans up ODL envs
There are now duplicate places where environment files for deployments are kept. Those include environments/ and environments/services. The files in environments/ are incorrect and should be removed to leave only a single place (environments/services) to store docker services. environments/services-baremetal house the legacy bm services. This patch also adds a missing docker service for SFC so that we can also include an ODL SFC docker env file. Change-Id: If70818db9577b7d80c4acd0d0577d9432b5c8bef Signed-off-by: Tim Rozet <trozet@redhat.com>
This commit is contained in:
parent
76c8fe9d0a
commit
baec8bba6f
68
docker/services/neutron-sfc-api.yaml
Normal file
68
docker/services/neutron-sfc-api.yaml
Normal file
@ -0,0 +1,68 @@
|
||||
heat_template_version: rocky
|
||||
|
||||
description: >
|
||||
SFC API service configured with Puppet
|
||||
|
||||
parameters:
|
||||
ServiceData:
|
||||
default: {}
|
||||
description: Dictionary packing service data
|
||||
type: json
|
||||
ServiceNetMap:
|
||||
default: {}
|
||||
description: Mapping of service_name -> network name. Typically set
|
||||
via parameter_defaults in the resource registry. This
|
||||
mapping overrides those in ServiceNetMapDefaults.
|
||||
type: json
|
||||
DefaultPasswords:
|
||||
default: {}
|
||||
type: json
|
||||
RoleName:
|
||||
default: ''
|
||||
description: Role name on which the service is applied
|
||||
type: string
|
||||
RoleParameters:
|
||||
default: {}
|
||||
description: Parameters specific to the role
|
||||
type: json
|
||||
EndpointMap:
|
||||
default: {}
|
||||
description: Mapping of service endpoint -> protocol. Typically set
|
||||
via parameter_defaults in the resource registry.
|
||||
type: json
|
||||
DockerNeutronConfigImage:
|
||||
description: The container image to use for the neutron config_volume
|
||||
type: string
|
||||
|
||||
resources:
|
||||
|
||||
ContainersCommon:
|
||||
type: ./containers-common.yaml
|
||||
|
||||
NeutronSfcBase:
|
||||
type: ../../puppet/services/neutron-sfc-api.yaml
|
||||
properties:
|
||||
EndpointMap: {get_param: EndpointMap}
|
||||
ServiceData: {get_param: ServiceData}
|
||||
ServiceNetMap: {get_param: ServiceNetMap}
|
||||
DefaultPasswords: {get_param: DefaultPasswords}
|
||||
RoleName: {get_param: RoleName}
|
||||
RoleParameters: {get_param: RoleParameters}
|
||||
|
||||
outputs:
|
||||
role_data:
|
||||
description: Role data for the SFC role.
|
||||
value:
|
||||
service_name:
|
||||
get_attr: [NeutronSfcBase, role_data, service_name]
|
||||
config_settings:
|
||||
get_attr: [NeutronSfcBase, role_data, config_settings]
|
||||
# BEGIN DOCKER SETTING
|
||||
puppet_config:
|
||||
config_volume: 'neutron'
|
||||
puppet_tags: neutron_sfc_service_config
|
||||
step_config:
|
||||
get_attr: [NeutronSfcBase, role_data, step_config]
|
||||
config_image: {get_param: DockerNeutronConfigImage}
|
||||
kolla_config: {}
|
||||
docker_config: {}
|
@ -1,12 +0,0 @@
|
||||
# A Heat environment file that can be used to deploy Neutron BGPVPN service
|
||||
#
|
||||
# This environment file deploys Neutron BGPVPN service and configures
|
||||
# Opendaylight as its service provider.
|
||||
#
|
||||
# - OpenDaylight: BGPVPN:OpenDaylight:networking_odl.bgpvpn.odl_v2.OpenDaylightBgpvpnDriver:default
|
||||
resource_registry:
|
||||
OS::TripleO::Services::NeutronBgpVpnApi: ../docker/services/neutron-bgpvpn-api.yaml
|
||||
|
||||
parameter_defaults:
|
||||
NeutronServicePlugins: 'odl-router_v2,trunk,bgpvpn'
|
||||
BgpvpnServiceProvider: 'BGPVPN:OpenDaylight:networking_odl.bgpvpn.odl_v2.OpenDaylightBgpvpnDriver:default'
|
@ -1,18 +0,0 @@
|
||||
# A Heat environment file that can be used to deploy Neutron L2 Gateway service
|
||||
#
|
||||
# Currently there are only two service provider for Neutron L2 Gateway
|
||||
# This file enables L2GW service with OpenDaylight as driver.
|
||||
#
|
||||
# - OpenDaylight: L2GW:OpenDaylight:networking_odl.l2gateway.driver_v2.OpenDaylightL2gwDriver:default
|
||||
resource_registry:
|
||||
OS::TripleO::Services::NeutronL2gwApi: ../docker/services/neutron-l2gw-api.yaml
|
||||
|
||||
parameter_defaults:
|
||||
NeutronServicePlugins: "odl-router_v2,trunk,l2gw"
|
||||
L2gwServiceProvider: ['L2GW:OpenDaylight:networking_odl.l2gateway.driver_v2.OpenDaylightL2gwDriver:default']
|
||||
|
||||
# Optional
|
||||
# L2gwServiceDefaultInterfaceName: "FortyGigE1/0/1"
|
||||
# L2gwServiceDefaultDeviceName: "Switch1"
|
||||
# L2gwServiceQuotaL2Gateway: 10
|
||||
# L2gwServicePeriodicMonitoringInterval: 5
|
@ -1,37 +0,0 @@
|
||||
# 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.
|
@ -1,32 +0,0 @@
|
||||
# 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: OS::Heat::None
|
||||
OS::TripleO::Services::NeutronCorePlugin: ../puppet/services/neutron-plugin-ml2-odl.yaml
|
||||
OS::TripleO::Services::OpenDaylightApi: ../docker/services/opendaylight-api.yaml
|
||||
# FIXME(bogdando): switch it, once it is containerized
|
||||
OS::TripleO::Services::OpenDaylightOvs: ../puppet/services/opendaylight-ovs.yaml
|
||||
OS::TripleO::Services::NeutronSriovHostConfig: ../puppet/services/neutron-sriov-host-config.yaml
|
||||
OS::TripleO::Services::NeutronL3Agent: OS::Heat::None
|
||||
|
||||
parameter_defaults:
|
||||
NeutronEnableForceMetadata: true
|
||||
NeutronPluginExtensions: 'port_security'
|
||||
NeutronMechanismDrivers: ['opendaylight_v2']
|
||||
NeutronServicePlugins: 'odl-router_v2,trunk'
|
||||
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
|
@ -1,23 +0,0 @@
|
||||
# A Heat environment that can be used to deploy OpenDaylight with SRIOV
|
||||
resource_registry:
|
||||
# FIXME(bogdando): can not be switched yet due to puppet-base issues
|
||||
# see https://review.openstack.org/#/c/563443
|
||||
OS::TripleO::Services::ComputeNeutronCorePlugin: ../puppet/services/neutron-plugin-ml2.yaml
|
||||
OS::TripleO::Services::NeutronSriovAgent: ../docker/services/neutron-sriov-agent.yaml
|
||||
OS::TripleO::Services::NeutronSriovHostConfig: ../puppet/services/neutron-sriov-host-config.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"
|
@ -1,17 +0,0 @@
|
||||
# A Heat environment that can be used to deploy OpenDaylight with L3 DVR
|
||||
resource_registry:
|
||||
OS::TripleO::Services::NeutronOvsAgent: OS::Heat::None
|
||||
OS::TripleO::Services::ComputeNeutronOvsAgent: OS::Heat::None
|
||||
OS::TripleO::Services::ComputeNeutronCorePlugin: OS::Heat::None
|
||||
# FIXME(bogdando): switch it, once it is containerized
|
||||
OS::TripleO::Services::NeutronCorePlugin: ../puppet/services/neutron-plugin-ml2-odl.yaml
|
||||
OS::TripleO::Services::OpenDaylightApi: ../docker/services/opendaylight-api.yaml
|
||||
# FIXME(bogdando): switch it, once it is containerized
|
||||
OS::TripleO::Services::OpenDaylightOvs: ../puppet/services/opendaylight-ovs.yaml
|
||||
OS::TripleO::Services::NeutronL3Agent: OS::Heat::None
|
||||
|
||||
parameter_defaults:
|
||||
NeutronEnableForceMetadata: true
|
||||
NeutronMechanismDrivers: 'opendaylight_v2'
|
||||
NeutronServicePlugins: 'odl-router_v2,trunk'
|
||||
NeutronPluginExtensions: 'port_security'
|
@ -1,20 +0,0 @@
|
||||
# A Heat environment file that can be used to deploy Neutron SFC service with OpenDaylight
|
||||
resource_registry:
|
||||
# FIXME(bogdando): switch it, once it is containerized
|
||||
OS::TripleO::Services::NeutronSfcApi: ../puppet/services/neutron-sfc-api.yaml
|
||||
OS::TripleO::Services::NeutronOvsAgent: OS::Heat::None
|
||||
OS::TripleO::Services::ComputeNeutronOvsAgent: OS::Heat::None
|
||||
OS::TripleO::Services::ComputeNeutronCorePlugin: OS::Heat::None
|
||||
OS::TripleO::Services::NeutronCorePlugin: ../puppet/services/neutron-plugin-ml2-odl.yaml
|
||||
OS::TripleO::Services::OpenDaylightApi: ../docker/services/opendaylight-api.yaml
|
||||
# FIXME(bogdando): switch it, once it is containerized
|
||||
OS::TripleO::Services::OpenDaylightOvs: ../puppet/services/opendaylight-ovs.yaml
|
||||
OS::TripleO::Services::NeutronL3Agent: OS::Heat::None
|
||||
|
||||
parameter_defaults:
|
||||
NeutronEnableForceMetadata: true
|
||||
NeutronMechanismDrivers: 'opendaylight_v2'
|
||||
NeutronServicePlugins: 'odl-router_v2,trunk,flow_classifier,sfc'
|
||||
OpenDaylightFeatures: ["odl-netvirt-sfc","odl-jolokia"]
|
||||
NeutronSfcDriver: 'odl_v2'
|
||||
NeutronFcDriver: 'odl_v2'
|
@ -4,6 +4,7 @@
|
||||
resource_registry:
|
||||
OS::TripleO::Services::ComputeNeutronCorePlugin: ../../docker/services/neutron-plugin-ml2.yaml
|
||||
OS::TripleO::Services::NeutronSriovAgent: ../../docker/services/neutron-sriov-agent.yaml
|
||||
OS::TripleO::Services::NeutronSriovHostConfig: ../puppet/services/neutron-sriov-host-config.yaml
|
||||
|
||||
parameter_defaults:
|
||||
NeutronMechanismDrivers: ['sriovnicswitch','opendaylight_v2']
|
||||
|
10
environments/services/neutron-sfc-opendaylight.yaml
Normal file
10
environments/services/neutron-sfc-opendaylight.yaml
Normal file
@ -0,0 +1,10 @@
|
||||
# A Heat environment file that can be used to deploy Neutron SFC service with OpenDaylight
|
||||
resource_registry:
|
||||
# FIXME(bogdando): switch it, once it is containerized
|
||||
OS::TripleO::Services::NeutronSfcApi: ../../docker/services/neutron-bgpvpn-api.yaml
|
||||
|
||||
parameter_defaults:
|
||||
NeutronServicePlugins: 'odl-router_v2,trunk,flow_classifier,sfc'
|
||||
OpenDaylightFeatures: ["odl-netvirt-sfc","odl-jolokia"]
|
||||
NeutronSfcDriver: 'odl_v2'
|
||||
NeutronFcDriver: 'odl_v2'
|
4
releasenotes/notes/add-docker-sfc-bda84d08b119a250.yaml
Normal file
4
releasenotes/notes/add-docker-sfc-bda84d08b119a250.yaml
Normal file
@ -0,0 +1,4 @@
|
||||
---
|
||||
features:
|
||||
- |
|
||||
Adds docker service for Neutron SFC.
|
Loading…
Reference in New Issue
Block a user