# A Heat environment file that deploys ML2/OVS with DVR in the overcloud. # Used with Compute DVR role. Note that the network configuration is # consistent with the default tripleo network templates so some customization # is likely required for production deployments. resource_registry: OS::TripleO::Services::NeutronMl2PluginBase: ../../deployment/neutron/neutron-plugin-ml2.yaml OS::TripleO::Services::NeutronApi: ../../deployment/neutron/neutron-api-container-puppet.yaml OS::TripleO::Services::NeutronCorePlugin: ../../deployment/neutron/neutron-plugin-ml2-container-puppet.yaml OS::TripleO::Services::NeutronMetadataAgent: ../../deployment/neutron/neutron-metadata-container-puppet.yaml OS::TripleO::Services::NeutronOvsAgent: ../../deployment/neutron/neutron-ovs-agent-container-puppet.yaml OS::TripleO::Services::NeutronDhcpAgent: ../../deployment/neutron/neutron-dhcp-container-puppet.yaml OS::TripleO::Services::ComputeNeutronOvsAgent: ../../deployment/neutron/neutron-ovs-agent-container-puppet.yaml OS::TripleO::Services::NeutronL3Agent: ../../deployment/neutron/neutron-l3-container-puppet.yaml OS::TripleO::Services::ComputeNeutronL3Agent: ../../deployment/neutron/neutron-l3-container-puppet.yaml OS::TripleO::Services::ComputeNeutronMetadataAgent: ../../deployment/neutron/neutron-metadata-container-puppet.yaml ComputeDVRNetworkConfigWithAnsible: true ComputeDVRNetworkConfigTemplate: 'templates/net_config_bridge.j2' # Disable OVN services OS::TripleO::Services::OVNController: OS::Heat::None OS::TripleO::Services::OVNDBs: OS::Heat::None OS::TripleO::Services::OVNMetadataAgent: OS::Heat::None parameter_defaults: # DVR requires that the L2 population feature is enabled NeutronMechanismDrivers: ['openvswitch', 'l2population'] NeutronEnableL2Pop: 'True' NeutronPluginExtensions: "qos,port_security" NeutronTypeDrivers: 'vxlan,vlan,flat,gre' NeutronNetworkType: 'vxlan' NeutronServicePlugins: 'router,qos,segments,trunk,port_forwarding' NeutronVniRanges: ['1:65536', ] KernelIpNonLocalBind: 0 NeutronL3AgentExtensions: "port_forwarding" # Setting NeutronEnableDVR enables distributed routing support in the # ML2 plugin and agents that support this feature NeutronEnableDVR: true # We also need to set the proper agent mode for the L3 agent. This will only # affect the agent on the controller node. NeutronL3AgentMode: 'dvr_snat' # Enabling DVR deploys additional services to the compute nodes that through # normal operation will consume memory. The amount required is roughly # proportional to the number of Neutron routers that will be scheduled to # that host. It is necessary to reserve memory on the compute nodes to avoid # memory issues when creating instances that are connected to routed # networks. The current expected consumption is 50 MB per router in addition # to the base reserved amount. Deployers should refer to existing # documentation, release notes, etc. for additional information on estimating # an appropriate value. The provided value here is based on an estimate of 10 # routers and is an example value *only* and should be reviewed and modified # if necessary before deploying. NovaReservedHostMemory: 2560 # Required if deploying with the ComputeDVR role, which is recommended # if using the default network templates as it will configure the # host networking to work with the default 'datacentre' network. ComputeDVRParameters: NeutronL3AgentMode: 'dvr'