# A Heat environment file that enables OVS Hardware Offload in the overcloud.
# This works by configuring SR-IOV NIC with switchdev and OVS Hardware Offload on
# compute nodes. The feature supported in OVS 2.8.0

resource_registry:
  OS::TripleO::Services::NeutronSriovHostConfig: ../puppet/services/neutron-sriov-host-config.yaml

parameter_defaults:

  NovaSchedulerDefaultFilters: ['RetryFilter','AvailabilityZoneFilter','ComputeFilter','ComputeCapabilitiesFilter','ImagePropertiesFilter','ServerGroupAntiAffinityFilter','ServerGroupAffinityFilter','PciPassthroughFilter']
  NovaSchedulerAvailableFilters: ["nova.scheduler.filters.all_filters","nova.scheduler.filters.pci_passthrough_filter.PciPassthroughFilter"]
  #NovaPCIPassthrough:
  #  - devname: "ens3f0"
  #    physical_network: null

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