summaryrefslogtreecommitdiffstats
path: root/playbooks/roles/bmra-config/templates/kube-node.j2
blob: 302fa8f66c474dac4d6d1959b36e5ac3ac435586 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
##
##   Copyright (c) 2020 Intel Corporation.
##
##   Licensed under the Apache License, Version 2.0 (the "License");
##   you may not use this file except in compliance with the License.
##   You may obtain a copy of the License at
##
##       http://www.apache.org/licenses/LICENSE-2.0
##
##   Unless required by applicable law or agreed to in writing, software
##   distributed under the License is distributed on an "AS IS" BASIS,
##   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
##   See the License for the specific language governing permissions and
##   limitations under the License.
##
---
# Kubernetes node configuration

# Enable SR-IOV networking related setup
sriov_enabled: {{ bmra.features.sriov.enable }}

# SR-IOV PF specific configuration list
sriov_nics:
{% for intf in bmra.network_roles.sriov %}
  - name: {{ intf.name }}
    bus_info: "{{ intf.bus_info }}"
    device_info: "{{ intf.device_info }}"
    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 }}"
    sriov_numvfs: {{ bmra.features.sriov.sriov_dpdk_vfs_per_port }}
    vf_driver: {{ intf.driver }}
{% endfor %}

sriov_cni_enabled: {{ bmra.features.sriov_cni }}

# Bond CNI
bond_cni_enabled: false

# install DPDK
install_dpdk: true # DPDK installation is required for sriov_enabled:true; default to false

# 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
# CPU mask for OVS-DPDK PMD threads
ovs_dpdk_lcore_mask: 0x1
# Huge memory pages allocated by OVS-DPDK per NUMA node in megabytes
# example 1: "256,512" will allocate 256MB from node 0 abd 512MB from node 1
# example 2: "1024" will allocate 1GB fron node 0 on a single socket board, e.g. in a VM
ovs_dpdk_socket_mem: "256,0"
vpp_enabled: false # Should be enabled with Userspace CNI, when ovs_dpdk is set to "false"; 2M hugepages required

# Set to 'true' to update i40e, ice and iavf kernel modules
update_nic_drivers: false

# Set 'true' to update NIC firmware
update_nic_firmware: false

# Additional list of NIC interfaces that the FW update will be executed on
# NOTE: FW update will be also executed on all NICs listed in "sriov_nics[*].name"
firmware_update_nics:
  - intf1
  - intf2

# 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

# Enables hugepages support
hugepages_enabled: {{ bmra.features.hugepages.enable }}

# Hugepage sizes available: 2M, 1G
default_hugepage_size: {{ bmra.features.hugepages.default }}

# Sets how many hugepages of each size should be created
hugepages_1G: {{ bmra.features.hugepages.hugepages_1G }}
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

# Max number of processors to support (physical & logical cores)
cpu_count: 144

# Enable/Disable Intel PState scaling driver
intel_pstate_enabled: true
# Config options for intel_pstate: disable, passive, force, no_hwp, hwp_only, support_acpi_ppc, per_cpu_perf_limits
intel_pstate: disable
# Enable/Disable Intel Turbo Boost PState attribute
turbo_boost_enabled: false

# Intel Speed Select Base-Frequency configuration.
sst_bf_configuration_enabled: false

# Intel Speed Select Base-Frequency configuration for Cascade Lake (CLX) Platforms.
# CLX support of SST-BF requires 'intel_pstate' to be 'enabled'
# Option clx_sst_bf_mode requires sst_bf_configuration_enabled to be set to 'true'.
# There are three configuration modes:
# [s] Set SST-BF config (set min/max to 2700/2700 and 2100/2100)
# [m] Set P1 on all cores (set min/max to 2300/2300)
# [r] Revert cores to min/Turbo (set min/max to 800/3900)
clx_sst_bf_mode: s

# (CentOS 7 only) install real time kernel and related packages for flexran
install_real_time_package: false

# Telemetry configuration
# intel_pmu plugin collects information provided by Linux perf interface.
enable_intel_pmu_plugin: false
# CPU Threads to be monitored by Intel PMU Plugin.
# If the field is empty, all available cores will be monitored.
# Please refer to https://collectd.org/wiki/index.php/Plugin:Intel_PMU for configuration details.
intel_pmu_plugin_monitored_cores: ""
# CPU Threads to be monitored by Intel RDT Plugin.
# If the field is empty, all available cores will be monitored.
# Please refer to https://collectd.org/wiki/index.php/Plugin:IntelRDT for configuration details.
intel_rdt_plugin_monitored_cores: ""

# Additional list of plugins that will be excluded from collectd deployment.
exclude_collectd_plugins: []