# A Heat environment that can be used to deploy OVN services with non HA OVN DB servers.
resource_registry:
  OS::TripleO::Docker::NeutronMl2PluginBase: ../../puppet/services/neutron-plugin-ml2-ovn.yaml
  OS::TripleO::Services::OVNController: ../../docker/services/ovn-controller.yaml
  OS::TripleO::Services::OVNDBs: ../../docker/services/ovn-dbs.yaml
  OS::TripleO::Services::OVNMetadataAgent: ../../docker/services/ovn-metadata.yaml
  OS::TripleO::Services::NeutronSriovHostConfig: ../../puppet/services/neutron-sriov-host-config.yaml
# Disabling Neutron services that overlap with OVN
  OS::TripleO::Services::NeutronOvsAgent: OS::Heat::None
  OS::TripleO::Services::ComputeNeutronOvsAgent: OS::Heat::None
  OS::TripleO::Services::NeutronL3Agent: OS::Heat::None
  OS::TripleO::Services::NeutronMetadataAgent: OS::Heat::None
  OS::TripleO::Services::NeutronDhcpAgent: OS::Heat::None
  OS::TripleO::Services::ComputeNeutronCorePlugin: OS::Heat::None


parameter_defaults:
  NeutronMechanismDrivers: ovn
  OVNVifType: ovs
  OVNNeutronSyncMode: log
  OVNQosDriver: ovn-qos
  OVNTunnelEncapType: geneve
  NeutronEnableDHCPAgent: false
  NeutronTypeDrivers: 'geneve,vlan,flat'
  NeutronNetworkType: 'geneve'
  NeutronServicePlugins: 'qos,ovn-router,trunk'
  NeutronVniRanges: ['1:65536', ]
  NeutronPluginExtensions: "qos,port_security,dns"
  ComputeParameters:
    NeutronBridgeMappings: ""
  ControllerParameters:
    OVNCMSOptions: "enable-chassis-as-gw"

  ComputeSriovParameters:
    KernelArgs: "intel_iommu=on iommu=pt"
    OvsHwOffload: True
    # Number of VFs that needs to be configured for a physical interface
    #NeutronSriovNumVFs: ["enp2s0f0:4:switchdev"]
    # Mapping of SR-IOV PF interface to neutron physical_network.
    # In case of GENEVE physical_network should be null.
    # In case of flat/vlan the physical_network should as configured in neutron.
    #NovaPCIPassthrough:
    #  - devname: "enp2s0f0"
    #    physical_network: "datacentre"
  OVNDnsServers: []