Updates Kuberef to use BMRA v21.08
[kuberef.git] / playbooks / roles / bmra-config / templates / all.j2
1 {#
2 SPDX-FileCopyrightText: 2021 Intel Corporation
3
4 SPDX-License-Identifier: Apache-2.0
5 #}
6
7 ---
8 ## BMRA primary playbook variables ##
9
10 # Kubernetes version
11 kubernetes: true
12 kube_version: v1.21.1
13 #kube_version: v1.20.6
14 #kube_version: v1.19.8
15
16 # Kubernetes container runtime: docker, containerd
17 container_runtime: {{ bmra.runtime }}
18
19 # Run system-wide package update (apt dist-upgrade, yum update, ...)
20 # Note: enabling this may lead to unexpected results
21 # Tip: you can set this per host using host_vars
22 update_all_packages: false
23 update_kernel: true
24
25 # Node Feature Discovery
26 nfd_enabled: {{ bmra.features.nfd }}
27 nfd_build_image_locally: false
28 nfd_namespace: kube-system
29 nfd_sleep_interval: 60s
30
31 # Intel CPU Manager for Kubernetes (CMK)
32 cmk_enabled: {{ bmra.features.cmk.enable }}
33 cmk_namespace: kube-system
34 cmk_use_all_hosts: false # 'true' will deploy CMK on the controller nodes too
35 #cmk_hosts_list: node1,node2 # allows to control where CMK nodes will run, leave this option commented out to deploy on all K8s nodes
36 cmk_shared_num_cores: {{ bmra.features.cmk.num_shared_cores }} # number of CPU cores to be assigned to the "shared" pool on each of the nodes
37 cmk_exclusive_num_cores: {{ bmra.features.cmk.num_exclusive_cores }} # number of CPU cores to be assigned to the "exclusive" pool on each of the nodes
38 # cmk_shared_mode: packed # choose between: packed, spread, default: packed
39 # cmk_exclusive_mode: packed # choose between: packed, spread, default: packed
40 autogenerate_isolcpus: {{ bmra.features.isolcpus.autogenerate }}
41
42 # Native CPU Manager (Kubernetes built-in)
43 # Note: Enabling CMK and built-in Native CPU Manager is NOT recommended.
44 # Setting this option as "true" enables the "static" policy, otherwise the default "none" policy is used.
45 # The reserved CPU cores settings are individual per each worker node, and therefore are available to configure in the host_vars file
46 native_cpu_manager_enabled: false
47
48 # Enable Kubernetes built-in Topology Manager
49 topology_manager_enabled: {{ bmra.features.topology_manager.enable }}
50 # There are four supported policies: none, best-effort, restricted, single-numa-node.
51 topology_manager_policy: "{{ bmra.features.topology_manager.policy }}"
52
53 # OpenShift SRIOV Network Operator
54 sriov_network_operator_enabled: false
55 sriov_network_operator_namespace: "sriov-network-operator"
56
57 # Intel SRIOV Network Device Plugin
58 sriov_net_dp_enabled: {{ bmra.features.sriov_net_dp }}
59 sriov_net_dp_namespace: kube-system
60 # whether to build and store image locally or use one from public external registry
61 sriov_net_dp_build_image_locally: true
62 # SR-IOV network device plugin configuration.
63 # For more information on supported configuration refer to: https://github.com/intel/sriov-network-device-plugin#configurations
64 sriovdp_config_data: |
65     {
66         "resourceList": [{
67                 "resourceName": "intel_sriov_netdevice",
68                 "selectors": {
69                     "vendors": ["8086"],
70                     "devices": ["154c", "10ed", "1889"],
71                     "drivers": ["iavf", "ixgbevf"]
72                 }
73             },
74             {
75                 "resourceName": "intel_sriov_dpdk_700_series",
76                 "selectors": {
77                     "vendors": ["8086"],
78                     "devices": ["154c", "10ed"],
79                     "drivers": ["vfio-pci"]
80                 }
81             },
82             {
83                 "resourceName": "intel_sriov_dpdk_800_series",
84                 "selectors": {
85                     "vendors": ["8086"],
86                     "devices": ["1889"],
87                     "drivers": ["vfio-pci"]
88                 }
89             },
90             {
91                 "resourceName": "intel_fpga",
92                 "deviceType": "accelerator",
93                 "selectors": {
94                     "vendors": ["8086"],
95                     "devices": ["0d90"]
96                 }
97             }
98         ]
99     }
100
101 # Intel Device Plugin Operator
102 intel_dp_namespace: kube-system # namespace will be applied for SGX DP and GPU DP
103
104 # Intel QAT Device Plugin for Kubernetes
105 qat_dp_enabled: {{ bmra.features.qat.enable }}
106 qat_dp_namespace: kube-system
107 qat_dp_build_image_locally: true
108
109 # This feature will enable OpenSSL*Engine
110 openssl_engine_enabled: false # To activate OpenSSL*Engine, install_openssl & update_qat_drivers must set to ‘true’ in host_vars
111
112 # Intel GPU Device Plugin for Kubernetes
113 gpu_dp_enabled: false
114 gpu_dp_kernel_version: "5.4.48+"
115 gpu_dp_build_image_locally: true
116
117 # Intel SGX Device Plugin for Kubernetes
118 sgx_dp_enabled: false
119 sgx_dp_build_image_locally: true
120 sgx_aesmd_namespace: kube-system
121 # ProvisionLimit is a number of containers that can share
122 # the same SGX provision device.
123 sgx_dp_provision_limit: 20
124 # EnclaveLimit is a number of containers that can share the
125 # same SGX enclave device.
126 sgx_dp_enclave_limit: 20
127
128 # KMRA (Key Management Reference Application)
129 kmra_enabled: false
130 # The PCCS uses this API key to request collaterals from Intel's Provisioning Certificate Service.
131 # User needs to subscribe first to obtain an API key.
132 # For how to subscribe to Intel Provisioning Certificate Service and receive an API key,
133 # goto https://api.portal.trustedservices.intel.com/provisioning-certification and click on 'Subscribe'.
134 kmra_pccs_api_key: "ffffffffffffffffffffffffffffffff"
135 # deploy KMRA demo workload (NGINX server)
136 kmra_deploy_demo_workload: true
137
138 # Intel Telemetry Aware Scheduling
139 tas_enabled: {{ bmra.features.tas.enable }}
140 tas_namespace: monitoring
141 # create and enable TAS demonstration policy: [true, false]
142 tas_enable_demo_policy: {{ bmra.features.tas.demo_policy }}
143
144 # Create reference net-attach-def objects
145 example_net_attach_defs:
146   userspace_ovs_dpdk: false # Update to match host_vars CNI configuration
147   userspace_vpp: false # Update to match host_vars CNI configuration
148   sriov_net_dp: {{ bmra.features.sriov_net_dp }} # Update to match host_vars CNI configuration
149
150 ## Proxy configuration ##
151 #http_proxy: "http://proxy.example.com:1080"
152 #https_proxy: "http://proxy.example.com:1080"
153 #additional_no_proxy: ".example.com,mirror_ip"
154
155 # (Ubuntu only) disables DNS stub listener which may cause issues on Ubuntu
156 dns_disable_stub_listener: false
157
158 # Kubernetes cluster name, also will be used as DNS domain
159 cluster_name: cluster.local
160
161 ## Kubespray variables ##
162
163 # default network plugins and kube-proxy configuration
164 kube_network_plugin_multus: true
165 multus_version: v3.4.2
166 kube_network_plugin: flannel
167 kube_pods_subnet: 10.244.0.0/16
168 kube_service_addresses: 10.233.0.0/18
169 kube_proxy_mode: iptables
170
171 # comment this line out if you want to expose k8s services of type nodePort externally.
172 kube_proxy_nodeport_addresses_cidr: 127.0.0.0/8
173
174 # please leave it set to "true", otherwise Intel BMRA features deployed as Helm charts won't be installed
175 helm_enabled: true
176
177 # local Docker Hub mirror, if it exists
178 #docker_registry_mirrors:
179 #  - http://mirror_ip:mirror_port
180 #containerd_registries:
181 #  "docker.io":
182 #    - "https://registry-1.docker.io"
183 #    - "https://mirror_ip:mirror_port"
184
185 # Docker registry running on the cluster allows us to store images not avaialble on Docker Hub, e.g. CMK
186 # The range of valid ports is 30000-32767
187 registry_nodeport: 30500
188 {% raw %}
189 registry_local_address: "localhost:{{ registry_nodeport }}"
190 {% endraw %}
191
192 # Enable Pod Security Policy. This option enables PSP admission controller and creates minimal set of rules.
193 psp_enabled: {{ bmra.features.psp }}
194
195 # Set image pull policy to Always. Pulls images prior to starting containers. Valid credentials must be configured.
196 always_pull_enabled: true
197
198 # Telemetry configuration
199 collectd_scrap_interval: 30