Update BMRA to v21.03
[kuberef.git] / playbooks / roles / bmra-config / templates / kube-node.j2
1 ##
2 ##   Copyright (c) 2020-2021 Intel Corporation.
3 ##
4 ##   Licensed under the Apache License, Version 2.0 (the "License");
5 ##   you may not use this file except in compliance with the License.
6 ##   You may obtain a copy of the License at
7 ##
8 ##       http://www.apache.org/licenses/LICENSE-2.0
9 ##
10 ##   Unless required by applicable law or agreed to in writing, software
11 ##   distributed under the License is distributed on an "AS IS" BASIS,
12 ##   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 ##   See the License for the specific language governing permissions and
14 ##   limitations under the License.
15 ##
16 ---
17 # Kubernetes node configuration
18
19 # Enable IOMMU (required for SR-IOV networking)
20 iommu_enabled: {{ bmra.features.sriov.enable }}
21
22 # dataplane interface configuration list
23 {% if bmra.network_roles.sriov is defined or bmra.network_roles.sriov_dpdk is defined %}
24 dataplane_interfaces:
25 {% for intf in bmra.network_roles.sriov %}
26   - name: {{ intf.name }}
27     bus_info: "{{ intf.pci }}"
28     pf_driver: {{ intf.pf_driver }}
29     default_vf_driver: "{{ intf.vf_driver }}"
30     sriov_numvfs: {{ bmra.features.sriov.sriov_vfs_per_port }}
31 {% endfor %}
32 {% for intf in bmra.network_roles.sriov_dpdk %}
33   - name: {{ intf.name }}
34     bus_info: "{{ intf.pci }}"
35     pf_driver: {{ intf.pf_driver }}
36     default_vf_driver: "{{ intf.vf_driver }}"
37     sriov_numvfs: {{ bmra.features.sriov.sriov_dpdk_vfs_per_port }}
38 {% endfor %}
39 {% else %}
40 dataplane_interface: []
41 {% endif %}
42
43 sriov_cni_enabled: {{ bmra.features.sriov_cni }}
44
45 # Bond CNI
46 bond_cni_enabled: {{ bmra.features.bond_cni }}
47
48 # Install DPDK (required for SR-IOV networking)
49 install_dpdk: true
50
51 # DPDK version
52 dpdk_version: "19.11.6"
53
54 # Custom DPDK patches local path
55 # dpdk_local_patches_dir: "/tmp/patches/dpdk-19.11.6"
56
57 # Userspace networking
58 userspace_cni_enabled: false
59 ovs_dpdk_enabled: false # Should be enabled with Userspace CNI, when VPP is set to "false"; 1G hugepages required
60 ovs_version: "v2.13.0"
61 # CPU mask for OVS-DPDK PMD threads
62 ovs_dpdk_lcore_mask: 0x1
63 # Huge memory pages allocated by OVS-DPDK per NUMA node in megabytes
64 # example 1: "256,512" will allocate 256MB from node 0 abd 512MB from node 1
65 # example 2: "1024" will allocate 1GB fron node 0 on a single socket board, e.g. in a VM
66 ovs_dpdk_socket_mem: "256,0"
67 vpp_enabled: false # Should be enabled with Userspace CNI, when ovs_dpdk is set to "false"; 2M hugepages required
68
69 # Set to 'true' to update i40e, ice and iavf kernel modules
70 update_nic_drivers: false
71
72 # Set 'true' to update NIC firmware
73 update_nic_firmware: false
74
75 # Additional list of NIC interfaces that the FW update will be executed on
76 # NOTE: FW update will be also executed on all NICs listed in "dataplane_interfaces[*].name"
77 firmware_update_nics: []
78 #  - enp24s0f0
79 #  - enp24s0f1
80
81 # install Intel x700 & x800 series NICs DDP packages
82 install_ddp_packages: false
83 # set 'true' to enable custom ddp package to be loaded after reboot
84 enable_ice_systemd_service: false
85 # Enabling this feature will install QAT drivers + services
86 update_qat_drivers: {{ bmra.features.qat.update_drivers }}
87
88 # qat interface configuration list
89 {% if bmra.device_roles.qat is defined %}
90 qat_devices:
91 {% for dev in bmra.device_roles.qat %}
92   - qat_dev: {{ dev.name }}
93     qat_id: "{{ dev.pci }}"
94     qat_module_type: {{ dev.mod_type }}
95     qat_pci_type: {{ dev.pci_type }}
96     qat_sriov_numvfs: {{ dev.vfs }}
97 {% endfor %}
98 {% else %}
99 qat_devices: []
100 {% endif %}
101 #  - qat_dev: crypto01                # Device name as separate QAT Symmetric Crypto devices on which qat_sriov_numvfs will be distributed
102 #    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
103 #    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
104 #    qat_pci_type: c6xx               # QAT Crypto Poll Mode Pci Driver id supported are dh895xcc,c6xx,c3xxx,d15xx,200xx & c4xxx
105 #    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
106                                      # Note: If don't want to assign VFs to id leave it as 0 such as qat_sriov_numvfs: 0
107 #  - qat_dev: crypto02
108 #    qat_id: "0000:xy:00.0"
109 #    qat_module_type: qat_c62x
110 #    qat_pci_type: c6xx
111 #    qat_sriov_numvfs: 10
112
113 #  - qat_dev: crypto03
114 #    qat_id: "0000:yz:00.0"
115 #    qat_module_type: qat_c62x
116 #    qat_pci_type: c6xx
117 #    qat_sriov_numvfs: 10
118
119 # Enables hugepages support
120 hugepages_enabled: {{ bmra.features.hugepages.enable }}
121
122 # Hugepage sizes available: 2M, 1G
123 default_hugepage_size: {{ bmra.features.hugepages.default }}
124
125 # Sets how many hugepages of each size should be created
126 hugepages_1G: {{ bmra.features.hugepages.hugepages_1G }}
127 hugepages_2M: {{ bmra.features.hugepages.hugepages_2M }}
128
129 # CPU isolation from Linux scheduler
130 isolcpus_enabled: {{ bmra.features.isolcpus.enable }}
131 # Disable CMKs autogenerate_isolcpus in group_vars to set custom isolcpus range; Otherwise this range will be automatically generated
132 # If defining range and using CMK you must account group_vars requested exclusive/shared cores
133 isolcpus: "{{ bmra.features.isolcpus.cpus }}"
134
135 # Native CPU Manager (Kubernetes built-in)
136
137 native_cpu_manager_system_reserved_cpus: 2000m
138 # Amount of CPU cores that will be reserved for Kubelet
139 native_cpu_manager_kube_reserved_cpus: 1000m
140 # Explicit list of the CPUs reserved from pods scheduling.
141 # Note: Supported only with kube_version 1.17 and newer, overrides native_cpu_manager_system_reserved_cpus and native_cpu_manager_kube_reserved_cpus.
142 #native_cpu_manager_reserved_cpus: "0,1,2"
143 # Note: All reamining unreserved CPU cores will be consumed by the workloads.
144
145 # Enable/Disable Intel PState scaling driver
146 intel_pstate_enabled: true
147 # Config options for intel_pstate: disable, passive, force, no_hwp, hwp_only, support_acpi_ppc, per_cpu_perf_limits
148 intel_pstate: hwp_only
149 # Enable/Disable Intel Turbo Boost PState attribute
150 turbo_boost_enabled: false
151
152 # Intel Speed Select Base-Frequency configuration.
153 sst_bf_configuration_enabled: false
154
155 # Intel Speed Select Base-Frequency configuration for Cascade Lake (CLX) Platforms.
156 # CLX support of SST-BF requires 'intel_pstate' to be 'enabled'
157 # Option clx_sst_bf_mode requires sst_bf_configuration_enabled to be set to 'true'.
158 # There are three configuration modes:
159 # [s] Set SST-BF config (set min/max to 2700/2700 and 2100/2100)
160 # [m] Set P1 on all cores (set min/max to 2300/2300)
161 # [r] Revert cores to min/Turbo (set min/max to 800/3900)
162 clx_sst_bf_mode: s
163
164 # Intel Speed Select Base-Frequency configuration for Ice Lake (ICX) Platforms.
165 # [true] Enable Intel Speed Select Base Frequency (SST-BF)
166 # [false] Disable Intel Speed Select Base Frequency (SST-BF)
167 # Requires `sst_bf_configuration_enabled` variable to be 'true'
168 icx_sst_bf_enabled: false
169 # Prioritze (SST-CP) power flow to high frequency cores in case of CPU power constraints.
170 icx_sst_bf_with_core_priority: false
171
172 # SST CP config
173 # Variables are only examples.
174 # For more information, please visit:
175 # https://www.kernel.org/doc/html/latest/admin-guide/pm/intel-speed-select.html#enable-clos-based-prioritization
176 # Enabling this configuration overrides `icx_sst_bf_with_core_priority`.
177 sst_cp_configuration_enabled: false
178 sst_cp_priority_type: 0 # 0 - Proportional, 1 - Ordered
179 sst_cp_clos_groups: # configure up to 4 CLOS groups
180   - id: 0
181     frequency_weight: 0 # used only with Proportional type
182     min_MHz: 0
183     max_MHz: 25500
184   - id: 1
185     frequency_weight: 0 # used only with Proportional type
186     min_MHz: 0
187     max_MHz: 25500
188   - id: 2
189     frequency_weight: 0 # used only with Proportional type
190     min_MHz: 0
191     max_MHz: 25500
192   - id: 3
193     frequency_weight: 0 # used only with Proportional type
194     min_MHz: 0
195     max_MHz: 25500
196 sst_cp_cpu_clos:
197   - clos: 0
198     cpus: 1,2,4..6,8-10
199   - clos: 1
200     cpus: 3,7
201
202
203 # (CentOS 7 only) install real time kernel and related packages for flexran
204 install_real_time_package: false
205
206 # Intel Software Guard Extensions (SGX)
207 sgx_enabled: false
208
209 # Telemetry configuration
210 # intel_pmu plugin collects information provided by Linux perf interface.
211 enable_intel_pmu_plugin: false
212 # CPU Threads to be monitored by Intel PMU Plugin.
213 # If the field is empty, all available cores will be monitored.
214 # Please refer to https://collectd.org/wiki/index.php/Plugin:Intel_PMU for configuration details.
215 intel_pmu_plugin_monitored_cores: ""
216 # CPU Threads to be monitored by Intel RDT Plugin.
217 # If the field is empty, all available cores will be monitored.
218 # Please refer to https://collectd.org/wiki/index.php/Plugin:IntelRDT for configuration details.
219 intel_rdt_plugin_monitored_cores: ""
220
221 # Additional list of plugins that will be excluded from collectd deployment.
222 exclude_collectd_plugins: []