X-Git-Url: https://gerrit.opnfv.org/gerrit/gitweb?a=blobdiff_plain;f=playbooks%2Froles%2Fbmra-config%2Ftemplates%2Fkube-node.j2;h=09a69583ee48e1d3b52606f433505bdab2524851;hb=92ff19c63d31deb2612800828ab09e5749e12476;hp=f32fbdbd662ef44d01752aa547e666037e4491b8;hpb=76dcc74bc4094159091e7ed68b2376342d658001;p=kuberef.git diff --git a/playbooks/roles/bmra-config/templates/kube-node.j2 b/playbooks/roles/bmra-config/templates/kube-node.j2 index f32fbdb..09a6958 100644 --- a/playbooks/roles/bmra-config/templates/kube-node.j2 +++ b/playbooks/roles/bmra-config/templates/kube-node.j2 @@ -1,5 +1,5 @@ ## -## Copyright (c) 2020 Intel Corporation. +## Copyright (c) 2020-2021 Intel Corporation. ## ## Licensed under the Apache License, Version 2.0 (the "License"); ## you may not use this file except in compliance with the License. @@ -20,33 +20,44 @@ iommu_enabled: {{ bmra.features.sriov.enable }} # dataplane interface configuration list +{% if bmra.network_roles.sriov is defined or bmra.network_roles.sriov_dpdk is defined %} dataplane_interfaces: {% for intf in bmra.network_roles.sriov %} - name: {{ intf.name }} - bus_info: "{{ intf.bus_info }}" - device_info: "{{ intf.device_info }}" + bus_info: "{{ intf.pci }}" + pf_driver: {{ intf.pf_driver }} + default_vf_driver: "{{ intf.vf_driver }}" sriov_numvfs: {{ bmra.features.sriov.sriov_vfs_per_port }} - vf_driver: {{ intf.driver }} {% endfor %} {% for intf in bmra.network_roles.sriov_dpdk %} - name: {{ intf.name }} - bus_info: "{{ intf.bus_info }}" - device_info: "{{ intf.device_info }}" + bus_info: "{{ intf.pci }}" + pf_driver: {{ intf.pf_driver }} + default_vf_driver: "{{ intf.vf_driver }}" sriov_numvfs: {{ bmra.features.sriov.sriov_dpdk_vfs_per_port }} - vf_driver: {{ intf.driver }} {% endfor %} +{% else %} +dataplane_interface: [] +{% endif %} sriov_cni_enabled: {{ bmra.features.sriov_cni }} # Bond CNI -bond_cni_enabled: false +bond_cni_enabled: {{ bmra.features.bond_cni }} # Install DPDK (required for SR-IOV networking) install_dpdk: true +# DPDK version +dpdk_version: "19.11.6" + +# Custom DPDK patches local path +# dpdk_local_patches_dir: "/tmp/patches/dpdk-19.11.6" + # Userspace networking userspace_cni_enabled: false ovs_dpdk_enabled: false # Should be enabled with Userspace CNI, when VPP is set to "false"; 1G hugepages required +ovs_version: "v2.13.0" # CPU mask for OVS-DPDK PMD threads ovs_dpdk_lcore_mask: 0x1 # Huge memory pages allocated by OVS-DPDK per NUMA node in megabytes @@ -69,9 +80,41 @@ firmware_update_nics: [] # install Intel x700 & x800 series NICs DDP packages install_ddp_packages: false - -# set how many VFs per single QAT device PF should be created -qat_sriov_numvfs: 16 +# set 'true' to enable custom ddp package to be loaded after reboot +enable_ice_systemd_service: false +# Enabling this feature will install QAT drivers + services +update_qat_drivers: {{ bmra.features.qat.update_drivers }} + +# qat interface configuration list +{% if bmra.device_roles.qat is defined %} +qat_devices: +{% for dev in bmra.device_roles.qat %} + - qat_dev: {{ dev.name }} + qat_id: "{{ dev.pci }}" + qat_module_type: {{ dev.mod_type }} + qat_pci_type: {{ dev.pci_type }} + qat_sriov_numvfs: {{ dev.vfs }} +{% endfor %} +{% else %} +qat_devices: [] +{% endif %} +# - qat_dev: crypto01 # Device name as separate QAT Symmetric Crypto devices on which qat_sriov_numvfs will be distributed +# qat_id: "0000:ab:00.0" # Device QAT id one using DPDK compatible driver for VF devices to be used by vfio-pci kernel driver, replace as required +# qat_module_type: qat_c62x # QAT Crypto Poll Mode Kernel Module supported are qat_dh895xcc,qat_c62x,qat_c3xxx,qat_200xx,qat_c4xxx,qat_d15xx +# qat_pci_type: c6xx # QAT Crypto Poll Mode Pci Driver id supported are dh895xcc,c6xx,c3xxx,d15xx,200xx & c4xxx +# qat_sriov_numvfs: 12 # set how many VFs per qat_id to be created such as c6xxvf support 32 so per device will be 10+10+12=32, replace as required + # Note: If don't want to assign VFs to id leave it as 0 such as qat_sriov_numvfs: 0 +# - qat_dev: crypto02 +# qat_id: "0000:xy:00.0" +# qat_module_type: qat_c62x +# qat_pci_type: c6xx +# qat_sriov_numvfs: 10 + +# - qat_dev: crypto03 +# qat_id: "0000:yz:00.0" +# qat_module_type: qat_c62x +# qat_pci_type: c6xx +# qat_sriov_numvfs: 10 # Enables hugepages support hugepages_enabled: {{ bmra.features.hugepages.enable }} @@ -85,10 +128,19 @@ hugepages_2M: {{ bmra.features.hugepages.hugepages_2M }} # CPU isolation from Linux scheduler isolcpus_enabled: {{ bmra.features.isolcpus.enable }} -isolcpus: "{{ bmra.features.isolcpus.cpus }}" # Update to match group_vars requested exclusive/shared cores +# Disable CMKs autogenerate_isolcpus in group_vars to set custom isolcpus range; Otherwise this range will be automatically generated +# If defining range and using CMK you must account group_vars requested exclusive/shared cores +isolcpus: "{{ bmra.features.isolcpus.cpus }}" -# Max number of processors to support (physical & logical cores) -cpu_count: 144 +# Native CPU Manager (Kubernetes built-in) + +native_cpu_manager_system_reserved_cpus: 2000m +# Amount of CPU cores that will be reserved for Kubelet +native_cpu_manager_kube_reserved_cpus: 1000m +# Explicit list of the CPUs reserved from pods scheduling. +# Note: Supported only with kube_version 1.17 and newer, overrides native_cpu_manager_system_reserved_cpus and native_cpu_manager_kube_reserved_cpus. +#native_cpu_manager_reserved_cpus: "0,1,2" +# Note: All reamining unreserved CPU cores will be consumed by the workloads. # Enable/Disable Intel PState scaling driver intel_pstate_enabled: true @@ -109,9 +161,51 @@ sst_bf_configuration_enabled: false # [r] Revert cores to min/Turbo (set min/max to 800/3900) clx_sst_bf_mode: s +# Intel Speed Select Base-Frequency configuration for Ice Lake (ICX) Platforms. +# [true] Enable Intel Speed Select Base Frequency (SST-BF) +# [false] Disable Intel Speed Select Base Frequency (SST-BF) +# Requires `sst_bf_configuration_enabled` variable to be 'true' +icx_sst_bf_enabled: false +# Prioritze (SST-CP) power flow to high frequency cores in case of CPU power constraints. +icx_sst_bf_with_core_priority: false + +# SST CP config +# Variables are only examples. +# For more information, please visit: +# https://www.kernel.org/doc/html/latest/admin-guide/pm/intel-speed-select.html#enable-clos-based-prioritization +# Enabling this configuration overrides `icx_sst_bf_with_core_priority`. +sst_cp_configuration_enabled: false +sst_cp_priority_type: 0 # 0 - Proportional, 1 - Ordered +sst_cp_clos_groups: # configure up to 4 CLOS groups + - id: 0 + frequency_weight: 0 # used only with Proportional type + min_MHz: 0 + max_MHz: 25500 + - id: 1 + frequency_weight: 0 # used only with Proportional type + min_MHz: 0 + max_MHz: 25500 + - id: 2 + frequency_weight: 0 # used only with Proportional type + min_MHz: 0 + max_MHz: 25500 + - id: 3 + frequency_weight: 0 # used only with Proportional type + min_MHz: 0 + max_MHz: 25500 +sst_cp_cpu_clos: + - clos: 0 + cpus: 1,2,4..6,8-10 + - clos: 1 + cpus: 3,7 + + # (CentOS 7 only) install real time kernel and related packages for flexran install_real_time_package: false +# Intel Software Guard Extensions (SGX) +sgx_enabled: false + # Telemetry configuration # intel_pmu plugin collects information provided by Linux perf interface. enable_intel_pmu_plugin: false