f32fbdbd662ef44d01752aa547e666037e4491b8
[kuberef.git] / playbooks / roles / bmra-config / templates / kube-node.j2
1 ##
2 ##   Copyright (c) 2020 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 dataplane_interfaces:
24 {% for intf in bmra.network_roles.sriov %}
25   - name: {{ intf.name }}
26     bus_info: "{{ intf.bus_info }}"
27     device_info: "{{ intf.device_info }}"
28     sriov_numvfs: {{ bmra.features.sriov.sriov_vfs_per_port }}
29     vf_driver: {{ intf.driver }}
30 {% endfor %}
31 {% for intf in bmra.network_roles.sriov_dpdk %}
32   - name: {{ intf.name }}
33     bus_info: "{{ intf.bus_info }}"
34     device_info: "{{ intf.device_info }}"
35     sriov_numvfs: {{ bmra.features.sriov.sriov_dpdk_vfs_per_port }}
36     vf_driver: {{ intf.driver }}
37 {% endfor %}
38
39 sriov_cni_enabled: {{ bmra.features.sriov_cni }}
40
41 # Bond CNI
42 bond_cni_enabled: false
43
44 # Install DPDK (required for SR-IOV networking)
45 install_dpdk: true
46
47 # Userspace networking
48 userspace_cni_enabled: false
49 ovs_dpdk_enabled: false # Should be enabled with Userspace CNI, when VPP is set to "false"; 1G hugepages required
50 # CPU mask for OVS-DPDK PMD threads
51 ovs_dpdk_lcore_mask: 0x1
52 # Huge memory pages allocated by OVS-DPDK per NUMA node in megabytes
53 # example 1: "256,512" will allocate 256MB from node 0 abd 512MB from node 1
54 # example 2: "1024" will allocate 1GB fron node 0 on a single socket board, e.g. in a VM
55 ovs_dpdk_socket_mem: "256,0"
56 vpp_enabled: false # Should be enabled with Userspace CNI, when ovs_dpdk is set to "false"; 2M hugepages required
57
58 # Set to 'true' to update i40e, ice and iavf kernel modules
59 update_nic_drivers: false
60
61 # Set 'true' to update NIC firmware
62 update_nic_firmware: false
63
64 # Additional list of NIC interfaces that the FW update will be executed on
65 # NOTE: FW update will be also executed on all NICs listed in "dataplane_interfaces[*].name"
66 firmware_update_nics: []
67 #  - enp24s0f0
68 #  - enp24s0f1
69
70 # install Intel x700 & x800 series NICs DDP packages
71 install_ddp_packages: false
72
73 # set how many VFs per single QAT device PF should be created
74 qat_sriov_numvfs: 16
75
76 # Enables hugepages support
77 hugepages_enabled: {{ bmra.features.hugepages.enable }}
78
79 # Hugepage sizes available: 2M, 1G
80 default_hugepage_size: {{ bmra.features.hugepages.default }}
81
82 # Sets how many hugepages of each size should be created
83 hugepages_1G: {{ bmra.features.hugepages.hugepages_1G }}
84 hugepages_2M: {{ bmra.features.hugepages.hugepages_2M }}
85
86 # CPU isolation from Linux scheduler
87 isolcpus_enabled: {{ bmra.features.isolcpus.enable }}
88 isolcpus: "{{ bmra.features.isolcpus.cpus }}" # Update to match group_vars requested exclusive/shared cores
89
90 # Max number of processors to support (physical & logical cores)
91 cpu_count: 144
92
93 # Enable/Disable Intel PState scaling driver
94 intel_pstate_enabled: true
95 # Config options for intel_pstate: disable, passive, force, no_hwp, hwp_only, support_acpi_ppc, per_cpu_perf_limits
96 intel_pstate: hwp_only
97 # Enable/Disable Intel Turbo Boost PState attribute
98 turbo_boost_enabled: false
99
100 # Intel Speed Select Base-Frequency configuration.
101 sst_bf_configuration_enabled: false
102
103 # Intel Speed Select Base-Frequency configuration for Cascade Lake (CLX) Platforms.
104 # CLX support of SST-BF requires 'intel_pstate' to be 'enabled'
105 # Option clx_sst_bf_mode requires sst_bf_configuration_enabled to be set to 'true'.
106 # There are three configuration modes:
107 # [s] Set SST-BF config (set min/max to 2700/2700 and 2100/2100)
108 # [m] Set P1 on all cores (set min/max to 2300/2300)
109 # [r] Revert cores to min/Turbo (set min/max to 800/3900)
110 clx_sst_bf_mode: s
111
112 # (CentOS 7 only) install real time kernel and related packages for flexran
113 install_real_time_package: false
114
115 # Telemetry configuration
116 # intel_pmu plugin collects information provided by Linux perf interface.
117 enable_intel_pmu_plugin: false
118 # CPU Threads to be monitored by Intel PMU Plugin.
119 # If the field is empty, all available cores will be monitored.
120 # Please refer to https://collectd.org/wiki/index.php/Plugin:Intel_PMU for configuration details.
121 intel_pmu_plugin_monitored_cores: ""
122 # CPU Threads to be monitored by Intel RDT Plugin.
123 # If the field is empty, all available cores will be monitored.
124 # Please refer to https://collectd.org/wiki/index.php/Plugin:IntelRDT for configuration details.
125 intel_rdt_plugin_monitored_cores: ""
126
127 # Additional list of plugins that will be excluded from collectd deployment.
128 exclude_collectd_plugins: []