# A Heat environment file that enables 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:
  # Default Neutron ML2 puppet plugin to use when NeutronCorePlugin is set to ML2
  # FIXME(bogdando): can not be switched yet due to puppet-base issues
  # see https://review.opendev.org/#/c/563443
  OS::TripleO::Docker::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

  # 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:

  NeutronMechanismDrivers: ['openvswitch']

  NeutronTypeDrivers: 'vxlan,vlan,flat,gre'
  NeutronNetworkType: 'vxlan'
  NeutronServicePlugins: 'router,qos,segments,trunk,port_forwarding'
  NeutronVniRanges: ['1:65536', ]
  KernelIpNonLocalBind: 0

  NeutronEnableDVR: false

  NeutronL3AgentExtensions: "port_forwarding"
